refactor(gesture): pass structured payloads through client dispatch
Merged
TH
10h ago+114+114+012345678901234567890123456789-259-259-012345678901234567890123456789
Summary
CLI and MCP gesture dispatch convert structured payloads into flat SDK shortcut options, then reconstruct the original payload. Pass them directly through typed client.interactions.gesture() and derive command input from the existing payload union. Future gesture kinds gain Node support without another named method, options type, export, and converter. Existing named methods remain available.
await client.interactions.gesture({
kind: 'pan',
origin: { x: 100, y: 200 },
delta: { x: 40, y: -20 },
});
10 files; 131 fewer production lines, 145 fewer lines overall. No new files or dependencies. Scope includes transport-level regression coverage and the public API note. Follow-up to #3847; no linked issue.
Validation
- Tested commit:
7468ec1e6d836fbf03381cd572c0487286f6d3a6. pnpm check:affected --run --head 7468ec1e6d836fbf03381cd572c0487286f6d3a6: all runnable checks passed; receiptrun-d0mBU8,exactCommit=true. Includes 1,674 tests across 216 files, format, lint, typecheck, layering, Fallow, build, and documentation checks.- Independent read-only review: no findings.
- Draft pending live route evidence. Android 15
emulator-5554opens the fixture's development-server connection screen, so Gesture Lab is unavailable. The shared helper is 0.21.25, not this checkout's version. Verification session was closed; no live gesture claim. - CI coverage, native builds, and integration/device lanes remain required. Native executors are unchanged.