Close memory recall turns so recognition does not keep mic open
This commit is contained in:
@@ -76,6 +76,16 @@ public sealed class DemoConversationBroker(JiboInteractionService interactionSer
|
||||
return intentName switch
|
||||
{
|
||||
"cloud_version" => false,
|
||||
"memory_set_name" => false,
|
||||
"memory_get_name" => false,
|
||||
"memory_set_birthday" => false,
|
||||
"memory_get_birthday" => false,
|
||||
"memory_set_important_date" => false,
|
||||
"memory_get_important_date" => false,
|
||||
"memory_set_preference" => false,
|
||||
"memory_get_preference" => false,
|
||||
"memory_set_affinity" => false,
|
||||
"memory_get_affinity" => false,
|
||||
"word_of_the_day" => false,
|
||||
"word_of_the_day_guess" => false,
|
||||
"radio" => false,
|
||||
|
||||
@@ -3955,6 +3955,50 @@ public sealed class JiboWebSocketServiceTests
|
||||
Assert.False(session.Metadata.ContainsKey("greetingsLastProactiveUtc"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task WhoAmI_DoesNotLeaveFollowUpOpen()
|
||||
{
|
||||
var token = _store.IssueRobotToken("identity-close-token");
|
||||
|
||||
await _service.HandleMessageAsync(new WebSocketMessageEnvelope
|
||||
{
|
||||
HostName = "neo-hub.jibo.com",
|
||||
Path = "/listen",
|
||||
Kind = "neo-hub-listen",
|
||||
Token = token,
|
||||
Text = """{"type":"LISTEN","transID":"trans-identity-close","data":{"rules":["launch"]}}"""
|
||||
});
|
||||
|
||||
await _service.HandleMessageAsync(new WebSocketMessageEnvelope
|
||||
{
|
||||
HostName = "neo-hub.jibo.com",
|
||||
Path = "/listen",
|
||||
Kind = "neo-hub-listen",
|
||||
Token = token,
|
||||
Text = """{"type":"CONTEXT","transID":"trans-identity-close","data":{"runtime":{"perception":{"speaker":"person-1"},"loop":{"users":[{"id":"person-1","firstName":"erin"}]}}}}"""
|
||||
});
|
||||
|
||||
var replies = await _service.HandleMessageAsync(new WebSocketMessageEnvelope
|
||||
{
|
||||
HostName = "neo-hub.jibo.com",
|
||||
Path = "/listen",
|
||||
Kind = "neo-hub-listen",
|
||||
Token = token,
|
||||
Text = """{"type":"CLIENT_ASR","transID":"trans-identity-close","data":{"text":"who am i"}}"""
|
||||
});
|
||||
|
||||
Assert.Equal(3, replies.Count);
|
||||
using (var listenPayload = JsonDocument.Parse(replies[0].Text!))
|
||||
{
|
||||
Assert.Equal("memory_get_name", listenPayload.RootElement.GetProperty("data").GetProperty("nlu").GetProperty("intent").GetString());
|
||||
}
|
||||
|
||||
var session = _store.FindSessionByToken(token);
|
||||
Assert.NotNull(session);
|
||||
Assert.False(session.FollowUpOpen);
|
||||
Assert.False(session.TurnState.AwaitingTurnCompletion);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ClientAsrPersonalReport_StateMachinePersistsAcrossTurns()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user