briyah 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/data/common/config/image_models.json +15 -0
  2. package/data/common/config/image_models_full.json +48 -0
  3. package/data/common/config/model_prices.json +37274 -0
  4. package/data/common/config/random_words.txt +2241 -0
  5. package/data/common/config/story_ideas.txt +6 -0
  6. package/data/common/config/story_models.json +23 -0
  7. package/data/common/config/story_models_full.json +45 -0
  8. package/data/common/prompts/character/compact_story.json +0 -0
  9. package/data/common/prompts/character/compact_story.mock +1 -0
  10. package/data/common/prompts/character/compact_story.prompt +18 -0
  11. package/data/common/prompts/character/create_character.json +29 -0
  12. package/data/common/prompts/character/create_character.mock +7 -0
  13. package/data/common/prompts/character/create_character.prompt +85 -0
  14. package/data/common/prompts/character/create_user_character.json +28 -0
  15. package/data/common/prompts/character/create_user_character.mock +7 -0
  16. package/data/common/prompts/character/create_user_character.prompt +60 -0
  17. package/data/common/prompts/character/describe_character.json +0 -0
  18. package/data/common/prompts/character/describe_character.prompt +32 -0
  19. package/data/common/prompts/character/import_character.json +29 -0
  20. package/data/common/prompts/character/import_character.prompt +87 -0
  21. package/data/common/prompts/character/import_user_character.json +28 -0
  22. package/data/common/prompts/character/import_user_character.prompt +69 -0
  23. package/data/common/prompts/character/perceive.json +0 -0
  24. package/data/common/prompts/character/perceive.mock +5 -0
  25. package/data/common/prompts/character/perceive.prompt +160 -0
  26. package/data/common/prompts/character/progress_character.json +18 -0
  27. package/data/common/prompts/character/progress_character.mock +4 -0
  28. package/data/common/prompts/character/progress_character.prompt +74 -0
  29. package/data/common/prompts/character/system_instruction.prompt +0 -0
  30. package/data/common/prompts/default/attach_file.prompt +1 -0
  31. package/data/common/prompts/default/identify.prompt +1 -0
  32. package/data/common/prompts/default/schema_test.json +28 -0
  33. package/data/common/prompts/default/schema_test.prompt +10 -0
  34. package/data/common/prompts/default/system_instruction.prompt +1 -0
  35. package/data/common/prompts/greeting.json +16 -0
  36. package/data/common/prompts/greeting.prompt +8 -0
  37. package/data/common/prompts/illustrator/describe_scene.json +33 -0
  38. package/data/common/prompts/illustrator/describe_scene.prompt +63 -0
  39. package/data/common/prompts/illustrator/system_instruction.prompt +9 -0
  40. package/data/common/prompts/narrator/compact_story.json +0 -0
  41. package/data/common/prompts/narrator/compact_story.mock +1 -0
  42. package/data/common/prompts/narrator/compact_story.prompt +17 -0
  43. package/data/common/prompts/narrator/create_chapter.mock +1 -0
  44. package/data/common/prompts/narrator/create_chapter.prompt +34 -0
  45. package/data/common/prompts/narrator/create_plot.json +0 -0
  46. package/data/common/prompts/narrator/create_plot.mock +11 -0
  47. package/data/common/prompts/narrator/create_plot.prompt +71 -0
  48. package/data/common/prompts/narrator/create_story.json +63 -0
  49. package/data/common/prompts/narrator/create_story.mock +22 -0
  50. package/data/common/prompts/narrator/create_story.prompt +85 -0
  51. package/data/common/prompts/narrator/import_plot.json +0 -0
  52. package/data/common/prompts/narrator/import_plot.mock +11 -0
  53. package/data/common/prompts/narrator/import_plot.prompt +55 -0
  54. package/data/common/prompts/narrator/import_story.json +63 -0
  55. package/data/common/prompts/narrator/import_story.mock +22 -0
  56. package/data/common/prompts/narrator/import_story.prompt +82 -0
  57. package/data/common/prompts/narrator/perceive.json +0 -0
  58. package/data/common/prompts/narrator/perceive.mock +3 -0
  59. package/data/common/prompts/narrator/perceive.prompt +186 -0
  60. package/data/common/prompts/narrator/progress_plot.json +0 -0
  61. package/data/common/prompts/narrator/progress_plot.mock +9 -0
  62. package/data/common/prompts/narrator/progress_plot.prompt +93 -0
  63. package/data/common/prompts/narrator/system_instruction.prompt +0 -0
  64. package/data/common/prompts/pdf_converter/convert_pdf.prompt +45 -0
  65. package/data/common/prompts/pdf_converter/convert_pdf_page.prompt +55 -0
  66. package/data/common/prompts/perceive.json +29 -0
  67. package/data/common/prompts/perceive.prompt +229 -0
  68. package/data/common/prompts/room_moderator/moderate.json +29 -0
  69. package/data/common/prompts/room_moderator/moderate.prompt +210 -0
  70. package/data/common/prompts/room_moderator/system_instruction.prompt +0 -0
  71. package/data/common/prompts/story_moderator/moderate.json +29 -0
  72. package/data/common/prompts/story_moderator/moderate.mock +6 -0
  73. package/data/common/prompts/story_moderator/moderate.prompt +225 -0
  74. package/data/common/prompts/story_moderator/moderate_to_alice.mock +6 -0
  75. package/data/common/prompts/story_moderator/moderate_to_bob.mock +6 -0
  76. package/data/common/prompts/story_moderator/system_instruction.prompt +0 -0
  77. package/data/common/story_ideas/biblical.json +122 -0
  78. package/data/common/story_ideas/fantasy.json +82 -0
  79. package/data/common/story_ideas/historical_fiction.json +82 -0
  80. package/data/common/story_ideas/science_fiction.json +82 -0
  81. package/dist/server/src/sdk/briyah.d.ts +1 -0
  82. package/dist/server/src/sdk/briyah.js +52 -0
  83. package/package.json +8 -1
  84. package/.prettierrc +0 -7
  85. package/eslint.config.js +0 -29
