Add Apple Intelligence provider (Phase 1 — on-device)
- New AppleFoundationProvider using FoundationModels framework (macOS 27+) - Streaming via streamResponse(to:) → ResponseStream<String> snapshot deltas - Session built with system prompt + conversation history injected as instructions text - Full error mapping: context exceeded, guardrail violation, rate limit, availability states - Settings.Provider.appleOnDevice case wired through ProviderRegistry, Color+Extensions, CreditsView - inferProvider() detects "apple-" prefix model IDs - Settings → General: Apple Intelligence section with live availability badge and deep link to System Settings Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -60,10 +60,11 @@ extension Color {
|
||||
|
||||
static func providerColor(_ provider: Settings.Provider) -> Color {
|
||||
switch provider {
|
||||
case .openrouter: return Color(hex: "#7c3aed") // Purple
|
||||
case .anthropic: return Color(hex: "#d4895a") // Orange
|
||||
case .openai: return Color(hex: "#10a37f") // Green
|
||||
case .ollama: return Color(hex: "#ffffff") // White
|
||||
case .openrouter: return Color(hex: "#7c3aed") // Purple
|
||||
case .anthropic: return Color(hex: "#d4895a") // Orange
|
||||
case .openai: return Color(hex: "#10a37f") // Green
|
||||
case .ollama: return Color(hex: "#ffffff") // White
|
||||
case .appleOnDevice: return Color(hex: "#636366") // Apple grey
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user