diff --git a/sources/agents/codestral_base_fim.toml b/sources/agents/codestral_base_fim.toml new file mode 100644 index 0000000..5b3f7a1 --- /dev/null +++ b/sources/agents/codestral_base_fim.toml @@ -0,0 +1,13 @@ +schema_version = 1 + +name = "Codestral Base FIM" +description = "Codestral native fill-in-the-middle request body (/v1/fim/completions). Abstract — extend it and set model." +abstract = true + +provider_instance = "Codestral" +endpoint = "/v1/fim/completions" + +[body] +stream = true +prompt = """{{ tojson(ctx.prefix) }}""" +suffix = """{% if existsIn(ctx, "suffix") %}{{ tojson(ctx.suffix) }}{% endif %}""" diff --git a/sources/agents/codestral_completion_fim.toml b/sources/agents/codestral_completion_fim.toml new file mode 100644 index 0000000..8d5eb10 --- /dev/null +++ b/sources/agents/codestral_completion_fim.toml @@ -0,0 +1,12 @@ +schema_version = 1 + +extends = "Codestral Base FIM" +name = "Codestral Completion — FIM" +description = "Codestral — native fill-in-the-middle code completion (prompt+suffix on /v1/fim/completions). Fast, code-only output; ideal for inline completion." + +model = "codestral-latest" +tags = ["completion", "codestral", "mistral", "cloud", "fim"] + +[body] +max_tokens = 256 +temperature = 0.2 diff --git a/sources/agents/mistral_base_chat.toml b/sources/agents/mistral_base_chat.toml new file mode 100644 index 0000000..dba3d3d --- /dev/null +++ b/sources/agents/mistral_base_chat.toml @@ -0,0 +1,9 @@ +schema_version = 1 + +extends = "OpenAI Base Chat" +name = "Mistral Base Chat" +description = "Mistral AI Chat Completions request body (OpenAI-compatible /v1/chat/completions). Abstract — extend it and set model." +abstract = true + +provider_instance = "Mistral AI" +endpoint = "/v1/chat/completions" diff --git a/sources/agents/mistral_chat.toml b/sources/agents/mistral_chat.toml new file mode 100644 index 0000000..2f08f3d --- /dev/null +++ b/sources/agents/mistral_chat.toml @@ -0,0 +1,15 @@ +schema_version = 1 + +extends = "Mistral Base Chat" +name = "Mistral Chat" +description = "Mistral Large — coding chat via the OpenAI-compatible Chat Completions API." + +model = "mistral-large-latest" +enable_tools = true +tags = ["chat", "mistral", "cloud"] + +system_prompt = """{{ read_file(":/roles/qt-cpp-developer.md") }}""" + +[body] +max_tokens = 8192 +temperature = 0.7 diff --git a/sources/agents/mistral_chat_reasoning.toml b/sources/agents/mistral_chat_reasoning.toml new file mode 100644 index 0000000..efeeaf9 --- /dev/null +++ b/sources/agents/mistral_chat_reasoning.toml @@ -0,0 +1,18 @@ +schema_version = 1 + +extends = "Mistral Base Chat" +name = "Mistral Chat — Reasoning" +description = "Mistral Medium with reasoning_effort=high — coding chat that emits a thinking trace before the answer. Mistral returns the reasoning as typed content chunks (thinking + text); QodeAssist surfaces them as a thinking block. NOTE: the older Magistral models (magistral-*-latest) are deprecated and reject reasoning_effort — use mistral-medium-latest or mistral-small-latest here." + +model = "mistral-medium-latest" +enable_tools = true +enable_thinking = true +tags = ["chat", "mistral", "reasoning", "cloud"] + +system_prompt = """{{ read_file(":/roles/qt-cpp-developer.md") }}""" + +[body] +max_tokens = 32000 +temperature = 0.7 +top_p = 0.95 +reasoning_effort = "high" diff --git a/sources/agents/mistral_completion_codestral_fim.toml b/sources/agents/mistral_completion_codestral_fim.toml new file mode 100644 index 0000000..3844dd2 --- /dev/null +++ b/sources/agents/mistral_completion_codestral_fim.toml @@ -0,0 +1,13 @@ +schema_version = 1 + +extends = "Codestral Base FIM" +name = "Mistral Completion — Codestral FIM" +description = "Codestral on the Mistral AI platform (api.mistral.ai) — native fill-in-the-middle code completion via /v1/fim/completions. Use this when you have a Mistral AI key; for the dedicated codestral.mistral.ai endpoint use 'Codestral Completion — FIM' instead." + +provider_instance = "Mistral AI" +model = "codestral-latest" +tags = ["completion", "mistral", "codestral", "cloud", "fim"] + +[body] +max_tokens = 256 +temperature = 0.2 diff --git a/sources/agents/mistral_compression.toml b/sources/agents/mistral_compression.toml new file mode 100644 index 0000000..00fd2f8 --- /dev/null +++ b/sources/agents/mistral_compression.toml @@ -0,0 +1,15 @@ +schema_version = 1 + +extends = "Mistral Base Chat" +name = "Mistral Compression" +description = "Mistral Small — fast, low-cost conversation summarization for shorter chats. Carries the summary system prompt; no tools, no thinking." + +model = "mistral-small-latest" +enable_tools = false +tags = ["compression", "mistral", "cloud"] + +system_prompt = """{{ read_file(":/tasks/chat-compressor.md") }}""" + +[body] +max_tokens = 8192 +temperature = 0.3 diff --git a/sources/agents/mistral_quick_refactor.toml b/sources/agents/mistral_quick_refactor.toml new file mode 100644 index 0000000..08cae58 --- /dev/null +++ b/sources/agents/mistral_quick_refactor.toml @@ -0,0 +1,15 @@ +schema_version = 1 + +extends = "Mistral Base Chat" +name = "Mistral Quick Refactor" +description = "Mistral Large — agentic inline refactor with tools (gathers context before editing). Static output rules from :/tasks/quick-refactor.md; QuickRefactorHandler injects the live editor context (file, code, cursor/selection)." + +model = "mistral-large-latest" +enable_tools = true +tags = ["refactor", "mistral", "cloud"] + +system_prompt = """{{ read_file(":/tasks/quick-refactor.md") }}""" + +[body] +max_tokens = 16000 +temperature = 0.3