Cursor: Apply local changes for cloud agent

This commit is contained in:
Rocky
2026-08-27 18:01:46 +08:00
parent 39002336c0
commit 42e6252f01
148 changed files with 120105 additions and 8122 deletions
+13 -1
View File
@@ -89,6 +89,7 @@ public struct AppGroupStore: @unchecked Sendable {
public var keyboardHapticIntensity: KeyboardHapticIntensity { configuration.keyboardHapticIntensity }
public var polishIntensity: PolishIntensity { configuration.polishIntensity }
public var aiResponseLength: AIResponseLength { configuration.aiResponseLength }
public var multipleReplyVariantsEnabled: Bool { configuration.multipleReplyVariantsEnabled }
public var polishStyleCatalog: PolishStyleCatalog { configuration.polishStyleCatalog }
public var activePolishStyleId: String { configuration.activePolishStyleId }
public var activePolishStyle: PolishStylePack {
@@ -195,6 +196,11 @@ public struct AppGroupStore: @unchecked Sendable {
AppGroupConfigDarwin.postConfigChanged()
}
public func setMultipleReplyVariantsEnabled(_ enabled: Bool) {
mutateConfiguration { $0.multipleReplyVariantsEnabled = enabled }
AppGroupConfigDarwin.postConfigChanged()
}
// MARK: - Polish styles
public func setPolishStyleCatalog(_ catalog: PolishStyleCatalog) {
@@ -446,6 +452,12 @@ public struct AppGroupStore: @unchecked Sendable {
AIClipboardSkillCatalog.organizeListID
])
}
if storedMigrationVersion < 8 {
additionIDs.insert(AIClipboardSkillCatalog.blessingReplyID)
}
// v9 consolidates playful and business reply into Reply. Do not
// add Reply here: `sanitized` preserves it only when any reply ID
// was enabled, so a user's explicit disabled state stays disabled.
let additions = catalog.map(\.id).filter {
additionIDs.contains($0) && !decoded.enabledIDs.contains($0)
}
@@ -471,7 +483,7 @@ public struct AppGroupStore: @unchecked Sendable {
}
}
private static let currentAgentSkillDefaultsMigrationVersion = 7
private static let currentAgentSkillDefaultsMigrationVersion = 9
private static func decodeUserSkillCatalog(from defaults: UserDefaults) -> AIUserSkillCatalog {
guard let data = defaults.data(forKey: AppGroupConfiguration.Keys.agentUserSkillCatalog) else {