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
@@ -20,4 +20,12 @@ final class FlowUtterancePCMStoreTests: XCTestCase {
store.append([1, 2, 3, 4, 5])
XCTAssertEqual(store.consume(), [2, 3, 4, 5])
}
func testSnapshotDoesNotClear() {
let store = FlowUtterancePCMStore(maxSampleCount: 100)
store.append([0.1, -0.2])
XCTAssertEqual(store.snapshot(), [0.1, -0.2])
XCTAssertEqual(store.sampleCount, 2)
XCTAssertEqual(store.consume(), [0.1, -0.2])
}
}