Revert weather report-skill routing to stabilize playback

This commit is contained in:
Jacob Dubin
2026-05-11 07:26:56 -05:00
parent af2fdd230c
commit c0e9b41cd1
10 changed files with 59791 additions and 24 deletions

View File

@@ -665,7 +665,7 @@ public sealed class JiboInteractionService(
return new JiboInteractionDecision(
"weather",
weeklySpokenReply,
"report-skill",
"chitchat-skill",
SkillPayload: weeklyWeatherPayload);
}
@@ -705,7 +705,7 @@ public sealed class JiboInteractionService(
return new JiboInteractionDecision(
"weather",
spokenReply,
"report-skill",
"chitchat-skill",
SkillPayload: weatherPayload);
}

View File

@@ -300,22 +300,6 @@ public sealed class ResponsePlanToSocketMessagesMapper
DelayMs: 125));
}
if (isReportSkillLaunch)
{
messages.Add(new SocketReplyPlan(
JsonSerializer.Serialize(BuildSkillRedirectPayload(
transId,
"report-skill",
outboundIntent,
outboundAsrText,
outboundRules,
entities)),
DelayMs: 75));
messages.Add(new SocketReplyPlan(
JsonSerializer.Serialize(BuildCompletionOnlySkillPayload(transId, "report-skill")),
DelayMs: 125));
}
if (emitSkillActions && speak is not null)
{
messages.Add(new SocketReplyPlan(

View File

@@ -1458,7 +1458,7 @@ public sealed class JiboInteractionServiceTests
});
Assert.Equal("weather", decision.IntentName);
Assert.Equal("report-skill", decision.SkillName);
Assert.Equal("chitchat-skill", decision.SkillName);
Assert.NotNull(decision.SkillPayload);
Assert.Contains("cat='weather'", decision.SkillPayload!["esml"]?.ToString(), StringComparison.OrdinalIgnoreCase);
Assert.Contains("meta='rain'", decision.SkillPayload["esml"]?.ToString(), StringComparison.OrdinalIgnoreCase);
@@ -1667,7 +1667,7 @@ public sealed class JiboInteractionServiceTests
Assert.Equal(expectedLocationQuery, provider.LastRequest!.LocationQuery);
Assert.Equal(expectedForecastOffset, provider.LastRequest.ForecastDayOffset);
Assert.Equal(expectedIsTomorrow, provider.LastRequest.IsTomorrow);
Assert.Equal("report-skill", decision.SkillName);
Assert.Equal("chitchat-skill", decision.SkillName);
Assert.Equal(true, decision.SkillPayload?["weather_view_enabled"]);
}

View File

@@ -2198,13 +2198,10 @@ public sealed class JiboWebSocketServiceTests
Assert.True(replies.Count >= 3);
Assert.Equal("LISTEN", ReadReplyType(replies[0]));
Assert.Equal("EOS", ReadReplyType(replies[1]));
Assert.Contains(replies, static reply => string.Equals(ReadReplyType(reply), "SKILL_REDIRECT", StringComparison.Ordinal));
Assert.Contains(replies, static reply => string.Equals(ReadReplyType(reply), "SKILL_ACTION", StringComparison.Ordinal));
using var listenPayload = JsonDocument.Parse(replies[0].Text!);
Assert.Equal(
"report-skill",
listenPayload.RootElement.GetProperty("data").GetProperty("nlu").GetProperty("skill").GetString());
Assert.False(listenPayload.RootElement.GetProperty("data").GetProperty("nlu").TryGetProperty("skill", out _));
Assert.Equal("weather", listenPayload.RootElement.GetProperty("data").GetProperty("match").GetProperty("cloudSkill").GetString());
var skillReply = replies.Last(static reply => string.Equals(ReadReplyType(reply), "SKILL_ACTION", StringComparison.Ordinal));

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,102 @@
{
"name": "neohubjibocom-neohubproactive-tidd36da4d442a611f1aba45cf821ea55ae",
"session": {
"hostName": "neo-hub.jibo.com",
"path": "/v1/proactive",
"kind": "neo-hub-proactive",
"token": "hub-usr_openjibo_owner-1777340189867"
},
"steps": [
{
"text": {
"type": "TRIGGER",
"ts": 1777341970615,
"msgID": "mid-d388c070-42a6-11f1-a414-5cf821ea55ae",
"transID": "tid-d36da4d4-42a6-11f1-aba4-5cf821ea55ae",
"data": {
"triggerSource": "SURPRISE",
"triggerData": {
"looperID": "5c0b221fdf9d450019c5e255"
}
}
},
"binary": null,
"expectedReplyTypes": []
},
{
"text": {
"type": "CONTEXT",
"ts": 1777341970702,
"msgID": "mid-d395f790-42a6-11f1-95f4-5cf821ea55ae",
"transID": "tid-d36da4d4-42a6-11f1-aba4-5cf821ea55ae",
"data": {
"runtime": {
"character": {
"emotion": {
"name": "NEUTRAL",
"valence": 0.45,
"confidence": 0.2
},
"motivation": {
"social": 1,
"playful": 0.5152989351851469
}
},
"perception": {
"speaker": "5c0b221fdf9d450019c5e255",
"peoplePresent": [
{
"id": "NOT_TRAINED",
"entityId": 16085,
"type": "fused",
"confidence": 1
}
]
},
"location": {
"city": "Pleasant Hill",
"state": "Missouri",
"stateAbbr": "MO",
"country": "United States",
"countryCode": "US",
"lat": 38.8358494,
"lng": -94.1427229,
"iso": "2026-04-27T21:06:10.626-05:00"
},
"loop": {
"loopId": "5c0b221fdf9d450019c5e253",
"users": [
{
"firstName": "Erin",
"lastName": "Picone",
"phoneticName": "Erin",
"gender": "female",
"birthdate": 649209600000,
"id": "5c0b221fdf9d450019c5e255",
"accountId": "5c0b20547c46170019235759"
}
],
"jibo": {
"color": "WHITE",
"birthdate": 1544234645598,
"id": "5c0b221fdf9d450019c5e254"
},
"owner": "5c0b221fdf9d450019c5e255"
},
"dialog": {
"referent": null
}
},
"skill": {
"id": null
},
"general": {
"release": "1.9.2"
}
}
},
"binary": null,
"expectedReplyTypes": []
}
]
}

File diff suppressed because it is too large Load Diff