Files
Michał Pierzchała 611858103e fix(ios): harden Bluesky-class interaction reliability (#1588)
* fix: type into focused iOS inputs without AX

* fix: fill AX-hostile iOS text inputs

* fix: keep scrolling containers from stealing taps

* fix: stop agents after explicit task success

* chore: format benchmark guidance

* fix(ios): preserve fill semantics across fast paths

* test: retire direct selector fill expectations

* test: assert runtime selector fill evidence

* fix(ios): preserve verified and Maestro fill paths

* refactor(ios): isolate synthesized text entry

* fix(client): preserve open diagnostic paths

* fix(ios): expose structured text entry route

* fix(packaging): strip text entry policy tests
2026-08-05 08:02:44 +02:00

33 lines
1.1 KiB
Objective-C

#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, RunnerSynthesizedTextEntryStatus) {
RunnerSynthesizedTextEntryStatusSucceeded,
RunnerSynthesizedTextEntryStatusUnavailable,
RunnerSynthesizedTextEntryStatusFailed,
};
@interface RunnerSynthesizedTextEntryResult : NSObject
@property(nonatomic, readonly) RunnerSynthesizedTextEntryStatus status;
@property(nonatomic, readonly, nullable) NSString *message;
@end
@interface RunnerSynthesizedTextEntry : NSObject
// Synthesizes keyboard input for the current first responder without resolving an
// XCUIElement or serializing the application's accessibility tree.
+ (RunnerSynthesizedTextEntryResult *)synthesizeTextWithApplication:(id)application
text:(NSString *)text;
// Replaces the current first responder's contents using one synthesized
// Command-A, Delete, and text-input event sequence.
+ (RunnerSynthesizedTextEntryResult *)replaceTextWithApplication:(id)application
text:(NSString *)text;
@end
NS_ASSUME_NONNULL_END