Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge state changes into 4.future #1399

Merged
merged 1,152 commits into from
Nov 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1152 commits
Select commit Hold shift + click to select a range
680e772
Type definition fix: OAuthPromptState (#1157)
tolotrasamuel Oct 9, 2019
fa7318b
Change PromptState.state type to `any` - Fixes #1155
tolotrasamuel Oct 9, 2019
7797b13
Merge branch 'master' into gary/adapterTelemetry
garypretty Oct 9, 2019
2adc0a3
fix typedoc vulnerability
enzocano Oct 9, 2019
3661e47
delete unused doc references
enzocano Oct 9, 2019
573146b
Merge branch 'master' into ts-compile-to-es5
Oct 9, 2019
77ad9e9
Add some tests for teamsCreateConversation
daveta Oct 9, 2019
58b2f14
Merge branch 'master' into jf/typedoc-0916
JonathanFingold Oct 9, 2019
f04fa52
Merge branch 'master' into daveta-createConvTests
daveta Oct 9, 2019
113dad7
Merge pull request #1280 from microsoft/daveta-createConvTests
daveta Oct 9, 2019
a8192c3
synced with new dotnet changes
Oct 9, 2019
a6ffc1f
Merge branch 'master' into stgum/transcriptWork
jwiley84 Oct 9, 2019
845cfcb
added all tests
Oct 9, 2019
370ad94
+ copyright
Oct 9, 2019
30929b1
touch
Oct 9, 2019
6644f2d
[Teams] Lint Teams scenarios, minor refactor (#1283)
stevengum Oct 9, 2019
0c52f17
added test recordings
Oct 9, 2019
7afd075
disable failure if no emulator
Oct 9, 2019
02f6cac
added no emulator warning
Oct 9, 2019
2fa0ebc
Tests and changes
Oct 10, 2019
68d1963
Merge branch 'master' into se/oauth
Jeffders Oct 10, 2019
f5990b0
Merge branch 'master' into gary/adapterTelemetry
garypretty Oct 10, 2019
89de4b1
more tests
Oct 10, 2019
0795839
oauthcard tests
Oct 10, 2019
43a4567
Merge branch 'se/oauth' of https://github.com/Microsoft/botbuilder-js…
Oct 10, 2019
f7c2b79
Merge pull request #1233 from microsoft/gary/adapterTelemetry
garypretty Oct 10, 2019
a535a39
resolve conflict and merge up
DDEfromOR Oct 10, 2019
076e1db
Merge branch 'master' into dev/se-quick-fix
DDEfromOR Oct 10, 2019
ec26392
Merge pull request #1270 from microsoft/dev/se-export-transportclient
DDEfromOR Oct 10, 2019
5f3a49d
Merge branch 'master' into dev/se-quick-fix
DDEfromOR Oct 10, 2019
4883182
Merge pull request #1266 from microsoft/dev/se-quick-fix
DDEfromOR Oct 10, 2019
89b0e4f
Merge branch 'master' into se/oauth
Jeffders Oct 10, 2019
19dcb64
Merge pull request #1229 from microsoft/choice-prompt-unit-test-update
cleemullins Oct 10, 2019
683dde1
[Teams] add more TeamsInfo tests (#1275)
stevengum Oct 10, 2019
7a75aec
Merge pull request #1279 from enzocanoo/fix-typedoc-vulnerability
cleemullins Oct 10, 2019
a29c60a
Merge branch 'master' into se/oauth
Jeffders Oct 10, 2019
7d86155
Merge pull request #1284 from microsoft/se/oauth
Jeffders Oct 10, 2019
cb1c70b
Merge branch 'master' into cosmosPartitioning
mdrichardson Oct 10, 2019
55d21d2
implemented @christopheranderson suggestions
Oct 10, 2019
47c5cf9
Merge branch 'master' of https://github.com/microsoft/botbuilder-js i…
Oct 10, 2019
b71245e
Merge branch 'cosmosPartitioning' of https://github.com/mdrichardson/…
Oct 10, 2019
dcd7bfc
DNM: test to see if recordings used by pipeline
Oct 10, 2019
9069f65
DNM: try again
Oct 10, 2019
20178e0
fixed test recordings
Oct 11, 2019
0c4f706
added comment for instanceId replacement
Oct 11, 2019
932c554
Merge branch 'master' into stgum/transcriptWork
jwiley84 Oct 11, 2019
f5530ac
Let WebSocketClient take in a disconnection callback
ckkashyap Oct 11, 2019
1fe68b7
Merge pull request #1291 from microsoft/ckk/streaming-extensions-fixes
ckkashyap Oct 11, 2019
96f9413
relax the rules for what counts as a well formed guid
DDEfromOR Oct 12, 2019
59a9fa5
Merge branch 'master' into dev/uuid-update
DDEfromOR Oct 12, 2019
2274a3f
Streaming: Rename botframework-streaming-extensions -> botframework-s…
carlosscastro Oct 12, 2019
17cce26
Streaming: Move BotFrameworkStreamingAdapter to botbuilder module
carlosscastro Oct 13, 2019
59a1da3
Streaming: integrate streaming into botFrameworkAdapter though useWeb…
carlosscastro Oct 14, 2019
490ca73
move nock to devDependency (#1297)
Oct 14, 2019
fe6d846
Streaming: temporary move for lower case folders
carlosscastro Oct 14, 2019
bf36438
add test for nil guid header id
DDEfromOR Oct 14, 2019
f71af75
Streaming: directory casing rename part 2
carlosscastro Oct 14, 2019
687c992
Merge branch 'dev/uuid-update' of https://github.com/microsoft/botbui…
DDEfromOR Oct 14, 2019
a658a8e
Streaming: directory renaming last part
carlosscastro Oct 14, 2019
0f953ac
Merge branch 'master' into dev/uuid-update
DDEfromOR Oct 14, 2019
5f8a52b
Merge pull request #1294 from microsoft/dev/uuid-update
DDEfromOR Oct 14, 2019
a8c30c3
simplified upsert call
Oct 14, 2019
f46c655
Merge branch 'master' into cosmosPartitioning
mdrichardson Oct 14, 2019
7063d85
Cosmos partitioning (#1282)
mdrichardson Oct 14, 2019
c66a0ce
Streaming: rename all files and references to proper casing
carlosscastro Oct 14, 2019
797ce57
Streaming: reference streaming without the 'lib' postfix
carlosscastro Oct 14, 2019
3462af8
normalize azure blob timestamp properties to be iso1806 format
Oct 14, 2019
e7b920d
remove console debug statement in unit test
Oct 14, 2019
2d73ffe
Merge pull request #1303 from microsoft/tomlm/fixtranscripttimestamp
Oct 14, 2019
353fc6d
Merge branch 'master' into jf/typedoc-0916
JonathanFingold Oct 14, 2019
eb467e7
Removing unused libraries (#1298)
Oct 14, 2019
c8616c8
removing browser-compat libs (#1300)
Oct 14, 2019
85671b5
add TeamsActivityHandler BadRequest tests
stevengum Oct 15, 2019
cd33acf
add Teams ConversationUpdate tests
stevengum Oct 15, 2019
6b4f2d5
add TeamsActivityHandler NotImplemented tests
stevengum Oct 15, 2019
1e87022
change typing and name of param in onTeamsMessagingExtensionFetchTask
stevengum Oct 15, 2019
e350bdb
Streaming: Javascript style comments and documentation
carlosscastro Oct 15, 2019
84eae25
Streaming: Remove unnecessary logger, use http response and body to r…
carlosscastro Oct 15, 2019
bd5b6cf
Streaming: fix quotes
carlosscastro Oct 15, 2019
967bc45
Streaming: Improve comments and error messages
carlosscastro Oct 15, 2019
65adbc2
Streaming: refactor StreamingHttpClient to a separate file
carlosscastro Oct 15, 2019
6ba6c18
Streaming: update tests to richer error messages
carlosscastro Oct 15, 2019
992923e
Merge master-> ccastro/streaming-refactor
carlosscastro Oct 15, 2019
0867fbd
Merge pull request #1305 from microsoft/stgum/tests
johnataylor Oct 15, 2019
face819
Streaming: add more validations and test fixes
carlosscastro Oct 15, 2019
ecab28b
Merge branch 'master' into ccastro/streaming-refactor
carlosscastro Oct 15, 2019
7294321
Streaming: remove obsolete package from lerna.json and fix documentat…
carlosscastro Oct 15, 2019
486d3ce
Merge master -> ccastro/adapter-refactor
carlosscastro Oct 15, 2019
434b85b
Change ts compiler output from es5 to es6
Oct 15, 2019
a532f62
:wq!
Oct 15, 2019
5385821
Merge branch 'master' into ts-compile-to-es5
Oct 15, 2019
a4a0b6f
Transfer integration bot to js repo
daveta Oct 15, 2019
4e17d09
[Teams] Part of Teams Hackathon Feedback (#1308)
stevengum Oct 16, 2019
e7f97f6
[Teams] Add teamsTenantFilteringMiddleware to roster bot scenario (#1…
Oct 16, 2019
e03feae
Missing link unfurling scenario (#1313)
tsuwandy Oct 16, 2019
8de0e19
Hide WebSocket connection behind ProcessActivity
DDEfromOR Oct 16, 2019
b004775
Change ProcessActivity to accept Union Types and introduce Type Guard…
DDEfromOR Oct 16, 2019
74343b5
Better name. Maybe.
DDEfromOR Oct 16, 2019
4056a26
[Teams] Rename onTeams*-Invoke methods to handleTeams*, add TeamsInfo…
stevengum Oct 16, 2019
3271ff9
Merge branch 'master' into daveta-integrationBot
tsuwandy Oct 16, 2019
7db94f4
Adds createChildContext method to ComponentDialog
ltwlf Oct 16, 2019
c78b170
Update manifest.json
tsuwandy Oct 16, 2019
dcc1857
Streaming: remove isFromStreamingConnection out of TurnContext since …
carlosscastro Oct 16, 2019
f20ab32
Merge branch 'ccastro/streaming-refactor' of https://github.com/micro…
carlosscastro Oct 16, 2019
6fef457
Import directly from library instead of third hand
DDEfromOR Oct 16, 2019
4867dfe
fix WebSocketServer.onConnectionDisconnected, fix in StreamingAdapter…
stevengum Oct 17, 2019
7ae544c
move isFromStreamingConnection() tests to BFStreamingAdapter tests
stevengum Oct 17, 2019
f940dbb
fix bug in processRequest()
stevengum Oct 17, 2019
7526100
Remove library specific implementation of websocket handling
DDEfromOR Oct 17, 2019
7a351fd
Merge branch 'ccastro/streaming-refactor' of https://github.com/micro…
DDEfromOR Oct 17, 2019
2989994
revert changing protecteds to privates
DDEfromOR Oct 17, 2019
52c625d
Further cleanup websocket connection
DDEfromOR Oct 17, 2019
2f7fda9
Update tests
DDEfromOR Oct 17, 2019
5ecceaa
Remove no longer used import
DDEfromOR Oct 17, 2019
126c04e
Merge branch 'master' into ccastro/streaming-refactor
DDEfromOR Oct 17, 2019
7720537
Use const GET instead of string GET
DDEfromOR Oct 17, 2019
0401bbc
Merge branch 'ccastro/streaming-refactor' of https://github.com/micro…
DDEfromOR Oct 17, 2019
8c8f93e
fix removed internal export
stevengum Oct 17, 2019
10932ea
Merge branch 'master' of https://github.com/microsoft/botbuilder-js i…
daveta Oct 17, 2019
41d2103
Final fixes to websocket connection for DLS compatibility.
DDEfromOR Oct 17, 2019
951e179
Merge pull request #1306 from microsoft/ccastro/streaming-refactor
carlosscastro Oct 17, 2019
e02834c
Merge branch 'master' into tiens-integrationBot
tsuwandy Oct 17, 2019
52c9c33
merge scenarios
tsuwandy Oct 17, 2019
819883e
WIP, part way through dialogContext.ts
JonathanFingold Oct 17, 2019
f71487b
Merge branch 'master' into jf/typedoc-0916
JonathanFingold Oct 17, 2019
998cea2
Fix malformatted user agent JSON
DDEfromOR Oct 18, 2019
0efce8d
Merge pull request #1323 from microsoft/dev/se-fix
DDEfromOR Oct 18, 2019
04af4be
Add recording support for Roster API
daveta Oct 18, 2019
3d924c5
Merge branch 'daveta-integrationBot' of https://github.com/microsoft/…
daveta Oct 18, 2019
cc09484
Merge branch 'master' into ts-compile-to-es5
Oct 18, 2019
7e08bae
Fix proxy to support Roster calls
daveta Oct 18, 2019
2524a40
Merge branch 'daveta-integrationBot' into tiens-integrationBot
daveta Oct 18, 2019
6a94d91
Merge branch 'master' into tiens-integrationBot
tsuwandy Oct 18, 2019
1c73c78
Merge branch 'master' into jf/typedoc-0916
JonathanFingold Oct 18, 2019
f20b5d3
Fix manifest domains
daveta Oct 18, 2019
20e9638
Merge branch 'tiens-integrationBot' of https://github.com/microsoft/b…
daveta Oct 18, 2019
0b7575e
updated bot with more scenarios
tsuwandy Oct 18, 2019
a457e04
Merge branch 'tiens-integrationBot' of https://github.com/microsoft/b…
tsuwandy Oct 18, 2019
dd27e0d
Update integrationBot.ts
tsuwandy Oct 18, 2019
65c6085
Finish updating DialogContext
JonathanFingold Oct 18, 2019
d4f536b
added BF cards + conversationupdate
tsuwandy Oct 18, 2019
2fb5b5f
Add all settings for VSCode debugger
daveta Oct 18, 2019
2e473d0
added messagereactionbot
tsuwandy Oct 18, 2019
124d02d
Merge branch 'tiens-integrationBot' of https://github.com/microsoft/b…
tsuwandy Oct 18, 2019
8b977ad
added office365card
tsuwandy Oct 18, 2019
c0a21dc
Update activityHandler.ts
JonathanFingold Oct 18, 2019
63ffd40
added roster
tsuwandy Oct 18, 2019
042c049
added searchbasedmessagingextension scenario
tsuwandy Oct 18, 2019
cf497da
[Streaming] create NodeWebSocketFactory, refactor code, new tests (#1…
stevengum Oct 19, 2019
caca3eb
Fix missing ActivityLog
daveta Oct 19, 2019
2279916
Update README for script, add initial recordings, cleanup nock helper
daveta Oct 19, 2019
d88178c
Fix validation for post.
daveta Oct 19, 2019
1f3f49e
Add channel add and delete events. Add more comments to nock-helper
daveta Oct 19, 2019
7c807f2
Add member add-remove from groupchat, more cleanup for nock-helper
daveta Oct 20, 2019
8a9ae67
More updates
daveta Oct 20, 2019
a0db677
[Streaming] Add working ws websocket implementation for Node environm…
stevengum Oct 20, 2019
2a39be8
More scenarios
daveta Oct 21, 2019
e82b36b
Merge branch 'master' into jf/typedoc-0916
JonathanFingold Oct 21, 2019
d930ddf
Update typeDoc comments for ActivityHandler and ActivityHandlerBase
JonathanFingold Oct 21, 2019
b5b1005
Merge branch 'master' into ts-compile-to-es5
Oct 21, 2019
cedaba0
More updates
daveta Oct 21, 2019
dea6f9c
minor refactoring fileupload bot and added file handler for integrati…
tsuwandy Oct 21, 2019
711d338
removed console.log
tsuwandy Oct 21, 2019
32c683c
Update README.md
tsuwandy Oct 21, 2019
feeafc9
updated readme/manifest
tsuwandy Oct 21, 2019
a407941
Update manifest.json
tsuwandy Oct 21, 2019
688c9bf
Updating all libraries to output es6
Oct 21, 2019
3db4f21
Merge branch 'master' into master
Stevenic Oct 22, 2019
ad7a319
Merge pull request #1232 from microsoft/ts-compile-to-es5
Stevenic Oct 22, 2019
78f3c6b
Merge branch 'master' into stgum/transcriptWork
Stevenic Oct 22, 2019
fabdf14
Merge branch 'master' into jf/typedoc-0916
Stevenic Oct 22, 2019
e94f11b
Merge branch 'master' into master
Stevenic Oct 22, 2019
1958ea6
Merge pull request #1318 from ltwlf/master
Stevenic Oct 22, 2019
09ffd6d
Merge branch 'master' into stgum/transcriptWork
Stevenic Oct 22, 2019
ef6db96
Merge pull request #1138 from microsoft/stgum/transcriptWork
Stevenic Oct 22, 2019
550f597
Merge branch 'master' into jf/typedoc-0916
Stevenic Oct 22, 2019
30a087f
Merge branch 'master' into stevenic/4.6-state
Stevenic Oct 22, 2019
8bfc4f1
Merge pull request #1264 from microsoft/jf/typedoc-0916
Stevenic Oct 22, 2019
d7399fd
Ported DialogStateManager from C3
Stevenic Oct 22, 2019
f03d549
copy edits
JonathanFingold Oct 22, 2019
2424f55
QnaMaker: Rename Prompt -> QnAMakerPrompt
carlosscastro Oct 22, 2019
b775366
Merge branch 'master' into ccastro/qna-prompt-rename
carlosscastro Oct 22, 2019
112049b
Merge pull request #1342 from microsoft/ccastro/qna-prompt-rename
carlosscastro Oct 22, 2019
fbc1aca
added task module invocation, updated readme
tsuwandy Oct 22, 2019
9ca86e1
added promptCultureModels - parity w/ dotnet
Oct 15, 2019
ee7a170
fixed tests
Oct 15, 2019
0aef0ec
added tests for custom defaultChoices
Oct 15, 2019
2507057
removed unnecessary overrides
Oct 22, 2019
a09e9a8
update root package.json, streaming package.json
stevengum Oct 22, 2019
d38f878
Merge pull request #1343 from microsoft/stgum/build
johnataylor Oct 23, 2019
5e5cf06
[Streaming] Auth and browser compatibility fixes, linting, refactorin…
stevengum Oct 23, 2019
a1877a2
drop teams specific send
johnataylor Oct 23, 2019
c3c296b
Merge branch 'master' into johtaylo/issue1345
johnataylor Oct 23, 2019
b7cc801
Merge branch 'master' into tiens-integrationBot
tsuwandy Oct 23, 2019
b3e652a
Merge pull request #1347 from microsoft/johtaylo/issue1345
johnataylor Oct 23, 2019
50b55b0
Finish updating typeDoc comments for dialogContext.ts
JonathanFingold Oct 23, 2019
0fe1dca
Merge branch 'master' into jf/typedoc-1022
JonathanFingold Oct 23, 2019
38128b4
expand ChannelAccount to TeamsChannelAccount
johnataylor Oct 23, 2019
d7afd3f
[Streaming] Pull out streaming bits from botbuilder and move to botfr…
stevengum Oct 23, 2019
9a859ac
Update cardFactory.ts
tsuwandy Oct 23, 2019
69ecd76
cr fk
johnataylor Oct 23, 2019
80e8e60
Merge branch 'master' into johtaylo/issue1346
johnataylor Oct 23, 2019
c91e93f
Merge pull request #1350 from microsoft/johtaylo/issue1346
johnataylor Oct 23, 2019
87f049e
Merge branch 'master' into cultureRecognizerParity
Stevenic Oct 23, 2019
c5a1162
Merge pull request #1309 from mdrichardson/cultureRecognizerParity
Stevenic Oct 23, 2019
400eb32
Merge branch 'master' into jf/typedoc-1022
Stevenic Oct 23, 2019
b032aca
updated searchbased scenario to match c# (with tap/select handler)
tsuwandy Oct 24, 2019
72bb47e
More robust path parsing...
Stevenic Oct 24, 2019
92bef85
Merge pull request #1349 from microsoft/jf/typedoc-1022
Stevenic Oct 24, 2019
f21e243
Merge branch 'master' into tiens-integrationBot
Stevenic Oct 24, 2019
1d4ea84
Merge branch 'master' into stevenic/4.6-state
Stevenic Oct 24, 2019
40a8fc0
Added event emitting support
Stevenic Oct 24, 2019
0f4f048
Updated dialog set to support auto id's and dependencies
Stevenic Oct 24, 2019
3dea01d
Updated unit tests
Stevenic Oct 24, 2019
8a4dd52
final update
tsuwandy Oct 24, 2019
7258e4e
Merge branch 'tiens-integrationBot' of https://github.com/microsoft/b…
tsuwandy Oct 24, 2019
d451816
Update README.md
tsuwandy Oct 24, 2019
e92608c
set bot id to empty guid per andrew's request
tsuwandy Oct 24, 2019
353125f
Merge pull request #1351 from microsoft/tiens-integrationBot
tsuwandy Oct 24, 2019
2b3c47e
helper to send a trace activity (#1355)
johnataylor Oct 24, 2019
ef4123e
added local teamsCreateConversation helper (#1357)
tsuwandy Oct 25, 2019
c697bc0
[QnAMaker] Active learning low score variation multiplier value (#1359)
gurvsing Oct 25, 2019
6947888
Fixed passing of CosmosClientOptions
Oct 25, 2019
cdb8d6f
add random to transcript generated ids and set sent activity.id (#1344)
Oct 25, 2019
5f6a3d6
added test for CosmosClientOptions
Oct 25, 2019
ff70ed4
updated test recordings
Oct 25, 2019
a77c845
Merge branch 'master' into cosmosClientOptionsFix
mdrichardson Oct 25, 2019
51ad3d6
Merge pull request #1363 from mdrichardson/cosmosClientOptionsFix
stevengum Oct 25, 2019
3768fd3
remove .js and .ts from .gitignore, change *.map to *.js.map (#1365)
stevengum Oct 25, 2019
8af7918
Fix integrationBot to match C# (#1379)
daveta Oct 30, 2019
4d47cc3
Merge branch 'master' into stevenic/4.6-state
Stevenic Oct 31, 2019
185bf34
Added unit test for scopes and path resolvers
Stevenic Nov 1, 2019
88cf80e
Added a bunch of dialog state tests
Stevenic Nov 5, 2019
0297469
Added additional unit tests
Stevenic Nov 6, 2019
c70cca8
merge stevenic/4.6-state into 4.future
chon219 Nov 6, 2019
6fe6690
Merge branch 'stevenic/4.6-state' into zim/4.future
chon219 Nov 6, 2019
4932dc4
renamed onComputeID to onComputeId
chon219 Nov 6, 2019
83bcd4d
fixed samples
chon219 Nov 6, 2019
fc50201
remove typescript devDependency and engine from bf-streaming (#1392)
stevengum Nov 6, 2019
50bfc24
Merge branch 'master' into stevenic/4.6-state
Stevenic Nov 6, 2019
1be008a
Tweaked settings test
Stevenic Nov 7, 2019
9523621
Merge branch 'stevenic/4.6-state' into zim/4.future
Stevenic Nov 7, 2019
b03498c
Fixed build
Stevenic Nov 7, 2019
cbe03b0
fix functional test
Stevenic Nov 7, 2019
f5bacd0
fixed expression test bugs around date
Stevenic Nov 7, 2019
7f561c3
Fixed merge conflict and removed old state tests
Stevenic Nov 7, 2019
8e973f0
Stubbed out test
Stevenic Nov 7, 2019
248277c
Removed test scripts from samples
Stevenic Nov 7, 2019
291b18a
initial fixes for type loader tests
Stevenic Nov 7, 2019
f0ea84a
fix (#1396)
Danieladu Nov 7, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# Blanket ignore zip files
# Related to Teams Scenarios work
*.zip
*.vscode

# User-specific files
*.suo
*.user
Expand Down Expand Up @@ -287,12 +292,20 @@ __pycache__/
*.odx.cs
*.xsd.cs
/**/node_modules
/**/.vscode

# Exception for including the ESLint extension in vscode
!.vscode/
.vscode/*
!.vscode/extensions.json

/**/*.VC.db
#coverage
/**/coverage
/**/.nyc_output

#derived
/test-runner/out
package-lock.json

*.tsbuildinfo
*.js.map
5 changes: 5 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
]
}
3 changes: 2 additions & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@
"libraries/botbuilder-dialogs",
"libraries/botbuilder-dialogs-adaptive",
"libraries/botbuilder-dialogs-declarative",
"libraries/botframework-expressions",
"libraries/botbuilder-lg",
"libraries/botbuilder-testing",
"libraries/botframework-config",
"libraries/botframework-connector",
"libraries/botframework-expressions",
"libraries/botframework-schema",
"libraries/botframework-streaming",
"libraries/functional-tests",
"libraries/testbot",
"transcripts"
Expand Down
2 changes: 1 addition & 1 deletion libraries/botbuilder-ai/src/luisRecognizer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ export interface LuisRecognizerTelemetryClient {
*
* @remarks
* This class is used to recognize intents and extract entities from incoming messages.
* See this class in action [in this sample application](https://github.com/Microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/12.nlp-with-luis).
* See this class in action [in this sample application](https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/14.nlp-with-dispatch).
*
* This component can be used within your bots logic by calling [recognize()](#recognize).
*/
Expand Down
45 changes: 35 additions & 10 deletions libraries/botbuilder-ai/src/qnaMaker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import { Activity, TurnContext, BotTelemetryClient, NullTelemetryClient } from 'botbuilder-core';
import { TurnContext, BotTelemetryClient, NullTelemetryClient } from 'botbuilder-core';

import { constants } from 'http2';
import { QnATelemetryConstants } from './qnaTelemetryConstants';
import { QnAMakerEndpoint } from './qnamaker-interfaces/qnamakerEndpoint';
import { QnAMakerMetadata } from './qnamaker-interfaces/qnamakerMetadata';
Expand All @@ -18,6 +17,7 @@ import { FeedbackRecords } from './qnamaker-interfaces/feedbackRecords';
import { GenerateAnswerUtils } from './qnamaker-utils/generateAnswerUtils';
import { ActiveLearningUtils } from './qnamaker-utils/activeLearningUtils';
import { TrainUtils } from './qnamaker-utils/trainUtils';
import { QnAMakerResults } from './qnamaker-interfaces/qnamakerResults';

export const QNAMAKER_TRACE_TYPE = 'https://www.qnamaker.ai/schemas/trace';
export const QNAMAKER_TRACE_NAME = 'QnAMaker';
Expand Down Expand Up @@ -132,25 +132,50 @@ export class QnAMaker implements QnAMakerTelemetryClient {
throw new TypeError('QnAMaker.getAnswers() requires a TurnContext.');
}

var response = await this.getAnswersRaw(context, options, telemetryProperties, telemetryMetrics);

if (!response) {
return [];
}

return response.answers;
}

public async getAnswersRaw(context: TurnContext, options?: QnAMakerOptions, telemetryProperties?: {[key: string]:string}, telemetryMetrics?: {[key: string]:number} ): Promise<QnAMakerResults> {
if (!context) {
throw new TypeError('QnAMaker.getAnswers() requires a TurnContext.');
}

const queryResult: QnAMakerResult[] = [] as QnAMakerResult[];
const question: string = this.getTrimmedMessageText(context);
const queryOptions: QnAMakerOptions = { ...this._options, ...options } as QnAMakerOptions;

this.generateAnswerUtils.validateOptions(queryOptions);

if (question.length > 0) {
const answers: QnAMakerResult[] = await this.generateAnswerUtils.queryQnaService(this.endpoint, question, queryOptions);
const sortedQnaAnswers: QnAMakerResult[] = GenerateAnswerUtils.sortAnswersWithinThreshold(answers, queryOptions);
var result: QnAMakerResults;

if (question.length > 0) {
result = await this.generateAnswerUtils.queryQnaServiceRaw(this.endpoint, question, queryOptions);

const sortedQnaAnswers: QnAMakerResult[] = GenerateAnswerUtils.sortAnswersWithinThreshold(result.answers, queryOptions);
queryResult.push(...sortedQnaAnswers);
}

if (!result) {
return result;
}

// Log telemetry
this.onQnaResults(queryResult, context, telemetryProperties, telemetryMetrics);

await this.generateAnswerUtils.emitTraceInfo(context, queryResult, queryOptions);

return queryResult;
const qnaResponse: QnAMakerResults = {
activeLearningEnabled: result.activeLearningEnabled,
answers: queryResult
}

return qnaResponse;
}

/**
Expand Down Expand Up @@ -198,10 +223,10 @@ export class QnAMaker implements QnAMakerTelemetryClient {
const trimmedAnswer: string = question ? question.trim() : '';

if (trimmedAnswer.length > 0) {
const answers: QnAMakerResult[] = await this.callService(this.endpoint, question, typeof top === 'number' ? top : 1);
const result: QnAMakerResults = await this.callService(this.endpoint, question, typeof top === 'number' ? top : 1);
const minScore: number = typeof scoreThreshold === 'number' ? scoreThreshold : 0.001;

return answers.filter(
return result.answers.filter(
(ans: QnAMakerResult) => ans.score >= minScore)
.sort((a: QnAMakerResult, b: QnAMakerResult) => b.score - a.score);
}
Expand Down Expand Up @@ -236,8 +261,8 @@ export class QnAMaker implements QnAMakerTelemetryClient {
* @remarks
* This is exposed to enable better unit testing of the service.
*/
protected async callService(endpoint: QnAMakerEndpoint, question: string, top: number): Promise<QnAMakerResult[]> {
return this.generateAnswerUtils.queryQnaService(endpoint, question, { top } as QnAMakerOptions);
protected async callService(endpoint: QnAMakerEndpoint, question: string, top: number): Promise<QnAMakerResults> {
return this.generateAnswerUtils.queryQnaServiceRaw(endpoint, question, { top } as QnAMakerOptions);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion libraries/botbuilder-ai/src/qnamaker-interfaces/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ export * from './qnamakerEndpoint';
export * from './qnamakerMetadata';
export * from './qnamakerOptions';
export * from './qnamakerResult';
export * from './qnamakerTraceinfo';
export * from './qnamakerTraceInfo';
export * from './feedbackRecord';
export * from './feedbackRecords';
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/**
* @module botbuilder-ai
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
/**
* The context associated with QnA. Used to mark if the current prompt is relevant with a previous question or not.
*/
export interface QnARequestContext {

/**
* The previous QnA Id that was returned.
*/
previousQnAId: number;

/**
* The previous user query/question.
*/
previousUserQuery: string;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/**
* @module botbuilder-ai
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/

import { QnAMakerPrompt } from './qnamakerPrompt';

/**
* The context associated with QnA. Used to mark if the qna response has related prompts.
*/
export interface QnAResponseContext {

/**
* The prompts collection of related prompts.
*/
prompts: QnAMakerPrompt[];
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
*/

import { QnAMakerMetadata } from './qnamakerMetadata';
import { QnARequestContext } from './qnaRequestContext';

/**
* Additional settings used to configure a `QnAMaker` instance.
Expand Down Expand Up @@ -42,5 +43,15 @@ export interface QnAMakerOptions {
*
* @remarks Defaults to "100000" milliseconds.
*/
timeout?: number;
timeout?: number;

/**
* The context of the previous turn.
*/
context?: QnARequestContext;

/**
* Id of the current question asked.
*/
qnaId?: number;
}
32 changes: 32 additions & 0 deletions libraries/botbuilder-ai/src/qnamaker-interfaces/qnamakerPrompt.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* @module botbuilder-ai
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
/**
* QnAMaker Prompt Object.
*/
export interface QnAMakerPrompt {

/**
* Display Order - index of the prompt - used in ordering of the prompts.
*/
displayOrder: number;

/**
* Qna id corresponding to the prompt - if QnaId is present, QnADTO object is ignored.
*/
qnaId: number;

/**
* The QnA object returned from the API (Optional parameter).
*/
qna?: object;

/**
* Display Text - Text displayed to represent a follow up question prompt.
*/
displayText: string;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
* Licensed under the MIT License.
*/

import { QnAResponseContext } from './qnaResponseContext';

/**
* An individual answer returned by a call to the QnA Maker Service.
*/
Expand Down Expand Up @@ -39,4 +41,9 @@ export interface QnAMakerResult {
* The index of the answer in the knowledge base. V3 uses 'qnaId', V4 uses 'id'. (If any)
*/
id?: number;

/**
* Context for multi-turn responses.
*/
context?: QnAResponseContext;
}
24 changes: 24 additions & 0 deletions libraries/botbuilder-ai/src/qnamaker-interfaces/qnamakerResults.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
* @module botbuilder-ai
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/

import { QnAMakerResult } from './qnamakerResult';

/**
* An object returned by a call to the QnA Maker Service.
*/
export interface QnAMakerResults {
/**
* The answers for a user query, sorted in decreasing order of ranking score.
*/
answers?: QnAMakerResult[];

/**
* The active learning enable flag.
*/
activeLearningEnabled?: boolean;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import { Activity } from 'botbuilder-core';
import { QnAMakerResult } from './qnamakerResult';
import { QnARequestContext } from './qnaRequestContext';

/**
* Trace info that we collect and emit from a QnA Maker query
Expand Down Expand Up @@ -47,4 +48,14 @@ export interface QnAMakerTraceInfo {
* Metadata related to query. Not used in JavaScript SDK v4 yet.
*/
metadataBoost: any[];

/**
* The context for multi-turn responses.
*/
context?: QnARequestContext;

/**
* Id of the current question asked.
*/
qnaId?: number;
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ import { QnAMakerResult } from '../qnamaker-interfaces/qnamakerResult';
const MinimumScoreForLowScoreVariation = 20;

// Previous Low Score Variation Multiplier
const PreviousLowScoreVariationMultiplier = 1.4;
const PreviousLowScoreVariationMultiplier = 0.7;

// Max Low Score Variation Multiplier
const MaxLowScoreVariationMultiplier = 2.0;
const MaxLowScoreVariationMultiplier = 1.0;

// Maximum Score For Low Score Variation
const MaximumScoreForLowScoreVariation = 95.0;
Expand Down
Loading