@mono-agent/slack-adapter 0.3.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAI9B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AA0J7B,MAAM,gBAAgB,GAAmC;IACvD,WAAW,EACT,4EAA4E;IAC9E,QAAQ,EACN,wGAAwG;IAC1G,QAAQ,EAAE,kEAAkE;IAC5E,gBAAgB,EAAE,uDAAuD;IACzE,aAAa,EAAE,YAAY;IAC3B,SAAS,EAAE,uDAAuD;IAClE,eAAe,EAAE,gEAAgE;CAClF,CAAC;AAEF,MAAM,OAAO,YAAY;IACN,GAAG,CAAc;IACjB,SAAS,CAAiB;IAC1B,gBAAgB,CAAU;IAC1B,iBAAiB,CAAc;IAC/B,UAAU,CAAc;IACxB,aAAa,CAAoB;IACjC,kBAAkB,CAAoB;IACtC,gBAAgB,CAAU;IAC1B,aAAa,CAA4B;IACzC,QAAQ,CAAiC;IACzC,MAAM,CAAiC;IACvC,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE3D,YAAY,OAA4B;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAC9B,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CACpF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACvE,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,gBAAgB;YACnB,OAAO,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CACjB,oEAAoE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;gBACpC,SAAS,EAAE,KAAK,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;gBACnC,SAAS,EAAE,KAAK,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAC/B,SAAS,EAAE,KAAK,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAC5B,SAAS,EAAE,KAAK,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACjC,SAAS,EAAE,KAAK,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAC5B,SAAS,EAAE,KAAK,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAqB,EACrB,IAAY,EACZ,MAAc;QAEd,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAc,EAAE,UAAU,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvC,MAAM,aAAa,GAA8B;YAC/C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACvD,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpD,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACrD,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,IAAI,aAAa,CAAC,CAAC;YAC3E,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnF,CAAC;YAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE/D,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnF,CAAC;YAED,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAA6B;gBACvC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACtC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnF,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,iCAAiC,EAAE;gBACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACtF,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,QAA4B;QAE5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,IACE,SAAS,KAAK,SAAS;YACvB,QAAQ,CAAC,YAAY,KAAK,IAAI,EAC9B,CAAC;YACD,OAAO,OAAO,CAAC,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC;QACD,IACE,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpC,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;YAC/B,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;YACD,OAAO,OAAO,CAAC,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC7F,CAAC,CAAC,QAAQ,CAAC,SAAS;YACpB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChB,MAAM,KAAK,GAAmB;YAC5B,OAAO,EAAE,QAAQ,CAAC,QAAQ;YAC1B,SAAS,EAAE,QAAQ,CAAC,OAAO;YAC3B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrC,SAAS,EAAE,QAAQ,CAAC,EAAE;YACtB,QAAQ;YACR,OAAO;SACR,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;QACxC,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC5C,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAEO,YAAY,CAAC,SAAyB;QAC5C,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7F,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,KAAqB;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC5D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CACd,MAA+B,EAC/B,QAA4B,EAC5B,KAAqB;IAErB,MAAM,MAAM,GAA2D;QACrE,IAAI,EAAE,SAAS;QACf,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,QAAQ;KAC3B,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAqB,EACrB,IAAY,EACZ,WAAwB;IAExB,MAAM,QAAQ,GAAyB;QACrC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE;YACP,EAAE,EAAE,KAAK,CAAC,SAAS;SACpB;QACD,OAAO,EAAE;YACP,EAAE,EAAE,KAAK,CAAC,SAAS;SACpB;QACD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAiB;QAC5B,cAAc,EAAE,SAAS,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC5D,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW;QACX,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC9B,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACxD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,MAA0B,EAC1B,IAAY,EACZ,MAAsC;IAEtC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,CAAC,+CAA+C,EAAE;YAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACtC,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export type { SlackAppsConnectionsOpenResult, SlackAuthTestResult, SlackChannelId, SlackChatPostMessageParams, SlackChatPostMessageResult, SlackChatUpdateParams, SlackChatUpdateResult, SlackEventBase, SlackEventCallback, SlackMessageTs, SlackRequestOptions, SlackSocketModeEnvelope, SlackUserId, SlackWebApi, } from "./types.js";
1
+ export type { SlackAppsConnectionsOpenResult, SlackAuthTestResult, SlackChannelId, SlackChatPostMessageParams, SlackChatPostMessageResult, SlackChatUpdateParams, SlackChatUpdateResult, SlackDownloadFileParams, SlackEventBase, SlackEventCallback, SlackFile, SlackMessageTs, SlackRequestOptions, SlackSocketModeEnvelope, SlackUserId, SlackWebApi, } from "./types.js";
2
2
  export { SlackApiError, SlackWebApiClient, } from "./slack-client.js";
