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

@@ -1 +1 @@
1
- {"version":3,"file":"imsg.js","sourceRoot":"","sources":["../../src/gateway/imsg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imsg.js","sourceRoot":"","sources":["../../src/gateway/imsg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ImsgMessage } from '../types.js';
2
+ import { type MessageRemovalResult } from './types.js';
3
+ export declare const UNSEND_PROVEN_REJECTIONS: readonly string[];
4
+ export declare const DELETE_PROVEN_REJECTIONS: readonly string[];
5
+ export declare function classifyMessageRemovalFireFailure(err: unknown, provenRejections: readonly string[]): MessageRemovalResult;
6
+ export interface MessageRemovalPollInput {
7
+ read(): Promise<ImsgMessage | undefined>;
8
+ attempts: number;
9
+ sleep(): Promise<void>;
10
+ log(message: string): void;
11
+ }
12
+ export interface MessageRemovalVerifyInput extends MessageRemovalPollInput {
13
+ landed(target: ImsgMessage | undefined): boolean;
14
+ }
15
+ export declare function locateRemovalTarget(input: MessageRemovalPollInput): Promise<MessageRemovalResult | null>;
16
+ export declare function verifyMessageRemoval(input: MessageRemovalVerifyInput): Promise<MessageRemovalResult>;
@@ -0,0 +1,94 @@
1
+ import { bridgeEffectStarted } from './chat-background.js';
2
+ import { messageRemovalFailure } from './types.js';
3
+ // handleUnsendMessage's returns BEFORE `[chat retractMessagePart:]`
4
+ // (IMsgInjected.m), matched against `error.data` exactly as the group verbs
5
+ // match theirs. Deliberately absent: `unsend-message failed` and any bare
6
+ // NSException reason — the helper's @try wraps only the selector invocation,
7
+ // so a throw from inside it cannot prove which side of the retraction it was
8
+ // raised on, and neither can a bridge timeout.
9
+ export const UNSEND_PROVEN_REJECTIONS = [
10
+ 'Missing chatGuid',
11
+ 'Missing messageGuid',
12
+ 'Chat not found',
13
+ 'retractMessagePart: not available',
14
+ // Formatted with the PART index, not the guid, so it reads oddly for a
15
+ // missing message — but a guid the helper cannot find lands here too,
16
+ // because findMessagePart propagates findMessageItem's nil.
17
+ 'Message part not found',
18
+ ];
19
+ // handleDeleteMessage's equivalents. `deleteChatItems: not available` carries
20
+ // no "on this macOS" suffix, unlike unsend's and edit's. Delete is also the
21
+ // one verb the helper does not probe at launch — it checks respondsToSelector
22
+ // per call and advertises no `imsg status` marker — so an unsupported host
23
+ // cannot be caught by a capability gate and always arrives here instead.
24
+ export const DELETE_PROVEN_REJECTIONS = [
25
+ 'Missing chatGuid',
26
+ 'Missing messageGuid',
27
+ 'Chat not found',
28
+ 'deleteChatItems: not available',
29
+ 'Message not found',
30
+ ];
31
+ // The removal call itself threw. `refused` only when the error proves the
32
+ // helper stopped before invoking IMChat; everything else may have applied.
33
+ export function classifyMessageRemovalFireFailure(err, provenRejections) {
34
+ return messageRemovalFailure(bridgeEffectStarted(err, provenRejections) ? 'fire-failed' : 'refused');
35
+ }
36
+ // deleteMessage's pre-check, which polls rather than reading once because its
37
+ // common caller targets a just-sent guid that can lag history by a beat.
38
+ // Returns null when the target is present and the verb should fire. Nothing
39
+ // has fired at either failure exit, so both are proven no-ops — but they are
40
+ // different signals: `refused` means the guid is not in the window and a
41
+ // blind retry will not help, `preflight-read-failed` means the host's history
42
+ // read is broken and the target was never actually looked for.
43
+ export async function locateRemovalTarget(input) {
44
+ const { read, attempts, sleep, log } = input;
45
+ for (let attempt = 0; attempt < attempts; attempt++) {
46
+ // Sleep only BETWEEN attempts: a preflight's first read is immediate
47
+ // (edit-message.ts's awaitInHistory convention), and the last one has
48
+ // nothing left to wait for.
49
+ if (attempt > 0)
50
+ await sleep();
51
+ let target;
52
+ try {
53
+ target = await read();
54
+ }
55
+ catch (err) {
56
+ // One failed read ends the wait, as it does on the verify side: history
57
+ // is a local chat.db read, so a failure means a broken host rather than
58
+ // a blip worth the remaining attempts.
59
+ log(`preflight read failed: ${String(err)}`);
60
+ return messageRemovalFailure('preflight-read-failed');
61
+ }
62
+ if (target)
63
+ return null;
64
+ }
65
+ log('target guid was not in the scan window');
66
+ return messageRemovalFailure('refused');
67
+ }
68
+ // unsendMessage's post-fire read-back. Everything reaching here HAS fired, so
69
+ // every failure exit is `effectStarted:true`. The two differ in whether we got
70
+ // to look at all: `unverified` read the row and its text was still there,
71
+ // `verify-read-failed` never got a trustworthy look. A failed read used to
72
+ // escape this verb as an exception; it is a result now because the caller
73
+ // needs to hear "it fired" either way.
74
+ export async function verifyMessageRemoval(input) {
75
+ const { read, landed, attempts, sleep, log } = input;
76
+ for (let attempt = 0; attempt < attempts; attempt++) {
77
+ // Awaited BEFORE each read: the retraction is never visible in a read
78
+ // taken the instant the RPC returned.
79
+ await sleep();
80
+ let target;
81
+ try {
82
+ target = await read();
83
+ }
84
+ catch (err) {
85
+ log(`verification read failed: ${String(err)}`);
86
+ return messageRemovalFailure('verify-read-failed');
87
+ }
88
+ if (landed(target))
89
+ return { ok: true };
90
+ }
91
+ log('fired but was never confirmed within the verify window');
92
+ return messageRemovalFailure('unverified');
93
+ }
94
+ //# sourceMappingURL=message-removal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-removal.js","sourceRoot":"","sources":["../../src/gateway/message-removal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { GatewayCapabilities, MultipartPart, MultipartResult, NumericTextFormatRange } from './types.js';
2
+ export declare const MULTIPART_MAX_PARTS = 100;
3
+ export declare const MULTIPART_MAX_FILE_PARTS = 40;
4
+ export declare const MULTIPART_PROVEN_REJECTIONS: readonly string[];
5
+ export declare function classifyMultipartFireFailure(err: unknown): MultipartResult;
6
+ export type MultipartWirePart = {
7
+ type: 'text';
8
+ text: string;
9
+ text_formatting?: NumericTextFormatRange[];
10
+ } | {
11
+ type: 'file';
12
+ file: string;
13
+ };
14
+ export interface MultipartWireParams {
15
+ chat_id: number;
16
+ parts: MultipartWirePart[];
17
+ reply_to?: string;
18
+ effect?: string;
19
+ subject?: string;
20
+ }
21
+ export interface MultipartSendResponse {
22
+ ok: boolean;
23
+ guid?: string;
24
+ message_id?: string;
25
+ parts_count?: number;
26
+ }
27
+ export interface MultipartSendOptions {
28
+ replyToGuid?: string;
29
+ effect?: string;
30
+ subject?: string;
31
+ }
32
+ export declare function multipartRefusalReason(parts: readonly MultipartPart[]): string | null;
33
+ export declare function multipartPreflight(capabilities: Pick<GatewayCapabilities, 'multipartSend' | 'mentionFormatting'>, parts: readonly MultipartPart[]): {
34
+ result: MultipartResult;
35
+ reason: string;
36
+ } | null;
37
+ export declare function multipartWireParams(chatId: number, parts: readonly MultipartPart[], opts?: MultipartSendOptions): MultipartWireParams;
38
+ export declare function multipartResultFromResponse(response: MultipartSendResponse): MultipartResult;
@@ -0,0 +1,216 @@
1
+ import { bridgeEffectStarted } from './chat-background.js';
2
+ import { hasMentionRange, multipartFailure, resolveTextFormatting, textFormattingRefusal } from './types.js';
3
+ // What a Mac will ever accept in one multipart message, mirroring the native
4
+ // caps exactly (`MultipartLimits` in MultipartParts.swift and
5
+ // `kMaxMultipartParts` / `kMaxMultipartFileParts` in IMsgInjected.m). Checked
6
+ // here so an over-long list is a proven no-op instead of a round trip.
7
+ //
8
+ // The native side also caps the file parts' TOTAL BYTES at 100 MiB
9
+ // (`kMaxMultipartFileBytes`). That one is deliberately NOT mirrored: this SDK
10
+ // never stats a file — it passes the caller's path through, exactly as
11
+ // `sendAttachment` does — so the byte cap stays the Mac's refusal, classified
12
+ // through MULTIPART_PROVEN_REJECTIONS below.
13
+ export const MULTIPART_MAX_PARTS = 100;
14
+ export const MULTIPART_MAX_FILE_PARTS = 40;
15
+ // handleSendMultipart's `errorResponse` returns BEFORE `dispatchAttempted`
16
+ // (IMsgInjected.m), plus the formatting refusals it forwards from
17
+ // `buildFormattedAttributed` (IMsgMentionFormatting.m), matched against
18
+ // `error.data` exactly as the other bridge verbs match theirs. Several are
19
+ // formatted with the part index in the middle ("Part 3 file not found: …"), so
20
+ // the needles are the stable fragments rather than prefixes.
21
+ //
22
+ // Deliberately absent: `send-multipart failed:` — that wraps an NSException
23
+ // caught around the whole build-and-dispatch block, so the text cannot prove
24
+ // which side of `dispatchIMMessageInChat` it was raised on and the result stays
25
+ // ambiguous.
26
+ export const MULTIPART_PROVEN_REJECTIONS = [
27
+ 'Missing chatGuid',
28
+ 'Missing or empty parts array',
29
+ 'Too many parts',
30
+ 'Too many file parts',
31
+ 'File parts total too many bytes',
32
+ 'isAudioMessage is not supported on a multipart message',
33
+ // Formatted with the guid appended, so the match has to be a fragment.
34
+ 'Chat not found',
35
+ 'is not an object',
36
+ 'has both text and filePath',
37
+ 'has neither text nor filePath',
38
+ 'file not found',
39
+ 'symlinked attachment paths are not allowed',
40
+ 'attachment path traverses a symlink',
41
+ 'transfer registered without guid',
42
+ 'Could not register attachment transfer',
43
+ 'Could not construct multipart IMMessage',
44
+ // Pass 1 validates every text part's formatting against the live chat before
45
+ // a single transfer is prepared, so these are pre-staging refusals here even
46
+ // though sendRich meets them at its own fire time.
47
+ 'Invalid text formatting',
48
+ 'Mention identifier',
49
+ 'Mention range',
50
+ 'Mention formatting requires',
51
+ 'Confirmed mention formatting is unavailable',
52
+ ];
53
+ // The send itself threw. `refused` only when the error proves the helper
54
+ // stopped before IMChat was invoked; everything else — a bridge timeout, an
55
+ // exception raised after the dispatch, a dead rpc child — may already have put
56
+ // the message in the thread.
57
+ export function classifyMultipartFireFailure(err) {
58
+ return multipartFailure(bridgeEffectStarted(err, MULTIPART_PROVEN_REJECTIONS) ? 'fire-failed' : 'refused');
59
+ }
60
+ // The declared types do not run at runtime, so the list is validated the way
61
+ // the native handler reads it — as values of unknown shape — rather than as the
62
+ // union TypeScript promises. An untyped JS caller can send a null entry, a
63
+ // `textFormatting` on a file part, or a single range object where an array
64
+ // belongs, and each of those must refuse rather than throw.
65
+ function isObject(value) {
66
+ return value !== null && typeof value === 'object';
67
+ }
68
+ // The native side reads an empty string as "absent" on both part keys
69
+ // (`.nonEmpty`), so "carries both halves" means both are really there.
70
+ function isNonEmptyString(value) {
71
+ return typeof value === 'string' && value !== '';
72
+ }
73
+ // True when any part asks for a confirmed mention, tolerating parts this is
74
+ // asked about before they have been validated.
75
+ function mentionsSomeone(parts) {
76
+ return parts.some((part) => {
77
+ if (!isObject(part))
78
+ return false;
79
+ const ranges = part.textFormatting;
80
+ return Array.isArray(ranges) && hasMentionRange(ranges);
81
+ });
82
+ }
83
+ // Every rule the native side enforces, checked here so a bad list is a proven
84
+ // no-op instead of a round trip. Returns the line to log, or null.
85
+ //
86
+ // One native check is deliberately NOT mirrored: that each file part's path
87
+ // exists, is not a symlink and is inside the byte budget. This SDK never
88
+ // touches the filesystem — the fake runs where the Mac's files are not, and the
89
+ // real gateway's path is the MAC's path — so a local `existsSync` would make
90
+ // the fake and the real path disagree in both directions. A missing file is the
91
+ // Mac's refusal, classified through MULTIPART_PROVEN_REJECTIONS.
92
+ export function multipartRefusalReason(parts) {
93
+ const rawParts = parts;
94
+ if (!Array.isArray(rawParts))
95
+ return 'parts must be an array';
96
+ if (rawParts.length === 0)
97
+ return 'parts must not be empty';
98
+ if (rawParts.length > MULTIPART_MAX_PARTS) {
99
+ return `too many parts: ${rawParts.length} (max ${MULTIPART_MAX_PARTS})`;
100
+ }
101
+ const fileParts = rawParts.filter((part) => isObject(part) && part.kind === 'file').length;
102
+ if (fileParts > MULTIPART_MAX_FILE_PARTS) {
103
+ return `too many file parts: ${fileParts} (max ${MULTIPART_MAX_FILE_PARTS})`;
104
+ }
105
+ for (const [index, part] of rawParts.entries()) {
106
+ if (!isObject(part))
107
+ return `part ${index} must be an object`;
108
+ const kind = part.kind;
109
+ // A part carrying BOTH halves is refused before its `kind` is consulted,
110
+ // never resolved by the label: whichever branch ran would drop the other
111
+ // key without a word, and losing part content in silence is the one failure
112
+ // this verb exists to remove — it must not come back in through a caller
113
+ // that labels a part wrong. The native handler refuses it by index for the
114
+ // same reason.
115
+ if (isNonEmptyString(part.text) && isNonEmptyString(part.filePath)) {
116
+ return `part ${index}: has both text and filePath`;
117
+ }
118
+ if (kind === 'file') {
119
+ // Formatting on a file part is an error on the native side rather than
120
+ // something dropped, because a dropped one would look like a send that
121
+ // did what was asked.
122
+ if (part.textFormatting !== undefined)
123
+ return `part ${index}: a file part cannot carry textFormatting`;
124
+ const filePath = part.filePath;
125
+ if (typeof filePath !== 'string' || filePath === '')
126
+ return `part ${index}: a file part needs a filePath`;
127
+ // The path crosses a line-delimited JSON-RPC protocol on its way to the
128
+ // Mac and is then handed to the filesystem, so neither a line break nor a
129
+ // NUL may ride along as if it were part of a name.
130
+ if (filePath.includes('\n') || filePath.includes('\r') || filePath.includes('\0')) {
131
+ return `part ${index}: filePath must not contain newlines or NUL`;
132
+ }
133
+ continue;
134
+ }
135
+ if (kind !== 'text')
136
+ return `part ${index}: unknown kind ${String(kind)}`;
137
+ const text = part.text;
138
+ if (typeof text !== 'string' || text === '')
139
+ return `part ${index}: a text part needs text`;
140
+ const ranges = part.textFormatting;
141
+ if (ranges === undefined)
142
+ continue;
143
+ if (!Array.isArray(ranges))
144
+ return `part ${index}: textFormatting must be an array of ranges`;
145
+ if (ranges.length === 0)
146
+ continue;
147
+ // The SAME validator sendRich uses, per part: the helper builds each part's
148
+ // attributed run on its own and silently DROPS a style range with bad
149
+ // offsets while sending the rest, which a caller cannot detect because
150
+ // formatting is write-only.
151
+ const refusal = textFormattingRefusal(text, ranges);
152
+ if (refusal)
153
+ return `part ${index}: ${refusal.reason}`;
154
+ }
155
+ return null;
156
+ }
157
+ // The whole sendMultipart preflight, shared by both gateways so parity is
158
+ // structural: the capability gates first, then the list rules. Returns the
159
+ // result to answer with plus a line to log, or null to fire. Nothing has been
160
+ // sent at any exit here, so every one of them is `effectStarted:false`.
161
+ export function multipartPreflight(capabilities, parts) {
162
+ if (!capabilities.multipartSend) {
163
+ return { result: multipartFailure('unsupported'), reason: 'bridge does not advertise multipartSend' };
164
+ }
165
+ const rawParts = parts;
166
+ if (!Array.isArray(rawParts)) {
167
+ return { result: multipartFailure('refused'), reason: 'parts must be an array' };
168
+ }
169
+ // A confirmed mention needs the helper's runtime-resolved attribute key, the
170
+ // same gate sendRich applies — without it the helper fails the whole send
171
+ // rather than degrading to plain text. `unsupported`, not `refused`, because
172
+ // no build on this host can do it (the extensionCardUpdate precedent).
173
+ if (mentionsSomeone(rawParts) && !capabilities.mentionFormatting) {
174
+ return { result: multipartFailure('unsupported'), reason: 'bridge does not advertise mentionFormatting' };
175
+ }
176
+ const refusal = multipartRefusalReason(parts);
177
+ return refusal ? { result: multipartFailure('refused'), reason: refusal } : null;
178
+ }
179
+ export function multipartWireParams(chatId, parts, opts = {}) {
180
+ return {
181
+ chat_id: chatId,
182
+ parts: parts.map((part) => part.kind === 'file'
183
+ ? { type: 'file', file: part.filePath }
184
+ : {
185
+ type: 'text',
186
+ text: part.text,
187
+ // Effect names resolved to Apple's ids, the same shape send.rich
188
+ // takes; an empty array carries nothing and is left off.
189
+ ...(part.textFormatting?.length ? { text_formatting: resolveTextFormatting(part.textFormatting) } : {}),
190
+ }),
191
+ // Message-wide, and read by the native handler exactly as send.rich reads
192
+ // them (`rpcReplyToParam`, `rpcExpressiveEffectParam`, `subject`).
193
+ ...(opts.subject !== undefined ? { subject: opts.subject } : {}),
194
+ ...(opts.effect ? { effect: opts.effect } : {}),
195
+ ...(opts.replyToGuid ? { reply_to: opts.replyToGuid } : {}),
196
+ };
197
+ }
198
+ // Build the caller's result out of the host's response. Shared by both
199
+ // gateways, so neither can invent a field the other cannot report.
200
+ export function multipartResultFromResponse(response) {
201
+ // The native handler answers `ok:true` on every path that reaches a result
202
+ // and raises a JSON-RPC error otherwise, so a falsy `ok` is a host the SDK
203
+ // cannot read. It was invoked, so it is ambiguous, not a refusal.
204
+ if (!response.ok)
205
+ return multipartFailure('fire-failed');
206
+ const guid = response.guid || response.message_id || undefined;
207
+ return {
208
+ ok: true,
209
+ ...(guid ? { guid } : {}),
210
+ // The host's own count of the parts it built, never the caller's list
211
+ // length: a count shorter than the list is how a helper that dropped file
212
+ // parts shows up, and inventing the number would hide exactly that.
213
+ ...(typeof response.parts_count === 'number' ? { partCount: response.parts_count } : {}),
214
+ };
215
+ }
216
+ //# sourceMappingURL=multipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.js","sourceRoot":"","sources":["../../src/gateway/multipart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ImsgMessage, MessageReaction } from '../types.js';
2
+ import { type GatewayCapabilities, type ReactionNote, type ReactResult } from './types.js';
3
+ export declare const TAPBACK_PROVEN_REJECTIONS: string[];
4
+ export declare function classifyTapbackFireFailure(err: unknown): ReactResult;
5
+ export declare function reactionPart(reaction: Pick<MessageReaction, 'target_part'>): number;
6
+ export declare function reactionOnPart(reaction: Pick<MessageReaction, 'target_part'>, partIndex?: number): boolean;
7
+ export declare function toReactionNote(reaction: MessageReaction): ReactionNote;
8
+ export declare function tapbackPartRefusal(partIndex: number | undefined, capabilities: Pick<GatewayCapabilities, 'tapbackPart'>): ReactResult | null;
9
+ export interface TapbackVerifyInput {
10
+ read(): Promise<ImsgMessage | undefined>;
11
+ landed(target: ImsgMessage | undefined): boolean;
12
+ attempts: number;
13
+ sleep(): Promise<void>;
14
+ log(message: string): void;
15
+ }
16
+ export declare function verifyTapback(input: TapbackVerifyInput): Promise<ReactResult>;