feat: derive AI model list from Raycast SDK enum

Generate MODEL_OPTIONS at runtime from AI.Model (dedupe by value, drop
@deprecated aliases), so the AI-view dropdowns show every model the
installed @raycast/api ships — no more hand-maintained six-entry list.

Switch the summaryModel preference from a static dropdown to a textfield
holding a model ID. The discoverable picker lives in the AI views (now
fully dynamic), and the preference just stores the chosen default.

Drop duplicate MODEL_OPTIONS / CREATIVITY_OPTIONS constants from
summarize-email.tsx and reply-email.tsx; both pull from ./ai now like
the briefing and extract views already do.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
muena
2026-05-20 07:08:58 +02:00
parent c8b3cf44e3
commit c0078ce339
5 changed files with 25 additions and 60 deletions

View File

@@ -180,37 +180,12 @@
},
{
"name": "summaryModel",
"title": "Standard-Modell für Zusammenfassungen",
"description": "Raycast-KI-Modell für „Email-Konversation zusammenfassen“. Benötigt Raycast Pro.",
"type": "dropdown",
"title": "Standard-Modell für AI-Befehle",
"description": "Raycast-KI-Modell-ID, vorausgewählt in den AI-Views. Die volle Modellliste ist dort als Dropdown verfügbar. Benötigt Raycast Pro.",
"type": "textfield",
"required": true,
"default": "anthropic-claude-sonnet-4-6",
"data": [
{
"title": "Claude 4.6 Sonnet",
"value": "anthropic-claude-sonnet-4-6"
},
{
"title": "Claude 4.7 Opus",
"value": "anthropic-claude-opus-4-7"
},
{
"title": "Claude 4.5 Haiku",
"value": "anthropic-claude-4-5-haiku"
},
{
"title": "OpenAI GPT-5.3 Instant",
"value": "openai-gpt-5.3-instant"
},
{
"title": "OpenAI GPT-4.1",
"value": "openai-gpt-4.1"
},
{
"title": "OpenAI GPT-4o mini",
"value": "openai-gpt-4o-mini"
}
]
"placeholder": "anthropic-claude-sonnet-4-6"
},
{
"name": "maxSessions",