@mapier/imsg-sdk 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @mapier/imsg-sdk might be problematic. Click here for more details.

@@ -136,17 +136,20 @@ corrections changed which kinds `agentUsable()` returns.
136
136
  Flagged as the catalog's highest-value unbuilt seam: richer than any `native-balloon` kind,
137
137
  with `web-surface`'s zero install cost.
138
138
  - **`host-extension-card`** — renamed from an earlier draft's `extension-card`. `tier:
139
- 'extension'`, `requiresRecipientInstall: true`, `status: 'unbuilt'`. Modeled on Photon's
140
- Spectrum host-extension pattern (cited above) — external product, cited as provenance. The
141
- 2026-07-14 spike (`imsg-agent` `docs/parking-lot.md`, cross-repo context) already ran and
142
- returned a **verdict against building a bespoke per-feature extension**: Apple's own
143
- `MSMessageLiveLayout` docs confirm a live/interactive card only renders on a device with the
144
- *sending* extension installed, and there is no reverse-engineering precedent anywhere
145
- (BlueBubbles/mautrix/jesec/Project Zero) for injecting a third-party extension balloon via
146
- private API. The host model doesn't remove the install wall it only amortizes it across
147
- every future mini-app instead of paying it per card, which is a real difference in economics
148
- but not in Apple's gate. `status` stays `unbuilt`; unlike the `app-clip` seam, this one is not
149
- currently prioritized. `fallback: 'web-url'`.
139
+ 'extension'`, `requiresRecipientInstall: true`, `outbound: 'agent'`, `status: 'fake-only'`.
140
+ Modeled on Photon's Spectrum host-extension pattern (cited above) — external product, cited as
141
+ provenance. **No longer an unbuilt seam** (M2B-46): `Gateway.sendExtensionCard` sends a card
142
+ for a third-party iMessage app extension and updates it in place, which is exactly the
143
+ injection the 2026-07-14 spike found no precedent for. That spike's verdict is **overturned on
144
+ the mechanism, upheld on the wall**: a Mac-injected card for a non-Apple extension was observed
145
+ on real phones on 2026-09-20 sending, delivering, drawing, and opening the installed app
146
+ in-thread but Apple's gate is exactly where `MSMessageLiveLayout` said it was. With the app
147
+ installed the extension draws the card itself; with `liveLayout:false` the recipient sees the
148
+ app's icon beside *our* caption; without the app they get a small static card (App Store link
149
+ only when `appStoreId` is supplied). So the host model still amortizes the install across every
150
+ future mini-app rather than removing it. `status` is `fake-only`, not `host-smoked`: the SDK
151
+ verb has only been exercised against `FakeGateway` and its unit tests — the host run is
152
+ pending, which is why this row stays out of `agentUsable()`. `fallback: 'web-url'`.
150
153
 
151
154
  ## Adding a kind
152
155
 
@@ -163,14 +166,13 @@ Mirrors `docs/gateway-contract.md` §4's contributor discipline:
163
166
  `InteractionRegistry`/`InteractionHarness`.
164
167
  4. **This doc.** Update the row's writeup here with the citation.
165
168
 
166
- A row may enter the catalog as `status: 'unbuilt'` only as a documented seam — e.g. `app-clip`,
167
- `host-extension-card` — never as a placeholder for something already claimed to work elsewhere
168
- (the mistake the original `poll` and `effect` drafts made).
169
+ A row may enter the catalog as `status: 'unbuilt'` only as a documented seam — e.g. `app-clip` —
170
+ never as a placeholder for something already claimed to work elsewhere (the mistake the original
171
+ `poll` and `effect` drafts made).
169
172
 
170
173
  ## Unbuilt seams: priority note
171
174
 
172
- `app-clip` (zero-install, native, richer than any balloon) is the highest-value unbuilt lever in
173
- this catalog. `host-extension-card` (real MSMessages host extension) stays cataloged as a
174
- documented, deliberately `unbuilt` seam the 2026-07-14 spike found the install wall real and
175
- not currently worth paying for a bespoke extension but is not prioritized the way `app-clip`
176
- is.
175
+ `app-clip` (zero-install, native, richer than any balloon) is now the only unbuilt row left, and
176
+ the highest-value lever in this catalog. `host-extension-card` left this list in M2B-46: the
177
+ mechanism is built (`Gateway.sendExtensionCard`) and climbing the ladder — `fake-only` until the
178
+ host runrather than deliberately unbuilt.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapier/imsg-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "TypeScript SDK for iMessage automation on macOS: the Gateway contract, ImsgGateway (real), and a device-free FakeGateway.",
5
5
  "license": "MIT",
6
6
  "repository": {