@mapier/imsg-sdk 0.2.0 → 0.2.2

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.
package/README.md CHANGED
@@ -44,7 +44,7 @@ See [`examples/quickstart.ts`](examples/quickstart.ts) for the runnable version:
44
44
  ## Real gateway
45
45
 
46
46
  `ImsgGateway` drives real iMessage and requires a host Mac. It needs Mapier's pinned fork of
47
- `openclaw/imsg`: `markxiong0122/imsg`, branch `mapier/macos26-tier2`, prebuilt binaries on release
47
+ `openclaw/imsg`: `markxiong0122/imsg`, branch `mapier/deploy`, prebuilt binaries on release
48
48
  [`v0.1.0`](https://github.com/markxiong0122/imsg/releases/tag/v0.1.0). Build it (`make build`) and
49
49
  point the SDK at it via the `IMSG_BIN` environment variable. Caveat: rich-link delivery
50
50
  (`sendRichLink`) requires a build carrying the fork's `mapier/richlink-sync-fix` patch, which
@@ -53,6 +53,26 @@ the `v0.1.0` release binaries predate — no capability marker gates it (see
53
53
  [`docs/host-mac-control.md`](docs/host-mac-control.md) for host setup and
54
54
  [`docs/gateway-contract.md`](docs/gateway-contract.md) for the full interface contract.
55
55
 
56
+ ## Host preflight and API docs
57
+
58
+ Check the selected binary and injected bridge before deploying:
59
+
60
+ ```sh
61
+ npx @mapier/imsg-sdk doctor
62
+ npx @mapier/imsg-sdk doctor --json
63
+ ```
64
+
65
+ The doctor reports the native version, basic/bridge readiness, available
66
+ patched selectors, and advertised RPC surface. It fails only when basic host
67
+ control is unavailable; bridge problems remain explicit warnings so read-only
68
+ deployments can still run.
69
+
70
+ - [API guide](docs/api.md) — imports, contract groups, and the doctor API.
71
+ - [Native compatibility](docs/compatibility.md) — required binary/bridge pairing, release evidence, and known constraints.
72
+ - [Capability matrix](docs/capability-matrix.md) — every public action's verification and native-build status.
73
+ - [Host operations](docs/operations.md) — durable cursors, restart handling, and safe support evidence.
74
+ - [`examples/host-read.ts`](examples/host-read.ts) — preflight plus a real host history/watch client.
75
+
56
76
  ## Interactions
57
77
 
58
78
  `src/interactions/` catalogs iMessage interaction kinds across four tiers — web-link,
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ import { formatImsgDoctorReport, runImsgDoctor } from './doctor.js';
3
+ const [command, ...args] = process.argv.slice(2);
4
+ function main() {
5
+ if (command !== 'doctor' || args.some((arg) => arg !== '--json')) {
6
+ process.stderr.write('Usage: imsg-sdk doctor [--json]\n');
7
+ process.exitCode = 64;
8
+ return;
9
+ }
10
+ const report = runImsgDoctor();
11
+ process.stdout.write(`${args.includes('--json') ? JSON.stringify(report, null, 2) : formatImsgDoctorReport(report)}\n`);
12
+ process.exitCode = report.ok ? 0 : 1;
13
+ }
14
+ main();
15
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjD,SAAS,IAAI;IACX,IAAI,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAClG,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ export type DoctorCheckLevel = 'info' | 'warning' | 'error';
2
+ export interface ImsgDoctorCheck {
3
+ id: string;
4
+ level: DoctorCheckLevel;
5
+ message: string;
6
+ }
7
+ export interface ImsgNativeStatus {
8
+ version: string | null;
9
+ basicFeatures: boolean;
10
+ advancedFeatures: boolean;
11
+ bridgeVersion: number | null;
12
+ v2Ready: boolean;
13
+ sip: string | null;
14
+ selectors: Readonly<Record<string, boolean>>;
15
+ rpcMethods: readonly string[];
16
+ }
17
+ export interface ImsgDoctorReport {
18
+ binary: string;
19
+ status: ImsgNativeStatus | null;
20
+ checks: readonly ImsgDoctorCheck[];
21
+ ok: boolean;
22
+ }
23
+ export declare function assessImsgStatus(binary: string, status: ImsgNativeStatus): ImsgDoctorReport;
24
+ export declare function runImsgDoctor(): ImsgDoctorReport;
25
+ export declare function formatImsgDoctorReport(report: ImsgDoctorReport): string;
package/dist/doctor.js ADDED
@@ -0,0 +1,92 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { imsgBinary } from './imsg/binary.js';
3
+ function parseStatus(stdout) {
4
+ const payload = JSON.parse(stdout);
5
+ return {
6
+ version: typeof payload.version === 'string' ? payload.version : null,
7
+ basicFeatures: payload.basic_features === true,
8
+ advancedFeatures: payload.advanced_features === true,
9
+ bridgeVersion: typeof payload.bridge_version === 'number' ? payload.bridge_version : null,
10
+ v2Ready: payload.v2_ready === true,
11
+ sip: typeof payload.sip === 'string' ? payload.sip : null,
12
+ selectors: payload.selectors ?? {},
13
+ rpcMethods: payload.rpc_methods ?? [],
14
+ };
15
+ }
16
+ export function assessImsgStatus(binary, status) {
17
+ const checks = [
18
+ {
19
+ id: 'binary',
20
+ level: 'info',
21
+ message: `Using ${binary}${status.version ? ` (${status.version})` : ''}.`,
22
+ },
23
+ {
24
+ id: 'basic-features',
25
+ level: status.basicFeatures ? 'info' : 'error',
26
+ message: status.basicFeatures
27
+ ? 'Basic Messages controls are available.'
28
+ : 'Basic Messages controls are unavailable; inspect the native status output and host permissions.',
29
+ },
30
+ {
31
+ id: 'bridge',
32
+ level: status.advancedFeatures && status.v2Ready ? 'info' : 'warning',
33
+ message: status.advancedFeatures && status.v2Ready
34
+ ? `The injected bridge is ready${status.bridgeVersion === null ? '' : ` (v${status.bridgeVersion})`}.`
35
+ : 'The injected bridge is not ready; bridge-backed controls will fail closed.',
36
+ },
37
+ {
38
+ id: 'patched-capabilities',
39
+ level: 'info',
40
+ message: `Patched selectors: ${Object.entries(status.selectors)
41
+ .filter(([, available]) => available)
42
+ .map(([name]) => name)
43
+ .sort()
44
+ .join(', ') || 'none'}.`,
45
+ },
46
+ {
47
+ id: 'rpc-surface',
48
+ level: 'info',
49
+ message: `RPC methods advertised: ${status.rpcMethods.length}.`,
50
+ },
51
+ ];
52
+ if (status.sip !== null) {
53
+ checks.push({
54
+ id: 'sip',
55
+ level: status.sip.toLowerCase() === 'disabled' ? 'info' : 'warning',
56
+ message: `System Integrity Protection: ${status.sip}.`,
57
+ });
58
+ }
59
+ return {
60
+ binary,
61
+ status,
62
+ checks,
63
+ ok: checks.every((check) => check.level !== 'error'),
64
+ };
65
+ }
66
+ export function runImsgDoctor() {
67
+ const binary = imsgBinary();
68
+ try {
69
+ const stdout = execFileSync(binary, ['status', '--json'], { encoding: 'utf8', timeout: 10_000 });
70
+ return assessImsgStatus(binary, parseStatus(stdout));
71
+ }
72
+ catch (error) {
73
+ const detail = error instanceof Error ? error.message : 'unknown error';
74
+ return {
75
+ binary,
76
+ status: null,
77
+ checks: [
78
+ {
79
+ id: 'status-probe',
80
+ level: 'error',
81
+ message: `Could not run ${binary} status --json: ${detail}`,
82
+ },
83
+ ],
84
+ ok: false,
85
+ };
86
+ }
87
+ }
88
+ export function formatImsgDoctorReport(report) {
89
+ const heading = report.ok ? 'imsg-sdk doctor: ready' : 'imsg-sdk doctor: action required';
90
+ return [heading, ...report.checks.map((check) => `[${check.level}] ${check.message}`)].join('\n');
91
+ }
92
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,7 @@ export declare class FakeGateway implements Gateway {
81
81
  partIndex?: number;
82
82
  }): Promise<SendResult>;
83
83
  sendPoll(chatId: number, question: string, options: string[]): Promise<SendResult>;
84
+ votePoll(chatId: number, pollGuid: string, optionId: string): Promise<ReactResult>;
84
85
  sendRichLink(chatId: number, _url: string): Promise<SendResult>;
85
86
  editMessage(chatId: number, targetGuid: string, text: string): Promise<{
86
87
  ok: boolean;
@@ -506,6 +506,48 @@ export class FakeGateway {
506
506
  const { balloon } = this.injectPollCreate({ chatId, fromMe: true, question, options });
507
507
  return { ok: true, guid: balloon.guid };
508
508
  }
509
+ async votePoll(chatId, pollGuid, optionId) {
510
+ await this.delay();
511
+ if (!optionId)
512
+ return { ok: false };
513
+ const chat = this.chats.get(chatId);
514
+ if (!chat)
515
+ return { ok: false };
516
+ let snap;
517
+ try {
518
+ snap = this.pollSnapshot(chatId, pollGuid);
519
+ }
520
+ catch {
521
+ return { ok: false, skipped: 'stale-target' };
522
+ }
523
+ const optionText = new Map(snap.options.map((o) => [o.id, o.text])).get(optionId);
524
+ if (optionText === undefined)
525
+ throw new Error(`votePoll: unknown option ${optionId}`);
526
+ const votes = [
527
+ {
528
+ event_type: 'selected',
529
+ option_id: optionId,
530
+ option_text: optionText,
531
+ participant: 'mapi',
532
+ server_time: `${Date.now() / 1000}`,
533
+ },
534
+ ];
535
+ const msg = this.buildMessage(chat, {
536
+ is_from_me: true,
537
+ text: ' ',
538
+ poll: {
539
+ kind: 'vote',
540
+ event: 'imessage.poll.voted',
541
+ vote: votes[0],
542
+ votes,
543
+ poll_guid: pollGuid,
544
+ original_guid: pollGuid,
545
+ metadata: { associated_message_type: 4000 },
546
+ },
547
+ });
548
+ this.emit(msg);
549
+ return { ok: true };
550
+ }
509
551
  async sendRichLink(chatId, _url) {
510
552
  await this.delay();
511
553
  const chat = this.chats.get(chatId);
@@ -1 +1 @@
1
- {"version":3,"file":"fake.js","sourceRoot":"","sources":["../../src/gateway/fake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake.js","sourceRoot":"","sources":["../../src/gateway/fake.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare class ImsgGateway implements Gateway {
41
41
  partIndex?: number;
42
42
  }): Promise<SendResult>;
43
43
  sendPoll(chatId: number, question: string, options: string[]): Promise<SendResult>;
44
+ votePoll(chatId: number, pollGuid: string, optionId: string): Promise<ReactResult>;
44
45
  sendRichLink(chatId: number, url: string): Promise<SendResult>;
45
46
  editMessage(chatId: number, targetGuid: string, text: string): Promise<{
46
47
  ok: boolean;
@@ -1,8 +1,9 @@
1
1
  import { execFile } from 'node:child_process';
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import { imsgBinary } from '../imsg/binary.js';
4
+ import { pollEventKind, pollOriginGuid } from '../polls.js';
4
5
  import { sendReaction } from '../imsg/react.js';
5
- import { ImsgRpc } from '../imsg/rpc.js';
6
+ import { ImsgRpc, ImsgRpcError } from '../imsg/rpc.js';
6
7
  import { readPatchedGatewayCapabilities } from '../imsg/status.js';
7
8
  import { ImsgWatch } from '../imsg/watch.js';
8
9
  import { toReactionNoteType } from './types.js';
@@ -31,9 +32,9 @@ const CHAT_SCAN_LIMIT = 40;
31
32
  // beyond the ceiling still fails closed instead of claiming uniqueness from a
32
33
  // partial directory.
33
34
  const GROUP_CHAT_SCAN_LIMIT = 100_000;
34
- // Tier-2 (bridge) verify-after-fire polling. Bridge calls are async IMCore
35
- // dispatch, not synchronous AppleScript — same "exit 0 lies" discipline as
36
- // react()/createGroup(), just a different underlying mechanism (a private
35
+ // Bridge verify-after-fire polling. Bridge calls are async IMCore dispatch,
36
+ // not synchronous AppleScript — same "exit 0 lies" discipline as react(),
37
+ // just a different underlying mechanism (a private
37
38
  // API queued through openclaw's v2 IPC, not UI automation), so these do NOT
38
39
  // take uiMutex: the bridge is built for concurrent access, unlike Messages.app's
39
40
  // single GUI focus.
@@ -47,10 +48,8 @@ const GROUP_MUTATION_VERIFY_ATTEMPTS = 20;
47
48
  // the newest — contract §2 — so this window is generous, matching the
48
49
  // existing recentReactions/resolveDmChat scan-window convention).
49
50
  const TIER2_HISTORY_SCAN = 30;
50
- // Serializes react() and createGroup() both drive Messages.app UI
51
- // automation and share one GUI session (docs/gateway-contract.md §2 "UI
52
- // automation mutex"). send() does not take this lock; it's AppleScript
53
- // events, no UI focus needed, and parallelizes fine.
51
+ // Serializes Messages.app UI automation. createGroup() only enters this mutex
52
+ // when the native chats.create method is conclusively unavailable.
54
53
  class Mutex {
55
54
  tail = Promise.resolve();
56
55
  run(fn) {
@@ -225,28 +224,31 @@ export class ImsgGateway {
225
224
  });
226
225
  }
227
226
  async createGroup(handles, firstMessage) {
228
- return this.uiMutex.run(async () => {
229
- await runCreateGroupScript(handles, firstMessage);
230
- const wanted = new Set(handles.map(normalizeHandle));
231
- // Locate the thread by CONTENT, not just participant set: an existing
232
- // group with the same members must only match if our first message
233
- // actually landed there (Messages may reuse the existing thread), and
234
- // a compose that silently failed (observed 2026-07-02, SMS-flapped
235
- // recipient) must surface as an error, not a stale chatId.
236
- for (let attempt = 0; attempt < GROUP_VERIFY_ATTEMPTS; attempt++) {
237
- await delay(GROUP_VERIFY_INTERVAL_MS);
238
- const chats = await this.rpc.chats(20);
239
- const candidates = chats.filter((c) => c.is_group && sameParticipants(c.participants, wanted));
240
- for (const candidate of candidates) {
241
- const recent = await this.rpc.history(candidate.id, 3);
242
- if (recent.some((m) => m.is_from_me && m.text === firstMessage)) {
243
- return { chatId: candidate.id };
244
- }
227
+ try {
228
+ await this.rpc.createChat(handles, firstMessage);
229
+ }
230
+ catch (error) {
231
+ if (!(error instanceof ImsgRpcError) || error.code !== -32601)
232
+ throw error;
233
+ await this.uiMutex.run(() => runCreateGroupScript(handles, firstMessage));
234
+ }
235
+ const wanted = new Set(handles.map(normalizeHandle));
236
+ // Locate the thread by CONTENT, not just participant set: an existing
237
+ // group with the same members must only match if our first message
238
+ // actually landed there, and an async dispatch failure must surface as
239
+ // an error rather than a stale chatId.
240
+ for (let attempt = 0; attempt < GROUP_VERIFY_ATTEMPTS; attempt++) {
241
+ await delay(GROUP_VERIFY_INTERVAL_MS);
242
+ const chats = await readFreshChats(20);
243
+ const candidates = chats.filter((c) => c.is_group && sameParticipants(c.participants, wanted));
244
+ for (const candidate of candidates) {
245
+ const recent = await this.rpc.history(candidate.id, 3);
246
+ if (recent.some((m) => m.is_from_me && m.text === firstMessage)) {
247
+ return { chatId: candidate.id };
245
248
  }
246
249
  }
247
- throw new Error('createGroup: first message never appeared in any matching group thread — compose likely failed silently ' +
248
- '(check recipients are iMessage-reachable; SMS handles cannot join an iMessage group)');
249
- });
250
+ }
251
+ throw new Error('createGroup: first message never appeared in a matching group thread after dispatch');
250
252
  }
251
253
  // Inbound tapbacks on OUR messages, newest-first — read from history's
252
254
  // reactions[] aggregate, so it survives restarts.
@@ -468,6 +470,34 @@ export class ImsgGateway {
468
470
  return { ok: false };
469
471
  }
470
472
  }
473
+ async votePoll(chatId, pollGuid, optionId) {
474
+ if (!optionId)
475
+ return { ok: false };
476
+ const recent = await this.rpc.history(chatId, TIER2_HISTORY_SCAN);
477
+ if (!recent.some((m) => m.poll && pollOriginGuid(m) === pollGuid && pollEventKind(m.poll) === 'created')) {
478
+ return { ok: false, skipped: 'stale-target' };
479
+ }
480
+ try {
481
+ await this.rpc.votePoll(chatId, pollGuid, optionId);
482
+ }
483
+ catch (err) {
484
+ console.error(`[gateway] votePoll failed: ${String(err)}`);
485
+ return { ok: false };
486
+ }
487
+ for (let attempt = 0; attempt < TIER2_VERIFY_ATTEMPTS; attempt++) {
488
+ await delay(TIER2_VERIFY_INTERVAL_MS);
489
+ const after = await this.rpc.history(chatId, TIER2_HISTORY_SCAN);
490
+ const own = after
491
+ .filter((m) => m.is_from_me && m.poll && pollOriginGuid(m) === pollGuid && pollEventKind(m.poll) === 'vote')
492
+ .at(-1);
493
+ if (!own?.poll)
494
+ continue;
495
+ const cast = (own.poll.votes ?? (own.poll.vote ? [own.poll.vote] : [])).map((v) => v.option_id);
496
+ if (cast.includes(optionId))
497
+ return { ok: true };
498
+ }
499
+ return { ok: false };
500
+ }
471
501
  // The url submode returns `{ok, queued}` with NO guid. Host-verified delivered
472
502
  // after the patched fork moved the deferred bridge send onto its synchronous
473
503
  // path; callers still cannot use the queued response itself as delivery proof.