space.send(nativeContactCard()) is the canonical form; space.shareContactCard()
is sugar attached via PlatformDef.space.actions (only typed on
PlatformSpace<IMessageDef>).
This is an explicit, on-demand share and always fires — unlike the automatic
best-effort share gated behind the imessageSynced project profile, which
dedupes to once per chat per 24h (see remote/contact-share.ts). Works in
both DMs and group chats; the recipient chooses whether to accept the card.
ContactCard is intentionally not a member of the universal Content
union — the as unknown as Content cast keeps the builder shape compatible
with the framework’s ContentBuilder.build(): Promise<Content> signature.
The framework treats it as a fire-and-forget control signal at runtime.
Returns
ContentBuilder