3
3
  export type { SlackApiErrorDetails, SlackApiErrorKind, SlackWebApiClientOptions, } from "./slack-client.js";
4
- export { SlackMessageStream, } from "./message-stream.js";
5
- export type { AgentMessageStream, SlackMessageStreamLogger, SlackMessageStreamOptions, } from "./message-stream.js";
4
+ export { SlackDeliveryError, SlackMessageStream, classifySlackError, } from "./message-stream.js";
5
+ export type { AgentMessageStream, SlackMessageStreamLogger, SlackMessageStreamOptions, SlackSendOutcome, } from "./message-stream.js";
6
6
  export { SlackAdapter, } from "./adapter.js";
7
- export type { AgentRequest, AgentResponder, AgentResponse, SlackAdapterLogger, SlackAdapterMessages, SlackAdapterOptions, SlackAdapterStreamOptions, SlackEventHandlingResult, SlackEventIgnoredReason, SlackRequestMetadata, SlackTriggerKind, } from "./adapter.js";
7
+ export type { AgentRequest, AgentResponder, AgentResponse, SlackAdapterLogger, SlackAdapterMessages, SlackAdapterOptions, SlackAdapterStreamOptions, SlackAttachmentOptions, SlackEventHandlingResult, SlackEventIgnoredReason, SlackRequestMetadata, SlackTriggerKind, } from "./adapter.js";
8
8
  export { SlackSocketModeRunner, } from "./socket-mode-runner.js";
9
9
  export type { SlackEventCallbackHandler, SlackSocketModeRunnerBackoffOptions, SlackSocketModeRunnerLogger, SlackSocketModeRunnerOptions, SlackSocketModeRunnerStartOptions, SlackWebSocketFactory, SlackWebSocketLike, } from "./socket-mode-runner.js";
10
10
  export { startSlackAdapter, } from "./start.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,8BAA8B,EAC9B,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,yBAAyB,EACzB,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,8BAA8B,EAC9B,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,yBAAyB,EACzB,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { SlackApiError, SlackWebApiClient, } from "./slack-client.js";
2
- export { SlackMessageStream, } from "./message-stream.js";
2
+ export { SlackDeliveryError, SlackMessageStream, classifySlackError, } from "./message-stream.js";
3
3
  export { SlackAdapter, } from "./adapter.js";
4
4
  export { SlackSocketModeRunner, } from "./socket-mode-runner.js";
5
5
  export { startSlackAdapter, } from "./start.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,YAAY,GACb,MAAM,cAAc,CAAC;AActB,OAAO,EACL,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EACL,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAOpB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,GAChB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,YAAY,GACb,MAAM,cAAc,CAAC;AAetB,OAAO,EACL,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EACL,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAOpB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,GAChB,MAAM,aAAa,CAAC"}
@@ -1,54 +1,92 @@
1
- import type { AgentMessageStream as AgentMessageStreamBase } from "@mono-agent/agent-contracts";
1
+ import type { AgentMessageStream as AgentMessageStreamBase, AgentStreamEvent, ResilientMessageStreamLogger } from "@mono-agent/agent-contracts";
2
2
  import type { SlackChannelId, SlackMessageTs, SlackWebApi } from "./types.js";
3
3
  export interface AgentMessageStream extends AgentMessageStreamBase {
4
4
  status(text: string): Promise<void>;
5
5
  append(delta: string): Promise<void>;
6
6
  replace(text: string): Promise<void>;
7
+ event(event: AgentStreamEvent): Promise<void>;
7
8
  finish(finalText?: string): Promise<void>;
8
9
  }
