feat(keyboard): ship AI hint carousel, home library cards, and clipboard polish

Rotate AI idle suggestions with optional remote packs, move history/dictionary onto self-sizing Home preview cards, harden clipboard capture/prompting, and simplify keyboard chrome by dropping most liquid-glass shadows.
This commit is contained in:
Rocky
2026-08-13 01:00:51 +08:00
parent fd6e0d3e7e
commit 9f308fadd2
202 changed files with 10897 additions and 5962 deletions
@@ -99,10 +99,12 @@ public struct SearchAugmentedChatClient: LLMClient {
throw LLMError.transport("non-HTTP response")
}
if !(200..<300).contains(http.statusCode) {
#if DEBUG
let bodyText = String(data: data, encoding: .utf8) ?? ""
print("⚠️ Search chat HTTP \(http.statusCode): \(bodyText.prefix(500))")
#endif
LLMHTTPDiagnostics.logFailure(
providerId: providerId,
statusCode: http.statusCode,
responseByteCount: data.count,
response: http
)
if http.statusCode == 429 { throw LLMError.rateLimited }
throw LLMError.http(status: http.statusCode)
}
@@ -136,6 +138,7 @@ public struct SearchAugmentedChatClient: LLMClient {
for try await event in LLMStreamingSession.mapSSE(
session: session,
request: req,
providerId: providerId,
parse: LLMStreamDeltaParser.chatCompletionsDelta(from:)
) {
continuation.yield(event)