@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.

package/dist/types.d.ts CHANGED
@@ -5,6 +5,7 @@ export interface MessageReaction {
5
5
  is_from_me: boolean;
6
6
  sender?: string;
7
7
  created_at?: string;
8
+ target_part?: number;
8
9
  }
9
10
  export interface PollOption {
10
11
  id: string;
@@ -64,6 +65,7 @@ export interface ImsgMessage {
64
65
  reaction_type?: string;
65
66
  reaction_emoji?: string;
66
67
  is_reaction_add?: boolean;
68
+ reaction_target_part?: number;
67
69
  reacted_to_guid?: string;
68
70
  }
69
71
  export interface SendResult {
package/docs/api.md CHANGED
@@ -19,7 +19,7 @@ const gateway: Gateway = new ImsgGateway((code) => {
19
19
  | --- | --- |
20
20
  | Read and routing | `subscribe`, `history`, `historyRange`, `listChats`, `resolveDmChat`, `resolveGroupChat`, `recentReactions`, `sendStatus`, `checkHandle` |
21
21
  | Standard actions | `send`, `react`, `createGroup` |
22
- | Bridge actions | `tapback`, `emojiTapback`, `sendRich`, `sendAttachment`, `sendSticker`, `sendPoll`, `sendRichLink` |
22
+ | Bridge actions | `tapback`, `emojiTapback`, `sendRich`, `sendAttachment`, `sendSticker`, `sendPoll`, `sendRichLink`, `sendExtensionCard`, `sendMultipart` |
23
23
  | Mutation | `editMessage`, `unsendMessage`, `deleteMessage`, `setTyping`, `markRead` |
24
24
  | Group and identity | `renameGroup`, `setGroupPhoto`, `addParticipant`, `removeParticipant`, `leaveGroup`, `shareNamePhoto` |
25
25
  | Chat backgrounds | `chatBackgroundStatus`, `setChatBackground`, `removeChatBackground` |
@@ -15,6 +15,9 @@ contract; “capability-gated” means the selected binary must prove it at star
15
15
  | Chat background set (Gradient) / remove | Available, capability-gated (host-verified 2026-09-03) | `chatBackgroundSetGradient` / `chatBackgroundRemove` selector markers present (imsg#12 build); `tier2-smoke.ts <chatId> --only-chat-background` on the host, recorded in the contract ledger; status read needs no marker |
16
16
  | Find My shared locations read / live updates (`readSharedLocations`, `watchLocations`) | Available, capability-gated (host-verified 2026-09-13: SDK read leg; live fix and update stream verified at the native layer on a second Mac, `watchLocations()` end to end pending the relay e2e) | `sharedLocations` selector marker present (M2B-31 helper); `tier2-smoke.ts <chatId> --only-location` on the host, recorded in the contract ledger |
17
17
  | Find My "Request Location" card (`sendLocationRequest`) | Available, capability-gated (host-verified 2026-09-13, receiver-visible card with a Share button observed) | `locationRequest` selector marker present (M2B-31 helper); `tier2-smoke.ts <chatId> --only-location --location-request` on the host, chat.db Find My balloon row, recorded in the contract ledger |
18
+ | Third-party iMessage app card, and updating one in place (`sendExtensionCard`) | Present, capability-gated, **SDK half NOT host-verified** (M2B-46): the native layer was proven on real phones 2026-09-20 — card sends, delivers, draws, opens the installed app, updates in place — but this verb has never run against a host Mac | `extensionCardSend` marker for a send, `extensionCardSend` + `extensionCardUpdate` for an update (neither implies the other); a host run must confirm a first send returns a `guid`, that an update driven by the returned handle restamps the first card, and both markers on the current build, then be recorded in the contract ledger. No smoke leg yet — driven by hand |
19
+ | Tapback on one part of a message (`tapback`/`emojiTapback` `partIndex`) | Available, capability-gated (host-verified 2026-09-20 through the SDK verbs on macOS 26.6.2, a real iPhone watching: part-1 reaction lands alone, part 0 and part 1 coexist as two reactions, per-part remove, out-of-range refused with no row, `target_part` read back, chat.db prefix and range agree) | `tapbackPart` selector marker present, and NO other tapback marker substitutes for it — a helper without it corrupts the row silently rather than refusing, so a part above 0 is refused, never downgraded to part 0. No smoke leg yet — driven by hand |
20
+ | Text and several photos as ONE message (`sendMultipart`) | Available, capability-gated (host-verified 2026-09-21 through the SDK verb on macOS 26.6.2: `[text, file, file, text]` lands as ONE chat.db row with `part_count` 4 and both attachments joined, sent and delivered; a bold range with a message-wide effect and subject writes both fields; an empty list, 41 file parts and formatting on a file part are each refused with no row written. Phone rendering of these shapes was proven through the native CLI, not re-judged per SDK send) | `multipartSend` marker present, and NO other send marker substitutes for it — a helper predating file parts drops them silently and answers ok with a short `parts_count`, so the gate covers the whole verb, text-only lists included. Not reached by that run and still owed: a mention inside a multipart (needs a group), `replyToGuid`, and the fire-failure classifier. No smoke leg yet — driven by hand |
18
21
  | Rich links | Present but conservative | Build must carry the rich-link fix; receiver-visible release smoke required |
19
22
  | Leave group | Present but unavailable on the verified host | Do not advertise until a native build restores and smokes it |
20
23
  | Mark unread, force notify, delete chat | Not exposed by this SDK | Current upstream `imsg` has RPC actions; first port them into the Mapier fork, then host-verify, capability-gate, document, and add conformance coverage |