more Jibo patches

This commit is contained in:
Jacob Dubin
2026-04-20 21:45:55 -05:00
parent 32d63584d6
commit 7b05452937
6 changed files with 129 additions and 5 deletions

View File

@@ -340,6 +340,7 @@ public sealed class JiboInteractionService(
string.Equals(rule, "$YESNO", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "create/is_it_a_keeper", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "settings/download_now_later", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "surprises-date/offer_date_fact", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "surprises-ota/want_to_download_now", StringComparison.OrdinalIgnoreCase));
}

View File

@@ -57,7 +57,16 @@ public sealed class ResponsePlanToSocketMessagesMapper
: isWordOfDayGuess
? ["word-of-the-day/puzzle"]
: isYesNoTurn && isYesNoIntent ? [yesNoRule!] : rules;
var entities = ReadEntities(turn, messageType, isYesNoTurn && isYesNoIntent, isWordOfDayLaunch, isRadioLaunch, isWordOfDayGuess, wordOfDayGuess, radioStation);
var entities = ReadEntities(
turn,
messageType,
isYesNoTurn && isYesNoIntent,
ShouldIncludeCreateDomain(yesNoRule),
isWordOfDayLaunch,
isRadioLaunch,
isWordOfDayGuess,
wordOfDayGuess,
radioStation);
var listenMessage = new
{
type = "LISTEN",
@@ -265,15 +274,21 @@ public sealed class ResponsePlanToSocketMessagesMapper
private static object ReadEntities(
TurnContext turn,
string? messageType,
bool yesNoCreateTurn,
bool yesNoTurn,
bool includeCreateDomain,
bool wordOfDayLaunch,
bool radioLaunch,
bool wordOfDayGuess,
string? guess,
string? radioStation)
{
if (yesNoCreateTurn)
if (yesNoTurn)
{
if (!includeCreateDomain)
{
return new Dictionary<string, object?>();
}
return new Dictionary<string, object?>
{
["domain"] = "create"
@@ -331,9 +346,16 @@ public sealed class ResponsePlanToSocketMessagesMapper
.FirstOrDefault(static rule =>
string.Equals(rule, "create/is_it_a_keeper", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "settings/download_now_later", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "surprises-date/offer_date_fact", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "surprises-ota/want_to_download_now", StringComparison.OrdinalIgnoreCase));
}
private static bool ShouldIncludeCreateDomain(string? yesNoRule)
{
return string.Equals(yesNoRule, "create/is_it_a_keeper", StringComparison.OrdinalIgnoreCase) ||
string.Equals(yesNoRule, "surprises-ota/want_to_download_now", StringComparison.OrdinalIgnoreCase);
}
private static IEnumerable<string> ReadRuleValues(TurnContext turn)
{
return ReadRuleValues(turn, "listenRules").Concat(ReadRuleValues(turn, "clientRules"));
@@ -715,8 +737,7 @@ public sealed class ResponsePlanToSocketMessagesMapper
.Replace("&", "&amp;", StringComparison.Ordinal)
.Replace("<", "&lt;", StringComparison.Ordinal)
.Replace(">", "&gt;", StringComparison.Ordinal)
.Replace("\"", "&quot;", StringComparison.Ordinal)
.Replace("'", "&apos;", StringComparison.Ordinal);
.Replace("\"", "&quot;", StringComparison.Ordinal);
}
private static string? ReadPayloadString(IDictionary<string, object?>? payload, string key)

View File

@@ -710,6 +710,7 @@ public sealed class WebSocketTurnFinalizationService(
string.Equals(rule, "$YESNO", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "create/is_it_a_keeper", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "settings/download_now_later", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "surprises-date/offer_date_fact", StringComparison.OrdinalIgnoreCase) ||
string.Equals(rule, "surprises-ota/want_to_download_now", StringComparison.OrdinalIgnoreCase));
}