refactor(contracts): share unsupported interactor factory
Summary
Give Web and Vega one unsupported-Interactor factory in the existing contracts package. Both platforms previously carried the same implementation. Preserve the 14 required members, typed error code, operation/platform wording, asynchronous rejection and absence of optional mechanics; each platform keeps its own supported overrides.
Nine files change. Remove both local implementations and the duplication suppression; move their test contracts beside the shared owner. Production source shrinks by 18 lines / 293 bytes, or 13 net lines including the required package export and generated export-snapshot declaration. Tests shrink from 125 to 87 lines while retaining the union of their assertions. CI measures installed/unpacked size −309 B and compressed download +91 B. No new dependency or linked issue. Scope includes only the necessary cross-package export.
Validation
- Head
a1d2fddce4ab1e8e8515290e9c5d41f5e32547a7; baseeedc0df3d2168275dcd89ed21613c3362d595731. AGENT_DEVICE_VITEST_MAX_WORKERS=1 pnpm check:affected --run --head a1d2fddce4ab1e8e8515290e9c5d41f5e32547a7: passed,exactCommit: true; receiptrun-2LzHpc, 39 passed / 25 skipped / 2 deduplicated checks; 17,349 tests passed, 1 skipped.- Independent Apex review: no findings. Verified dependency direction, identical factory behavior, retained platform composition coverage, new test discovery, export snapshot and required-member type pin.
- GitHub owns full coverage, integration, platform smoke and package-size evidence. Parked replay lanes were skipped locally. This relocation changes no live device behavior, so manual device verification is unnecessary.