Expand onboarding and adaptive keyboard intelligence
Add resilient usage analytics, OOBE gateway flows, clipboard semantic ranking, purchase recovery, style learning, and managed current-information search.
This commit is contained in:
@@ -166,6 +166,31 @@ public struct AppAttestAssertion: Codable, Equatable, Sendable {
|
||||
}
|
||||
}
|
||||
|
||||
/// Anonymous OOBE grant request. It intentionally contains no account session,
|
||||
/// requested scopes, or mutable feature claim; the server fixes policy to
|
||||
/// `polish` + `ai` after validating App Attest.
|
||||
public struct OOBEGrantRequest: Codable, Equatable, Sendable {
|
||||
public let installationId: UUID
|
||||
public let keyId: String
|
||||
public let challengeId: UUID
|
||||
public let challenge: String
|
||||
public let assertion: String
|
||||
|
||||
public init(
|
||||
installationId: UUID,
|
||||
keyId: String,
|
||||
challengeId: UUID,
|
||||
challenge: String,
|
||||
assertion: String
|
||||
) {
|
||||
self.installationId = installationId
|
||||
self.keyId = keyId
|
||||
self.challengeId = challengeId
|
||||
self.challenge = challenge
|
||||
self.assertion = assertion
|
||||
}
|
||||
}
|
||||
|
||||
public enum AppAttestChallengePurpose: String, Codable, Sendable {
|
||||
case attestation
|
||||
case assertion
|
||||
@@ -205,6 +230,10 @@ public protocol AppAttestKeyStateStoring: Sendable {
|
||||
func clearAppAttestKeyState() async throws
|
||||
}
|
||||
|
||||
public protocol OOBEInstallationIDStoring: Sendable {
|
||||
func oobeInstallationID() async throws -> UUID
|
||||
}
|
||||
|
||||
public enum AccountAPIError: Error, Equatable, Sendable {
|
||||
case invalidRequest(String)
|
||||
case unauthorized(String)
|
||||
@@ -222,6 +251,10 @@ public enum AccountAPIError: Error, Equatable, Sendable {
|
||||
case integrityUnavailable
|
||||
}
|
||||
|
||||
public enum AccountSessionInvalidation: Sendable {
|
||||
case expired
|
||||
}
|
||||
|
||||
extension AccountAPIError: LocalizedError {
|
||||
public var errorDescription: String? {
|
||||
switch self {
|
||||
|
||||
Reference in New Issue
Block a user