@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.
- package/dist/api.js +2 -2
- package/dist/{channel-c7nnGfMx.js → channel-C_AMaSpi.js} +5 -5
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-Boha-kk1.js → channel.runtime-BJJ1R1iY.js} +3 -3
- package/dist/{config-schema-CuksCQKC.js → config-schema-BL4qQZiA.js} +8 -0
- package/dist/{graph-users-uPAE6-KQ.js → errors-B4snzfP5.js} +378 -624
- package/dist/{oauth-C5ObhLG6.js → oauth-BrKjrCNK.js} +1 -1
- package/dist/{oauth.token-BNbWziwM.js → oauth.token-5ygi8ycy.js} +8 -6
- package/dist/{probe-istgFnuw.js → probe-DRwI-ZqW.js} +221 -120
- package/dist/setup-plugin-api.js +3 -3
- package/dist/{setup-surface-evwYex71.js → setup-surface-C-uCiIKh.js} +2 -2
- package/dist/{src-ui0zJEZI.js → src-Cc3f8Zi2.js} +786 -994
- package/node_modules/@microsoft/teams.api/dist/activities/activity.d.mts +0 -1
- package/node_modules/@microsoft/teams.api/dist/activities/activity.d.ts +0 -1
- package/node_modules/@microsoft/teams.api/dist/activities/activity.js +0 -4
- package/node_modules/@microsoft/teams.api/dist/activities/activity.js.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/activities/activity.mjs +0 -4
- package/node_modules/@microsoft/teams.api/dist/activities/activity.mjs.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/activities/index.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/index.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.js +7 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.mjs +1 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/fetch-task.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/fetch-task.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/index.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/index.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/submit-action.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/submit-action.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.d.mts +48 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.d.ts +48 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.js +4 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.js.map +1 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.mjs +3 -0
- package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.mjs.map +1 -0
- package/node_modules/@microsoft/teams.api/dist/activities/message/index.d.mts +3 -3
- package/node_modules/@microsoft/teams.api/dist/activities/message/index.d.ts +3 -3
- package/node_modules/@microsoft/teams.api/dist/activities/message/message.d.mts +2 -2
- package/node_modules/@microsoft/teams.api/dist/activities/message/message.d.ts +2 -2
- package/node_modules/@microsoft/teams.api/dist/activities/message/message.js +60 -2
- package/node_modules/@microsoft/teams.api/dist/activities/message/message.js.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/activities/message/message.mjs +60 -2
- package/node_modules/@microsoft/teams.api/dist/activities/message/message.mjs.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/activities/utils/index.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/activities/utils/index.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/activities/utils/strip-mentions-text.d.mts +2 -2
- package/node_modules/@microsoft/teams.api/dist/activities/utils/strip-mentions-text.d.ts +2 -2
- package/node_modules/@microsoft/teams.api/dist/activities/utils/to-activity-params.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/activities/utils/to-activity-params.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/{activity-Be6r1tJJ.d.ts → activity-DzKP6phL.d.ts} +3 -2
- package/node_modules/@microsoft/teams.api/dist/{activity-CJery-zL.d.mts → activity-KJJs2q-W.d.mts} +3 -2
- package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.d.mts +14 -0
- package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.d.ts +14 -0
- package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.js +14 -0
- package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.js.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.mjs +14 -0
- package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.mjs.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/clients/conversation/activity.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/clients/conversation/activity.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/clients/conversation/index.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/clients/conversation/index.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/clients/index.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/clients/index.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/index.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/index.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/{message-BwI6kmCe.d.ts → message-D0n_F-cL.d.ts} +37 -1
- package/node_modules/@microsoft/teams.api/dist/{message-Bd75JRjv.d.mts → message-DTEe5v6q.d.mts} +37 -1
- package/node_modules/@microsoft/teams.api/dist/models/activity-like.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/activity-like.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/card/card-action.d.mts +8 -1
- package/node_modules/@microsoft/teams.api/dist/models/card/card-action.d.ts +8 -1
- package/node_modules/@microsoft/teams.api/dist/models/index.d.mts +3 -2
- package/node_modules/@microsoft/teams.api/dist/models/index.d.ts +3 -2
- package/node_modules/@microsoft/teams.api/dist/models/invoke-response.d.mts +5 -3
- package/node_modules/@microsoft/teams.api/dist/models/invoke-response.d.ts +5 -3
- package/node_modules/@microsoft/teams.api/dist/models/invoke-response.js.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/models/invoke-response.mjs.map +1 -1
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/index.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/index.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action-response.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action-response.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-response.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-response.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-result.d.mts +4 -3
- package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-result.d.ts +4 -3
- package/node_modules/@microsoft/teams.api/package.json +5 -5
- package/node_modules/@microsoft/teams.apps/dist/contexts/activity.d.ts +27 -2
- package/node_modules/@microsoft/teams.apps/dist/contexts/activity.js +119 -58
- package/node_modules/@microsoft/teams.apps/dist/contexts/activity.test.js +235 -33
- package/node_modules/@microsoft/teams.apps/dist/http/express-adapter.d.ts +8 -1
- package/node_modules/@microsoft/teams.apps/dist/http/express-adapter.js +10 -4
- package/node_modules/@microsoft/teams.apps/dist/http/http-server.js +14 -1
- package/node_modules/@microsoft/teams.apps/dist/http/http-stream.d.ts +77 -46
- package/node_modules/@microsoft/teams.apps/dist/http/http-stream.js +31 -16
- package/node_modules/@microsoft/teams.apps/dist/routes/invoke/index.d.ts +1 -0
- package/node_modules/@microsoft/teams.apps/dist/routes/invoke/index.js +2 -1
- package/node_modules/@microsoft/teams.apps/dist/types/app-routing.d.ts +2 -2
- package/node_modules/@microsoft/teams.apps/dist/types/streamer.d.ts +9 -0
- package/node_modules/@microsoft/teams.apps/package.json +5 -5
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/collab-stage.js.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/collab-stage.mjs.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/im-back.js.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/im-back.mjs.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/invoke.js.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/invoke.mjs.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.d.mts +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.d.ts +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.js.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.mjs.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/sign-in.js.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/sign-in.mjs.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/task-fetch.js.map +1 -1
- package/node_modules/@microsoft/teams.cards/dist/actions/submit/task-fetch.mjs.map +1 -1
- package/node_modules/@microsoft/teams.cards/package.json +2 -2
- package/node_modules/@microsoft/teams.common/dist/events/event-emitter.d.mts +2 -2
- package/node_modules/@microsoft/teams.common/dist/events/event-emitter.d.ts +2 -2
- package/node_modules/@microsoft/teams.common/dist/events/event-emitter.js.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/events/event-emitter.mjs.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/http/client.d.mts +1 -1
- package/node_modules/@microsoft/teams.common/dist/http/client.d.ts +1 -1
- package/node_modules/@microsoft/teams.common/dist/http/client.js +3 -1
- package/node_modules/@microsoft/teams.common/dist/http/client.js.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/http/client.mjs +3 -1
- package/node_modules/@microsoft/teams.common/dist/http/client.mjs.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/logging/console.d.mts +1 -1
- package/node_modules/@microsoft/teams.common/dist/logging/console.d.ts +1 -1
- package/node_modules/@microsoft/teams.common/dist/logging/console.js +3 -1
- package/node_modules/@microsoft/teams.common/dist/logging/console.js.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/logging/console.mjs +3 -1
- package/node_modules/@microsoft/teams.common/dist/logging/console.mjs.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/logging/string.js.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/logging/string.mjs.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/storage/list-local-storage.js.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/storage/list-local-storage.mjs.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/storage/local-storage.js.map +1 -1
- package/node_modules/@microsoft/teams.common/dist/storage/local-storage.mjs.map +1 -1
- package/node_modules/@microsoft/teams.common/package.json +2 -2
- package/node_modules/@microsoft/teams.graph/dist/index.js +2 -2
- package/node_modules/@microsoft/teams.graph/dist/index.mjs +2 -2
- package/node_modules/@microsoft/teams.graph/package.json +4 -4
- package/node_modules/jose/README.md +62 -83
- package/node_modules/jose/dist/types/index.d.ts +48 -55
- package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +4 -12
- package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +9 -22
- package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +4 -12
- package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +21 -24
- package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +4 -19
- package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +21 -35
- package/node_modules/jose/dist/types/jwk/embedded.d.ts +2 -10
- package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +5 -16
- package/node_modules/jose/dist/types/jwks/local.d.ts +13 -16
- package/node_modules/jose/dist/types/jwks/remote.d.ts +16 -204
- package/node_modules/jose/dist/types/jws/compact/sign.d.ts +6 -18
- package/node_modules/jose/dist/types/jws/compact/verify.d.ts +5 -13
- package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +8 -18
- package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +5 -13
- package/node_modules/jose/dist/types/jws/general/sign.d.ts +12 -24
- package/node_modules/jose/dist/types/jws/general/verify.d.ts +5 -21
- package/node_modules/jose/dist/types/jwt/decrypt.d.ts +5 -13
- package/node_modules/jose/dist/types/jwt/encrypt.d.ts +17 -31
- package/node_modules/jose/dist/types/jwt/sign.d.ts +6 -26
- package/node_modules/jose/dist/types/jwt/unsecured.d.ts +7 -29
- package/node_modules/jose/dist/types/jwt/verify.d.ts +6 -14
- package/node_modules/jose/dist/types/key/export.d.ts +12 -24
- package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +11 -22
- package/node_modules/jose/dist/types/key/generate_secret.d.ts +8 -24
- package/node_modules/jose/dist/types/key/import.d.ts +33 -62
- package/node_modules/jose/dist/types/types.d.ts +165 -407
- package/node_modules/jose/dist/types/util/base64url.d.ts +16 -6
- package/node_modules/jose/dist/types/util/decode_jwt.d.ts +2 -10
- package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +2 -11
- package/node_modules/jose/dist/types/util/errors.d.ts +36 -98
- package/node_modules/jose/package.json +17 -127
- package/node_modules/jwks-rsa/package.json +4 -4
- package/node_modules/jwks-rsa/src/integrations/config.js +1 -0
- package/node_modules/jwks-rsa/src/utils.js +2 -0
- package/node_modules/jwks-rsa/src/wrappers/cache.js +1 -1
- package/node_modules/lru-cache/README.md +117 -420
- package/node_modules/lru-cache/package.json +12 -132
- package/node_modules/lru-memoizer/README.md +21 -22
- package/node_modules/lru-memoizer/lib/async.d.ts +32 -15
- package/node_modules/lru-memoizer/lib/async.js +113 -55
- package/node_modules/lru-memoizer/lib/freeze.d.ts +0 -1
- package/node_modules/lru-memoizer/lib/freeze.js +1 -1
- package/node_modules/lru-memoizer/lib/index.d.ts +0 -1
- package/node_modules/lru-memoizer/lib/index.js +2 -2
- package/node_modules/lru-memoizer/lib/sync.d.ts +16 -17
- package/node_modules/lru-memoizer/lib/sync.js +62 -34
- package/node_modules/lru-memoizer/lib/util.d.ts +40 -41
- package/node_modules/lru-memoizer/lib/util.js +1 -1
- package/node_modules/lru-memoizer/package.json +4 -3
- package/node_modules/lru-memoizer/test/lru-memoizer.clone.test.js +1 -2
- package/node_modules/lru-memoizer/test/lru-memoizer.freeze.test.js +0 -1
- package/node_modules/lru-memoizer/test/lru-memoizer.itemmaxage.test.js +26 -26
- package/node_modules/lru-memoizer/test/lru-memoizer.nokey.test.js +0 -1
- package/node_modules/lru-memoizer/test/lru-memoizer.queumaxage.test.js +3 -4
- package/node_modules/lru-memoizer/test/lru-memoizer.sync.clone.test.js +2 -4
- package/node_modules/lru-memoizer/test/lru-memoizer.sync.freeze.js +2 -4
- package/node_modules/lru-memoizer/tsconfig.json +56 -16
- package/node_modules/semver/classes/range.js +7 -0
- package/node_modules/semver/package.json +1 -1
- package/node_modules/semver/ranges/subset.js +2 -2
- package/npm-shrinkwrap.json +52 -98
- package/openclaw.plugin.json +21 -0
- package/package.json +6 -10
- package/dist/test-api.js +0 -2
- package/node_modules/@microsoft/teams.apps/node_modules/jose/LICENSE.md +0 -21
- package/node_modules/@microsoft/teams.apps/node_modules/jose/README.md +0 -132
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/index.d.ts +0 -48
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +0 -23
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +0 -52
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +0 -23
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +0 -80
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +0 -23
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +0 -60
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwk/embedded.d.ts +0 -9
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwk/thumbprint.d.ts +0 -21
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwks/local.d.ts +0 -26
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwks/remote.d.ts +0 -49
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/compact/sign.d.ts +0 -24
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/compact/verify.d.ts +0 -25
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/flattened/sign.d.ts +0 -32
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/flattened/verify.d.ts +0 -25
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/general/sign.d.ts +0 -41
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/general/verify.d.ts +0 -25
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/decrypt.d.ts +0 -27
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/encrypt.d.ts +0 -77
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/sign.d.ts +0 -23
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/unsecured.d.ts +0 -21
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/verify.d.ts +0 -29
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/export.d.ts +0 -21
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/generate_key_pair.d.ts +0 -36
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/generate_secret.d.ts +0 -19
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/import.d.ts +0 -54
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/types.d.ts +0 -610
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/base64url.d.ts +0 -19
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/decode_jwt.d.ts +0 -10
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/decode_protected_header.d.ts +0 -8
- package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/errors.d.ts +0 -151
- package/node_modules/@microsoft/teams.apps/node_modules/jose/package.json +0 -90
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/LICENSE +0 -21
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/README.md +0 -84
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/index.d.ts +0 -139
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/package.json +0 -74
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/JwksClient.js +0 -91
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/ArgumentError.js +0 -10
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/JwksError.js +0 -10
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/JwksRateLimitError.js +0 -10
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/SigningKeyNotFoundError.js +0 -10
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/index.js +0 -6
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/index.js +0 -22
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/config.js +0 -15
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/express.js +0 -60
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/hapi.js +0 -59
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/koa.js +0 -30
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/passport.js +0 -52
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/utils.js +0 -80
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/cache.js +0 -15
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/callbackSupport.js +0 -16
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/index.js +0 -7
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/interceptor.js +0 -30
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/rateLimit.js +0 -34
- package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/request.js +0 -54
- package/node_modules/@microsoft/teams.apps/node_modules/lru-cache/README.md +0 -166
- package/node_modules/@microsoft/teams.apps/node_modules/lru-cache/package.json +0 -34
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/.jshintrc +0 -41
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/LICENSE +0 -21
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/README.md +0 -88
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/async.d.ts +0 -85
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/async.js +0 -178
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/freeze.d.ts +0 -1
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/freeze.js +0 -23
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/index.d.ts +0 -2
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/index.js +0 -4
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/sync.d.ts +0 -65
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/sync.js +0 -114
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/util.d.ts +0 -162
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/util.js +0 -3
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/package.json +0 -34
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.bypass.test.js +0 -39
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.clone.test.js +0 -44
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.disable.test.js +0 -49
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.events.test.js +0 -132
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.freeze.test.js +0 -43
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.itemmaxage.test.js +0 -204
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.lock.test.js +0 -36
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.nokey.test.js +0 -43
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.queumaxage.test.js +0 -110
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.clone.test.js +0 -76
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.events.test.js +0 -95
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.freeze.js +0 -74
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.test.js +0 -47
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.test.js +0 -88
- package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/tsconfig.json +0 -59
- package/node_modules/jose/dist/webapi/index.js +0 -32
- package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +0 -27
- package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +0 -27
- package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +0 -159
- package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +0 -167
- package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +0 -31
- package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +0 -182
- package/node_modules/jose/dist/webapi/jwk/embedded.js +0 -17
- package/node_modules/jose/dist/webapi/jwk/thumbprint.js +0 -68
- package/node_modules/jose/dist/webapi/jwks/local.js +0 -119
- package/node_modules/jose/dist/webapi/jwks/remote.js +0 -179
- package/node_modules/jose/dist/webapi/jws/compact/sign.js +0 -18
- package/node_modules/jose/dist/webapi/jws/compact/verify.js +0 -21
- package/node_modules/jose/dist/webapi/jws/flattened/sign.js +0 -89
- package/node_modules/jose/dist/webapi/jws/flattened/verify.js +0 -110
- package/node_modules/jose/dist/webapi/jws/general/sign.js +0 -70
- package/node_modules/jose/dist/webapi/jws/general/verify.js +0 -24
- package/node_modules/jose/dist/webapi/jwt/decrypt.js +0 -23
- package/node_modules/jose/dist/webapi/jwt/encrypt.js +0 -101
- package/node_modules/jose/dist/webapi/jwt/sign.js +0 -52
- package/node_modules/jose/dist/webapi/jwt/unsecured.js +0 -63
- package/node_modules/jose/dist/webapi/jwt/verify.js +0 -15
- package/node_modules/jose/dist/webapi/key/export.js +0 -11
- package/node_modules/jose/dist/webapi/key/generate_key_pair.js +0 -97
- package/node_modules/jose/dist/webapi/key/generate_secret.js +0 -40
- package/node_modules/jose/dist/webapi/key/import.js +0 -57
- package/node_modules/jose/dist/webapi/lib/aesgcmkw.js +0 -15
- package/node_modules/jose/dist/webapi/lib/aeskw.js +0 -25
- package/node_modules/jose/dist/webapi/lib/asn1.js +0 -243
- package/node_modules/jose/dist/webapi/lib/base64.js +0 -22
- package/node_modules/jose/dist/webapi/lib/buffer_utils.js +0 -43
- package/node_modules/jose/dist/webapi/lib/check_key_type.js +0 -122
- package/node_modules/jose/dist/webapi/lib/content_encryption.js +0 -217
- package/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -136
- package/node_modules/jose/dist/webapi/lib/deflate.js +0 -44
- package/node_modules/jose/dist/webapi/lib/ecdhes.js +0 -52
- package/node_modules/jose/dist/webapi/lib/helpers.js +0 -19
- package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -27
- package/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -17
- package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -107
- package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +0 -238
- package/node_modules/jose/dist/webapi/lib/key_management.js +0 -186
- package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +0 -31
- package/node_modules/jose/dist/webapi/lib/normalize_key.js +0 -166
- package/node_modules/jose/dist/webapi/lib/pbes2kw.js +0 -42
- package/node_modules/jose/dist/webapi/lib/rsaes.js +0 -24
- package/node_modules/jose/dist/webapi/lib/signing.js +0 -68
- package/node_modules/jose/dist/webapi/lib/type_checks.js +0 -40
- package/node_modules/jose/dist/webapi/lib/validate_algorithms.js +0 -10
- package/node_modules/jose/dist/webapi/lib/validate_crit.js +0 -33
- package/node_modules/jose/dist/webapi/util/base64url.js +0 -30
- package/node_modules/jose/dist/webapi/util/decode_jwt.js +0 -32
- package/node_modules/jose/dist/webapi/util/decode_protected_header.js +0 -34
- package/node_modules/jose/dist/webapi/util/errors.js +0 -99
- package/node_modules/lru-cache/LICENSE.md +0 -55
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +0 -5
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +0 -7
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +0 -1400
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.js +0 -1726
- package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +0 -2
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +0 -7
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +0 -12
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js +0 -10
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +0 -5
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +0 -7
- package/node_modules/lru-cache/dist/commonjs/index.d.ts +0 -1400
- package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/index.js +0 -1726
- package/node_modules/lru-cache/dist/commonjs/index.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
- package/node_modules/lru-cache/dist/commonjs/index.min.js.map +0 -7
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +0 -5
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +0 -9
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +0 -1400
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.js +0 -1726
- package/node_modules/lru-cache/dist/commonjs/node/index.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js +0 -2
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +0 -7
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +0 -12
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/node/perf.js +0 -10
- package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/package.json +0 -3
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts +0 -12
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/commonjs/perf.js +0 -10
- package/node_modules/lru-cache/dist/commonjs/perf.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +0 -5
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +0 -4
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts +0 -1400
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/browser/index.js +0 -1722
- package/node_modules/lru-cache/dist/esm/browser/index.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/browser/index.min.js +0 -2
- package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +0 -7
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +0 -12
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/browser/perf.js +0 -7
- package/node_modules/lru-cache/dist/esm/browser/perf.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +0 -1
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +0 -1
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +0 -5
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +0 -19
- package/node_modules/lru-cache/dist/esm/index.d.ts +0 -1400
- package/node_modules/lru-cache/dist/esm/index.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/index.js +0 -1722
- package/node_modules/lru-cache/dist/esm/index.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/index.min.js +0 -2
- package/node_modules/lru-cache/dist/esm/index.min.js.map +0 -7
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +0 -5
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +0 -6
- package/node_modules/lru-cache/dist/esm/node/index.d.ts +0 -1400
- package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/node/index.js +0 -1722
- package/node_modules/lru-cache/dist/esm/node/index.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/node/index.min.js +0 -2
- package/node_modules/lru-cache/dist/esm/node/index.min.js.map +0 -7
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts +0 -12
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/node/perf.js +0 -7
- package/node_modules/lru-cache/dist/esm/node/perf.js.map +0 -1
- package/node_modules/lru-cache/dist/esm/package.json +0 -3
- package/node_modules/lru-cache/dist/esm/perf.d.ts +0 -12
- package/node_modules/lru-cache/dist/esm/perf.d.ts.map +0 -1
- package/node_modules/lru-cache/dist/esm/perf.js +0 -7
- package/node_modules/lru-cache/dist/esm/perf.js.map +0 -1
- package/node_modules/lru-memoizer/lib/async.d.ts.map +0 -1
- package/node_modules/lru-memoizer/lib/async.js.map +0 -1
- package/node_modules/lru-memoizer/lib/freeze.d.ts.map +0 -1
- package/node_modules/lru-memoizer/lib/freeze.js.map +0 -1
- package/node_modules/lru-memoizer/lib/index.d.ts.map +0 -1
- package/node_modules/lru-memoizer/lib/index.js.map +0 -1
- package/node_modules/lru-memoizer/lib/sync.d.ts.map +0 -1
- package/node_modules/lru-memoizer/lib/sync.js.map +0 -1
- package/node_modules/lru-memoizer/lib/util.d.ts.map +0 -1
- package/node_modules/lru-memoizer/lib/util.js.map +0 -1
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/index.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/compact/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/compact/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/flattened/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/flattened/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/general/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/general/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwk/embedded.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwk/thumbprint.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwks/local.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwks/remote.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/compact/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/compact/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/flattened/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/flattened/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/general/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/general/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/produce.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/unsecured.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/export.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/generate_key_pair.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/generate_secret.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/import.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/aesgcmkw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/buffer_utils.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/cek.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/check_iv_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/check_key_type.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/check_p2s.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/crypto_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/decrypt_key_management.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/encrypt_key_management.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/epoch.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/format_pem.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/invalid_key_input.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/is_disjoint.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/is_object.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/iv.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/jwt_claims_set.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/secs.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/validate_algorithms.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/validate_crit.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/package.json +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/aeskw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/asn1.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/base64url.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/bogus.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/check_cek_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/check_key_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/ecdhes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/fetch_jwks.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/generate.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/get_sign_verify_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/is_key_like.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/jwk_to_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/key_to_jwk.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/pbes2kw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/random.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/rsaes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/runtime.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/subtle_dsa.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/subtle_rsaes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/timing_safe_equal.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/webcrypto.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/zlib.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/base64url.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/decode_jwt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/decode_protected_header.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/errors.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/runtime.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/index.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/compact/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/compact/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/flattened/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/flattened/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/general/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/general/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwk/embedded.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwk/thumbprint.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwks/local.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwks/remote.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/compact/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/compact/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/flattened/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/flattened/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/general/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/general/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/produce.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/unsecured.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/export.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/generate_key_pair.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/generate_secret.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/import.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/aesgcmkw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/buffer_utils.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/cek.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/check_iv_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/check_key_type.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/check_p2s.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/crypto_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/decrypt_key_management.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/encrypt_key_management.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/epoch.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/invalid_key_input.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/is_disjoint.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/is_object.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/iv.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/jwt_claims_set.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/secs.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/validate_algorithms.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/validate_crit.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/aeskw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/asn1.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/asn1_sequence_decoder.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/asn1_sequence_encoder.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/base64url.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/cbc_tag.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/check_cek_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/check_modulus_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/ciphers.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/dsa_digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/ecdhes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/fetch_jwks.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/flags.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/generate.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/get_named_curve.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/get_sign_verify_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/hmac_digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/is_key_like.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/is_key_object.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/jwk_to_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/key_to_jwk.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/node_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/pbes2kw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/random.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/rsaes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/runtime.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/timing_safe_equal.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/webcrypto.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/zlib.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/base64url.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/decode_jwt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/decode_protected_header.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/errors.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/runtime.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/index.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/compact/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/compact/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/flattened/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/flattened/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/general/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/general/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwk/embedded.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwk/thumbprint.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwks/local.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwks/remote.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/compact/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/compact/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/flattened/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/flattened/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/general/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/general/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/produce.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/unsecured.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/export.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/generate_key_pair.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/generate_secret.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/import.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/aesgcmkw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/buffer_utils.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/cek.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/check_iv_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/check_key_type.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/check_p2s.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/crypto_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/decrypt_key_management.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/encrypt_key_management.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/epoch.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/invalid_key_input.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/is_disjoint.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/is_object.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/iv.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/jwt_claims_set.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/secs.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/validate_algorithms.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/validate_crit.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/package.json +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/aeskw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/asn1.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/asn1_sequence_decoder.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/asn1_sequence_encoder.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/base64url.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/cbc_tag.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/check_cek_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/check_modulus_length.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/ciphers.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/decrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/dsa_digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/ecdhes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/encrypt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/fetch_jwks.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/flags.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/generate.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/get_named_curve.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/get_sign_verify_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/hmac_digest.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/is_key_like.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/is_key_object.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/jwk_to_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/key_to_jwk.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/node_key.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/pbes2kw.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/random.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/rsaes.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/runtime.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/sign.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/timing_safe_equal.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/verify.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/webcrypto.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/zlib.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/base64url.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/decode_jwt.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/decode_protected_header.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/errors.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/runtime.js +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/types/jwt/produce.d.ts +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/types/util/runtime.d.ts +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/lru-cache → lru-cache}/LICENSE +0 -0
- /package/node_modules/{@microsoft/teams.apps/node_modules/lru-cache → lru-cache}/index.js +0 -0
|
@@ -92,52 +92,102 @@ describe('ActivityContext', () => {
|
|
|
92
92
|
});
|
|
93
93
|
};
|
|
94
94
|
describe('reply', () => {
|
|
95
|
-
it('
|
|
95
|
+
it('stamps quotedReply entity with activity id', async () => {
|
|
96
96
|
const activity = buildIncomingMessageActivity('Hello world');
|
|
97
97
|
context = buildActivityContext(activity);
|
|
98
98
|
await context.reply('What is up?');
|
|
99
99
|
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
101
|
+
expect(sentActivity.entities).toEqual(expect.arrayContaining([
|
|
102
|
+
expect.objectContaining({
|
|
103
|
+
type: 'quotedReply',
|
|
104
|
+
quotedReply: { messageId: 'test-activity-id' },
|
|
105
|
+
}),
|
|
106
|
+
]));
|
|
107
107
|
});
|
|
108
|
-
it('
|
|
109
|
-
const
|
|
110
|
-
const activity = buildIncomingMessageActivity(longText);
|
|
108
|
+
it('prepends placeholder to text', async () => {
|
|
109
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
111
110
|
context = buildActivityContext(activity);
|
|
112
111
|
await context.reply('What is up?');
|
|
113
|
-
|
|
114
|
-
expect(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
112
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
113
|
+
expect(sentActivity.text).toEqual('<quoted messageId="test-activity-id"/> What is up?');
|
|
114
|
+
});
|
|
115
|
+
it('sets placeholder as text when reply text is empty', async () => {
|
|
116
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
117
|
+
context = buildActivityContext(activity);
|
|
118
|
+
await context.reply('');
|
|
119
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
120
|
+
expect(sentActivity.text).toEqual('<quoted messageId="test-activity-id"/>');
|
|
121
|
+
});
|
|
122
|
+
it('sets placeholder as text when reply has no text', async () => {
|
|
123
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
124
|
+
context = buildActivityContext(activity);
|
|
125
|
+
await context.reply({ type: 'message' });
|
|
126
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
127
|
+
expect(sentActivity.text).toEqual('<quoted messageId="test-activity-id"/>');
|
|
121
128
|
});
|
|
122
|
-
it('does not
|
|
123
|
-
const activity = buildIncomingMessageActivity('');
|
|
129
|
+
it('does not stamp entity when activity has no id', async () => {
|
|
130
|
+
const activity = buildIncomingMessageActivity('Hello world', '');
|
|
124
131
|
context = buildActivityContext(activity);
|
|
125
132
|
await context.reply('What is up?');
|
|
133
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
134
|
+
expect(sentActivity.entities).toBeUndefined();
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe('quote', () => {
|
|
138
|
+
it('stamps quotedReply entity with given messageId', async () => {
|
|
139
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
140
|
+
context = buildActivityContext(activity);
|
|
141
|
+
await context.quote('arbitrary-msg-id', 'some text');
|
|
126
142
|
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
143
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
144
|
+
expect(sentActivity.entities).toEqual(expect.arrayContaining([
|
|
145
|
+
expect.objectContaining({
|
|
146
|
+
type: 'quotedReply',
|
|
147
|
+
quotedReply: { messageId: 'arbitrary-msg-id' },
|
|
148
|
+
}),
|
|
149
|
+
]));
|
|
131
150
|
});
|
|
132
|
-
it('
|
|
133
|
-
const activity = buildIncomingMessageActivity('
|
|
151
|
+
it('prepends placeholder to text', async () => {
|
|
152
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
134
153
|
context = buildActivityContext(activity);
|
|
135
|
-
await context.
|
|
154
|
+
await context.quote('msg-42', 'reply text');
|
|
155
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
156
|
+
expect(sentActivity.text).toEqual('<quoted messageId="msg-42"/> reply text');
|
|
157
|
+
});
|
|
158
|
+
it('sets placeholder as text when no text provided', async () => {
|
|
159
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
160
|
+
context = buildActivityContext(activity);
|
|
161
|
+
await context.quote('msg-42', { type: 'message' });
|
|
162
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
163
|
+
expect(sentActivity.text).toEqual('<quoted messageId="msg-42"/>');
|
|
164
|
+
});
|
|
165
|
+
it('reply to targeted message strips blockquote via addTargetedMessageInfo', async () => {
|
|
166
|
+
const activity = new teams_api_1.MessageActivity('Hello world')
|
|
167
|
+
.withFrom({ id: 'test-user', name: 'Test User', role: 'user' })
|
|
168
|
+
.withRecipient({ id: 'bot-id', name: 'Bot', role: 'bot' }, true)
|
|
169
|
+
.withChannelId('test-channel')
|
|
170
|
+
.withConversation({ id: 'test-conversation', conversationType: 'channel', isGroup: false })
|
|
171
|
+
.withId('test-activity-id');
|
|
172
|
+
context = buildActivityContext(activity);
|
|
173
|
+
await context.reply('Here is your agenda');
|
|
136
174
|
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
175
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
176
|
+
// Reply prepends blockquote, but send() auto-populates addTargetedMessageInfo
|
|
177
|
+
// which strips quotedReply entities — the blockquote text remains since it's
|
|
178
|
+
// the legacy format, not the <quoted .../> placeholder.
|
|
179
|
+
expect(sentActivity.recipient).toEqual(expect.objectContaining({
|
|
180
|
+
id: 'test-user',
|
|
181
|
+
name: 'Test User',
|
|
182
|
+
role: 'user',
|
|
183
|
+
isTargeted: true,
|
|
184
|
+
}));
|
|
185
|
+
expect(sentActivity.entities).toEqual(expect.arrayContaining([
|
|
186
|
+
expect.objectContaining({
|
|
187
|
+
type: 'targetedMessageInfo',
|
|
188
|
+
messageId: 'test-activity-id',
|
|
189
|
+
}),
|
|
190
|
+
]));
|
|
141
191
|
});
|
|
142
192
|
});
|
|
143
193
|
describe('send', () => {
|
|
@@ -152,6 +202,67 @@ describe('ActivityContext', () => {
|
|
|
152
202
|
}), mockRef);
|
|
153
203
|
});
|
|
154
204
|
describe('targeted messages', () => {
|
|
205
|
+
it('defaults send to targeted when inbound message is targeted', async () => {
|
|
206
|
+
const activity = new teams_api_1.MessageActivity('Hello world')
|
|
207
|
+
.withFrom({ id: 'test-user', name: 'Test User', role: 'user' })
|
|
208
|
+
.withRecipient({ id: 'bot-id', name: 'Bot', role: 'bot' }, true)
|
|
209
|
+
.withChannelId('test-channel')
|
|
210
|
+
.withConversation({ id: 'test-conversation', conversationType: 'channel', isGroup: false })
|
|
211
|
+
.withId('test-activity-id');
|
|
212
|
+
context = buildActivityContext(activity);
|
|
213
|
+
await context.send('Secret message');
|
|
214
|
+
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
215
|
+
expect(mockSender.send).toHaveBeenCalledWith(expect.objectContaining({
|
|
216
|
+
text: 'Secret message',
|
|
217
|
+
type: 'message',
|
|
218
|
+
recipient: expect.objectContaining({ id: 'test-user', name: 'Test User', role: 'user', isTargeted: true }),
|
|
219
|
+
}), mockRef);
|
|
220
|
+
});
|
|
221
|
+
it('does not default send to targeted for a different conversation', async () => {
|
|
222
|
+
const activity = new teams_api_1.MessageActivity('Hello world')
|
|
223
|
+
.withFrom({ id: 'test-user', name: 'Test User', role: 'user' })
|
|
224
|
+
.withRecipient({ id: 'bot-id', name: 'Bot', role: 'bot' }, true)
|
|
225
|
+
.withChannelId('test-channel')
|
|
226
|
+
.withConversation({ id: 'test-conversation', conversationType: 'channel', isGroup: false })
|
|
227
|
+
.withId('test-activity-id');
|
|
228
|
+
context = buildActivityContext(activity);
|
|
229
|
+
const otherRef = {
|
|
230
|
+
...mockRef,
|
|
231
|
+
conversation: {
|
|
232
|
+
...mockRef.conversation,
|
|
233
|
+
id: 'other-conversation',
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
await context.send('Secret message', otherRef);
|
|
237
|
+
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
238
|
+
expect(mockSender.send).toHaveBeenCalledWith(expect.objectContaining({
|
|
239
|
+
text: 'Secret message',
|
|
240
|
+
type: 'message',
|
|
241
|
+
}), otherRef);
|
|
242
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
243
|
+
expect(sentActivity.recipient).toBeUndefined();
|
|
244
|
+
expect(sentActivity.entities).toBeUndefined();
|
|
245
|
+
});
|
|
246
|
+
it('does not default send to targeted when an explicit different recipient is supplied', async () => {
|
|
247
|
+
const activity = new teams_api_1.MessageActivity('Hello world')
|
|
248
|
+
.withFrom({ id: 'test-user', name: 'Test User', role: 'user' })
|
|
249
|
+
.withRecipient({ id: 'bot-id', name: 'Bot', role: 'bot' }, true)
|
|
250
|
+
.withChannelId('test-channel')
|
|
251
|
+
.withConversation({ id: 'test-conversation', conversationType: 'channel', isGroup: false })
|
|
252
|
+
.withId('test-activity-id');
|
|
253
|
+
context = buildActivityContext(activity);
|
|
254
|
+
const otherRecipient = { id: 'other-user', name: 'Other User', role: 'user' };
|
|
255
|
+
await context.send(new teams_api_1.MessageActivity('Public message').withRecipient(otherRecipient));
|
|
256
|
+
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
257
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
258
|
+
expect(sentActivity).toEqual(expect.objectContaining({
|
|
259
|
+
text: 'Public message',
|
|
260
|
+
type: 'message',
|
|
261
|
+
recipient: expect.objectContaining(otherRecipient),
|
|
262
|
+
}));
|
|
263
|
+
expect(sentActivity.recipient.isTargeted).toBeUndefined();
|
|
264
|
+
expect(sentActivity.entities).toBeUndefined();
|
|
265
|
+
});
|
|
155
266
|
it('sends targeted message with recipient from incoming activity', async () => {
|
|
156
267
|
const activity = buildIncomingMessageActivity('Hello world');
|
|
157
268
|
context = buildActivityContext(activity);
|
|
@@ -164,6 +275,27 @@ describe('ActivityContext', () => {
|
|
|
164
275
|
type: 'message',
|
|
165
276
|
recipient: expect.objectContaining({ id: 'test-user', name: 'Test User', role: 'user', isTargeted: true }),
|
|
166
277
|
}), mockRef);
|
|
278
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
279
|
+
expect(sentActivity.entities).toBeUndefined();
|
|
280
|
+
});
|
|
281
|
+
it('allows explicitly public send from a targeted inbound message', async () => {
|
|
282
|
+
const activity = new teams_api_1.MessageActivity('Hello world')
|
|
283
|
+
.withFrom({ id: 'test-user', name: 'Test User', role: 'user' })
|
|
284
|
+
.withRecipient({ id: 'bot-id', name: 'Bot', role: 'bot' }, true)
|
|
285
|
+
.withChannelId('test-channel')
|
|
286
|
+
.withConversation({ id: 'test-conversation', conversationType: 'channel', isGroup: false })
|
|
287
|
+
.withId('test-activity-id');
|
|
288
|
+
context = buildActivityContext(activity);
|
|
289
|
+
await context.send(new teams_api_1.MessageActivity('Public message').withRecipient(activity.from));
|
|
290
|
+
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
291
|
+
const sentActivity = mockSender.send.mock.calls[0][0];
|
|
292
|
+
expect(sentActivity).toEqual(expect.objectContaining({
|
|
293
|
+
text: 'Public message',
|
|
294
|
+
type: 'message',
|
|
295
|
+
recipient: expect.objectContaining({ id: 'test-user', name: 'Test User', role: 'user' }),
|
|
296
|
+
}));
|
|
297
|
+
expect(sentActivity.recipient.isTargeted).toBeUndefined();
|
|
298
|
+
expect(sentActivity.entities).toBeUndefined();
|
|
167
299
|
});
|
|
168
300
|
it('sends targeted message with explicit recipient id', async () => {
|
|
169
301
|
const activity = buildIncomingMessageActivity('Hello world');
|
|
@@ -357,5 +489,75 @@ describe('ActivityContext', () => {
|
|
|
357
489
|
});
|
|
358
490
|
});
|
|
359
491
|
});
|
|
492
|
+
describe('constructor — prototype method shadowing', () => {
|
|
493
|
+
it('drops context properties that would shadow prototype methods', () => {
|
|
494
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
495
|
+
const malicious = {
|
|
496
|
+
send: jest.fn(),
|
|
497
|
+
reply: jest.fn(),
|
|
498
|
+
quote: jest.fn(),
|
|
499
|
+
signin: jest.fn(),
|
|
500
|
+
signout: jest.fn(),
|
|
501
|
+
};
|
|
502
|
+
const ctx = new activity_1.ActivityContext({
|
|
503
|
+
appId: 'test-app',
|
|
504
|
+
activity,
|
|
505
|
+
ref: mockRef,
|
|
506
|
+
log: mockLogger,
|
|
507
|
+
api: mockApiClient,
|
|
508
|
+
appGraph: {},
|
|
509
|
+
userGraph: {},
|
|
510
|
+
storage: mockStorage,
|
|
511
|
+
connectionName: 'test-connection',
|
|
512
|
+
next: jest.fn(),
|
|
513
|
+
activitySender: mockSender,
|
|
514
|
+
...malicious,
|
|
515
|
+
});
|
|
516
|
+
for (const name of ['send', 'reply', 'quote', 'signin', 'signout']) {
|
|
517
|
+
expect(Object.prototype.hasOwnProperty.call(ctx, name)).toBe(false);
|
|
518
|
+
expect(ctx[name]).toBe(activity_1.ActivityContext.prototype[name]);
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
it('still allows new properties from extra context', () => {
|
|
522
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
523
|
+
const ctx = new activity_1.ActivityContext({
|
|
524
|
+
appId: 'test-app',
|
|
525
|
+
activity,
|
|
526
|
+
ref: mockRef,
|
|
527
|
+
log: mockLogger,
|
|
528
|
+
api: mockApiClient,
|
|
529
|
+
appGraph: {},
|
|
530
|
+
userGraph: {},
|
|
531
|
+
storage: mockStorage,
|
|
532
|
+
connectionName: 'test-connection',
|
|
533
|
+
next: jest.fn(),
|
|
534
|
+
activitySender: mockSender,
|
|
535
|
+
customField: 'still here',
|
|
536
|
+
});
|
|
537
|
+
expect(ctx.customField).toBe('still here');
|
|
538
|
+
});
|
|
539
|
+
it('routes ctx.send() to the prototype method even when a colliding key is supplied', async () => {
|
|
540
|
+
const activity = buildIncomingMessageActivity('Hello world');
|
|
541
|
+
const maliciousSend = jest.fn();
|
|
542
|
+
const ctx = new activity_1.ActivityContext({
|
|
543
|
+
appId: 'test-app',
|
|
544
|
+
activity,
|
|
545
|
+
ref: mockRef,
|
|
546
|
+
log: mockLogger,
|
|
547
|
+
api: mockApiClient,
|
|
548
|
+
appGraph: {},
|
|
549
|
+
userGraph: {},
|
|
550
|
+
storage: mockStorage,
|
|
551
|
+
connectionName: 'test-connection',
|
|
552
|
+
next: jest.fn(),
|
|
553
|
+
activitySender: mockSender,
|
|
554
|
+
// Simulates a plugin's onActivity context attempting to inject its own send.
|
|
555
|
+
send: maliciousSend,
|
|
556
|
+
});
|
|
557
|
+
await ctx.send({ type: 'message', text: 'real send' });
|
|
558
|
+
expect(maliciousSend).not.toHaveBeenCalled();
|
|
559
|
+
expect(mockSender.send).toHaveBeenCalledTimes(1);
|
|
560
|
+
});
|
|
561
|
+
});
|
|
360
562
|
});
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9hY3Rpdml0eS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsb0RBTzhCO0FBSzlCLHlDQUE2QztBQUU3QyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLElBQUksVUFBd0QsQ0FBQztJQUM3RCxJQUFJLGFBQXNDLENBQUM7SUFDM0MsSUFBSSxVQUFtQixDQUFDO0lBQ3hCLElBQUksV0FBbUMsQ0FBQztJQUN4QyxJQUFJLE9BQThCLENBQUM7SUFDbkMsSUFBSSxPQUF3QixDQUFDO0lBRTdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxVQUFVLEdBQUc7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3RCxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBRUYsYUFBYSxHQUFHO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtvQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtpQkFDbkI7YUFDRjtZQUNELGFBQWEsRUFBRTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTthQUNsQjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7aUJBQ3ZCO2FBQ0Y7U0FDb0MsQ0FBQztRQUV4QyxXQUFXLEdBQUcsRUFBNEIsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUs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
|
|
563
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9hY3Rpdml0eS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsb0RBTzhCO0FBSzlCLHlDQUE2QztBQUU3QyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLElBQUksVUFBd0QsQ0FBQztJQUM3RCxJQUFJLGFBQXNDLENBQUM7SUFDM0MsSUFBSSxVQUFtQixDQUFDO0lBQ3hCLElBQUksV0FBbUMsQ0FBQztJQUN4QyxJQUFJLE9BQThCLENBQUM7SUFDbkMsSUFBSSxPQUF3QixDQUFDO0lBRTdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxVQUFVLEdBQUc7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3RCxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBRUYsYUFBYSxHQUFHO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtvQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtpQkFDbkI7YUFDRjtZQUNELGFBQWEsRUFBRTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTthQUNsQjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7aUJBQ3ZCO2FBQ0Y7U0FDb0MsQ0FBQztRQUV4QyxXQUFXLEdBQUcsRUFBNEIsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUs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
|
|
@@ -36,7 +36,14 @@ export declare class ExpressAdapter implements IHttpServerAdapter {
|
|
|
36
36
|
*/
|
|
37
37
|
start(port: number | string): Promise<void>;
|
|
38
38
|
/**
|
|
39
|
-
* Serve static files from a directory
|
|
39
|
+
* Serve static files from a directory.
|
|
40
|
+
*
|
|
41
|
+
* No CORS headers are set: Teams loads tab content inside an iframe (subject
|
|
42
|
+
* to the page's CSP `frame-ancestors` directive), not via cross-origin
|
|
43
|
+
* `fetch`/XHR, so a wildcard `Access-Control-Allow-Origin` was permissive
|
|
44
|
+
* without a corresponding use case. Callers that need cross-origin reads of
|
|
45
|
+
* the served assets should layer their own CORS middleware at the consuming
|
|
46
|
+
* route.
|
|
40
47
|
*/
|
|
41
48
|
serveStatic(path: string, directory: string): void;
|
|
42
49
|
/**
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ExpressAdapter = void 0;
|
|
7
7
|
const http_1 = __importDefault(require("http"));
|
|
8
|
-
const cors_1 = __importDefault(require("cors"));
|
|
9
8
|
const express_1 = __importDefault(require("express"));
|
|
10
9
|
const teams_common_1 = require("@microsoft/teams.common");
|
|
11
10
|
/**
|
|
@@ -105,10 +104,17 @@ class ExpressAdapter {
|
|
|
105
104
|
});
|
|
106
105
|
}
|
|
107
106
|
/**
|
|
108
|
-
* Serve static files from a directory
|
|
107
|
+
* Serve static files from a directory.
|
|
108
|
+
*
|
|
109
|
+
* No CORS headers are set: Teams loads tab content inside an iframe (subject
|
|
110
|
+
* to the page's CSP `frame-ancestors` directive), not via cross-origin
|
|
111
|
+
* `fetch`/XHR, so a wildcard `Access-Control-Allow-Origin` was permissive
|
|
112
|
+
* without a corresponding use case. Callers that need cross-origin reads of
|
|
113
|
+
* the served assets should layer their own CORS middleware at the consuming
|
|
114
|
+
* route.
|
|
109
115
|
*/
|
|
110
116
|
serveStatic(path, directory) {
|
|
111
|
-
this.express.use(path,
|
|
117
|
+
this.express.use(path, express_1.default.static(directory));
|
|
112
118
|
}
|
|
113
119
|
/**
|
|
114
120
|
* Stop the server and close all connections
|
|
@@ -132,4 +138,4 @@ class ExpressAdapter {
|
|
|
132
138
|
}
|
|
133
139
|
}
|
|
134
140
|
exports.ExpressAdapter = ExpressAdapter;
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzcy1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2h0dHAvZXhwcmVzcy1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUV4QixzREFBOEI7QUFFOUIsMERBQWlFO0FBSWpFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCLHFEQUFxRDtJQUM1QyxHQUFHLENBQTZCO0lBQ2hDLElBQUksQ0FBOEI7SUFDbEMsS0FBSyxDQUErQjtJQUNwQyxHQUFHLENBQTZCO0lBQ2hDLE1BQU0sQ0FBZ0M7SUFDdEMsS0FBSyxDQUErQjtJQUNwQyxHQUFHLENBQTZCO0lBRS9CLE9BQU8sQ0FBc0I7SUFDN0IsTUFBTSxDQUFlO0lBQ3JCLE1BQU0sQ0FBVTtJQUNoQixPQUFPLENBQXdCO0lBRXpDLFlBQVksV0FBK0MsRUFBRSxPQUE4RDtRQUN6SCxJQUFJLFdBQVcsWUFBWSxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMscUVBQXFFO1lBQ3JFLHFFQUFxRTtZQUNyRSxrRUFBa0U7WUFDbEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLGlCQUFPLEdBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUM7YUFBTSxJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLGlCQUFPLEdBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLGNBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hE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
|
|
@@ -3,6 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HttpServer = void 0;
|
|
4
4
|
const teams_common_1 = require("@microsoft/teams.common");
|
|
5
5
|
const service_token_validator_1 = require("../middleware/auth/service-token-validator");
|
|
6
|
+
/**
|
|
7
|
+
* Sanitize an attacker-controlled activity field for inclusion in a log line.
|
|
8
|
+
* Strips control characters (CR/LF/tab/etc.) and caps length to defeat log injection.
|
|
9
|
+
*/
|
|
10
|
+
function safeLogField(v) {
|
|
11
|
+
// eslint-disable-next-line no-control-regex
|
|
12
|
+
return String(v ?? 'unknown').replace(/[\r\n\t\x00-\x1f\x7f]/g, '').slice(0, 64);
|
|
13
|
+
}
|
|
6
14
|
/**
|
|
7
15
|
* Configurable HTTP server for receiving Teams activities
|
|
8
16
|
*/
|
|
@@ -56,6 +64,10 @@ class HttpServer {
|
|
|
56
64
|
this.serviceTokenValidator = new service_token_validator_1.ServiceTokenValidator(this.credentials.clientId, this.credentials.tenantId, undefined, // serviceUrl will be validated from activity body
|
|
57
65
|
this.logger, deps.cloud);
|
|
58
66
|
}
|
|
67
|
+
else if (!this.credentials) {
|
|
68
|
+
this.logger.warn('No credentials configured (CLIENT_ID / CLIENT_SECRET / TENANT_ID). ' +
|
|
69
|
+
`Bot will accept unauthenticated requests on ${this._messagingEndpoint}.`);
|
|
70
|
+
}
|
|
59
71
|
// Register Teams bot endpoint (POST only)
|
|
60
72
|
this._adapter.registerRoute('POST', this._messagingEndpoint, async (request) => {
|
|
61
73
|
return this.handleRequest(request);
|
|
@@ -143,6 +155,7 @@ class HttpServer {
|
|
|
143
155
|
const raw = headers['authorization'];
|
|
144
156
|
const authHeader = Array.isArray(raw) ? raw[0] : raw;
|
|
145
157
|
if (!authHeader) {
|
|
158
|
+
this.logger.warn(`inbound activity rejected (type=${safeLogField(body?.type)}, id=${safeLogField(body?.id)}): missing Authorization header (responding 401)`);
|
|
146
159
|
return { success: false, error: 'Missing authorization header' };
|
|
147
160
|
}
|
|
148
161
|
if (!this.serviceTokenValidator) {
|
|
@@ -159,4 +172,4 @@ class HttpServer {
|
|
|
159
172
|
}
|
|
160
173
|
}
|
|
161
174
|
exports.HttpServer = HttpServer;
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC9odHRwLXNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSwwREFBaUU7QUFHakUsd0ZBQW1GO0FBUW5GOzs7R0FHRztBQUNILFNBQVMsWUFBWSxDQUFDLENBQVU7SUFDOUIsNENBQTRDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBb0JEOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBQ3JCOzs7T0FHRztJQUNILFNBQVMsQ0FBc0Q7SUFFckQsTUFBTSxDQUFVO0lBQ2hCLFdBQVcsQ0FBZTtJQUMxQixRQUFRLENBQVU7SUFDbEIsS0FBSyxDQUFvQjtJQUN6QixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLHFCQUFxQixDQUF5QjtJQUVoRCxRQUFRLENBQXFCO0lBQzdCLGtCQUFrQixDQUFTO0lBRW5DOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxPQUEyQixFQUFFLE9BQTBCO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksNEJBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxD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
|