headless_lms_models/
cms_ai.rs

1use crate::prelude::*;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4#[cfg_attr(feature = "ts_rs", derive(TS))]
5pub enum ParagraphSuggestionAction {
6    #[serde(rename = "moocfi/ai/generate-draft-from-notes")]
7    GenerateDraftFromNotes,
8    #[serde(rename = "moocfi/ai/generate-continue-paragraph")]
9    GenerateContinueParagraph,
10    #[serde(rename = "moocfi/ai/generate-add-example")]
11    GenerateAddExample,
12    #[serde(rename = "moocfi/ai/generate-add-counterpoint")]
13    GenerateAddCounterpoint,
14    #[serde(rename = "moocfi/ai/generate-add-concluding-sentence")]
15    GenerateAddConcludingSentence,
16    #[serde(rename = "moocfi/fix-spelling")]
17    FixSpelling,
18    #[serde(rename = "moocfi/ai/improve-clarity")]
19    ImproveClarity,
20    #[serde(rename = "moocfi/ai/improve-flow")]
21    ImproveFlow,
22    #[serde(rename = "moocfi/ai/improve-concise")]
23    ImproveConcise,
24    #[serde(rename = "moocfi/ai/improve-expand-detail")]
25    ImproveExpandDetail,
26    #[serde(rename = "moocfi/ai/improve-academic-style")]
27    ImproveAcademicStyle,
28    #[serde(rename = "moocfi/ai/structure-create-topic-sentence")]
29    StructureCreateTopicSentence,
30    #[serde(rename = "moocfi/ai/structure-reorder-sentences")]
31    StructureReorderSentences,
32    #[serde(rename = "moocfi/ai/structure-split-into-paragraphs")]
33    StructureSplitIntoParagraphs,
34    #[serde(rename = "moocfi/ai/structure-combine-into-one")]
35    StructureCombineIntoOne,
36    #[serde(rename = "moocfi/ai/structure-to-bullets")]
37    StructureToBullets,
38    #[serde(rename = "moocfi/ai/structure-from-bullets")]
39    StructureFromBullets,
40    #[serde(rename = "moocfi/ai/learning-simplify-beginners")]
41    LearningSimplifyBeginners,
42    #[serde(rename = "moocfi/ai/learning-add-definitions")]
43    LearningAddDefinitions,
44    #[serde(rename = "moocfi/ai/learning-add-analogy")]
45    LearningAddAnalogy,
46    #[serde(rename = "moocfi/ai/learning-add-practice-question")]
47    LearningAddPracticeQuestion,
48    #[serde(rename = "moocfi/ai/learning-add-check-understanding")]
49    LearningAddCheckUnderstanding,
50    #[serde(rename = "moocfi/ai/summaries-one-sentence")]
51    SummariesOneSentence,
52    #[serde(rename = "moocfi/ai/summaries-two-three-sentences")]
53    SummariesTwoThreeSentences,
54    #[serde(rename = "moocfi/ai/summaries-key-takeaway")]
55    SummariesKeyTakeaway,
56    #[serde(rename = "moocfi/ai/tone-academic-formal")]
57    ToneAcademicFormal,
58    #[serde(rename = "moocfi/ai/tone-friendly-conversational")]
59    ToneFriendlyConversational,
60    #[serde(rename = "moocfi/ai/tone-encouraging-supportive")]
61    ToneEncouragingSupportive,
62    #[serde(rename = "moocfi/ai/tone-neutral-objective")]
63    ToneNeutralObjective,
64    #[serde(rename = "moocfi/ai/tone-confident")]
65    ToneConfident,
66    #[serde(rename = "moocfi/ai/tone-serious")]
67    ToneSerious,
68    #[serde(rename = "moocfi/ai/translate-english")]
69    TranslateEnglish,
70    #[serde(rename = "moocfi/ai/translate-finnish")]
71    TranslateFinnish,
72    #[serde(rename = "moocfi/ai/translate-swedish")]
73    TranslateSwedish,
74}
75
76impl ParagraphSuggestionAction {
77    /// Returns the API string value for this action.
78    pub fn as_str(self) -> &'static str {
79        match self {
80            Self::GenerateDraftFromNotes => "moocfi/ai/generate-draft-from-notes",
81            Self::GenerateContinueParagraph => "moocfi/ai/generate-continue-paragraph",
82            Self::GenerateAddExample => "moocfi/ai/generate-add-example",
83            Self::GenerateAddCounterpoint => "moocfi/ai/generate-add-counterpoint",
84            Self::GenerateAddConcludingSentence => "moocfi/ai/generate-add-concluding-sentence",
85            Self::FixSpelling => "moocfi/fix-spelling",
86            Self::ImproveClarity => "moocfi/ai/improve-clarity",
87            Self::ImproveFlow => "moocfi/ai/improve-flow",
88            Self::ImproveConcise => "moocfi/ai/improve-concise",
89            Self::ImproveExpandDetail => "moocfi/ai/improve-expand-detail",
90            Self::ImproveAcademicStyle => "moocfi/ai/improve-academic-style",
91            Self::StructureCreateTopicSentence => "moocfi/ai/structure-create-topic-sentence",
92            Self::StructureReorderSentences => "moocfi/ai/structure-reorder-sentences",
93            Self::StructureSplitIntoParagraphs => "moocfi/ai/structure-split-into-paragraphs",
94            Self::StructureCombineIntoOne => "moocfi/ai/structure-combine-into-one",
95            Self::StructureToBullets => "moocfi/ai/structure-to-bullets",
96            Self::StructureFromBullets => "moocfi/ai/structure-from-bullets",
97            Self::LearningSimplifyBeginners => "moocfi/ai/learning-simplify-beginners",
98            Self::LearningAddDefinitions => "moocfi/ai/learning-add-definitions",
99            Self::LearningAddAnalogy => "moocfi/ai/learning-add-analogy",
100            Self::LearningAddPracticeQuestion => "moocfi/ai/learning-add-practice-question",
101            Self::LearningAddCheckUnderstanding => "moocfi/ai/learning-add-check-understanding",
102            Self::SummariesOneSentence => "moocfi/ai/summaries-one-sentence",
103            Self::SummariesTwoThreeSentences => "moocfi/ai/summaries-two-three-sentences",
104            Self::SummariesKeyTakeaway => "moocfi/ai/summaries-key-takeaway",
105            Self::ToneAcademicFormal => "moocfi/ai/tone-academic-formal",
106            Self::ToneFriendlyConversational => "moocfi/ai/tone-friendly-conversational",
107            Self::ToneEncouragingSupportive => "moocfi/ai/tone-encouraging-supportive",
108            Self::ToneNeutralObjective => "moocfi/ai/tone-neutral-objective",
109            Self::ToneConfident => "moocfi/ai/tone-confident",
110            Self::ToneSerious => "moocfi/ai/tone-serious",
111            Self::TranslateEnglish => "moocfi/ai/translate-english",
112            Self::TranslateFinnish => "moocfi/ai/translate-finnish",
113            Self::TranslateSwedish => "moocfi/ai/translate-swedish",
114        }
115    }
116}