Skip to content
110 changes: 59 additions & 51 deletions CHANGELOG.md

Large diffs are not rendered by default.

3,533 changes: 2,044 additions & 1,489 deletions package-lock.json

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
"build:html2-samples": "cd __tests__/html2/samples/ && esbuild --bundle --format=esm --outbase=. --outdir=./dist/ --minify **/*.tsx --splitting",
"build:production": "npm run build --if-present --workspaces",
"build-browser": "npm run build:run --workspace ./packages/test/harness",
"bump": "vg bump prod && vg bump dev && (npm audit fix || exit 0) && npm run bump:packages && npm run bump:samples",
"bump": "vg bump prod && vg bump dev && (npm audit fix || exit 0) && npm run bump:packages && npm run bump:samples && npm dedupe",
"bump:dev": "PACKAGES_TO_BUMP=$(cat package.json | jq -r '(.pinDependencies // {}) as $P | (.localPeerDependencies // []) as $L | (.devDependencies // {}) | to_entries | map(select(.key as $K | $L | contains([$K]) | not)) | map(.key + \"@\" + ($P[.key] // [\"latest\"])[0]) | join(\" \")') && [ ! -z \"$PACKAGES_TO_BUMP\" ] && npm install $PACKAGES_TO_BUMP || true",
"bump:prod": "PACKAGES_TO_BUMP=$(cat package.json | jq -r '(.pinDependencies // {}) as $P | (.localPeerDependencies // []) as $L | (.dependencies // {}) | to_entries | map(select(.key as $K | $L | contains([$K]) | not)) | map(.key + \"@\" + ($P[.key] // [\"latest\"])[0]) | join(\" \")') && [ ! -z \"$PACKAGES_TO_BUMP\" ] && npm install --save-exact $PACKAGES_TO_BUMP || true",
"bump:packages": "npm run bump --workspaces",
Expand Down Expand Up @@ -223,6 +223,11 @@
"strip-ansi@7 dropped support of CommonJS"
]
},
"overrides": {
"adaptivecards": {
"swiper": "12.1.2"
}
},
"devDependencies": {
"@babel/plugin-transform-runtime": "^7.28.5",
"@babel/preset-env": "^7.28.5",
Expand Down
2 changes: 1 addition & 1 deletion packages/api-graph/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"@testduet/given-when-then": "^0.1.0",
"@types/use-sync-external-store": "^1.5.0",
"botframework-webchat-core": "0.0.0-0",
"type-fest": "^5.3.1",
"type-fest": "^5.4.4",
"typescript": "^5.9.3"
},
"peerDependencies": {
Expand Down
11 changes: 8 additions & 3 deletions packages/api-middleware/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,12 @@
"preversion": "../../scripts/npm/preversion.sh",
"start": "../../scripts/npm/notify-build.sh \"src\" \"../base/package.json\" \"../react-hooks/package.json\" \"../react-valibot/package.json\""
},
"pinDependencies": {},
"pinDependencies": {
"react-wrap-with": [
"0.1.0",
"0.2.0 is having compatibility issues with preact@10.25.4"
]
},
"localDependencies": {
"@msinternal/botframework-webchat-base": "development",
"@msinternal/botframework-webchat-react-hooks": "development",
Expand All @@ -82,9 +87,9 @@
"@msinternal/botframework-webchat-base": "0.0.0-0",
"@msinternal/botframework-webchat-react-hooks": "0.0.0-0",
"@msinternal/botframework-webchat-react-valibot": "0.0.0-0",
"@types/node": "^25.0.3",
"@types/node": "^25.3.3",
"cross-env": "^10.1.0",
"type-fest": "^5.3.1",
"type-fest": "^5.4.4",
"typescript": "^5.9.3"
},
"dependencies": {
Expand Down
18 changes: 9 additions & 9 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@
"botframework-webchat-core": "production"
},
"devDependencies": {
"@babel/core": "^7.28.5",
"@babel/preset-env": "^7.28.5",
"@babel/core": "^7.29.0",
"@babel/preset-env": "^7.29.0",
"@babel/preset-react": "^7.28.5",
"@babel/preset-typescript": "^7.28.5",
"@msinternal/botframework-webchat-api-graph": "0.0.0-0",
Expand All @@ -133,30 +133,30 @@
"@msinternal/botframework-webchat-tsconfig": "0.0.0-0",
"@types/dom-speech-recognition": "^0.0.7",
"@types/jest": "^29.5.14",
"@types/node": "^25.0.3",
"@types/react": "^16.14.68",
"@types/node": "^25.3.3",
"@types/react": "^16.14.69",
"babel-plugin-istanbul": "^7.0.1",
"babel-plugin-transform-inline-environment-variables": "^0.4.4",
"core-js": "^3.47.0",
"core-js": "^3.48.0",
"cross-env": "^10.1.0",
"globalize-compiler": "^1.1.1",
"iana-tz-data": "^2019.1.0",
"nodemon": "^3.1.11",
"type-fest": "^5.3.1",
"nodemon": "^3.1.14",
"type-fest": "^5.4.4",
"typescript": "^5.9.3"
},
"dependencies": {
"botframework-webchat-core": "0.0.0-0",
"globalize": "1.7.1",
"iter-fest": "0.3.0",
"iter-fest": "0.3.1",
"math-random": "2.0.1",
"prop-types": "15.8.1",
"react-chain-of-responsibility": "0.4.2",
"react-redux": "7.2.9",
"redux": "5.0.1",
"simple-update-in": "2.2.0",
"use-reduce-memo": "0.1.0",
"use-ref-from": "0.1.0",
"use-ref-from": "0.2.1",
"valibot": "1.2.0"
},
"peerDependencies": {
Expand Down
6 changes: 3 additions & 3 deletions packages/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@
"pinDependencies": {},
"devDependencies": {
"@msinternal/botframework-webchat-tsconfig": "0.0.0-0",
"@types/node": "^25.0.3",
"core-js-pure": "^3.47.0",
"@types/node": "^25.3.3",
"core-js-pure": "^3.48.0",
"cross-env": "^10.1.0",
"type-fest": "^5.3.1",
"type-fest": "^5.4.4",
"typescript": "^5.9.3"
},
"peerDependencies": {
Expand Down
37 changes: 17 additions & 20 deletions packages/bundle/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,6 @@
"2",
"tsd is complaining about shiki@3 lack of typing for named exports, https://arethetypeswrong.github.io/?p=shiki%403.9.1 says the same thing"
],
"swiper": [
"^8.2.6",
"required by Adaptive Cards but they forget to include in adaptivecards@3.0.2"
],
"uuid": [
"8",
"uuid@9 emit non-ES5 build because of default parameters"
Expand Down Expand Up @@ -177,9 +173,9 @@
"botframework-webchat-core": "production"
},
"devDependencies": {
"@babel/core": "^7.28.5",
"@babel/plugin-transform-runtime": "^7.28.5",
"@babel/preset-env": "^7.28.5",
"@babel/core": "^7.29.0",
"@babel/plugin-transform-runtime": "^7.29.0",
"@babel/preset-env": "^7.29.0",
"@babel/preset-react": "^7.28.5",
"@babel/preset-typescript": "^7.28.5",
"@msinternal/adaptivecards": "0.0.0-0",
Expand All @@ -200,50 +196,51 @@
"@msinternal/react-dom-umd": "0.0.0-0",
"@msinternal/react-is": "0.0.0-0",
"@msinternal/react-umd": "0.0.0-0",
"@testduet/given-when-then": "^0.1.0",
"@types/dom-speech-recognition": "^0.0.7",
"@types/mdast": "^4.0.4",
"@types/node": "^25.0.3",
"@types/react": "^16.14.68",
"@types/node": "^25.3.3",
"@types/react": "^16.14.69",
"@types/react-dom": "^16.9.25",
"@types/uuid": "^8.3.4",
"babel-plugin-istanbul": "^7.0.1",
"babel-plugin-transform-inline-environment-variables": "^0.4.4",
"cross-env": "^10.1.0",
"esbuild": "^0.27.2",
"esbuild": "^0.27.3",
"micromark-util-types": "^2.0.2",
"read-pkg": "^10.0.0",
"read-pkg": "^10.1.0",
"tsd": "^0.33.0",
"type-fest": "^5.3.1",
"type-fest": "^5.4.4",
"typescript": "^5.9.3"
},
"dependencies": {
"@babel/runtime": "7.28.4",
"@babel/runtime": "7.28.6",
"adaptivecards": "3.0.5",
"botframework-directlinejs": "0.15.8",
"botframework-directlinespeech-sdk": "0.0.0-0",
"botframework-webchat-api": "0.0.0-0",
"botframework-webchat-component": "0.0.0-0",
"botframework-webchat-core": "0.0.0-0",
"classnames": "2.5.1",
"core-js": "3.47.0",
"katex": "0.16.27",
"core-js": "3.48.0",
"katex": "0.16.33",
"math-random": "2.0.1",
"mdast-util-from-markdown": "2.0.2",
"mdast-util-from-markdown": "2.0.3",
"memoize-one": "6.0.0",
"micromark": "4.0.2",
"micromark-extension-gfm": "3.0.0",
"micromark-util-character": "2.1.1",
"micromark-util-sanitize-uri": "2.0.1",
"microsoft-cognitiveservices-speech-sdk": "1.17.0",
"microsoft-cognitiveservices-speech-sdk": "1.48.0",
"prop-types": "15.8.1",
"punycode": "2.3.1",
"sanitize-html": "2.17.0",
"sanitize-html": "2.17.1",
"shiki": "2.5.0",
"url-search-params-polyfill": "8.2.5",
"use-ref-from": "0.1.0",
"use-ref-from": "0.2.1",
"uuid": "8.3.2",
"valibot": "1.2.0",
"web-speech-cognitive-services": "8.1.3",
"web-speech-cognitive-services": "8.1.4",
"whatwg-fetch": "3.6.20"
},
"peerDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { AudioConfig } from 'microsoft-cognitiveservices-speech-sdk';
import { createSpeechServicesPonyfill } from 'web-speech-cognitive-services';

import createMicrophoneAudioConfigAndAudioContext from './speech/createMicrophoneAudioConfigAndAudioContext';
import removeBearerInAuthorizationToken from './speech/removeBearerInAuthorizationToken';
import CognitiveServicesAudioOutputFormat from './types/CognitiveServicesAudioOutputFormat';
import CognitiveServicesCredentials from './types/CognitiveServicesCredentials';
import CognitiveServicesTextNormalization from './types/CognitiveServicesTextNormalization';
Expand Down Expand Up @@ -61,7 +62,7 @@ export default function createCognitiveServicesSpeechServicesPonyfillFactory({
createSpeechServicesPonyfill({
audioConfig,
audioContext,
credentials,
credentials: removeBearerInAuthorizationToken(credentials),
enableTelemetry,
initialSilenceTimeout,
referenceGrammars: referenceGrammarID ? [`luis/${referenceGrammarID}-PRODUCTION`] : [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,8 @@ function createMicrophoneAudioConfig(options: MicrophoneAudioInputStreamOptions)
const bufferDurationInMS = options.bufferDurationInMS || DEFAULT_BUFFER_DURATION_IN_MS;

// Related to #4523.
// Pass "true" for microsoft-cognitiveservices-speech-sdk@1.45.0.
// const pcmRecorder = new PcmRecorder(true);
const pcmRecorder = new PcmRecorder();
// Pass "true" as required by microsoft-cognitiveservices-speech-sdk (see #4523).
const pcmRecorder = new PcmRecorder(true);

pcmRecorderWorkletUrl && pcmRecorder.setWorkletUrl(pcmRecorderWorkletUrl);

Expand Down
15 changes: 15 additions & 0 deletions packages/bundle/src/speech/isPromiseLike.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/* eslint-disable @typescript-eslint/no-empty-function */
import isPromiseLike from './isPromiseLike';

test('Promise.withResolvers() should return true', () =>
expect(isPromiseLike(Promise.withResolvers().promise)).toBe(true));

test('new Promise() should return true', () => expect(isPromiseLike(new Promise(() => {}))).toBe(true));

test('Promise-like should return true', () => expect(isPromiseLike({ then: () => {} })).toBe(true));

test('Boolean should return false', () => expect(isPromiseLike(true)).toBe(false));

test('Number should return false', () => expect(isPromiseLike(0)).toBe(false));

test('Object should return false', () => expect(isPromiseLike({ then: 0 })).toBe(false));
5 changes: 5 additions & 0 deletions packages/bundle/src/speech/isPromiseLike.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default function isPromiseLike<T>(promiseLike: unknown): promiseLike is PromiseLike<T> {
return (
!!promiseLike && typeof promiseLike === 'object' && 'then' in promiseLike && typeof promiseLike.then === 'function'
);
}
Loading
Loading