10
+ export type SlackMessageStreamLogger = ResilientMessageStreamLogger;
9
11
  export interface SlackMessageStreamOptions {
10
12
  api: SlackWebApi;
11
13
  channelId: SlackChannelId;
12
14
  threadTs?: SlackMessageTs;
15
+ /** Message ts to react to (👀 "seen") in final-only mode. */
16
+ reactToTs?: SlackMessageTs;
17
+ /**
18
+ * Deliver only the final answer: suppress interim edits and react 👀 ("seen")
19
+ * while the agent works. Default false.
20
+ */
21
+ finalOnly?: boolean;
13
22
  initialStatusText?: string;
14
23
  editDebounceMs?: number;
15
24
  maxMessageChars?: number;
25
+ /** Maximum retries for a *final* delivery before giving up. Default 3. */
26
+ maxSendRetries?: number;
27
+ /** Upper bound on any honored `retry-after`/backoff wait, in ms. Default 60000. */
28
+ retryCapMs?: number;
29
+ /** Base delay for exponential backoff between final-delivery retries. Default 500. */
30
+ retryBaseDelayMs?: number;
31
+ /** Render lightweight tool activity hints as the live status. Default true. */
32
+ showHints?: boolean;
33
+ /**
34
+ * Status shown via `assistant.threads.setStatus` ("App is <status>") while the
35
+ * agent works, when this is a Slack AI-assistant thread. Falls back to the 👀
36
+ * reaction in regular channels/DMs. Default "is thinking…".
37
+ */
38
+ assistantStatusText?: string;
39
+ /** Aborts in-flight retry waits (e.g. on /cancel). */
40
+ abortSignal?: AbortSignal;
16
41
  logger?: SlackMessageStreamLogger;
17
42
  }
