feat(keyboard): add clipboard AI skills, hint keywords, and voice session fixes

Idle chips show entities with category icons; a fresh copy surfaces Reply/Summarize/Translate; abort/cancel/empty-tap no longer leave the mic stuck.
This commit is contained in:
Rocky
2026-08-13 15:47:32 +08:00
parent 9f308fadd2
commit 631617ee53
48 changed files with 1627 additions and 345 deletions
@@ -48,6 +48,11 @@ public enum AIClipboardPrompt: Sendable {
return resolve(instruction: question, material: material)
}
/// True when `text` is the clipboard-AI XML envelope, not user-visible copy.
public static func isInternalPrompt(_ text: String) -> Bool {
text.contains("<clipboard_request") || text.contains("clipboard-ai-v1")
}
/// Instruction text with any inline material placeholder removed.
static func strippingPlaceholder(_ prompt: String) -> String {
trimmed(prompt.replacingOccurrences(of: materialPlaceholder, with: ""))