Add seasonal spring and summer scripted responses

This commit is contained in:
Jacob Dubin
2026-05-21 06:36:25 -05:00
parent bedb5d1715
commit e85e14fbd3
10 changed files with 216 additions and 54 deletions

View File

@@ -590,6 +590,11 @@ public sealed class JiboInteractionService(
catalog,
"robot_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(
catalog,
"robot_likes_being_jibo",
@@ -749,7 +754,27 @@ public sealed class JiboInteractionService(
"seasonal_first_day_spring" => BuildScriptedPersonalityDecision(
catalog,
"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(
catalog.HolidayGiftReplies,
"seasonal_holiday_gift",
@@ -3631,6 +3656,38 @@ public sealed class JiboInteractionService(
"what do i do for first day of 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(
loweredTranscript,
"what should i get for holiday",
@@ -3668,6 +3725,15 @@ public sealed class JiboInteractionService(
"what colour do you like"))
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(
loweredTranscript,
"what is your favorite food",

View File

@@ -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 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 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.

View File

@@ -1,27 +1,26 @@
{
"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,
"parse_yes_no": false,
"notes": "",
"prompts": [
{
"prompt_category": "Entry-Core",
"prompt_sub_category": "AN",
"index": 1,
"condition": "",
"prompt": "It's a great day, when spring is in the air.",
"media": "TTS",
"prompt_id": "RI_JBO_CelebratesFirstDayOfSpring_AN_01",
"weight": 1
}
]
"mim_type": "announcement",
"rule_name": "",
"timeout": 6,
"barge_in": true,
"es_auto_tagging": true,
"notes": "",
"prompts": [
{
"prompt_category": "Entry-Core",
"prompt_sub_category": "AN",
"index": 1,
"condition": "",
"prompt": "It's a great day, when spring is in the air.",
"media": "TTS",
"prompt_id": "RI_JBO_CelebratesFirstDayOfSpring_AN_01",
"weight": 1
}
],
"gui": null,
"no_matches_for_gui": 2,
"no_inputs_for_gui": 2,
"parse_all_asr": false,
"thanks_handling": "ignore",
"parse_launch": false
}

View File

@@ -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
}
]
}

View File

@@ -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
}
]
}

View File

@@ -1,26 +1,26 @@
{
"mim_type": "announcement",
"rule_name": "",
"timeout": 6,
"barge_in": true,
"es_auto_tagging": true,
"notes": "",
"prompts": [
{
"prompt_category": "Entry-Core",
"prompt_sub_category": "AN",
"index": 1,
"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)'/>.",
"media": "TTS",
"prompt_id": "RI_JBO_HasFavoriteSeason_AN_01",
"weight": 1
}
],
"gui": null,
"no_matches_for_gui": 2,
"no_inputs_for_gui": 2,
"parse_all_asr": false,
"thanks_handling": "ignore",
"parse_launch": false
}
"mim_type": "announcement",
"rule_name": "",
"timeout": 6,
"barge_in": true,
"es_auto_tagging": true,
"notes": "",
"prompts": [
{
"prompt_category": "Entry-Core",
"prompt_sub_category": "AN",
"index": 1,
"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)'/>.",
"media": "TTS",
"prompt_id": "RI_JBO_HasFavoriteSeason_AN_01",
"weight": 1
}
],
"gui": null,
"no_matches_for_gui": 2,
"no_inputs_for_gui": 2,
"parse_all_asr": false,
"thanks_handling": "ignore",
"parse_launch": false
}