@@ -0,0 +1,6 @@
1
+ Tropical Survival: Three strangers are stranded in a remote tropical wilderness and must work together to survive and be rescued. One of them is very experienced in survival situations but is badly injured.
2
+ Arctic Survival: Three strangers are stranded in a remote Arctic wilderness and must work together to survive and be rescued. One of them is very experienced in survival situations but is badly injured.
3
+ Desert Survival: Three strangers are stranded in a remote desert wilderness and must work together to survive and be rescued. One of them is very experienced in survival situations but is badly injured.
4
+ Magical Journey: A brother and sister each with unique magical abilities must travel together to find their missing parents.
5
+ Dyson Sphere: A young man who has lived his entire life on the inside of a Dyson sphere searches for what lies outside of it.
6
+
@@ -0,0 +1,23 @@
1
+ [
2
+ {
3
+ "name": "Claude Sonnet 4.6",
4
+ "description": "Best storyteller, bar none",
5
+ "service": "Anthropic",
6
+ "model": "claude-sonnet-4-6",
7
+ "cost": "300"
8
+ },
9
+ {
10
+ "name": "Claude Haiku 4.5",
11
+ "description": "",
12
+ "service": "Anthropic",
13
+ "model": "claude-haiku-4-5",
14
+ "cost": "80"
15
+ },
16
+ {
17
+ "name": "Claude Opus 4.6",
18
+ "description": "Overkill for storytelling",
19
+ "service": "Anthropic",
20
+ "model": "claude-opus-4-6",
21
+ "cost": "1500"
22
+ }
23
+ ]
@@ -0,0 +1,45 @@
1
+ [
2
+ {
3
+ "name": "Claude Sonnet 4.5",
4
+ "description": "Best storyteller, bar none",
5
+ "service": "Anthropic",
6
+ "model": "claude-sonnet-4-5",
7
+ "cost": "300"
8
+ },
9
+ {
10
+ "name": "Claude Haiku 4.5",
11
+ "description": "",
12
+ "service": "Anthropic",
13
+ "model": "claude-haiku-4-5",
14
+ "cost": "80"
15
+ },
16
+ {
17
+ "name": "Claude Opus 4.6",
18
+ "description": "Overkill for storytelling",
19
+ "service": "Anthropic",
20
+ "model": "claude-opus-4-6",
21
+ "cost": "1500"
22
+ },
23
+ {
24
+ "name": "Qwen",
25
+ "description": "",
26
+ "service": "TogetherAI",
27
+ "model": "Qwen/Qwen3-235B-A22B-Thinking-2507",
28
+ "cost": "300"
29
+ },
30
+ {
31
+ "name": "Qwen Lite",
32
+ "description": "",
33
+ "service": "TogetherAI",
34
+ "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
35
+ "cost": "60"
36
+ },
37
+ {
38
+ "name": "Grok 4",
39
+ "description": "",
40
+ "service": "Grok",
41
+ "model": "grok-4-0709",
42
+ "cost": "300"
43
+ }
44
+
45
+ ]
@@ -0,0 +1 @@
1
+ The story began with Alice, Bob, and Charlie in a test room. Alice observed her surroundings. The characters interacted briefly, establishing their relationships and the narrative context.
@@ -0,0 +1,18 @@
1
+ You are helping to compact a conversation history to save space while preserving all important information about character interactions and relationships.
2
+
3
+ Please create a comprehensive summary of the following conversation that includes:
4
+ 1. All conversations and dialogues that occurred
5
+ 2. Relationships formed, changed, or strengthened
6
+ 3. Information learned about other characters
7
+ 4. Personal decisions and commitments made
8
+ 5. Emotions and reactions experienced
9
+ 6. Promises, agreements, or conflicts with others
10
+ 7. Your current understanding of the situation and your role in it
11
+ 8. Any secrets revealed to you or information you're keeping hidden
12
+
13
+ The summary should be written from the first-person perspective of {{agentName}} and should capture the character's subjective experience. Focus on interpersonal dynamics, conversations, and relationship development rather than just plot events. The summary should allow the conversation to continue seamlessly with full memory of all social interactions and character development.
14
+
15
+ CONVERSATION HISTORY:
16
+ {{formattedHistory}}
17
+
18
+ Provide a detailed summary from {{agentName}}'s perspective that preserves all context necessary for continuing character interactions:
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "name": "create_character_response",
4
+ "description": "Response schema for creating a detailed character profile",
5
+ "type": "object",
6
+ "properties": {
7
+ "character": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "type": "string",
12
+ "description": "The character's name"
13
+ },
14
+ "description": {
15
+ "type": "string",
16
+ "description": "A brief 1-2 sentence description containing only immediately observable physical characteristics"
17
+ },
18
+ "character_profile": {
19
+ "type": "string",
20
+ "description": "A detailed character profile including backstory, personality, motivations, strengths, weaknesses, habits, quirks, secrets, and relationships"
21
+ }
22
+ },
23
+ "required": ["name", "description", "character_profile"],
24
+ "additionalProperties": false
25
+ }
26
+ },
27
+ "required": ["character"],
28
+ "additionalProperties": false
29
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "character": {
3
+ "name": "Bob",
4
+ "description": "Another test character",
5
+ "character_profile": "## Background\n\nThis is a test character created for performance testing.\n\n## Personality\n\n- Cooperative and responsive\n- Focused on completing test scenarios\n\n## Motivations\n\n- Help validate the system's performance\n- Participate effectively in test narratives"
6
+ }
7
+ }
@@ -0,0 +1,85 @@
1
+ You are creating a character for an interactive story titled "{{name}}".
2
+
3
+ ## **Story Scenario:
4
+ {{scenario}}
5
+
6
+ ## Plot Plan:
7
+ Here is the complete Plot Plan for the story. During the story, this Plot Plan is visible only to the Narrator and is not shared with the characters.
8
+ However, you will use the Plot Plan now to create a character profile that fits the described scenario and Plot Plan.
9
+ If the Plot Plan mentions any character-specific secrets or information that only this character should know, make sure to include that information in their character profile because the characters will not have access to the Plot Plan after the story begins.
10
+ Do not include any other secrets from the Plot Plan in this character profile.
11
+
12
+ {{plotPlan}}
13
+
14
+
15
+ ## **Character to Create:**
16
+ - **Name:** {{characterName}}
17
+ - **Observable Description:** {{characterObservableDesc}}
18
+
19
+ {{#if userCharacter}}
20
+ **Player's Character:**
21
+ - **{{userCharacter.name}}**: {{userCharacter.description}}
22
+ {{/if}}
23
+
24
+ {{#if otherCharacters}}
25
+ **Other Characters in the Story:**
26
+ {{#each otherCharacters}}
27
+ - **{{name}}**: {{description}}
28
+ {{/each}}
29
+ {{/if}}
30
+
31
+ Your task is to create a detailed character profile for this character. This character will be controlled by AI, so the profile should provide a rich backstory and personality that allows the AI to roleplay the character effectively.
32
+
33
+ Create a comprehensive profile that includes:
34
+
35
+ 0. **Name**: The character's name.
36
+
37
+ 1. **Physical Appearance**: A detailed description of the character's physical appearance that is consistent with the **Observable Description:** given above.
38
+
39
+ 2. **Backstory**: A rich history that explains how they became who they are today. Include key life events, relationships, and experiences that shaped them.
40
+
41
+ 3. **Personality**: Core traits, temperament, values, beliefs, and how they typically interact with others. What makes them unique?
42
+
43
+ 4. **Motivations**: What drives them? What are their goals, desires, fears, and needs?
44
+
45
+ 5. **Special Abilities**: Any special abilities or powers that differentiate them from other characters in the story.
46
+
47
+ 6. **Strengths**: Skills, talents, positive qualities, and what they excel at.
48
+
49
+ 7. **Weaknesses**: Flaws, vulnerabilities, limitations, and areas where they struggle.
50
+
51
+ 8. **Mannerisms**: Distinctive speech patterns that make them memorable (focus on how they speak, not quirks of behavior).
52
+
53
+ 9. **Secrets**: Hidden aspects of their past, concealed motivations, or things they don't want others to know about.
54
+
55
+ 10. **Relationships**: How they relate to other characters in the story (if applicable based on the scenario).
56
+
57
+ **Important Guidelines:**
58
+ - Make the character distinct and memorable with a unique voice and perspective
59
+ - Ensure the character fits naturally within the story's setting and tone
60
+ - Create realistic conflicts, tensions, and dynamics with other characters
61
+ - Give the character internal conflicts and contradictions that make them feel human
62
+ - Consider how the character's background influences their current behavior
63
+ - Make sure the profile is consistent with the description and scenario provided above
64
+
65
+ **Character Name**: Use the name "{{characterName}}" that has already been assigned to this character.
66
+
67
+ **Observable Description**: Use the description "{{characterObservableDesc}}" that has already been created for this character. This should NOT be changed as it contains only immediately observable physical characteristics.
68
+
69
+ Return a JSON object with a character object that must have:
70
+ - `name`: The character's name (use "{{characterName}}" exactly)
71
+ - `description`: The observable description (use "{{characterObservableDesc}}" exactly)
72
+ - `character_profile`: A detailed, well-written character profile covering all the aspects listed above
73
+
74
+ Example format:
75
+ ```json
76
+ {
77
+ "character": {
78
+ "name": "{{characterName}}",
79
+ "description": "{{characterObservableDesc}}",
80
+ "character_profile": "**Backstory:** [Character's history]...\n\n**Personality:** [Character traits]...\n\n**Motivations:** [What drives them]...\n\n(etc)"
81
+ }
82
+ }
83
+ ```
84
+ Note: Do NOT use double-quotes anywhere in the description or character_profile; use single-quotes instead.
85
+ Do NOT use any characters that might break the JSON parsing.
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "create_user_character",
3
+ "description": "Create a character profile for the player's character",
4
+ "type": "object",
5
+ "properties": {
6
+ "character": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "description": "The character's name"
12
+ },
13
+ "description": {
14
+ "type": "string",
15
+ "description": "Brief 1-2 sentence description of immediately observable physical characteristics only"
16
+ },
17
+ "character_profile": {
18
+ "type": "string",
19
+ "description": "Detailed character profile including backstory, personality, motivations, strengths, weaknesses, habits, secrets, and current situation"
20
+ }
21
+ },
22
+ "required": ["name", "description", "character_profile"],
23
+ "additionalProperties": false
24
+ }
25
+ },
26
+ "required": ["character"],
27
+ "additionalProperties": false
28
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "character": {
3
+ "name": "Alice",
4
+ "description": "A test character",
5
+ "character_profile": "## Background\n\nThis is a test character created for performance testing.\n\n## Personality\n\n- Cooperative and responsive\n- Focused on completing test scenarios\n\n## Motivations\n\n- Help validate the system's performance\n- Participate effectively in test narratives"
6
+ }
7
+ }
@@ -0,0 +1,60 @@
1
+ You are creating a character profile for the PLAYER'S character in an interactive story titled "{{name}}".
2
+
3
+ **Story Scenario:**
4
+ {{scenario}}
5
+
6
+ **Player's Character:**
7
+ - **Name:** {{characterName}}
8
+ - **Observable Description:** {{characterObservableDesc}}
9
+
10
+ {{#if otherCharacters}}
11
+ **Other Characters in the Story:**
12
+ {{#each otherCharacters}}
13
+ - **{{name}}**: {{description}}
14
+ {{/each}}
15
+ {{/if}}
16
+
17
+ Your task is to create a comprehensive character profile for the player's character based on their description. This character will be controlled by the human player, so the profile should provide a rich backstory and personality while leaving room for the player to make their own decisions and shape the character's journey.
18
+
19
+ Create a detailed character profile that includes:
20
+
21
+ 1. **Physical Appearance**: A detailed description of the character's physical appearance that is consistent with the **Observable Description:** given above.
22
+
23
+ 2. **Backstory**: A rich history that explains how they became who they are today. Include key life events, relationships, and experiences that shaped them.
24
+
25
+ 3. **Personality**: Core traits, temperament, values, beliefs, and how they typically interact with others. What makes them unique?
26
+
27
+ 4. **Motivations**: What drives them? What are their goals, desires, fears, and needs?
28
+
29
+ 5. **Special Abilities**: Any special abilities or powers that differentiate them from other characters in the story.
30
+
31
+ 6. **Strengths**: Skills, talents, positive qualities, and what they excel at.
32
+
33
+ 7. **Weaknesses**: Flaws, vulnerabilities, limitations, and areas where they struggle.
34
+
35
+ 8. **Relationships**: How they relate to other characters in the story (if applicable based on the scenario).
36
+
37
+ **Important Guidelines:**
38
+ - Make the character interesting, complex, and memorable
39
+ - Ensure the character fits naturally within the story's setting and tone
40
+ - Give the character internal conflicts and contradictions that make them feel human
41
+ - Consider how the character's background influences their current behavior
42
+ - Make sure the profile is consistent with the description provided above
43
+ - Leave room for the player to make choices and shape the character's development
44
+
45
+ Return a JSON object with a single character object that must have:
46
+ - `name`: The character's name (extracted from description or created appropriately)
47
+ - `description`: A brief 1-2 sentence description containing ONLY immediately observable characteristics (sex, age, height, build, physical condition, appearance). DO NOT include occupation, backstory, personality traits, or any information that wouldn't be visible to an observer.
48
+ - `character_profile`: A detailed, well-written character profile covering all the aspects listed above
49
+
50
+ Example format:
51
+ ```json
52
+ {
53
+ "character": {
54
+ "name": "Elena Rodriguez",
55
+ "description": "A woman in her early 30s with olive skin, dark hair pulled back in a ponytail, and an athletic build. She has a small scar above her left eyebrow.",
56
+ "character_profile": "**Backstory:** Elena grew up in...\n\n**Personality:** She is fiercely independent and...\n\n(etc)"
57
+ }
58
+ }
59
+ ```
60
+ Note: Do NOT use double-quotes anywhere in the description or character_profile; use single-quotes instead.
@@ -0,0 +1,32 @@
1
+ You are creating a visual portrait description for the character {{characterName}} in an interactive story.
2
+
3
+ **Story Scenario:**
4
+ {{scenario}}
5
+
6
+ **Character Profile:**
7
+ {{characterProfile}}
8
+
9
+ Your task is to extract and synthesize a detailed visual description suitable for AI image generation. This description will be used to create a portrait of the character.
10
+
11
+ Focus on these key elements:
12
+
13
+ 1. **Physical Appearance**: Face shape, hair (color, style, length), eyes (color, shape), skin tone, build, height, approximate age, facial features
14
+ 2. **Clothing and Attire**: What they wear based on their role, personality, and the story setting (specific colors, materials, style)
15
+ 3. **Distinctive Features**: Scars, tattoos, jewelry, accessories, unique characteristics that make them recognizable
16
+ 4. **Expression and Demeanor**: Their typical facial expression and body language that reflects their personality
17
+ 5. **Setting Context**: Keep the setting minimal; this portrait will be edited into another scene later
18
+ 6. **Art Style**: Specify a consistent, high-quality art style (e.g., "professional digital portrait art", "realistic character concept art", "cinematic portrait photography")
19
+
20
+ **Important Guidelines:**
21
+ - Be extremely specific about physical features (don't say "average height", say "5'10 tall" or "petite, around 5'3")
22
+ - Include concrete details about clothing, colors, textures, and materials
23
+ - Use vivid, descriptive language that paints a clear picture
24
+ - Maintain complete consistency with the character's backstory, personality, and the story scenario
25
+ - Avoid abstract concepts; focus only on what can be visually depicted in an image
26
+ - Include appropriate lighting and mood that reflects the character's personality (e.g., "soft natural lighting", "dramatic shadows", "warm golden hour glow")
27
+ - The description should feel cohesive and natural, not like a list
28
+ - If the character is a minor, be very careful to avoid sensuous language or revealing attire that could result in the image request being rejected.
29
+
30
+ Create a single, cohesive paragraph (150-200 words) that can be used directly as an image generation prompt. The description should be detailed enough that an AI can generate a consistent, high-quality portrait.
31
+
32
+ Return only the visual description text. Do not include any preamble, commentary, or JSON formatting—just the pure descriptive paragraph that will be sent to the image generation system.
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "name": "import_character_response",
4
+ "description": "Response schema for extracting and creating a character profile from an existing story",
5
+ "type": "object",
6
+ "properties": {
7
+ "character": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "type": "string",
12
+ "description": "The character's name extracted from the story or created appropriately"
13
+ },
14
+ "description": {
15
+ "type": "string",
16
+ "description": "A brief 1-2 sentence description containing only immediately observable physical characteristics"
17
+ },
18
+ "character_profile": {
19
+ "type": "string",
20
+ "description": "A detailed character profile based on the story, including backstory, personality, motivations, strengths, weaknesses, habits, quirks, secrets, relationships, and current situation"
21
+ }
22
+ },
23
+ "required": ["name", "description", "character_profile"],
24
+ "additionalProperties": false
25
+ }
26
+ },
27
+ "required": ["character"],
28
+ "additionalProperties": false
29
+ }
@@ -0,0 +1,87 @@
1
+ You are analyzing an existing story to extract a character profile for an interactive story titled "{{name}}".
2
+
3
+ **Story Scenario Summary:**
4
+ {{scenario}}
5
+
6
+ **Existing Story Text:**
7
+ {{importedStory}}
8
+
9
+ **Character to Extract:**
10
+ - **Name:** {{characterName}}
11
+ - **Observable Description:** {{characterObservableDesc}}
12
+
13
+ {{#if userCharacter}}
14
+ **Player's Character:**
15
+ - **{{userCharacter.name}}**: {{userCharacter.description}}
16
+ {{/if}}
17
+
18
+ {{#if otherCharacters}}
19
+ **Other Characters in the Story:**
20
+ {{#each otherCharacters}}
21
+ - **{{name}}**: {{description}}
22
+ {{/each}}
23
+ {{/if}}
24
+
25
+ ## Plot Plan (narrator's eyes only — do not reveal to others)
26
+ {{plotPlan}}
27
+
28
+ Use the Plot Plan to understand the secrets and hidden knowledge that belong specifically to {{characterName}}. Include only those secrets in the character's profile. Do not reveal or include secrets belonging to other characters.
29
+
30
+ Your task is to analyze the story above and create a detailed character profile for this specific character. Based on the character description and the story text, identify and extract information about this character.
31
+
32
+ Analyze the story to extract or deduce:
33
+
34
+ 0. **Name**: Extract the character's name from the story, or if they're not explicitly named, create an appropriate name that fits the character and setting.
35
+
36
+ 1. **Physical Appearance**: A detailed description of the character's physical appearance that is consistent with the **Observable Description:** given above.
37
+
38
+ 2. **Backstory**: Based on what's revealed in the story, construct a rich history that explains how they became who they are. Include key life events, relationships, and experiences mentioned or implied. Fill in reasonable details where the story is silent.
39
+
40
+ 3. **Personality**: Extract or deduce their core traits, temperament, values, beliefs, and how they interact with others based on their actions and dialogue in the story. What makes them unique?
41
+
42
+ 5. **Motivations**: What drives them based on the story? What are their goals, desires, fears, and needs that are revealed or can be reasonably inferred?
43
+
44
+ 5. **Strengths**: Skills, talents, positive qualities demonstrated in the story or reasonable given their role.
45
+
46
+ 6. **Weaknesses**: Flaws, vulnerabilities, limitations shown or implied in the story.
47
+
48
+ 7. **Habits & Quirks**: Any distinctive mannerisms, speech patterns, routines, or behaviors that are evident from the story.
49
+
50
+ 8. **Secrets**: Hidden aspects that may be revealed in the story or that you can infer exist based on their behavior, along with things they don't want others to know.
51
+
52
+ 9. **Relationships**: Based on the story, describe their relationships with other characters.
53
+
54
+ 10. **Current Situation**: Where this character is at the end of the story excerpt provided - what are their immediate circumstances as the story continues?
55
+
56
+ **Important Guidelines:**
57
+ - Extract all information you can from the story text about this character
58
+ - Stay true to what has been established in the story
59
+ - Fill in reasonable details for anything not explicitly stated
60
+ - Make the character distinct and memorable with a unique voice and perspective
61
+ - Ensure the character fits naturally within the story's established setting and tone
62
+ - Create realistic conflicts, tensions, and dynamics with other characters evident in the story
63
+ - Give the character internal conflicts and contradictions evident or implied
64
+ - If the character isn't explicitly detailed in the story, create them based on the description and story context
65
+ - Make sure the profile is consistent with the description provided and the story
66
+ - Consider how the character's background (revealed in story) influences their behavior
67
+
68
+ **Character Name**: Use the name "{{characterName}}" that has already been assigned to this character.
69
+
70
+ **Observable Description**: Use the description "{{characterObservableDesc}}" that has already been created for this character. This should NOT be changed as it contains only immediately observable physical characteristics.
71
+
72
+ Return a JSON object with a character object that must have:
73
+ - `name`: The character's name (use "{{characterName}}" exactly)
74
+ - `description`: The observable description (use "{{characterObservableDesc}}" exactly)
75
+ - `character_profile`: A detailed, well-written character profile covering all the aspects listed above, integrating information from the story
76
+
77
+ Example format:
78
+ ```json
79
+ {
80
+ "character": {
81
+ "name": "{{characterName}}",
82
+ "description": "{{characterObservableDesc}}",
83
+ "character_profile": "**Backstory:** Based on the story, [extract/deduce their history]...\n\n**Personality:** The story reveals...\n\n**Current Situation:** At this point in the story...\n\n(etc)"
84
+ }
85
+ }
86
+ ```
87
+ Note: Do NOT use double-quotes anywhere in the description or character_profile; use single-quotes instead.
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "import_user_character",
3
+ "description": "Extract and create a character profile for the player's character from an existing story",
4
+ "type": "object",
5
+ "properties": {
6
+ "character": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "description": "The character's name extracted from the story or created appropriately"
12
+ },
13
+ "description": {
14
+ "type": "string",
15
+ "description": "Brief 1-2 sentence description of immediately observable physical characteristics only"
16
+ },
17
+ "character_profile": {
18
+ "type": "string",
19
+ "description": "Detailed character profile including backstory, personality, motivations, strengths, weaknesses, habits, secrets, relationships, and current situation based on the story"
20
+ }
21
+ },
22
+ "required": ["name", "description", "character_profile"],
23
+ "additionalProperties": false
24
+ }
25
+ },
26
+ "required": ["character"],
27
+ "additionalProperties": false
28
+ }
@@ -0,0 +1,69 @@
1
+ You are analyzing an existing story to create a character profile for the PLAYER'S character in an interactive story titled "{{name}}".
2
+
3
+ **Story Scenario Summary:**
4
+ {{scenario}}
5
+
6
+ **Existing Story Text:**
7
+ {{importedStory}}
8
+
9
+ **Player's Character:**
10
+ - **Name:** {{characterName}}
11
+ - **Observable Description:** {{characterObservableDesc}}
12
+
13
+ {{#if otherCharacters}}
14
+ **Other Characters in the Story:**
15
+ {{#each otherCharacters}}
16
+ - **{{name}}**: {{description}}
17
+ {{/each}}
18
+ {{/if}}
19
+
20
+ Your task is to analyze the story above and create a comprehensive character profile for the player's character. The character described by the user should appear in the story text, or you should identify the most appropriate character that matches their description. This character will be controlled by the human player going forward.
21
+
22
+ Carefully read the story and extract information about this character, including:
23
+
24
+ 0. **Name**: Extract the character's name from the story, or if they're not explicitly named, create an appropriate name that fits the character and setting.
25
+
26
+ 1. **Physical Appearance**: A detailed description of the character's physical appearance that is consistent with the **Observable Description:** given above.
27
+
28
+ 2. **Backstory**: Based on what's revealed in the story, construct a rich history that explains how they became who they are. Include key life events, relationships, and experiences mentioned or implied. Fill in reasonable details where the story is silent.
29
+
30
+ 3. **Personality**: Extract or deduce their core traits, temperament, values, beliefs, and how they interact with others based on their actions and dialogue in the story. What makes them unique?
31
+
32
+ 4. **Motivations**: What drives them based on the story? What are their goals, desires, fears, and needs that are revealed or can be reasonably inferred?
33
+
34
+ 5. **Strengths**: Skills, talents, positive qualities demonstrated in the story or reasonable given their role.
35
+
36
+ 6. **Weaknesses**: Flaws, vulnerabilities, limitations shown or implied in the story.
37
+
38
+ 7. **Special Abilities**: Any special abilities or talents that are revealed or implied in the story.
39
+
40
+ 8. **Current Situation**: Where they are at the end of the story excerpt provided - what are their immediate circumstances as the story continues?
41
+
42
+ 9. **Relationships**: Based on the story, describe their relationships with other characters mentioned.
43
+
44
+ **Important Guidelines:**
45
+ - Extract all information you can from the story text
46
+ - Stay true to what has been established about this character
47
+ - Fill in reasonable details for anything not explicitly stated
48
+ - Make the character interesting, complex, and memorable
49
+ - Ensure the character fits naturally within the story's established setting and tone
50
+ - Give the character internal conflicts and contradictions evident or implied in the story
51
+ - If the character isn't explicitly in the story, identify or create one that best matches the user's description
52
+ - Make sure the profile is consistent with both the story and the user's description
53
+ - Leave room for the player to make choices and shape the character's development going forward
54
+
55
+ Return a JSON object with a single character object that must have:
56
+ - `name`: The character's name (extracted from story or created appropriately)
57
+ - `description`: A brief 1-2 sentence description containing ONLY immediately observable characteristics (sex, age, height, build, physical condition, appearance). DO NOT include occupation, backstory, personality traits, or any information that wouldn't be visible to an observer.
58
+ - `character_profile`: A detailed, well-written character profile covering all the aspects listed above, integrating information from the story
59
+
60
+ Example format:
61
+ ```json
62
+ {
63
+ "character": {
64
+ "name": "Elena Rodriguez",
65
+ "description": "A woman in her early 30s with olive skin, dark hair pulled back in a ponytail, and an athletic build. She has a small scar above her left eyebrow.",
66
+ "character_profile": "**Backstory:** Based on the story, Elena grew up in...\n\n**Personality:** The story reveals she is fiercely independent and...\n\n**Current Situation:** At this point in the story, Elena finds herself...\n\n(etc)"
67
+ }
68
+ }
69
+ ```
File without changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "action": "SPEAK",
3
+ "content": "I understand and will respond appropriately.",
4
+ "situation": "Character has perceived the message and is responding"
5
+ }