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

@@ -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":"AAAA,OAAO,EAAE,KAAK,EAA4B,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAmD,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2BzC,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE1B;IAKA;IANX,YACW,IAAY,EACrB,OAAe;IACf,0EAA0E;IAC1E,uEAAuE;IACvE,oBAAoB;IACX,IAAa;QAEtB,KAAK,CAAC,YAAY,IAAI,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAPxD,SAAI,GAAJ,IAAI,CAAQ;QAKZ,SAAI,GAAJ,IAAI,CAAS;QAGtB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAwKD,wEAAwE;AACxE,sEAAsE;AACtE,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAE1C,8EAA8E;AAC9E,wEAAwE;AACxE,gFAAgF;AAChF,SAAS,cAAc,CAAC,SAA6B;IACnD,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,OAAO,OAAO;IAQR;IACA;IACA;IACA;IAGA;IAbF,KAAK,CAAgD;IACrD,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IACrC,QAAQ,GAAG,KAAK,CAAC;IACjB,eAAe,GAAG,KAAK,CAAC;IAEhC,YACU,SAAqC,EACrC,MAAqC,EACrC,mBAAmB,0BAA0B,EAC7C,eAAwC,GAAG,EAAE,GAAE,CAAC;IACxD,oEAAoE;IACpE,gEAAgE;IACxD,aAA+C,GAAG,EAAE,GAAE,CAAC;QANvD,cAAS,GAAT,SAAS,CAA4B;QACrC,WAAM,GAAN,MAAM,CAA+B;QACrC,qBAAgB,GAAhB,gBAAgB,CAA6B;QAC7C,iBAAY,GAAZ,YAAY,CAAoC;QAGhD,eAAU,GAAV,UAAU,CAA6C;QAE/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEO,aAAa,CAAC,IAAmB,EAAE,KAAY;QACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,GAAgB,CAAC;QACrB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC;gBAAE,OAAO;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,GAAG,CAAC,KAAK;gBAAE,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;gBACxF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK,6BAA6B,EAAE,CAAC;YAChG,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClD,iEAAiE;YACjE,kEAAkE;YAClE,iEAAiE;YACjE,IAAI,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;;gBAC/B,kBAAkB,CAAC,+BAA+B,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,CAAI,MAAc,EAAE,MAAe;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,MAAM,oBAAoB,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;gBAC3F,sEAAsE;gBACtE,qEAAqE;gBACrE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAA+B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,SAAS,CAAC,UAAmB,EAAE,UAA4B,EAAE;QACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAA2B,iBAAiB,EAAE;YAC1E,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,iBAAiB,EAAE,IAAI;YACvB,WAAW,EAAE,IAAI;YACjB,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;SACvG,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAI,CACF,MAA2C,EAC3C,IAAY,EACZ,UAA0B,UAAU;QAEpC,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACjH,OAAO,IAAI,CAAC,OAAO,CAAa,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,KAAK,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAA8B,kBAAkB,EAAE;YAC9E,OAAO,EAAE,MAAM;YACf,KAAK;YACL,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,gEAAgE;QAChE,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAA4B;QAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAA8B,kBAAkB,EAAE;YAC9E,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG;YAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;aACrB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,UAAU;gBAAE,OAAO,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC;YACnE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1D,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC;QAC/F,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAoB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAA6B,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,SAAmB,EAAE,IAAY;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,qEAAqE;IACrE,0EAA0E;IAC1E,0EAA0E;IAC1E,sDAAsD;IAEtD,oFAAoF;IACpF,4EAA4E;IAC5E,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,yDAAyD;IACzD,EAAE;IACF,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,sEAAsE;IACtE,OAAO,CACL,MAAc,EACd,UAAkB,EAClB,QAAkB,EAClB,MAAM,GAAG,KAAK,EACd,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC7B,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,GAAG,cAAc,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,kEAAkE;IAClE,0CAA0C;IAC1C,YAAY,CACV,MAAc,EACd,UAAkB,EAClB,KAAa,EACb,MAAM,GAAG,KAAK,EACd,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC7B,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,UAAU;YACxB,KAAK;YACL,MAAM;YACN,GAAG,cAAc,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,4DAA4D;IAC5D,QAAQ,CACN,MAAc,EACd,IAAY,EACZ,OAKI,EAAE;QAEN,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,MAAM;YACf,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,wEAAwE;IACxE,cAAc,CACZ,MAAc,EACd,QAAgB,EAChB,OAAkD,EAAE;QAEpD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACrC,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,wEAAwE;IACxE,4EAA4E;IAC5E,cAAc;IACd,aAAa,CAAC,MAA2B;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,4DAA4D;IAC5D,yDAAyD;IACzD,iBAAiB,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,4DAA4D;IAC5D,mDAAmD;IACnD,WAAW,CAAC,OAAe,EAAE,OAA0C,EAAE;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YACnC,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,wEAAwE;IACxE,gEAAgE;IAChE,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,sEAAsE;IACtE,mEAAmE;IACnE,WAAW,CACT,MAAc,EACd,QAAgB,EAChB,OAAoF,EAAE;QAEtF,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAClC,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,8DAA8D;IAC9D,QAAQ,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAiB;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAgB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,YAAY,CAAC,MAAc,EAAE,GAAW;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,0EAA0E;IAC1E,sDAAsD;IACtD,WAAW,CAAC,MAAc,EAAE,UAAkB,EAAE,IAAY;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,UAAkB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,UAAkB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,SAAS,CAAC,MAAc,EAAE,EAAW;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,4EAA4E;IAC5E,4DAA4D;IAC5D,WAAW,CAAC,MAAc,EAAE,IAAY;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,0EAA0E;IAC1E,aAAa;IACb,aAAa,CAAC,MAAc,EAAE,QAAiB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,MAAc;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,iBAAiB,CAAC,MAAc,EAAE,MAAc;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,oBAAoB,CAAC,MAAc,EAAE,WAAoB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE;YAC5C,OAAO,EAAE,MAAM;YACf,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,MAAc,EAAE,MAAc;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,sDAAsD;IACtD,mEAAmE;IACnE,oBAAoB,CAAC,MAAc,EAAE,sBAA+B;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE;YAC5C,OAAO,EAAE,MAAM;YACf,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,aAAa,CAAC,QAAiB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,yEAAyE;IACzE,mEAAmE;IACnE,mBAAmB,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,qDAAqD;IACrD,iBAAiB,CAAC,MAA+B;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -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() {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/imsg/status.ts"],"names":[],"mappings":"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"}
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 |
@@ -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 maps the always-present `transfer_guid` to `SendResult.guid`.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapier/imsg-sdk",
3
- "version": "0.6.0",
3
+ "version": "0.8.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": {