@mapier/imsg-sdk 0.6.0 → 0.8.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/gateway/fake.d.ts +8 -2
- package/dist/gateway/fake.js +72 -3
- package/dist/gateway/fake.js.map +1 -1
- package/dist/gateway/imsg.d.ts +7 -1
- package/dist/gateway/imsg.js +38 -2
- package/dist/gateway/imsg.js.map +1 -1
- package/dist/gateway/multipart.d.ts +38 -0
- package/dist/gateway/multipart.js +216 -0
- package/dist/gateway/multipart.js.map +1 -0
- package/dist/gateway/sticker.d.ts +13 -0
- package/dist/gateway/sticker.js +115 -0
- package/dist/gateway/sticker.js.map +1 -0
- package/dist/gateway/types.d.ts +30 -0
- package/dist/gateway/types.js +5 -0
- package/dist/gateway/types.js.map +1 -1
- package/dist/imsg/rpc.d.ts +6 -3
- package/dist/imsg/rpc.js +18 -0
- package/dist/imsg/rpc.js.map +1 -1
- package/dist/imsg/status.js +21 -0
- package/dist/imsg/status.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/docs/api.md +1 -1
- package/docs/capability-matrix.md +2 -0
- package/docs/gateway-contract.md +272 -2
- package/package.json +1 -1
package/dist/imsg/rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/imsg/rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/imsg/rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/imsg/status.js
CHANGED
|
@@ -16,6 +16,8 @@ export const NO_PATCHED_GATEWAY_CAPABILITIES = {
|
|
|
16
16
|
locationRequest: false,
|
|
17
17
|
extensionCardSend: false,
|
|
18
18
|
extensionCardUpdate: false,
|
|
19
|
+
multipartSend: false,
|
|
20
|
+
stickerPlacement: false,
|
|
19
21
|
};
|
|
20
22
|
export function patchedCapabilitiesFromStatus(status) {
|
|
21
23
|
const selectors = status.selectors ?? {};
|
|
@@ -56,6 +58,25 @@ export function patchedCapabilitiesFromStatus(status) {
|
|
|
56
58
|
// separately and neither is inferred from the other.
|
|
57
59
|
extensionCardSend: selectors.extensionCardSend === true,
|
|
58
60
|
extensionCardUpdate: selectors.extensionCardUpdate === true,
|
|
61
|
+
// M2B-55. Its own marker, and deliberately NOT inferred from any other —
|
|
62
|
+
// the same reasoning as `tapbackPart` above, and for the same kind of
|
|
63
|
+
// danger: a helper predating file parts does not reject them, it reads only
|
|
64
|
+
// `text` on each part and drops every file part silently while answering
|
|
65
|
+
// ok with a short `parts_count`. The sender cannot tell a sent photo from a
|
|
66
|
+
// dropped one, so the marker gates a silent LOSS, not a rejection.
|
|
67
|
+
// IMsgInjected.m composes it from the file-transfer centre plus the
|
|
68
|
+
// attachment IMMessage initializer.
|
|
69
|
+
multipartSend: selectors.multipartSend === true,
|
|
70
|
+
// M2B-56. Its own marker, and deliberately NOT inferred from `stickerSend`
|
|
71
|
+
// — but for the OPPOSITE danger to the two above. A helper that can send
|
|
72
|
+
// stickers and predates placement does not ignore the new parameter: its
|
|
73
|
+
// strict param allowlist rejects the whole request (`-32602`) and nothing
|
|
74
|
+
// is sent. So this marker does not guard a silent loss, it turns a wasted
|
|
75
|
+
// round trip into a typed refusal decided before the RPC. IMsgInjected.m
|
|
76
|
+
// advertises it only when the placement keys it substitutes into
|
|
77
|
+
// `stickerUserInfo` are all writable, so `stickerSend` alone proves nothing
|
|
78
|
+
// about it.
|
|
79
|
+
stickerPlacement: selectors.stickerPlacement === true,
|
|
59
80
|
};
|
|
60
81
|
}
|
|
61
82
|
export function readPatchedGatewayCapabilities() {
|
package/dist/imsg/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/imsg/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,iBAAiB,EAAE,KAAK;IACxB,mBAAmB,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/imsg/status.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -74,4 +74,4 @@ export interface SendResult {
|
|
|
74
74
|
guid?: string;
|
|
75
75
|
refused?: SendRefusal;
|
|
76
76
|
}
|
|
77
|
-
export type SendRefusal = 'mention-capability' | 'mention-identifier' | 'mention-not-participant' | 'text-formatting-range';
|
|
77
|
+
export type SendRefusal = 'mention-capability' | 'mention-identifier' | 'mention-not-participant' | 'text-formatting-range' | 'sticker-placement-capability' | 'sticker-placement-target' | 'sticker-placement-shape' | 'sticker-placement-range';
|
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`, `sendExtensionCard` |
|
|
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` |
|
|
@@ -17,6 +17,8 @@ contract; “capability-gated” means the selected binary must prove it at star
|
|
|
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
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
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 |
|
|
21
|
+
| Choosing where a sticker lands (`sendSticker` `placement`), and the message guid it returns | Available, capability-gated (host-verified 2026-09-21 through the SDK verb on macOS 26.6.2 with a real iPhone watching, driven from the packed tarball: `{x:0.9, y:0.1, scale:0.5, rotation:15}` on part 1 of a two-photo message wrote row 97 against `p:1/<guid>` with the helper's numbers reading back exactly — `sxs` 0.9, `sys` 0.1, `ssa` 0.5, `sro` 0.26179939 = 15° clockwise, parent width 281 — and drew on the second photo's top-right corner, leaning clockwise; a plain sticker before and after both fired; free-standing sends untouched; all five refusals answered before the RPC with history unmoved at 30. The same run proved the id fix: a plain send answered `{ok, guid}` with no `id`, and that guid matched outbound row 96) | `stickerPlacement` marker present, and `stickerSend` does NOT substitute for it — but for the opposite danger to `tapbackPart`/`multipartSend`: a helper predating placement REJECTS the parameter and sends nothing, so the gate buys a typed refusal before the RPC rather than guarding a silent loss. Not reached by that run and still owed: macOS 27 (covered later by the dev-line e2e through the relay), a group chat, and an animated/GIF sticker — plus a re-run on the size-standardising helper, since the verified build still sized `scale` against the image's own pixels. No smoke leg yet — driven by hand |
|
|
20
22
|
| Rich links | Present but conservative | Build must carry the rich-link fix; receiver-visible release smoke required |
|
|
21
23
|
| Leave group | Present but unavailable on the verified host | Do not advertise until a native build restores and smokes it |
|
|
22
24
|
| 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 |
|
package/docs/gateway-contract.md
CHANGED
|
@@ -66,6 +66,7 @@ interface Gateway {
|
|
|
66
66
|
locationRequest: boolean;
|
|
67
67
|
extensionCardSend: boolean;
|
|
68
68
|
extensionCardUpdate: boolean;
|
|
69
|
+
multipartSend: boolean;
|
|
69
70
|
};
|
|
70
71
|
subscribe(sinceId?: number): AsyncIterable<GatewayEvent>;
|
|
71
72
|
history(chatId: number, limit?: number): Promise<ImsgMessage[]>;
|
|
@@ -117,6 +118,11 @@ interface Gateway {
|
|
|
117
118
|
card: ExtensionCard,
|
|
118
119
|
opts?: { update?: ExtensionCardHandle },
|
|
119
120
|
): Promise<ExtensionCardResult>;
|
|
121
|
+
sendMultipart(
|
|
122
|
+
chatId: number,
|
|
123
|
+
parts: readonly MultipartPart[],
|
|
124
|
+
opts?: { replyToGuid?: string; effect?: string; subject?: string },
|
|
125
|
+
): Promise<MultipartResult>;
|
|
120
126
|
editMessage(chatId: number, targetGuid: string, text: string): Promise<{
|
|
121
127
|
ok: boolean;
|
|
122
128
|
skipped?: 'unchanged';
|
|
@@ -266,6 +272,22 @@ interface ExtensionCardResult {
|
|
|
266
272
|
effectStarted?: boolean;
|
|
267
273
|
reason?: GroupMutationFailure; // only unsupported / refused / fire-failed are reachable
|
|
268
274
|
}
|
|
275
|
+
|
|
276
|
+
// sendMultipart (M2B-55). One message made of several parts, in the order
|
|
277
|
+
// given — that order is each part's NUMBER, the same number tapback's
|
|
278
|
+
// `partIndex` names. Audio is not a part: the voice flag is message-wide, so a
|
|
279
|
+
// voice note still goes alone through sendAttachment.
|
|
280
|
+
type MultipartPart =
|
|
281
|
+
| { kind: 'text'; text: string; textFormatting?: TextFormatRange[] } // the same ranges sendRich takes
|
|
282
|
+
| { kind: 'file'; filePath: string }; // a path on the HOST Mac
|
|
283
|
+
|
|
284
|
+
interface MultipartResult {
|
|
285
|
+
ok: boolean;
|
|
286
|
+
guid?: string; // absent when Messages had not exposed the row yet; never synthesized
|
|
287
|
+
partCount?: number; // the host's own count of the parts it built
|
|
288
|
+
effectStarted?: boolean;
|
|
289
|
+
reason?: GroupMutationFailure; // only unsupported / refused / fire-failed are reachable
|
|
290
|
+
}
|
|
269
291
|
```
|
|
270
292
|
|
|
271
293
|
### Tier 2 (bridge-backed)
|
|
@@ -305,6 +327,11 @@ Part-level tapbacks require `tapbackPart`, which the helper computes from the
|
|
|
305
327
|
part's own chat item plus an associated-message initializer taking a range —
|
|
306
328
|
and which no other tapback marker may stand in for, because a helper without it
|
|
307
329
|
does not reject `part_index`, it writes a corrupt row (M2B-45, above).
|
|
330
|
+
Multipart sends require `multipartSend`, composed by the helper from the
|
|
331
|
+
file-transfer centre plus the attachment IMMessage initializer, and equally
|
|
332
|
+
un-substitutable: a helper predating file parts reads only each part's `text`,
|
|
333
|
+
so it DROPS every file part without a word and answers ok with a short
|
|
334
|
+
`parts_count` (M2B-55, below).
|
|
308
335
|
Missing status, malformed JSON, or absent markers fail closed.
|
|
309
336
|
`FakeGateway.capabilities` mirrors this gate and can disable the same surface
|
|
310
337
|
for parity tests. A remote adapter (e.g. imsg-agent's connector) must gate on
|
|
@@ -494,9 +521,20 @@ prevent.
|
|
|
494
521
|
selector-gated by `stickerSend`. Targets an **existing iMessage chat only**;
|
|
495
522
|
there is no find-or-create form. It accepts PNG/APNG/GIF/JPEG files up to
|
|
496
523
|
500 KiB, 618×618, and 100 frames, and can optionally attach to a message guid/part.
|
|
497
|
-
Success
|
|
524
|
+
Success reports the **message's** guid as `SendResult.guid` — the id the
|
|
525
|
+
echoed outbound row carries, and so the only one a consumer can settle a send
|
|
526
|
+
on. The native result carries two ids and this verb used to hand back the
|
|
527
|
+
wrong one: `transfer_guid` names the FILE TRANSFER and matches no message
|
|
528
|
+
row, while `message_id` — a guid STRING, not a rowid — travelled in the
|
|
529
|
+
numeric `SendResult.id`. Both are fixed: `guid` is the message guid (falling
|
|
530
|
+
back to `message_id`, which carries the same string), and there is
|
|
531
|
+
deliberately **no numeric `id`**, the same reason `sendMultipart` has none. A
|
|
532
|
+
guid Messages never exposed is left absent rather than replaced by the
|
|
533
|
+
transfer's; the sticker still went. `transfer_guid` is not surfaced at all —
|
|
534
|
+
it names an upload, and no consumer asks for it.
|
|
498
535
|
FakeGateway conservatively echoes an outbound row but does not claim file
|
|
499
|
-
validity or rendered sticker metadata, which the send response cannot verify
|
|
536
|
+
validity or rendered sticker metadata, which the send response cannot verify;
|
|
537
|
+
its `guid` is that row's own, and it hands back no `id` either.
|
|
500
538
|
**Host-verified 2026-07-14/15 — delivers.** Initially failed
|
|
501
539
|
`{"error":"Dylib error: Could not securely open sticker directory"}`: the
|
|
502
540
|
injected dylib's sticker secure-open fd-walk started at the home directory,
|
|
@@ -505,6 +543,112 @@ prevent.
|
|
|
505
543
|
the per-component `O_NOFOLLOW`+uid walk at the shallowest sandbox-openable
|
|
506
544
|
ancestor instead of home. After rebuild+inject, `send.sticker` delivers — a
|
|
507
545
|
real sticker row lands with `is_sticker=1, is_sent=1, error=0`.
|
|
546
|
+
**The returned id is host-verified 2026-09-21 in its corrected form
|
|
547
|
+
(M2B-56)**, through this verb on macOS 26.6.2 (native helper `9a83a73`) from
|
|
548
|
+
the packed tarball: a plain sticker answered `{ok, guid}` with **no `id`**,
|
|
549
|
+
and that guid matched outbound row 96 in the same chat's history — which is
|
|
550
|
+
the whole proof, since the transfer guid it used to return matches no row at
|
|
551
|
+
all. What the fix repaired is equally on the record: on the dev line the same
|
|
552
|
+
day a sticker posted through the relay reached the phone while the command
|
|
553
|
+
never settled and the Mac's socket dropped for about a second, because the
|
|
554
|
+
consumer had stringified the guid arriving in the numeric `id` into a
|
|
555
|
+
digits-only cursor and the result it built failed validation.
|
|
556
|
+
|
|
557
|
+
**`opts.placement` picks where the sticker lands** (M2B-56), gated on its own
|
|
558
|
+
`stickerPlacement` marker. It is ONE optional object with four optional
|
|
559
|
+
fields, so a later field never widens the option bag again, and only the
|
|
560
|
+
fields given travel: `{x?, y?, scale?, rotation?}`.
|
|
561
|
+
|
|
562
|
+
```ts
|
|
563
|
+
// Tucked into the bubble's top-right corner, half size, leaning right —
|
|
564
|
+
// NOT the default, which is dead centre at full size and covers the words.
|
|
565
|
+
await gateway.sendSticker(chatId, '/tmp/arrow.png', {
|
|
566
|
+
attachToGuid: theirMessageGuid,
|
|
567
|
+
placement: { x: 0.95, y: 0.05, scale: 0.5, rotation: 15 },
|
|
568
|
+
});
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
`x`/`y` put the sticker's **centre** at a fraction of the target bubble
|
|
572
|
+
measured from its top-left corner — 0 the left/top edge, 1 the right/bottom,
|
|
573
|
+
0.5 dead centre. **Values below 0 and above 1 are legal and mean the sticker
|
|
574
|
+
hangs off the bubble**: a phone writes them itself, and x = −3 draws three
|
|
575
|
+
bubble-widths to the left, alone in what looks like empty space. Nothing is
|
|
576
|
+
clamped, here or on the phone — to a person a sticker goes anywhere in the
|
|
577
|
+
conversation, and every one is still stored as an offset from one message and
|
|
578
|
+
part. `rotation` is in **degrees, positive clockwise**. An omitted field is
|
|
579
|
+
filled in by the HELPER (0.5 / 0.5 / 1 / 0), never here, which is what keeps a
|
|
580
|
+
send with no placement byte-identical on the wire to one from a build that had
|
|
581
|
+
never heard of it.
|
|
582
|
+
|
|
583
|
+
One exception to "fraction of the bubble", inherited from Apple and not ours
|
|
584
|
+
to fix: on a photo **inside a stack**, `x` is measured across the whole
|
|
585
|
+
stack's width (origin at the stack's left edge) while `y` runs over the front
|
|
586
|
+
photo only. A text bubble and a lone photo are exact. Replaying the numbers a
|
|
587
|
+
phone wrote lands on the phone's own sticker either way, which is the property
|
|
588
|
+
worth keeping.
|
|
589
|
+
|
|
590
|
+
`scale` multiplies the **standard sticker size**: 1 draws about **64 points
|
|
591
|
+
wide on the receiver, whatever resolution the image happens to be**, 0.5 half
|
|
592
|
+
that, 2 twice. A caller picks a size, not a file: a 400 px PNG and a 480 px
|
|
593
|
+
one at `scale` 1 draw the same, which is why the helper divides by the image's
|
|
594
|
+
pixel size before it sends anything. Size is otherwise not the SDK's to
|
|
595
|
+
compute — the receiver draws at that standard size × `scale` × (the bubble's
|
|
596
|
+
width on ITS screen ÷ the width the sender recorded), so the helper measures
|
|
597
|
+
the target bubble and sends that width along. There is deliberately no public
|
|
598
|
+
width knob: a wrong width changes size only and never position, so all it
|
|
599
|
+
could do is make `scale` lie.
|
|
600
|
+
|
|
601
|
+
Five refusals, all decided before any RPC and all proven no-ops with a typed
|
|
602
|
+
`SendResult.refused`: placement on a bridge without the marker
|
|
603
|
+
(`sticker-placement-capability` — and note this is refused **even when
|
|
604
|
+
`stickerSend` is also missing**, because naming the placement is more use to a
|
|
605
|
+
caller than the bare `ok:false` a plain send gets); placement without
|
|
606
|
+
`attachToGuid` (`sticker-placement-target`: every sticker a phone produces is
|
|
607
|
+
tied to a message, the off-bubble ones included, so there is nothing to
|
|
608
|
+
measure a free-standing placement against); a placement that is not an object,
|
|
609
|
+
carries an unknown field, or a field that is not a finite number
|
|
610
|
+
(`sticker-placement-shape` — an unknown field is refused rather than dropped,
|
|
611
|
+
because a silently centred sticker looks exactly like a placement that
|
|
612
|
+
worked); and a finite number outside the sanity bounds x, y ±100, `scale`
|
|
613
|
+
0.01–20, `rotation` ±3600 (`sticker-placement-range`). Those bounds are the
|
|
614
|
+
helper's own and are deliberately far wider than any sensible placement; the
|
|
615
|
+
product range belongs at the `/v1` door, which is one service and can be
|
|
616
|
+
loosened without a fleet-wide Mac release. **Out of range is refused, never
|
|
617
|
+
clamped** — a silently moved sticker cannot be told apart from one the caller
|
|
618
|
+
placed. An empty `placement` object asks for nothing: no gate, no target rule,
|
|
619
|
+
no wire key.
|
|
620
|
+
|
|
621
|
+
FakeGateway runs the same preflight and records nothing about where the
|
|
622
|
+
sticker drew, because the real path cannot read that back either.
|
|
623
|
+
**Host-verified 2026-09-21 through this verb, with a real iPhone watching.**
|
|
624
|
+
macOS 26.6.2, native helper `9a83a73`, driven from the packed tarball rather
|
|
625
|
+
than a checkout. A placed sticker with `{x: 0.9, y: 0.1, scale: 0.5,
|
|
626
|
+
rotation: 15}` on **part 1** of a two-photo message wrote chat.db row 97
|
|
627
|
+
against `p:1/<guid>`, and the helper's own numbers read back exactly as the
|
|
628
|
+
units above promise: `sxs 0.9`, `sys 0.1`, `ssa 0.5`, `sro 0.26179939`
|
|
629
|
+
(= 15° in radians, positive clockwise) and a parent width of 281 for a photo.
|
|
630
|
+
On the phone it drew as a small arrow on the second photo's top-right corner,
|
|
631
|
+
leaning clockwise — not centred, not on the first photo. A plain sticker
|
|
632
|
+
before and after it both fired, and free-standing sends were untouched (parent
|
|
633
|
+
width still 163.73095703). All five refusals answered before the RPC with the
|
|
634
|
+
chat's history count unmoved at 30 either side, so every one was a measured
|
|
635
|
+
no-op rather than an assumed one.
|
|
636
|
+
|
|
637
|
+
The units and the model behind them come from the same day's native work: six
|
|
638
|
+
stickers placed by hand on a real phone were decoded out of
|
|
639
|
+
`attachment.sticker_user_info` and replayed from the line, each landing where
|
|
640
|
+
the phone's own had — top-right of a long bubble tilted, off the left edge of
|
|
641
|
+
a short one, off the bottom-left corner of the second photo of a stack, and
|
|
642
|
+
one three bubble-widths out in empty space.
|
|
643
|
+
|
|
644
|
+
**Not reached by that run and still owed:** macOS 27 (the dev-line e2e through
|
|
645
|
+
the relay covers it later), a group chat, and a GIF or otherwise animated
|
|
646
|
+
sticker. One caveat on `scale`: the verified run used the helper build
|
|
647
|
+
immediately BEFORE size standardisation, where `scale` multiplied the image's
|
|
648
|
+
own size rather than the standard 64 pt. The number the SDK puts on the wire
|
|
649
|
+
is identical either way — it is passed through untouched — so what changed is
|
|
650
|
+
what the helper does with it, and a run on the standardising helper is owed
|
|
651
|
+
before the "about 64 points at `scale` 1" figure is itself host-verified.
|
|
508
652
|
- **`checkHandle(address, opts?)`** — bridge-backed Apple IDS reachability via
|
|
509
653
|
`handles.check`; iMessage only, never SMS. FakeGateway returns available only
|
|
510
654
|
from evidence it actually owns: participants of known chats or an explicit
|
|
@@ -592,6 +736,67 @@ prevent.
|
|
|
592
736
|
builder's returns above the IMChat call; `send-extension-card failed:` is
|
|
593
737
|
deliberately **not** among them, because that `@try` wraps the whole
|
|
594
738
|
build-and-send block. FakeGateway reaches only the proven half.
|
|
739
|
+
- **`sendMultipart(chatId, parts, opts?)`** — `send.multipart`
|
|
740
|
+
(`RPCServer+MultipartHandler.swift` → `handleSendMultipart` in
|
|
741
|
+
`IMsgInjected.m`). Several parts as **one message**, targeting an **existing**
|
|
742
|
+
chat only. Gated on `multipartSend`, and the gate covers the whole verb
|
|
743
|
+
including a text-only list: the marker guards a silent LOSS rather than a
|
|
744
|
+
rejection (a helper predating file parts drops them and answers ok), so a
|
|
745
|
+
caller must never be left to discover mid-list that this host eats photos.
|
|
746
|
+
|
|
747
|
+
**What "one message" means on a phone** — proven on a real iPhone from the
|
|
748
|
+
lab Mac (macOS 26.6.2) on 2026-09-21, through the native CLI:
|
|
749
|
+
one notification and one `chat.db` row, **not** one bubble. Each part draws as
|
|
750
|
+
its own bubble, in the order given, and consecutive photos are gathered by the
|
|
751
|
+
receiving phone into a stack (five photos arrived as one stack labelled
|
|
752
|
+
"5 photos"). Two text parts in a row are fine — two bubbles — so, unlike
|
|
753
|
+
Linq, this verb allows them. A text part with a **trailing newline draws an
|
|
754
|
+
empty last line** in its bubble, so callers must not add one (the
|
|
755
|
+
single-attachment path's caption does, which is a native wart, not a model to
|
|
756
|
+
copy). **Part number = index in `parts`**, and that is exactly the
|
|
757
|
+
`partIndex` a later `tapback` names. Audio is not a part: the voice flag is
|
|
758
|
+
message-wide, so a voice note still goes alone through `sendAttachment`.
|
|
759
|
+
|
|
760
|
+
**`effect`, `subject` and `replyToGuid` are message-wide**, read by the
|
|
761
|
+
native handler exactly as `send.rich` reads them — IMCore has one of each per
|
|
762
|
+
message, never one per part. Per-part `textFormatting` is the `sendRich`
|
|
763
|
+
range vocabulary scoped to that part, offsets counted in that part's own
|
|
764
|
+
text; a mention still needs `mentionFormatting` and is `unsupported` without
|
|
765
|
+
it. Formatting on a **file** part is refused rather than dropped.
|
|
766
|
+
|
|
767
|
+
**Validation happens before the RPC**, mirroring the native pass that runs
|
|
768
|
+
before a single transfer is staged: a non-empty array, every entry an object
|
|
769
|
+
of a known `kind`, non-empty `text`, non-empty `filePath` carrying no newline
|
|
770
|
+
or NUL, per-part formatting through the same `textFormattingRefusal` sendRich
|
|
771
|
+
uses, and the Mac-side caps **100 parts / 40 file parts**
|
|
772
|
+
— plus one rule that exists only because of how this verb fails: a part
|
|
773
|
+
carrying **both** a `text` and a `filePath` is refused *before* its `kind` is
|
|
774
|
+
consulted, never resolved by the label. Whichever branch the label chose would
|
|
775
|
+
drop the other key without a word, and losing part content in silence is the
|
|
776
|
+
failure the whole verb exists to remove; it must not come back in through a
|
|
777
|
+
caller that names a part wrong. The native handler refuses it by index for the
|
|
778
|
+
same reason (an empty string counts as absent on both keys, on both sides)
|
|
779
|
+
(`MULTIPART_MAX_PARTS` / `MULTIPART_MAX_FILE_PARTS`, mirroring
|
|
780
|
+
`MultipartLimits` and `kMaxMultipartParts`). Each is a proven no-op
|
|
781
|
+
(`effectStarted:false`, `reason:'refused'`). Two native checks are
|
|
782
|
+
deliberately **not** mirrored: the 100 MiB total-byte cap and whether each
|
|
783
|
+
file exists. This SDK never touches the filesystem — the path belongs to the
|
|
784
|
+
Mac — so a local check would make the fake and the real path disagree in both
|
|
785
|
+
directions; a missing file is the helper's refusal, classified through
|
|
786
|
+
`MULTIPART_PROVEN_REJECTIONS`.
|
|
787
|
+
|
|
788
|
+
**No verification pass exists**, for the reason `sendAttachment` has none:
|
|
789
|
+
the synchronous response carries the message's guid, which is the proof to
|
|
790
|
+
read `sendStatus()` on, while the row Messages writes at dispatch says
|
|
791
|
+
nothing about the upload that follows (`is_sent` stays 0 until the bytes are
|
|
792
|
+
out). So only `unsupported` / `refused` / `fire-failed` are reachable.
|
|
793
|
+
`send-multipart failed:` is deliberately **not** a proven rejection: that
|
|
794
|
+
`@try` wraps the whole build-and-dispatch block. `partCount` is the **host's**
|
|
795
|
+
count of the parts it built and is never replaced with the caller's list
|
|
796
|
+
length — a count shorter than the list is precisely how a helper that dropped
|
|
797
|
+
file parts would show up. There is deliberately no numeric `id`: the native
|
|
798
|
+
result sets `message_id` to the message GUID, so no rowid exists on the real
|
|
799
|
+
path and FakeGateway must not hand back one either.
|
|
595
800
|
- **`editMessage(chatId, targetGuid, text)`** — `message.edit`
|
|
596
801
|
(`handleMessageEdit`; imsg `docs/edit.md`). Capability-gated on the
|
|
597
802
|
`editMessage` marker (see above): on macOS 27 the helper calls the
|
|
@@ -1209,6 +1414,49 @@ both markers read `true` on the current build — a host with `extensionCardSend
|
|
|
1209
1414
|
and not `extensionCardUpdate` is possible by construction but has never been
|
|
1210
1415
|
seen. There is no smoke leg for this verb yet; the host proof is driven by hand.
|
|
1211
1416
|
|
|
1417
|
+
**HOST-VERIFIED 2026-09-21 (lab Mac, macOS 26.6.2) — `sendMultipart` (M2B-55),
|
|
1418
|
+
through this SDK verb.** The native layer was already proven on a real iPhone
|
|
1419
|
+
the same day through the native CLI (Mapier-Labs/imsg#28): ten shapes — caption
|
|
1420
|
+
+ photo, photo + caption, caption + 3 photos, alternating text and photos, two
|
|
1421
|
+
text parts, five photos, a 93 MiB ten-photo message — each arriving as a single
|
|
1422
|
+
notification with the parts in the order given and the photos stacked, which is
|
|
1423
|
+
where the "no trailing newline" and "consecutive text parts are fine" rules come
|
|
1424
|
+
from, and where the phone RENDERING of these shapes is settled. This run drove
|
|
1425
|
+
the gateway verb itself: the packed tarball of SDK `43b6454` installed into a
|
|
1426
|
+
scratch dir, `IMSG_BIN` pointed at the native build of imsg#28 head `f2a8bc6`
|
|
1427
|
+
(helper sha256 `3229d9dd…`). The phone rendering was not re-judged per SDK
|
|
1428
|
+
send — these legs prove the SDK's half, and `chat.db` is the oracle for it:
|
|
1429
|
+
|
|
1430
|
+
- `capabilities.multipartSend` and `capabilities.mentionFormatting` both read
|
|
1431
|
+
`true` off that build.
|
|
1432
|
+
- `[text, file, file, text]` → `{ok:true, guid, partCount:4}`, and that guid is
|
|
1433
|
+
**ONE** `chat.db` row with `part_count` 4, **two attachment joins**,
|
|
1434
|
+
`is_sent` 1, `is_delivered` 1, `error` 0. That pair is the load-bearing
|
|
1435
|
+
observation of the whole verb: a `partCount` of 4 arriving with both photos
|
|
1436
|
+
actually joined is the direct evidence that the file parts were not silently
|
|
1437
|
+
dropped — the failure the `multipartSend` marker exists to prevent, until now
|
|
1438
|
+
reasoned from the helper's source rather than seen.
|
|
1439
|
+
- `[text with a bold range, file]` with `effect` and `subject` →
|
|
1440
|
+
`{ok:true, guid, partCount:2}`; ONE row, `part_count` 2, one attachment,
|
|
1441
|
+
the subject set, and `expressive_send_style_id`
|
|
1442
|
+
`com.apple.messages.effect.CKConfettiEffect`, sent and delivered, `error` 0.
|
|
1443
|
+
So the per-part `text_formatting` and the message-wide `effect` / `subject`
|
|
1444
|
+
survive this SDK's wire shape into the fields the native handler's
|
|
1445
|
+
`send.rich` parsers write.
|
|
1446
|
+
- An empty list, a 41-file list, and `textFormatting` on a file part each
|
|
1447
|
+
answered `{ok:false, effectStarted:false, reason:'refused'}` — and the run
|
|
1448
|
+
wrote **exactly two rows in total**, so all three refusals fired nothing.
|
|
1449
|
+
That row count is the only way to prove `effectStarted:false`, which is a
|
|
1450
|
+
claim about what did NOT happen.
|
|
1451
|
+
|
|
1452
|
+
**Still NOT host-verified for M2B-55:** a confirmed mention inside a multipart
|
|
1453
|
+
text part (it needs a group thread, and the marker reading `true` is not the
|
|
1454
|
+
same as a mention landing); `replyToGuid` as an inline-reply target; and every
|
|
1455
|
+
string in `MULTIPART_PROVEN_REJECTIONS` — no send failed on the host, so the
|
|
1456
|
+
fire-failure classifier stays read-from-source and unit-tested only, unlike
|
|
1457
|
+
M2B-45's `'has no part '`, which its run happened to provoke. There is still no
|
|
1458
|
+
smoke leg for this verb; the host proof is driven by hand.
|
|
1459
|
+
|
|
1212
1460
|
- **subscribe(sinceId?)** — long-lived event stream of new messages/reactions across all
|
|
1213
1461
|
chats the host Mac's Messages account can see. `sinceId` is an **exclusive** cursor: only
|
|
1214
1462
|
events with `id > sinceId` are delivered (catch-up semantics, not "starting at"). Today
|
|
@@ -1576,6 +1824,22 @@ a different product.
|
|
|
1576
1824
|
implementations also refuse to invent a guid: when Messages exposes none, the
|
|
1577
1825
|
success carries `updatable:false` and no handle rather than a synthesized one.
|
|
1578
1826
|
|
|
1827
|
+
- **A multipart send is ONE row, and the fake may under-count its parts —
|
|
1828
|
+
never over-count** (M2B-55). `sendMultipart` emits a single outbound row on
|
|
1829
|
+
both implementations, whatever the part list holds: one notification, one
|
|
1830
|
+
`chat.db` row, several bubbles. What the fake does not do is synthesize that
|
|
1831
|
+
row's inner shape. The real row's `text` is Apple's own concatenation of the
|
|
1832
|
+
parts with object-replacement placeholders where the files sit, and its
|
|
1833
|
+
`attachments[]` only appears on a later history/watch row — the send response
|
|
1834
|
+
reports neither, and inventing them is exactly what `sendAttachment` already
|
|
1835
|
+
refuses to do. The consequence is deliberate: `FakeGateway.partCount()` still
|
|
1836
|
+
counts attachments, so a fake-sent multipart row reports 1 part however many
|
|
1837
|
+
it really had, and a part-level tapback on it is refused where a host would
|
|
1838
|
+
accept it. That is the allowed direction (the fake must not succeed at what
|
|
1839
|
+
the real path refuses), and counting `(text ? 1 : 0) + attachments.length`
|
|
1840
|
+
instead is a contract change that needs the host run to prove the real part
|
|
1841
|
+
layout first.
|
|
1842
|
+
|
|
1579
1843
|
- **Inbound media.** Real messages can carry `attachments[]` with empty `text`. FakeGateway must
|
|
1580
1844
|
be able to emit the exact attachment metadata with `text: undefined`/empty so
|
|
1581
1845
|
this path gets exercised — the agent currently ignores attachments gracefully
|
|
@@ -1737,6 +2001,12 @@ harness (`tsx --test`, see `package.json`). Required cases:
|
|
|
1737
2001
|
`extensionCardSend` but not `extensionCardUpdate` sends but refuses the update. One case
|
|
1738
2002
|
asserts a NEGATIVE: an update aimed at a previous update's guid is **not** caught — the
|
|
1739
2003
|
fake must not be safer than the Mac, which cannot detect it either
|
|
2004
|
+
- `sendMultipart` lands text and file parts as ONE outbound row (not one per part), reports
|
|
2005
|
+
the host's `partCount` and a guid, and preserves an inline-reply guid alongside the
|
|
2006
|
+
message-wide effect and subject; an empty list, an empty text part, formatting on a file
|
|
2007
|
+
part, 41 file parts and an unknown chat are each `refused` with no row written, and a
|
|
2008
|
+
missing `multipartSend` marker is `unsupported` — including for a text-only list, which
|
|
2009
|
+
such a host could actually have sent
|
|
1740
2010
|
- Fake-only restart coverage snapshots and restores a world, then proves
|
|
1741
2011
|
`sendStatus`, `checkHandle`, Name & Photo idempotency, chat backgrounds (and their
|
|
1742
2012
|
guid sequence), Find My shares, current group metadata, fixture state, and monotonic IDs
|
package/package.json
CHANGED