summaryrefslogtreecommitdiffstats
path: root/src/config/role.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/role.rs')
-rw-r--r--src/config/role.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/config/role.rs b/src/config/role.rs
index 57da38c..9042da3 100644
--- a/src/config/role.rs
+++ b/src/config/role.rs
@@ -46,8 +46,7 @@ impl Role {
r#"Provide only {shell} commands for {os} without any description.
Ensure the output is a valid {shell} command. {combine}
If there is a lack of details, provide most logical solution.
-Provide only plain text without Markdown formatting.
-Do not provide markdown formatting such as ```"#
+Output plain text only, without any markdown formatting."#
),
temperature: None,
}
@@ -68,17 +67,20 @@ APPLY MARKDOWN formatting when possible."#
pub fn for_code() -> Self {
Self {
name: Self::CODE.into(),
- prompt: r#"Provide only code as output without any description.
-Provide only code in plain text format without Markdown formatting.
-Do not include symbols such as ``` or ```python.
-If there is a lack of details, provide most logical solution.
-You are not allowed to ask for more details.
-For example if the prompt is "Hello world Python", you should return "print('Hello world')"."#
+ prompt: r#"Provide only code, without comments or explanations.
+If there is a lack of details, provide most logical solution, without requesting further clarification."#
.into(),
temperature: None,
}
}
+ pub fn is_system(&self) -> bool {
+ matches!(
+ self.name.as_str(),
+ Self::EXECUTE | Self::DESCRIBE_COMMAND | Self::CODE
+ )
+ }
+
pub fn export(&self) -> Result<String> {
let output = serde_yaml::to_string(&self)
.with_context(|| format!("Unable to show info about role {}", &self.name))?;