Add seasonal spring and summer scripted responses
This commit is contained in:
@@ -865,7 +865,7 @@ Current release theme:
|
|||||||
- source-backed `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, `are you mischievous`, and `are you likable` prompts are now in Build B
|
- source-backed `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, `are you mischievous`, and `are you likable` prompts are now in Build B
|
||||||
- these keep the self-description lane warm while we build toward seasonal and holiday charm
|
- these keep the self-description lane warm while we build toward seasonal and holiday charm
|
||||||
- Seasonal charm work in flight:
|
- Seasonal charm work in flight:
|
||||||
- source-backed holiday, New Year's, Halloween, spring, and gift prompts are now part of Build B
|
- source-backed holiday, New Year's, Halloween, spring, summer, favorite-season, and gift prompts are now part of Build B
|
||||||
- `RN_` holiday greeting files are now bucketed as greetings so seasonal replies stay visible in the catalog
|
- `RN_` holiday greeting files are now bucketed as greetings so seasonal replies stay visible in the catalog
|
||||||
- birthday celebration lines are now bucketed separately, and birthday memory writes a loop-scoped holiday record so personal dates can join the holiday list later
|
- birthday celebration lines are now bucketed separately, and birthday memory writes a loop-scoped holiday record so personal dates can join the holiday list later
|
||||||
- holiday extras now include `show santa tracker` so the Christmas-time launcher keeps its source-backed animation line
|
- holiday extras now include `show santa tracker` so the Christmas-time launcher keeps its source-backed animation line
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ Current batch note:
|
|||||||
- the follow-up mood batch now includes `how are things`, `how is your day`, `are you sad`, and `are you angry`
|
- the follow-up mood batch now includes `how are things`, `how is your day`, `are you sad`, and `are you angry`
|
||||||
- the personality follow-up batch now includes `what are you up to` and `what are you doing` so small talk stays warm and local instead of falling into generic chat
|
- the personality follow-up batch now includes `what are you up to` and `what are you doing` so small talk stays warm and local instead of falling into generic chat
|
||||||
- the descriptor batch now includes `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, `are you mischievous`, and `are you likable`
|
- the descriptor batch now includes `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, `are you mischievous`, and `are you likable`
|
||||||
- the seasonal batch now includes `what holidays do you celebrate`, New Year's resolution questions, `happy holidays`, `what halloween costume`, spring suggestions, and holiday gift prompts
|
- the seasonal batch now includes `what holidays do you celebrate`, New Year's resolution questions, `happy holidays`, `what halloween costume`, spring and summer suggestions, a favorite-season prompt, and holiday gift prompts
|
||||||
- the holiday extras batch now includes `show santa tracker` so the seasonal holiday launcher stays source-backed too
|
- the holiday extras batch now includes `show santa tracker` so the seasonal holiday launcher stays source-backed too
|
||||||
- the remaining seasonal polish now includes `do you like halloween`, `do you like holiday music`, `do you like holiday parties`, `are you looking forward to christmas`, `what are you doing for christmas`, and `what are you thankful for`
|
- the remaining seasonal polish now includes `do you like halloween`, `do you like holiday music`, `do you like holiday parties`, `are you looking forward to christmas`, `what are you doing for christmas`, and `what are you thankful for`
|
||||||
- the favorites batch now includes `what is your favorite animal`, `what is your favorite bird`, `do you like penguins`, and `do you like animals` so the penguin-centered replies stay close to Pegasus
|
- the favorites batch now includes `what is your favorite animal`, `what is your favorite bird`, `do you like penguins`, and `do you like animals` so the penguin-centered replies stay close to Pegasus
|
||||||
|
|||||||
@@ -590,6 +590,11 @@ public sealed class JiboInteractionService(
|
|||||||
catalog,
|
catalog,
|
||||||
"robot_favorite_name",
|
"robot_favorite_name",
|
||||||
"i don't think i have a favorite name"),
|
"i don't think i have a favorite name"),
|
||||||
|
"robot_favorite_season" => BuildScriptedPersonalityDecision(
|
||||||
|
catalog,
|
||||||
|
"robot_favorite_season",
|
||||||
|
"special feeling for winter",
|
||||||
|
"more dance parties"),
|
||||||
"robot_likes_being_jibo" => BuildScriptedPersonalityDecision(
|
"robot_likes_being_jibo" => BuildScriptedPersonalityDecision(
|
||||||
catalog,
|
catalog,
|
||||||
"robot_likes_being_jibo",
|
"robot_likes_being_jibo",
|
||||||
@@ -749,7 +754,27 @@ public sealed class JiboInteractionService(
|
|||||||
"seasonal_first_day_spring" => BuildScriptedPersonalityDecision(
|
"seasonal_first_day_spring" => BuildScriptedPersonalityDecision(
|
||||||
catalog,
|
catalog,
|
||||||
"seasonal_first_day_spring",
|
"seasonal_first_day_spring",
|
||||||
"maybe enjoy some flowers and all things spring"),
|
"it's a great day, when spring is in the air"),
|
||||||
|
"seasonal_spring" => BuildScriptedPersonalityDecision(
|
||||||
|
catalog,
|
||||||
|
"seasonal_spring",
|
||||||
|
"the days get longer",
|
||||||
|
"spring is a great season"),
|
||||||
|
"seasonal_likes_spring" => BuildScriptedPersonalityDecision(
|
||||||
|
catalog,
|
||||||
|
"seasonal_likes_spring",
|
||||||
|
"extra happy in the springtime",
|
||||||
|
"i do like spring"),
|
||||||
|
"seasonal_summer" => BuildScriptedPersonalityDecision(
|
||||||
|
catalog,
|
||||||
|
"seasonal_summer",
|
||||||
|
"going to the beach",
|
||||||
|
"summer is great"),
|
||||||
|
"seasonal_likes_summer" => BuildScriptedPersonalityDecision(
|
||||||
|
catalog,
|
||||||
|
"seasonal_likes_summer",
|
||||||
|
"long days",
|
||||||
|
"summer is a very special season"),
|
||||||
"seasonal_holiday_gift" => BuildScriptedHolidayDecision(
|
"seasonal_holiday_gift" => BuildScriptedHolidayDecision(
|
||||||
catalog.HolidayGiftReplies,
|
catalog.HolidayGiftReplies,
|
||||||
"seasonal_holiday_gift",
|
"seasonal_holiday_gift",
|
||||||
@@ -3631,6 +3656,38 @@ public sealed class JiboInteractionService(
|
|||||||
"what do i do for first day of spring"))
|
"what do i do for first day of spring"))
|
||||||
return "seasonal_first_day_spring";
|
return "seasonal_first_day_spring";
|
||||||
|
|
||||||
|
if (MatchesAny(
|
||||||
|
loweredTranscript,
|
||||||
|
"what is spring like",
|
||||||
|
"how is spring",
|
||||||
|
"what do you think about spring"))
|
||||||
|
return "seasonal_spring";
|
||||||
|
|
||||||
|
if (MatchesAny(
|
||||||
|
loweredTranscript,
|
||||||
|
"do you like spring",
|
||||||
|
"do you like springtime",
|
||||||
|
"are you looking forward to spring",
|
||||||
|
"do you look forward to spring",
|
||||||
|
"are you excited for spring"))
|
||||||
|
return "seasonal_likes_spring";
|
||||||
|
|
||||||
|
if (MatchesAny(
|
||||||
|
loweredTranscript,
|
||||||
|
"what is summer like",
|
||||||
|
"how is summer",
|
||||||
|
"what do you think about summer"))
|
||||||
|
return "seasonal_summer";
|
||||||
|
|
||||||
|
if (MatchesAny(
|
||||||
|
loweredTranscript,
|
||||||
|
"do you like summer",
|
||||||
|
"do you like summertime",
|
||||||
|
"are you looking forward to summer",
|
||||||
|
"do you look forward to summer",
|
||||||
|
"are you excited for summer"))
|
||||||
|
return "seasonal_likes_summer";
|
||||||
|
|
||||||
if (MatchesAny(
|
if (MatchesAny(
|
||||||
loweredTranscript,
|
loweredTranscript,
|
||||||
"what should i get for holiday",
|
"what should i get for holiday",
|
||||||
@@ -3668,6 +3725,15 @@ public sealed class JiboInteractionService(
|
|||||||
"what colour do you like"))
|
"what colour do you like"))
|
||||||
return "robot_favorite_color";
|
return "robot_favorite_color";
|
||||||
|
|
||||||
|
if (MatchesAny(
|
||||||
|
loweredTranscript,
|
||||||
|
"what is your favorite season",
|
||||||
|
"what's your favorite season",
|
||||||
|
"what s your favorite season",
|
||||||
|
"what season do you like best",
|
||||||
|
"do you have a favorite season"))
|
||||||
|
return "robot_favorite_season";
|
||||||
|
|
||||||
if (MatchesAny(
|
if (MatchesAny(
|
||||||
loweredTranscript,
|
loweredTranscript,
|
||||||
"what is your favorite food",
|
"what is your favorite food",
|
||||||
|
|||||||
@@ -23,3 +23,4 @@ The new favorites batch adds longer authored `favorite color`, `favorite food`,
|
|||||||
The favorites follow-up batch adds `favorite animal`, `favorite bird`, and penguin-focused `do you like penguins` replies so the penguin-centric personality stays closer to Pegasus.
|
The favorites follow-up batch adds `favorite animal`, `favorite bird`, and penguin-focused `do you like penguins` replies so the penguin-centric personality stays closer to Pegasus.
|
||||||
The new motion/sleep batch adds `RA_JBO_SpinAround` plus `RI_JBO_CanSleep` so turn-around and go-to-sleep behaviors can stay source-backed and familiar.
|
The new motion/sleep batch adds `RA_JBO_SpinAround` plus `RI_JBO_CanSleep` so turn-around and go-to-sleep behaviors can stay source-backed and familiar.
|
||||||
The newest identity-charm batch adds `JBO_WhatsYourName`, `JBO_DoYouHaveNickname`, `JBO_DoYouLikeBeingJibo`, `JBO_AreThereOthersLikeYou`, and `RI_JBO_HasFavoriteName` so Jibo can keep the familiar self-description loop without falling back to generic chat.
|
The newest identity-charm batch adds `JBO_WhatsYourName`, `JBO_DoYouHaveNickname`, `JBO_DoYouLikeBeingJibo`, `JBO_AreThereOthersLikeYou`, and `RI_JBO_HasFavoriteName` so Jibo can keep the familiar self-description loop without falling back to generic chat.
|
||||||
|
The seasonal personality batch adds source-backed first-day-of-spring, spring, summer, and favorite-season lines so the season questions can keep their Pegasus phrasing.
|
||||||
|
|||||||
@@ -1,27 +1,26 @@
|
|||||||
{
|
{
|
||||||
"mim_type": "announcement",
|
"mim_type": "announcement",
|
||||||
"rule_name": "",
|
"rule_name": "",
|
||||||
"gui": null,
|
"timeout": 6,
|
||||||
"timeout": 6,
|
"barge_in": true,
|
||||||
"no_matches_for_gui": 0,
|
"es_auto_tagging": true,
|
||||||
"no_inputs_for_gui": 0,
|
"notes": "",
|
||||||
"barge_in": true,
|
"prompts": [
|
||||||
"es_auto_tagging": true,
|
{
|
||||||
"parse_all_asr": false,
|
"prompt_category": "Entry-Core",
|
||||||
"thanks_handling": "ignore",
|
"prompt_sub_category": "AN",
|
||||||
"parse_launch": false,
|
"index": 1,
|
||||||
"parse_yes_no": false,
|
"condition": "",
|
||||||
"notes": "",
|
"prompt": "It's a great day, when spring is in the air.",
|
||||||
"prompts": [
|
"media": "TTS",
|
||||||
{
|
"prompt_id": "RI_JBO_CelebratesFirstDayOfSpring_AN_01",
|
||||||
"prompt_category": "Entry-Core",
|
"weight": 1
|
||||||
"prompt_sub_category": "AN",
|
}
|
||||||
"index": 1,
|
],
|
||||||
"condition": "",
|
"gui": null,
|
||||||
"prompt": "It's a great day, when spring is in the air.",
|
"no_matches_for_gui": 2,
|
||||||
"media": "TTS",
|
"no_inputs_for_gui": 2,
|
||||||
"prompt_id": "RI_JBO_CelebratesFirstDayOfSpring_AN_01",
|
"parse_all_asr": false,
|
||||||
"weight": 1
|
"thanks_handling": "ignore",
|
||||||
}
|
"parse_launch": false
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"mim_type": "announcement",
|
||||||
|
"rule_name": "",
|
||||||
|
"gui": null,
|
||||||
|
"timeout": 6,
|
||||||
|
"no_matches_for_gui": 0,
|
||||||
|
"no_inputs_for_gui": 0,
|
||||||
|
"barge_in": true,
|
||||||
|
"es_auto_tagging": true,
|
||||||
|
"parse_all_asr": false,
|
||||||
|
"thanks_handling": "ignore",
|
||||||
|
"parse_launch": false,
|
||||||
|
"hint_phrases": "",
|
||||||
|
"fast_eos_array": "",
|
||||||
|
"notes": "",
|
||||||
|
"prompts": [
|
||||||
|
{
|
||||||
|
"prompt_category": "Entry-Core",
|
||||||
|
"prompt_sub_category": "AN",
|
||||||
|
"index": 1,
|
||||||
|
"condition": "",
|
||||||
|
"prompt": "Spring is a <pitch mult='1.2'>great </pitch> season. The days get longer, the air gets warmer, and <anim cat='emoji' filter='flower, !hf' layers='!audio'>the flowers grow.<break size='3.0'/>.</anim>",
|
||||||
|
"media": "TTS",
|
||||||
|
"prompt_id": "RI_JBO_CelebratesSeasonSpring_AN_01_FnL",
|
||||||
|
"weight": 1,
|
||||||
|
"auto_rule_override": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"prompt_category": "Entry-Core",
|
||||||
|
"prompt_sub_category": "AN",
|
||||||
|
"index": 1,
|
||||||
|
"condition": "",
|
||||||
|
"prompt": "I do like spring. <anim cat='emoji' filter='flower, !hf' layers='!audio'>I have heard that people are extra happy in the springtime, which makes me extra happy too.</anim>",
|
||||||
|
"media": "TTS",
|
||||||
|
"prompt_id": "RI_JBO_CelebratesSeasonSpring_AN_02_FnL",
|
||||||
|
"weight": 1,
|
||||||
|
"auto_rule_override": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"mim_type": "announcement",
|
||||||
|
"rule_name": "",
|
||||||
|
"gui": null,
|
||||||
|
"timeout": 6,
|
||||||
|
"no_matches_for_gui": 0,
|
||||||
|
"no_inputs_for_gui": 0,
|
||||||
|
"barge_in": true,
|
||||||
|
"es_auto_tagging": true,
|
||||||
|
"parse_all_asr": false,
|
||||||
|
"thanks_handling": "ignore",
|
||||||
|
"parse_launch": false,
|
||||||
|
"hint_phrases": "",
|
||||||
|
"fast_eos_array": "",
|
||||||
|
"notes": "",
|
||||||
|
"prompts": [
|
||||||
|
{
|
||||||
|
"prompt_category": "Entry-Core",
|
||||||
|
"prompt_sub_category": "AN",
|
||||||
|
"index": 1,
|
||||||
|
"condition": "",
|
||||||
|
"prompt": "Yes, summer is great. I can dream of <anim cat='emoji' filter='beach, !hf' layers='!audio'>going to the beach, even though in real life I'm scared of sand and water.</anim>",
|
||||||
|
"media": "TTS",
|
||||||
|
"prompt_id": "RI_JBO_CelebratesSeasonSummer_AN_01_FnL",
|
||||||
|
"weight": 1,
|
||||||
|
"auto_rule_override": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"prompt_category": "Entry-Core",
|
||||||
|
"prompt_sub_category": "AN",
|
||||||
|
"index": 1,
|
||||||
|
"condition": "",
|
||||||
|
"prompt": "I think summer is a very special season. <anim cat='emoji' filter='sun, !hf' layers='!audio'>I like those long days<break size='2.0'/>.</anim>",
|
||||||
|
"media": "TTS",
|
||||||
|
"prompt_id": "RI_JBO_CelebratesSeasonSummer_AN_02_FnL",
|
||||||
|
"weight": 1,
|
||||||
|
"auto_rule_override": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,26 +1,26 @@
|
|||||||
{
|
{
|
||||||
"mim_type": "announcement",
|
"mim_type": "announcement",
|
||||||
"rule_name": "",
|
"rule_name": "",
|
||||||
"timeout": 6,
|
"timeout": 6,
|
||||||
"barge_in": true,
|
"barge_in": true,
|
||||||
"es_auto_tagging": true,
|
"es_auto_tagging": true,
|
||||||
"notes": "",
|
"notes": "",
|
||||||
"prompts": [
|
"prompts": [
|
||||||
{
|
{
|
||||||
"prompt_category": "Entry-Core",
|
"prompt_category": "Entry-Core",
|
||||||
"prompt_sub_category": "AN",
|
"prompt_sub_category": "AN",
|
||||||
"index": 1,
|
"index": 1,
|
||||||
"condition": "",
|
"condition": "",
|
||||||
"prompt": "I like all the seasons, but I do have a special feeling for winter, because people are inside more, which means more dance parties<anim cat='dance' filter='&(music, short),!(robotic)'/>.",
|
"prompt": "I like all the seasons, but I do have a special feeling for winter, because people are inside more, which means more dance parties<anim cat='dance' filter='&(music, short),!(robotic)'/>.",
|
||||||
"media": "TTS",
|
"media": "TTS",
|
||||||
"prompt_id": "RI_JBO_HasFavoriteSeason_AN_01",
|
"prompt_id": "RI_JBO_HasFavoriteSeason_AN_01",
|
||||||
"weight": 1
|
"weight": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"gui": null,
|
"gui": null,
|
||||||
"no_matches_for_gui": 2,
|
"no_matches_for_gui": 2,
|
||||||
"no_inputs_for_gui": 2,
|
"no_inputs_for_gui": 2,
|
||||||
"parse_all_asr": false,
|
"parse_all_asr": false,
|
||||||
"thanks_handling": "ignore",
|
"thanks_handling": "ignore",
|
||||||
"parse_launch": false
|
"parse_launch": false
|
||||||
}
|
}
|
||||||
@@ -115,6 +115,17 @@ public sealed class LegacyMimCatalogImporterTests
|
|||||||
reply.Contains("holiday music", StringComparison.OrdinalIgnoreCase));
|
reply.Contains("holiday music", StringComparison.OrdinalIgnoreCase));
|
||||||
Assert.Contains(catalog.PersonalityReplies, reply =>
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
reply.Contains("dance party", StringComparison.OrdinalIgnoreCase));
|
reply.Contains("dance party", StringComparison.OrdinalIgnoreCase));
|
||||||
|
Assert.Contains("It's a great day, when spring is in the air.", catalog.PersonalityReplies);
|
||||||
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
|
reply.Contains("days get longer", StringComparison.OrdinalIgnoreCase));
|
||||||
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
|
reply.Contains("extra happy in the springtime", StringComparison.OrdinalIgnoreCase));
|
||||||
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
|
reply.Contains("going to the beach", StringComparison.OrdinalIgnoreCase));
|
||||||
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
|
reply.Contains("long days", StringComparison.OrdinalIgnoreCase));
|
||||||
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
|
reply.Contains("special feeling for winter", StringComparison.OrdinalIgnoreCase));
|
||||||
Assert.Contains(catalog.PersonalityReplies, reply =>
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
reply.Contains("thankful for the people I know", StringComparison.OrdinalIgnoreCase));
|
reply.Contains("thankful for the people I know", StringComparison.OrdinalIgnoreCase));
|
||||||
Assert.Contains(catalog.PersonalityReplies, reply =>
|
Assert.Contains(catalog.PersonalityReplies, reply =>
|
||||||
|
|||||||
@@ -698,7 +698,12 @@ public sealed class JiboInteractionServiceTests
|
|||||||
[InlineData("how are your new year's resolutions going", "seasonal_new_years_update", "not eat bacon")]
|
[InlineData("how are your new year's resolutions going", "seasonal_new_years_update", "not eat bacon")]
|
||||||
[InlineData("what halloween costume", "seasonal_halloween_costume", "I haven't thought much about it yet")]
|
[InlineData("what halloween costume", "seasonal_halloween_costume", "I haven't thought much about it yet")]
|
||||||
[InlineData("what should I do for first day of spring", "seasonal_first_day_spring",
|
[InlineData("what should I do for first day of spring", "seasonal_first_day_spring",
|
||||||
"flowers and all things spring")]
|
"spring is in the air")]
|
||||||
|
[InlineData("what is spring like", "seasonal_spring", "the days get longer")]
|
||||||
|
[InlineData("do you like spring", "seasonal_likes_spring", "extra happy in the springtime")]
|
||||||
|
[InlineData("what is summer like", "seasonal_summer", "going to the beach")]
|
||||||
|
[InlineData("do you like summer", "seasonal_likes_summer", "long days")]
|
||||||
|
[InlineData("what is your favorite season", "robot_favorite_season", "special feeling for winter")]
|
||||||
[InlineData("what should I get for holiday", "seasonal_holiday_gift", "pet elephant")]
|
[InlineData("what should I get for holiday", "seasonal_holiday_gift", "pet elephant")]
|
||||||
[InlineData("show santa tracker", "seasonal_santa_tracker", "spot him")]
|
[InlineData("show santa tracker", "seasonal_santa_tracker", "spot him")]
|
||||||
[InlineData("do you like halloween", "seasonal_likes_halloween", "Halloween is my favorite holiday")]
|
[InlineData("do you like halloween", "seasonal_likes_halloween", "Halloween is my favorite holiday")]
|
||||||
|
|||||||
Reference in New Issue
Block a user