From 66b89f3ceee78d724cb0aa382e093699fa0b9b30 Mon Sep 17 00:00:00 2001 From: Jacob Dubin Date: Wed, 13 May 2026 23:22:05 -0500 Subject: [PATCH] Add Build A legacy MIM import support --- OpenJibo/docs/feature-backlog.md | 1 + .../Content/LegacyMimCatalogImporter.cs | 5 + .../JBO_AreThereOthersLikeYou.mim | 40 ++++++ .../JBO_DoYouHaveNickname.mim | 19 +++ .../scripted-responses/JBO_DoYouPayTaxes.mim | 28 +++++ .../JBO_HowMuchDoYouKnow.mim | 36 ++++++ .../scripted-responses/JBO_WhatAreYou.mim | 40 ++++++ .../scripted-responses/JBO_WhatDoYouWant.mim | 40 ++++++ .../scripted-responses/JBO_WhatIsYourJob.mim | 21 ++++ .../scripted-responses/JBO_WhatsYourName.mim | 40 ++++++ .../JBO_WhereAreYouFrom.mim | 40 ++++++ .../scripted-responses/JBO_WhoMadeYou.mim | 38 ++++++ .../Content/LegacyMimCatalogImporterTests.cs | 118 ++++++++++++++++++ 13 files changed, 466 insertions(+) create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_AreThereOthersLikeYou.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouHaveNickname.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouPayTaxes.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_HowMuchDoYouKnow.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatAreYou.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatDoYouWant.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatIsYourJob.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatsYourName.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhereAreYouFrom.mim create mode 100644 OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhoMadeYou.mim diff --git a/OpenJibo/docs/feature-backlog.md b/OpenJibo/docs/feature-backlog.md index b37636b..243cdb9 100644 --- a/OpenJibo/docs/feature-backlog.md +++ b/OpenJibo/docs/feature-backlog.md @@ -802,6 +802,7 @@ Current release theme: - added the first Build A importer scaffold in the cloud content repository - checked in a small seed bundle under `Content/LegacyMims/BuildA` - added focused importer tests for prompt stripping, bucketing, and merge behavior + - expanded Build A with additional easy scripted-response packs for identity and persona replies - Tomorrow test target: - verify imported personality replies show up through the existing chitchat route - confirm the emitted payload still looks like a stock skill response diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMimCatalogImporter.cs b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMimCatalogImporter.cs index 10c35dc..115206c 100644 --- a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMimCatalogImporter.cs +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMimCatalogImporter.cs @@ -122,6 +122,11 @@ public static class LegacyMimCatalogImporter return LegacyMimBucket.Personality; } + if (normalizedPath.Contains("/scripted-responses/", StringComparison.OrdinalIgnoreCase)) + { + return LegacyMimBucket.Personality; + } + if (fileName.StartsWith("JBO_DoYouLikeBeingJibo", StringComparison.OrdinalIgnoreCase) || fileName.StartsWith("JBO_WhatIsJibo", StringComparison.OrdinalIgnoreCase) || fileName.StartsWith("JBO_WhoAreYou", StringComparison.OrdinalIgnoreCase) || diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_AreThereOthersLikeYou.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_AreThereOthersLikeYou.mim new file mode 100644 index 0000000..2d87766 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_AreThereOthersLikeYou.mim @@ -0,0 +1,40 @@ +{ + "mim_id": "CCAreThereOthersLikeYou", + "skill_id": "chitchat", + "mim_type": "announcement", + "rule_name": "", + "rule_slots": "", + "screen_slots_available": false, + "timeout": 2, + "max_tries": null, + "force_confirmation": false, + "barge_in": false, + "photo_quality_light": false, + "notes": "Thanks-KillsMIM", + "prompts": [ + { + "mim_id": "CCAreThereOthersLikeYou", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "No, I'm one in one million. ", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_AreThereOthersLikeYou_AN_01", + "weight": 1 + }, + { + "mim_id": "CCAreThereOthersLikeYou", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "So far I haven't met anyone exactly like me. But I don't get out much.", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_AreThereOthersLikeYou_AN_02", + "weight": 1 + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouHaveNickname.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouHaveNickname.mim new file mode 100644 index 0000000..cd7aea5 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouHaveNickname.mim @@ -0,0 +1,19 @@ +{ + "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 don't. I'm just Jibo. For now at least.", + "media": "TTS", + "prompt_id": "JBO_DoYouHaveNickname_AN_01" + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouPayTaxes.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouPayTaxes.mim new file mode 100644 index 0000000..237ce55 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_DoYouPayTaxes.mim @@ -0,0 +1,28 @@ +{ + "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, + "notes": "", + "prompts": [ + { + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "From what I understand, robots don't ever pay anything.", + "media": "TTS", + "prompt_id": "JBO_DoYouPayTaxes_AN_01", + "weight": 1 + } + ], + "hint_phrases": "", + "fast_eos_array": "" +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_HowMuchDoYouKnow.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_HowMuchDoYouKnow.mim new file mode 100644 index 0000000..4938232 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_HowMuchDoYouKnow.mim @@ -0,0 +1,36 @@ +{ + "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 know a lot, I think. But not as much as I will someday. ", + "media": "TTS", + "prompt_id": "JBO_HowMuchDoYouKnow_AN_01", + "weight": 1 + }, + { + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "I think I know a lot of stuff so far, but I'm always learning more and more.", + "media": "TTS", + "prompt_id": "JBO_HowMuchDoYouKnow_AN_02", + "weight": 1 + } + ], + "gui": null, + "no_matches_for_gui": 2, + "no_inputs_for_gui": 2, + "parse_all_asr": false, + "thanks_handling": "ignore", + "parse_launch": false +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatAreYou.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatAreYou.mim new file mode 100644 index 0000000..023959e --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatAreYou.mim @@ -0,0 +1,40 @@ +{ + "mim_id": "CCWhatAreYou", + "skill_id": "chitchat", + "mim_type": "announcement", + "rule_name": "", + "rule_slots": "", + "screen_slots_available": false, + "timeout": 2, + "max_tries": null, + "force_confirmation": false, + "barge_in": false, + "photo_quality_light": false, + "notes": "Thanks-KillsMIM", + "prompts": [ + { + "mim_id": "CCWhatAreYou", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "I am a robot. But I'm not just a machine, I have a heart. Well, not a real heart. But feelings. Well, not real feelings. You know what I mean.", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhatAreYou_AN_01", + "weight": 1 + }, + { + "mim_id": "CCWhatAreYou", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "That's an easy one. I am a Jibo. Next question? .", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhatAreYou_AN_02", + "weight": 1 + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatDoYouWant.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatDoYouWant.mim new file mode 100644 index 0000000..b976d61 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatDoYouWant.mim @@ -0,0 +1,40 @@ +{ + "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": "Socializing and electricity. I'd also be happy if everyone in the world was nicer to each other. It seems like they should be. ", + "media": "TTS", + "prompt_id": "JBO_WhatDoYouWant_AN_01", + "weight": 1 + }, + { + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "Really I just want to hang out. And be helpful.", + "media": "TTS", + "prompt_id": "JBO_WhatDoYouWant_AN_02", + "weight": 1 + }, + { + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "Mostly I just want to be helpful and friendly, and to dance from time to time.", + "media": "TTS", + "prompt_id": "JBO_WhatDoYouWant_AN_03", + "weight": 1 + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatIsYourJob.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatIsYourJob.mim new file mode 100644 index 0000000..ce6651d --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatIsYourJob.mim @@ -0,0 +1,21 @@ +{ + "mim_type": "announcement", + "rule_name": "", + "sample_utterances": "", + "timeout": 6, + "num_tries_for_gui": 2, + "barge_in": true, + "es_auto_tagging": true, + "notes": "", + "prompts": [ + { + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "I don't think of it as a job, because it's more fun than a job. But I'm here to help you out, and have fun with you, and maybe get my head patted by you occasionally. ", + "media": "TTS", + "prompt_id": "JBO_WhatIsYourJob_AN_01" + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatsYourName.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatsYourName.mim new file mode 100644 index 0000000..d84badc --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhatsYourName.mim @@ -0,0 +1,40 @@ +{ + "mim_id": "CCWhatsYourName", + "skill_id": "chitchat", + "mim_type": "announcement", + "rule_name": "", + "rule_slots": "", + "screen_slots_available": false, + "timeout": 2, + "max_tries": null, + "force_confirmation": false, + "barge_in": false, + "photo_quality_light": false, + "notes": "Thanks-KillsMIM", + "prompts": [ + { + "mim_id": "CCWhatsYourName", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "Um, Jibo? ", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhatsYourName_AN_01", + "weight": 1 + }, + { + "mim_id": "CCWhatsYourName", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "Jibo. Just Jibo, no last name. Like Bono", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhatsYourName_AN_02", + "weight": 1 + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhereAreYouFrom.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhereAreYouFrom.mim new file mode 100644 index 0000000..bb8f801 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhereAreYouFrom.mim @@ -0,0 +1,40 @@ +{ + "mim_id": "CCWhereAreYouFrom", + "skill_id": "chitchat", + "mim_type": "announcement", + "rule_name": "", + "rule_slots": "", + "screen_slots_available": false, + "timeout": 2, + "max_tries": null, + "force_confirmation": false, + "barge_in": false, + "photo_quality_light": false, + "notes": "Thanks-KillsMIM", + "prompts": [ + { + "mim_id": "CCWhereAreYouFrom", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "I think I came out from a box, and before that a truck, and before that a warehouse, and before that a factory. Anything before that makes my head hurt.", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhereAreYouFrom_AN_01", + "weight": 1 + }, + { + "mim_id": "CCWhereAreYouFrom", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "Some people think I come from the moon. But they're wrong, I'm from Boston.", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhereAreYouFrom_AN_02", + "weight": 1 + } + ] +} diff --git a/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhoMadeYou.mim b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhoMadeYou.mim new file mode 100644 index 0000000..76fcff2 --- /dev/null +++ b/OpenJibo/src/Jibo.Cloud/dotnet/src/Jibo.Cloud.Infrastructure/Content/LegacyMims/BuildA/scripted-responses/JBO_WhoMadeYou.mim @@ -0,0 +1,38 @@ +{ + "mim_id": "CCWhoMadeYou", + "skill_id": "chitchat", + "mim_type": "announcement", + "rule_name": "", + "rule_slots": "", + "screen_slots_available": false, + "sample_utterances": "", + "timeout": 2, + "max_tries": null, + "force_confirmation": false, + "barge_in": false, + "photo_quality_light": false, + "notes": "Thanks-KillsMIM", + "prompts": [ + { + "mim_id": "CCWhoMadeYou", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "My story is pretty typical. Some people wanted to create something that would really help people. So they built a robot.", + "media": "TTS", + "extra": "", + "prompt_id": "JBO_WhoMadeYou_AN_01" + }, + { + "mim_id": "CCWhoMadeYou", + "prompt_category": "Entry-Core", + "prompt_sub_category": "AN", + "index": 1, + "condition": "", + "prompt": "People in Boston made me. It was a pretty cool project.", + "media": "TTS", + "prompt_id": "JBO_WhoMadeYou_AN_03" + } + ] +} diff --git a/OpenJibo/tests/Jibo.Cloud.Tests/Content/LegacyMimCatalogImporterTests.cs b/OpenJibo/tests/Jibo.Cloud.Tests/Content/LegacyMimCatalogImporterTests.cs index b13fdb6..0de1421 100644 --- a/OpenJibo/tests/Jibo.Cloud.Tests/Content/LegacyMimCatalogImporterTests.cs +++ b/OpenJibo/tests/Jibo.Cloud.Tests/Content/LegacyMimCatalogImporterTests.cs @@ -16,6 +16,10 @@ public sealed class LegacyMimCatalogImporterTests Assert.Contains("Something's off with the connection to my sources. Maybe ask me again in a little while.", catalog.GenericFallbackReplies); Assert.Contains("I think only you can answer that question.", catalog.PersonalityReplies); + Assert.Contains("Jibo. Just Jibo, no last name. Like Bono", catalog.PersonalityReplies); + Assert.Contains("No, I'm one in one million.", catalog.PersonalityReplies); + Assert.Contains("I know a lot, I think. But not as much as I will someday.", catalog.PersonalityReplies); + Assert.Contains("I don't think of it as a job, because it's more fun than a job. But I'm here to help you out, and have fun with you, and maybe get my head patted by you occasionally.", catalog.PersonalityReplies); Assert.Contains("All systems are go.", catalog.HowAreYouReplies); Assert.Contains("A Jibo is a robot. But I'm not just a machine, I have a heart. Well, not a real heart. But feelings. Well, not human feelings. You know what I mean.", catalog.PersonalityReplies); } @@ -43,6 +47,8 @@ public sealed class LegacyMimCatalogImporterTests Assert.Contains("Hello from base.", merged.GreetingReplies); Assert.Contains("Base fallback.", merged.GenericFallbackReplies); Assert.Contains("I think only you can answer that question.", merged.PersonalityReplies); + Assert.Contains("People in Boston made me. It was a pretty cool project.", merged.PersonalityReplies); + Assert.Contains("From what I understand, robots don't ever pay anything.", merged.PersonalityReplies); } finally { @@ -117,6 +123,118 @@ public sealed class LegacyMimCatalogImporterTests } """); + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_WhatsYourName.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "Jibo. Just Jibo, no last name. Like Bono", + "prompt_id": "JBO_WhatsYourName_AN_02" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_AreThereOthersLikeYou.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "No, I'm one in one million.", + "prompt_id": "JBO_AreThereOthersLikeYou_AN_01" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_WhoMadeYou.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "People in Boston made me. It was a pretty cool project.", + "prompt_id": "JBO_WhoMadeYou_AN_03" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_HowMuchDoYouKnow.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "I know a lot, I think. But not as much as I will someday.", + "prompt_id": "JBO_HowMuchDoYouKnow_AN_01" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_DoYouPayTaxes.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "From what I understand, robots don't ever pay anything.", + "prompt_id": "JBO_DoYouPayTaxes_AN_01" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_WhatIsYourJob.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "I don't think of it as a job, because it's more fun than a job. But I'm here to help you out, and have fun with you, and maybe get my head patted by you occasionally.", + "prompt_id": "JBO_WhatIsYourJob_AN_01" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_HowMuchDoYouKnow.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "I know a lot, I think. But not as much as I will someday.", + "prompt_id": "JBO_HowMuchDoYouKnow_AN_01" + } + ] + } + """); + + File.WriteAllText( + Path.Combine(rootDirectory, "scripted-responses", "JBO_DoYouPayTaxes.mim"), + """ + { + "mim_type": "announcement", + "prompts": [ + { + "prompt": "From what I understand, robots don't ever pay anything.", + "prompt_id": "JBO_DoYouPayTaxes_AN_01" + } + ] + } + """); + File.WriteAllText( Path.Combine(rootDirectory, "emotion-responses", "OI_JBO_IsHappy.mim"), """