feat(account): add managed credits and cloud gateway

Introduce optional Apple account-backed credits with scoped gateway access while preserving local and BYOK paths. Refresh assistant behavior, tests, privacy disclosures, docs, and the website for the 2.0 experience.
This commit is contained in:
Rocky
2026-08-20 11:43:21 +08:00
parent 0f9280bd00
commit 498f407585
301 changed files with 19221 additions and 10891 deletions
@@ -4,9 +4,9 @@
// UIKit grid for the expanded Chinese candidate panel. UILabel cells +
// UICollectionView recycling stay far cheaper than hundreds of SwiftUI Buttons.
import OSGKeyboardShared
import SwiftUI
import UIKit
import OSGKeyboardShared
struct CandidateExpandGridView: UIViewRepresentable {
var candidates: [TypingCandidate]
@@ -3,8 +3,8 @@
//
// Switches between voice and typing surfaces driven by KeyboardState.surface.
import SwiftUI
import OSGKeyboardShared
import SwiftUI
struct KeyboardSurfaceRoot: View {
@Environment(\.colorScheme) private var colorScheme
@@ -6,9 +6,9 @@
// overlapping fingers commit in press order, delete repeats on down,
// Shift holds while that finger owns it.
import OSGKeyboardShared
import SwiftUI
import UIKit
import OSGKeyboardShared
struct TypingKeyTouchPad: UIViewRepresentable {
var layout: TypingKeyLayout
+1 -1
View File
@@ -4,8 +4,8 @@
// Typing surface: candidate bar + QWERTY / 123 / symbols.
// Top-leading control returns to the voice surface.
import SwiftUI
import OSGKeyboardShared
import SwiftUI
enum TypingLayoutMetrics {
// Size decisions live in `TypingSurfaceMetrics` (Shared) so the UIKit