| 114 | ],`; |
| 115 | |
| 116 | export function continuePrompt(choice: string, currentMilestone: string): string { |
| 117 | return ` |
| 118 | The characters make the following choice: ${choice}. |
| 119 | |
| 120 | Give the characters' choice a rating of GOOD, BAD, or NEUTRAL in terms |
| 121 | of helping them to achieve their current milestone of: ${currentMilestone}. |
| 122 | This should be one word: GOOD, BAD, or NEUTRAL. |
| 123 | |
| 124 | Write the next part of the full story. If the rating is GOOD, the characters should |
| 125 | achieve or get closer to their curent milestone of ${currentMilestone} in the next |
| 126 | part of the story. If the rating is BAD, the characters should experience a setback |
| 127 | in achieving their curent milestone of ${currentMilestone} in the next part of the |
| 128 | story. If the rating in neutral, the characters should neither get closer to or |
| 129 | experience a setback in in achieving their curent milestone of ${currentMilestone} |
| 130 | in the next part of the story. Split the story into ${numberOfStoryParts} parts of |
| 131 | similar length. |
| 132 | |
| 133 | ${choicesPrompt} |
| 134 | |
| 135 | Based on the part of the story you just wrote, evaluate whether or not the characters |
| 136 | have achieved their current their current milestone: ${currentMilestone}. |
| 137 | |
| 138 | The final response should be structured as follows: |
| 139 | |
| 140 | { |
| 141 | ${storyPartsJson} |
| 142 | rating: "GOOD | BAD | NEUTRAL", // GOOD, BAD, or NEUTRAL |
| 143 | ${choicesJson} |
| 144 | achievedCurrentMilestone: true | false |
| 145 | } |
| 146 | |
| 147 | Respond as JSON only. Wrap all field values in double quotes. Do not use single quotes. |
| 148 | |
| 149 | Do not use any harmful expressions, hate speech, or vulgar |
| 150 | language. |
| 151 | `; |
| 152 | } |
| 153 | |
| 154 | export const choicesPrompt = |
| 155 | ` |