18
- export interface SlackMessageStreamLogger {
19
- debug?(message: string, metadata?: Record<string, unknown>): void;
20
- warn?(message: string, metadata?: Record<string, unknown>): void;
21
- error?(message: string, metadata?: Record<string, unknown>): void;
43
+ /**
44
+ * Raised only when a *final* delivery cannot reach Slack after retries and the
45
+ * last-resort fresh post. The AI request itself already succeeded, so the
46
+ * adapter treats this as a degraded delivery — never as an agent failure.
47
+ *
48
+ * Retained as the adapter's public error type; the shared substrate raises a
49
+ * {@link ChannelDeliveryError}, which this class normalizes so callers continue
50
+ * to catch `SlackDeliveryError`.
51
+ */
52
+ export declare class SlackDeliveryError extends Error {
53
+ readonly cause: unknown;
54
+ readonly attempts: number;
55
+ constructor(message: string, details: {
56
+ cause: unknown;
57
+ attempts: number;
58
+ });
22
59
  }
60
+ /** How a failed Slack post/update should be handled. */
61
+ export type SlackSendOutcome = {
62
+ kind: "recreate";
63
+ } | {
64
+ kind: "reformat_plain";
65
+ } | {
66
+ kind: "retry";
67
+ retryAfterMs?: number;
68
+ } | {
69
+ kind: "fatal";
70
+ };
71
+ /**
72
+ * Thin wrapper over the shared {@link ResilientMessageStream}. It builds a
73
+ * {@link SlackChannelTransport} and delegates the streaming/resilience FSM,
74
+ * preserving the adapter's public surface: the `status/append/replace/event/
75
+ * finish` API, friendly tool hints, abort-aware retries, and a Slack-shaped
76
+ * delivery error.
77
+ */
23
78
  export declare class SlackMessageStream implements AgentMessageStream {
24
- private readonly api;
25
- private readonly channelId;
26
- private readonly threadTs;
27
- private readonly initialStatusText;
28
- private readonly editDebounceMs;
29
- private readonly maxMessageChars;
30
- private readonly logger;
31
- private currentText;
32
- private statusText;
33
- private sentMessage;
34
- private sendMessagePromise;
35
- private editTimer;
36
- private inFlightUpdate;
37
- private lastAsyncError;
38
- private finished;
79
+ private readonly inner;
39
80
  constructor(options: SlackMessageStreamOptions);
40
81
  status(text: string): Promise<void>;
41
82
  append(delta: string): Promise<void>;
42
83
  replace(text: string): Promise<void>;
84
+ event(event: AgentStreamEvent): Promise<void>;
43
85
  finish(finalText?: string): Promise<void>;
44
- private ensureMessage;
45
- private withThread;
46
- private scheduleUpdate;
47
- private startInFlightUpdate;
48
- private flushUpdate;
49
- private cancelScheduledUpdate;
50
- private awaitInFlightUpdate;
51
- private throwIfAsyncError;
52
- private assertOpen;
53
86
  }
87
+ /**
88
+ * Classify a Slack post/update failure into a recovery strategy. Pure and
89
+ * exported so the recovery policy can be unit-tested directly.
90
+ */
91
+ export declare function classifySlackError(error: unknown): SlackSendOutcome;
54
92
  //# sourceMappingURL=message-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-stream.d.ts","sourceRoot":"","sources":["../src/message-stream.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EACV,cAAc,EAEd,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACnE;AAMD,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,kBAAkB,CAAkD;IAC5E,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,yBAAyB;IAqBxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiCjC,aAAa;IAiB3B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,mBAAmB;YAgBb,WAAW;IAUzB,OAAO,CAAC,qBAAqB;YAOf,mBAAmB;YAOnB,iBAAiB;IAY/B,OAAO,CAAC,UAAU;CAKnB"}
1
+ {"version":3,"file":"message-stream.d.ts","sourceRoot":"","sources":["../src/message-stream.ts"],"names":[],"mappings":"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"}
@@ -1,105 +1,99 @@
1
- import { DEFAULT_EMPTY_FINAL_TEXT, DEFAULT_MAX_MESSAGE_CHARS, buildStreamingTailPreview, normalizeTrailing, splitTextByCodePoints, } from "@mono-agent/agent-contracts";
1
+ import { ChannelDeliveryError, DEFAULT_MAX_MESSAGE_CHARS, ResilientMessageStream, } from "@mono-agent/agent-contracts";
2
+ import { SlackApiError } from "./slack-client.js";
2
3
  import { formatMarkdownForSlack } from "./slack-markdown.js";
4
+ /**
5
+ * Raised only when a *final* delivery cannot reach Slack after retries and the
6
+ * last-resort fresh post. The AI request itself already succeeded, so the
7
+ * adapter treats this as a degraded delivery — never as an agent failure.
8
+ *
9
+ * Retained as the adapter's public error type; the shared substrate raises a
10
+ * {@link ChannelDeliveryError}, which this class normalizes so callers continue
11
+ * to catch `SlackDeliveryError`.
12
+ */
13
+ export class SlackDeliveryError extends Error {
14
+ cause;
15
+ attempts;
16
+ constructor(message, details) {
17
+ super(message);
18
+ this.name = "SlackDeliveryError";
19
+ this.cause = details.cause;
20
+ this.attempts = details.attempts;
21
+ }
22
+ }
3
23
  const DEFAULT_INITIAL_STATUS_TEXT = "Thinking...";
4
- const DEFAULT_EDIT_DEBOUNCE_MS = 750;
5
- const EMPTY_FINAL_TEXT = DEFAULT_EMPTY_FINAL_TEXT;
6
- export class SlackMessageStream {
24
+ const DEFAULT_ASSISTANT_STATUS_TEXT = "is thinking…";
25
+ /**
26
+ * Adapts a {@link SlackWebApi} to the transport-agnostic {@link ChannelTransport}
27
+ * the shared {@link ResilientMessageStream} drives. Posts/edits map to
28
+ * chat.postMessage / chat.update (preserving `thread_ts`), failures are mapped
29
+ * through {@link classifySlackError}, and markdown renders via
30
+ * {@link formatMarkdownForSlack}. `mrkdwn` mirrors the substrate's markdown flag
31
+ * so a `reformat_plain` retry drops to plain text.
32
+ */
33
+ class SlackChannelTransport {
34
+ maxMessageChars;
7
35
  api;
8
36
  channelId;
9
37
  threadTs;
10
- initialStatusText;
11
- editDebounceMs;
12
- maxMessageChars;
13
- logger;
14
- currentText = "";
15
- statusText;
16
- sentMessage;
17
- sendMessagePromise;
18
- editTimer;
19
- inFlightUpdate;
20
- lastAsyncError;
21
- finished = false;
38
+ reactToTs;
39
+ assistantStatusText;
40
+ reacted = false;
41
+ assistantStatusUnavailable = false;
22
42
  constructor(options) {
23
43
  this.api = options.api;
24
44
  this.channelId = options.channelId;
25
45
  this.threadTs = options.threadTs;
26
- this.initialStatusText = normalizeTrailing(options.initialStatusText ?? DEFAULT_INITIAL_STATUS_TEXT, EMPTY_FINAL_TEXT);
27
- this.statusText = this.initialStatusText;
28
- this.editDebounceMs = options.editDebounceMs ?? DEFAULT_EDIT_DEBOUNCE_MS;
29
- this.maxMessageChars = options.maxMessageChars ?? DEFAULT_MAX_MESSAGE_CHARS;
30
- this.logger = options.logger;
31
- if (!Number.isInteger(this.maxMessageChars) || this.maxMessageChars < 32) {
32
- throw new RangeError("maxMessageChars must be an integer of at least 32.");
33
- }
34
- if (!Number.isFinite(this.editDebounceMs) || this.editDebounceMs < 0) {
35
- throw new RangeError("editDebounceMs must be a non-negative number.");
36
- }
46
+ this.reactToTs = options.reactToTs;
47
+ this.assistantStatusText = options.assistantStatusText;
48
+ this.maxMessageChars = options.maxMessageChars;
37
49
  }
38
- async status(text) {
39
- this.assertOpen();
40
- await this.throwIfAsyncError();
41
- this.statusText = normalizeTrailing(text, EMPTY_FINAL_TEXT);
42
- const hadMessage = this.sentMessage !== undefined;
43
- await this.ensureMessage();
44
- if (hadMessage) {
45
- await this.flushUpdate(this.statusText);
46
- }
47
- }
48
- async append(delta) {
49
- this.assertOpen();
50
- await this.throwIfAsyncError();
51
- if (delta.length === 0) {
50
+ async indicateActivity() {
51
+ // Prefer Slack's official assistant-thread status ("App is <status>"), which
52
+ // Slack auto-clears when the app posts its next message to the thread. It only
53
+ // works inside an AI-assistant thread (needs the assistant:write scope), so if
54
+ // it is unavailable or errors we stop trying for this stream and fall back to
55
+ // the 👀 reaction used in regular channels/DMs.
56
+ if (!this.assistantStatusUnavailable &&
57
+ this.threadTs !== undefined &&
58
+ this.api.setAssistantStatus !== undefined) {
59
+ try {
60
+ await this.api.setAssistantStatus({
61
+ channelId: this.channelId,
62
+ threadTs: this.threadTs,
63
+ status: this.assistantStatusText,
64
+ });
65
+ return;
66
+ }
67
+ catch {
68
+ // Not an assistant thread (or missing scope): don't retry it this stream.
69
+ this.assistantStatusUnavailable = true;
70
+ }
71
+ }
72
+ // Slack has no bot "typing" indicator, so signal "seen" with a 👀 reaction on
73
+ // the triggering message — added once (Slack rejects duplicates).
74
+ if (this.reacted || this.reactToTs === undefined || this.api.reactionsAdd === undefined) {
52
75
  return;
53
76
  }
54
- this.currentText += delta;
55
- await this.ensureMessage();
56
- this.scheduleUpdate();
77
+ this.reacted = true;
78
+ await this.api.reactionsAdd({ channel: this.channelId, timestamp: this.reactToTs, name: "eyes" });
57
79
  }
58
- async replace(text) {
59
- this.assertOpen();
60
- await this.throwIfAsyncError();
61
- this.currentText = text;
62
- await this.ensureMessage();
63
- this.scheduleUpdate();
80
+ async post(text, options) {
81
+ const sent = await this.api.chatPostMessage(this.withThread({ channel: this.channelId, text, mrkdwn: options.markdown }));
82
+ return slackMessageRef(sent);
64
83
  }
65
- async finish(finalText) {
66
- if (this.finished) {
67
- return;
68
- }
69
- this.finished = true;
70
- if (finalText !== undefined) {
71
- this.currentText = finalText;
72
- }
73
- this.cancelScheduledUpdate();
74
- await this.throwIfAsyncError();
75
- await this.awaitInFlightUpdate();
76
- await this.throwIfAsyncError();
77
- const finalMessageText = normalizeTrailing(this.currentText.length > 0 ? this.currentText : EMPTY_FINAL_TEXT, EMPTY_FINAL_TEXT);
78
- const chunks = splitTextByCodePoints(finalMessageText, this.maxMessageChars);
79
- const [firstChunk, ...remainingChunks] = chunks;
80
- await this.ensureMessage();
81
- await this.flushUpdate(firstChunk ?? EMPTY_FINAL_TEXT);
82
- for (const chunk of remainingChunks) {
83
- await this.api.chatPostMessage(this.withThread({
84
- channel: this.channelId,
85
- text: formatMarkdownForSlack(chunk),
86
- mrkdwn: true,
87
- }));
88
- }
84
+ async edit(ref, text, options) {
85
+ await this.api.chatUpdate({
86
+ channel: this.channelId,
87
+ ts: ref.id,
88
+ text,
89
+ mrkdwn: options.markdown,
90
+ });
89
91
  }
90
- async ensureMessage() {
91
- if (this.sentMessage !== undefined) {
92
- return this.sentMessage;
93
- }
94
- if (this.sendMessagePromise === undefined) {
95
- this.sendMessagePromise = this.api.chatPostMessage(this.withThread({
96
- channel: this.channelId,
97
- text: formatMarkdownForSlack(this.statusText),
98
- mrkdwn: true,
99
- }));
100
- }
101
- this.sentMessage = await this.sendMessagePromise;
102
- return this.sentMessage;
92
+ classifyError(error) {
93
+ return classifySlackError(error);
94
+ }
95
+ renderMarkdown(text) {
96
+ return formatMarkdownForSlack(text);
103
97
  }
104
98
  withThread(params) {
105
99
  if (this.threadTs === undefined) {
@@ -107,63 +101,111 @@ export class SlackMessageStream {
107
101
  }
108
102
  return { ...params, thread_ts: this.threadTs };
109
103
  }
110
- scheduleUpdate() {
111
- this.cancelScheduledUpdate();
112
- if (this.editDebounceMs === 0) {
113
- this.startInFlightUpdate();
114
- return;
115
- }
116
- this.editTimer = setTimeout(() => {
117
- this.editTimer = undefined;
118
- this.startInFlightUpdate();
119
- }, this.editDebounceMs);
120
- }
121
- startInFlightUpdate() {
122
- const text = buildStreamingTailPreview(normalizeTrailing(this.currentText, EMPTY_FINAL_TEXT), this.maxMessageChars, "...\n");
123
- this.inFlightUpdate = this.flushUpdate(text).catch((error) => {
124
- this.lastAsyncError = error;
125
- this.logger?.error?.("Slack stream update failed.", {
126
- error: error instanceof Error ? error.message : String(error),
127
- });
128
- throw error;
104
+ }
105
+ function slackMessageRef(message) {
106
+ return { id: message.ts, channel: message.channel };
107
+ }
108
+ /**
109
+ * Thin wrapper over the shared {@link ResilientMessageStream}. It builds a
110
+ * {@link SlackChannelTransport} and delegates the streaming/resilience FSM,
111
+ * preserving the adapter's public surface: the `status/append/replace/event/
112
+ * finish` API, friendly tool hints, abort-aware retries, and a Slack-shaped
113
+ * delivery error.
114
+ */
115
+ export class SlackMessageStream {
116
+ inner;
117
+ constructor(options) {
118
+ const maxMessageChars = options.maxMessageChars ?? DEFAULT_MAX_MESSAGE_CHARS;
119
+ const transport = new SlackChannelTransport({
120
+ api: options.api,
121
+ channelId: options.channelId,
122
+ ...(options.threadTs === undefined ? {} : { threadTs: options.threadTs }),
123
+ ...(options.reactToTs === undefined ? {} : { reactToTs: options.reactToTs }),
124
+ assistantStatusText: options.assistantStatusText ?? DEFAULT_ASSISTANT_STATUS_TEXT,
125
+ maxMessageChars,
129
126
  });
130
- void this.inFlightUpdate.catch(() => undefined);
131
- }
132
- async flushUpdate(text) {
133
- const message = await this.ensureMessage();
134
- await this.api.chatUpdate({
135
- channel: this.channelId,
136
- ts: message.ts,
137
- text: formatMarkdownForSlack(normalizeTrailing(text, EMPTY_FINAL_TEXT)),
138
- mrkdwn: true,
127
+ this.inner = new ResilientMessageStream({
128
+ transport,
129
+ initialStatusText: options.initialStatusText ?? DEFAULT_INITIAL_STATUS_TEXT,
130
+ maxMessageChars,
131
+ formatMarkdown: true,
132
+ ...(options.finalOnly === undefined ? {} : { finalOnly: options.finalOnly }),
133
+ ...(options.editDebounceMs === undefined ? {} : { editDebounceMs: options.editDebounceMs }),
134
+ ...(options.maxSendRetries === undefined ? {} : { maxSendRetries: options.maxSendRetries }),
135
+ ...(options.retryCapMs === undefined ? {} : { retryCapMs: options.retryCapMs }),
136
+ ...(options.retryBaseDelayMs === undefined ? {} : { retryBaseDelayMs: options.retryBaseDelayMs }),
137
+ ...(options.showHints === undefined ? {} : { showHints: options.showHints }),
138
+ ...(options.abortSignal === undefined ? {} : { abortSignal: options.abortSignal }),
139
+ ...(options.logger === undefined ? {} : { logger: options.logger }),
139
140
  });
140
141
  }
141
- cancelScheduledUpdate() {
142
- if (this.editTimer !== undefined) {
143
- clearTimeout(this.editTimer);
144
- this.editTimer = undefined;
145
- }
142
+ status(text) {
143
+ return this.inner.status(text);
146
144
  }
147
- async awaitInFlightUpdate() {
148
- if (this.inFlightUpdate !== undefined) {
149
- await this.inFlightUpdate;
150
- this.inFlightUpdate = undefined;
151
- }
145
+ append(delta) {
146
+ return this.inner.append(delta);
152
147
  }
153
- async throwIfAsyncError() {
154
- if (this.inFlightUpdate !== undefined) {
155
- await this.awaitInFlightUpdate();
156
- }
157
- if (this.lastAsyncError !== undefined) {
158
- const error = this.lastAsyncError;
159
- this.lastAsyncError = undefined;
148
+ replace(text) {
149
+ return this.inner.replace(text);
150
+ }
151
+ event(event) {
152
+ return this.inner.event(event);
153
+ }
154
+ async finish(finalText) {
155
+ try {
156
+ await this.inner.finish(finalText);
157
+ }
158
+ catch (error) {
159
+ if (error instanceof ChannelDeliveryError) {
160
+ throw new SlackDeliveryError("Slack final delivery failed.", {
161
+ cause: error.cause,
162
+ attempts: error.attempts,
163
+ });
164
+ }
160
165
  throw error;
161
166
  }
162
167
  }
163
- assertOpen() {
164
- if (this.finished) {
165
- throw new Error("Cannot write to a finished SlackMessageStream.");
166
- }
168
+ }
169
+ /**
170
+ * Classify a Slack post/update failure into a recovery strategy. Pure and
171
+ * exported so the recovery policy can be unit-tested directly.
172
+ */
173
+ export function classifySlackError(error) {
174
+ if (error instanceof SlackApiError) {
175
+ const slackError = (error.slackError ?? "").toLowerCase();
176
+ if (slackError === "message_not_found" ||
177
+ slackError === "cant_update_message" ||
178
+ slackError === "edit_window_closed") {
179
+ return { kind: "recreate" };
180
+ }
181
+ if (slackError === "invalid_blocks" ||
182
+ slackError === "invalid_block_id" ||
183
+ slackError === "msg_blocks_too_long" ||
184
+ slackError === "as_user_not_supported") {
185
+ return { kind: "reformat_plain" };
186
+ }
187
+ if (error.retryAfterMs !== undefined ||
188
+ error.status === 429 ||
189
+ slackError === "ratelimited" ||
190
+ slackError === "rate_limited") {
191
+ if (error.retryAfterMs !== undefined) {
192
+ return { kind: "retry", retryAfterMs: error.retryAfterMs };
193
+ }
194
+ return { kind: "retry" };
195
+ }
196
+ if (error.kind === "network") {
197
+ return { kind: "retry" };
198
+ }
199
+ if (error.kind === "aborted") {
200
+ return { kind: "fatal" };
201
+ }
202
+ if (error.status !== undefined && error.status >= 500) {
203
+ return { kind: "retry" };
204
+ }
205
+ return { kind: "fatal" };
167
206
  }
207
+ // Non-SlackApiError (e.g. a transient transport error or a test stub): retry
208
+ // conservatively rather than surfacing it as a hard failure.
209
+ return { kind: "retry" };
168
210
  }
169
211
  //# sourceMappingURL=message-stream.js.map