Fix alibaba display-name, default-model, and models list (provider-kind returns openai)

ober

aa89d8f36e62c94334a43a9fbfcdfcd50b26fb57

diff --git a/src/jcode/core/models.ss b/src/jcode/core/models.ss
index 318ef4f..a3dccc4 100644
--- a/src/jcode/core/models.ss
+++ b/src/jcode/core/models.ss
@@ -98,45 +98,49 @@
 (def (provider-display-name p)
   (let* ((kind (provider-kind p))
          (base
-           (case (string->symbol kind)
-             ((anthropic)   "Anthropic")
-             ((openai)      "OpenAI")
-             ((openrouter)  "OpenRouter")
-             ((deepseek)    "DeepSeek")
-             ((google)      "Google")
-             ((ollama)      "Ollama (local)")
-             ((mlx)         "MLX (local)")
-             ((xai)         "xAI (Grok)")
-             ((grok)        "Grok CLI")
-             ((groq)        "Groq")
-             ((mistral)     "Mistral")
-             ((together)    "Together AI")
-             ((cerebras)    "Cerebras")
-             ((perplexity)  "Perplexity")
-((z-ai)        "Z.AI")
-              ((alibaba)     "Alibaba MaaS")
-              (else p))))
+           (cond
+             ((equal? p "alibaba") "Alibaba MaaS")
+             (else
+               (case (string->symbol kind)
+                 ((anthropic)   "Anthropic")
+                 ((openai)      "OpenAI")
+                 ((openrouter)  "OpenRouter")
+                 ((deepseek)    "DeepSeek")
+                 ((google)      "Google")
+                 ((ollama)      "Ollama (local)")
+                 ((mlx)         "MLX (local)")
+                 ((xai)         "xAI (Grok)")
+                 ((grok)        "Grok CLI")
+                 ((groq)        "Groq")
+                 ((mistral)     "Mistral")
+                 ((together)    "Together AI")
+                 ((cerebras)    "Cerebras")
+                 ((perplexity)  "Perplexity")
+                 ((z-ai)        "Z.AI")
+                 (else p))))))
     (if (equal? p kind) base (format "~a (~a)" base p))))
 
 (def (provider-default-model provider)
-  (case (string->symbol (provider-kind provider))
-    ((anthropic)   "claude-sonnet-4-20250514")
-    ((openai)      "gpt-4o")
-    ((openrouter)  "anthropic/claude-sonnet-4")
-    ((deepseek)    "deepseek-chat")
-    ((google)      "gemini-2.5-flash")
-    ((ollama)      "qwen3-coder-next:q8_0")
-    ((mlx)         "/Users/user/llm/mlx-models/Qwen3.6-35B-A3B-TurboQuant-6bit")
-    ((xai)         "grok-3-mini")
-    ((grok)        "grok-build")
-    ((groq)        "llama-3.3-70b-versatile")
-    ((mistral)     "mistral-large-latest")
-    ((together)    "meta-llama/Llama-3.3-70B-Instruct-Turbo")
-    ((cerebras)    "llama-3.3-70b")
-    ((perplexity)  "sonar-pro")
-    ((z-ai)        "glm-5.2")
-    ((alibaba)     "qwen3.8-max-preview")
-    (else          "gpt-4o")))
+  (cond
+    ((equal? provider "alibaba") "qwen3.8-max-preview")
+    (else
+      (case (string->symbol (provider-kind provider))
+        ((anthropic)   "claude-sonnet-4-20250514")
+        ((openai)      "gpt-4o")
+        ((openrouter)  "anthropic/claude-sonnet-4")
+        ((deepseek)    "deepseek-chat")
+        ((google)      "gemini-2.5-flash")
+        ((ollama)      "qwen3-coder-next:q8_0")
+        ((mlx)         "/Users/user/llm/mlx-models/Qwen3.6-35B-A3B-TurboQuant-6bit")
+        ((xai)         "grok-3-mini")
+        ((grok)        "grok-build")
+        ((groq)        "llama-3.3-70b-versatile")
+        ((mistral)     "mistral-large-latest")
+        ((together)    "meta-llama/Llama-3.3-70B-Instruct-Turbo")
+        ((cerebras)    "llama-3.3-70b")
+        ((perplexity)  "sonar-pro")
+        ((z-ai)        "glm-5.2")
+        (else          "gpt-4o")))))
 
 ;; ---- Model lists per provider ----
 ;; Each entry: (model-id . display-name)
@@ -168,24 +172,26 @@
       (filter (lambda (m) (model-search-hit? m terms)) models))))
 
 (def (provider-default-models provider)
-  (case (string->symbol (provider-kind provider))
-    ((anthropic)   anthropic-models)
-    ((openai)      openai-models)
-    ((deepseek)    deepseek-models)
-    ((google)      google-models)
-    ((openrouter)  openrouter-models)
-    ((ollama)      ollama-models)
-    ((mlx)         mlx-models)
-    ((xai)         xai-models)
-    ((grok)        (grok-models-or-fallback))
-    ((groq)        groq-models)
-    ((mistral)     mistral-models)
-    ((together)    together-models)
-    ((cerebras)    cerebras-models)
-    ((perplexity)  perplexity-models)
-    ((z-ai)        z-ai-models)
-    ((alibaba)     alibaba-models)
-    (else '())))
+  (cond
+    ((equal? provider "alibaba") alibaba-models)
+    (else
+      (case (string->symbol (provider-kind provider))
+        ((anthropic)   anthropic-models)
+        ((openai)      openai-models)
+        ((deepseek)    deepseek-models)
+        ((google)      google-models)
+        ((openrouter)  openrouter-models)
+        ((ollama)      ollama-models)
+        ((mlx)         mlx-models)
+        ((xai)         xai-models)
+        ((grok)        (grok-models-or-fallback))
+        ((groq)        groq-models)
+        ((mistral)     mistral-models)
+        ((together)    together-models)
+        ((cerebras)    cerebras-models)
+        ((perplexity)  perplexity-models)
+        ((z-ai)        z-ai-models)
+        (else '())))))
 
 ;; ---- On-disk cache ----
 ;; Stored as JSON: { "deepseek": [["id", "display"], ...], ... }