@zhin.js/adapter-lark 2.0.0 → 3.0.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.
- package/CHANGELOG.md +18 -0
- package/README.md +2 -2
- package/lib/adapter.d.ts +9 -8
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +24 -23
- package/lib/adapter.js.map +1 -1
- package/lib/{bot.d.ts → endpoint.d.ts} +8 -6
- package/lib/endpoint.d.ts.map +1 -0
- package/lib/{bot.js → endpoint.js} +45 -10
- package/lib/endpoint.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +59 -52
- package/lib/index.js.map +1 -1
- package/lib/platform-permit.d.ts +16 -0
- package/lib/platform-permit.d.ts.map +1 -0
- package/lib/platform-permit.js +41 -0
- package/lib/platform-permit.js.map +1 -0
- package/lib/types.d.ts +3 -3
- package/lib/types.d.ts.map +1 -1
- package/package.json +7 -6
- package/skills/lark/PERMITS.md +22 -0
- package/src/adapter.ts +23 -21
- package/src/{bot.ts → endpoint.ts} +45 -12
- package/src/index.ts +55 -43
- package/src/platform-permit.ts +55 -0
- package/src/types.ts +3 -3
- package/lib/bot.d.ts.map +0 -1
- package/lib/bot.js.map +0 -1
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAoD,0BAA0B,EAAoB,MAAM,SAAS,CAAC;AACpI,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAoD,0BAA0B,EAAoB,MAAM,SAAS,CAAC;AACpI,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,iCAAiC,GAClC,MAAM,sBAAsB,CAAC;AAa9B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;AAEtC,UAA+D,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;IACpF,OAAO,CAAC;QACN,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,KAAK,EAAE,CAAS,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACtC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;KACiB,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,WAAwB,EAAE,IAAiB,EAAE,EAAE;IACzE,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,SAAS,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,0BAA0B,CAC3C,IAAmC,EACnC,MAAM,EACN,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,KAAK,EAAE,CACpE,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5E,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;aAC5D;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;aACzD;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC;SAC7C;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACzF,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChG,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;gBACjD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;gBAChD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;aACxD;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAChH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5D,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;gBACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;SACjD;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3D,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;gBACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;SACjD;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5D,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;gBACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;SACjD;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5D,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;aAClD;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1D,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,0CAA0C;QACvD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE;gBACrF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;gBACpD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;aAChH;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC;SACpD;QACD,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC;QACnF,CAAC;KACF,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 飞书 Lark platform permit
|
|
3
|
+
*/
|
|
4
|
+
import type { Message } from 'zhin.js';
|
|
5
|
+
export declare function platformPermit(perm: string): string;
|
|
6
|
+
export declare function larkGroupPermitResolver(logicalPerm: string): string;
|
|
7
|
+
export declare function normalizeLarkSenderForPermit(input: {
|
|
8
|
+
isOwner?: boolean;
|
|
9
|
+
isAdmin?: boolean;
|
|
10
|
+
}): {
|
|
11
|
+
role?: string;
|
|
12
|
+
permissions?: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare function checkLarkPlatformPermit(perm: string, message: Message<any>): boolean;
|
|
15
|
+
export declare function registerLarkPlatformPermitChecker(): () => void;
|
|
16
|
+
//# sourceMappingURL=platform-permit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-permit.d.ts","sourceRoot":"","sources":["../src/platform-permit.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ5C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAgBpF;AAED,wBAAgB,iCAAiC,IAAI,MAAM,IAAI,CAE9D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { registerPlatformPermitChecker } from 'zhin.js';
|
|
2
|
+
const ADAPTER = 'lark';
|
|
3
|
+
export function platformPermit(perm) {
|
|
4
|
+
return `platform(${ADAPTER},${perm})`;
|
|
5
|
+
}
|
|
6
|
+
const FACTORY_PERM_MAP = {
|
|
7
|
+
group_admin: 'chat_admin',
|
|
8
|
+
group_owner: 'chat_owner',
|
|
9
|
+
};
|
|
10
|
+
export function larkGroupPermitResolver(logicalPerm) {
|
|
11
|
+
return platformPermit(FACTORY_PERM_MAP[logicalPerm] ?? logicalPerm);
|
|
12
|
+
}
|
|
13
|
+
export function normalizeLarkSenderForPermit(input) {
|
|
14
|
+
if (input.isOwner) {
|
|
15
|
+
return { role: 'owner', permissions: ['chat_owner', 'chat_admin', 'manage_managers'] };
|
|
16
|
+
}
|
|
17
|
+
if (input.isAdmin) {
|
|
18
|
+
return { role: 'admin', permissions: ['chat_admin'] };
|
|
19
|
+
}
|
|
20
|
+
return { role: 'member', permissions: [] };
|
|
21
|
+
}
|
|
22
|
+
export function checkLarkPlatformPermit(perm, message) {
|
|
23
|
+
const sender = message.$sender;
|
|
24
|
+
const permissions = sender.permissions ?? [];
|
|
25
|
+
const role = sender.role;
|
|
26
|
+
const has = (t) => permissions.includes(t);
|
|
27
|
+
switch (perm) {
|
|
28
|
+
case 'chat_owner':
|
|
29
|
+
return role === 'owner' || has('chat_owner');
|
|
30
|
+
case 'chat_admin':
|
|
31
|
+
return role === 'owner' || role === 'admin' || has('chat_admin') || has('chat_owner');
|
|
32
|
+
case 'manage_managers':
|
|
33
|
+
return role === 'owner' || has('chat_owner');
|
|
34
|
+
default:
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function registerLarkPlatformPermitChecker() {
|
|
39
|
+
return registerPlatformPermitChecker(ADAPTER, checkLarkPlatformPermit);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=platform-permit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-permit.js","sourceRoot":"","sources":["../src/platform-permit.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,OAAO,IAAI,IAAI,GAAG,CAAC;AACxC,CAAC;AAED,MAAM,gBAAgB,GAA2B;IAC/C,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;CAC1B,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAG5C;IACC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,OAAqB;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAoD,CAAC;IAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,KAAK,YAAY;YACf,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACxF,KAAK,iBAAiB;YACpB,OAAO,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,6BAA6B,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 飞书/Lark 适配器类型定义
|
|
3
3
|
*/
|
|
4
|
-
export interface
|
|
4
|
+
export interface LarkEndpointConfig {
|
|
5
5
|
context: "lark";
|
|
6
6
|
name: string;
|
|
7
7
|
appId: string;
|
|
@@ -57,7 +57,7 @@ export interface AccessToken {
|
|
|
57
57
|
expires_in: number;
|
|
58
58
|
timestamp: number;
|
|
59
59
|
}
|
|
60
|
-
export interface
|
|
61
|
-
$config:
|
|
60
|
+
export interface LarkEndpoint {
|
|
61
|
+
$config: LarkEndpointConfig;
|
|
62
62
|
}
|
|
63
63
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,kBAAkB,CAAC;CAC7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-lark",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Zhin.js adapter for Lark/Feishu (飞书)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -34,17 +34,18 @@
|
|
|
34
34
|
"directory": "plugins/adapters/lark"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"axios": "^1.
|
|
37
|
+
"axios": "^1.17.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/koa": "^3.0.3",
|
|
41
|
-
"@types/node": "^25.9.
|
|
41
|
+
"@types/node": "^25.9.2",
|
|
42
42
|
"typescript": "^6.0.3",
|
|
43
|
-
"zhin.js": "2.0.0"
|
|
43
|
+
"@zhin.js/host-router": "2.0.0",
|
|
44
|
+
"zhin.js": "3.0.0"
|
|
44
45
|
},
|
|
45
46
|
"peerDependencies": {
|
|
46
|
-
"@zhin.js/host-router": "
|
|
47
|
-
"zhin.js": "
|
|
47
|
+
"@zhin.js/host-router": "2.0.0",
|
|
48
|
+
"zhin.js": "3.0.0"
|
|
48
49
|
},
|
|
49
50
|
"peerDependenciesMeta": {
|
|
50
51
|
"@zhin.js/host-router": {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 飞书 Lark Platform Permits
|
|
2
|
+
|
|
3
|
+
## 入站字段
|
|
4
|
+
|
|
5
|
+
群聊消息经 `getChatInfo`(TTL 60s)比对 `owner_id` / `user_manager_id_list`:
|
|
6
|
+
|
|
7
|
+
| 字段 | 取值 |
|
|
8
|
+
|------|------|
|
|
9
|
+
| `$sender.role` | `owner` · `admin` · `member` |
|
|
10
|
+
| `$sender.permissions` | `chat_owner` · `chat_admin` · `manage_managers` |
|
|
11
|
+
|
|
12
|
+
## Permit 词汇表
|
|
13
|
+
|
|
14
|
+
| `platform(lark,…)` | 含义 |
|
|
15
|
+
|--------------------|------|
|
|
16
|
+
| `chat_owner` | 群主 |
|
|
17
|
+
| `chat_admin` | 群管理员 |
|
|
18
|
+
| `manage_managers` | 可设/撤管理员 |
|
|
19
|
+
|
|
20
|
+
## 工厂映射
|
|
21
|
+
|
|
22
|
+
`group_admin` → `chat_admin` · `group_owner` → `chat_owner`
|
package/src/adapter.ts
CHANGED
|
@@ -5,10 +5,12 @@ import {
|
|
|
5
5
|
Adapter,
|
|
6
6
|
Plugin,
|
|
7
7
|
} from "zhin.js";
|
|
8
|
-
import {
|
|
9
|
-
import type {
|
|
8
|
+
import { LarkEndpoint } from "./endpoint.js";
|
|
9
|
+
import type { LarkEndpointConfig } from "./types.js";
|
|
10
|
+
|
|
11
|
+
export class LarkAdapter extends Adapter<LarkEndpoint> {
|
|
12
|
+
static override readonly capabilities = ['inbound', 'outbound'] as const;
|
|
10
13
|
|
|
11
|
-
export class LarkAdapter extends Adapter<LarkBot> {
|
|
12
14
|
#router: any;
|
|
13
15
|
|
|
14
16
|
constructor(plugin: Plugin, router: any) {
|
|
@@ -16,34 +18,34 @@ export class LarkAdapter extends Adapter<LarkBot> {
|
|
|
16
18
|
this.#router = router;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
return new
|
|
21
|
+
createEndpoint(config: LarkEndpointConfig): LarkEndpoint {
|
|
22
|
+
return new LarkEndpoint(this, this.#router, config);
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
// ── IGroupManagement 标准群管方法 ──────────────────────────────────
|
|
24
26
|
|
|
25
|
-
async kickMember(
|
|
26
|
-
const
|
|
27
|
-
if (!
|
|
28
|
-
return
|
|
27
|
+
async kickMember(endpointId: string, sceneId: string, userId: string) {
|
|
28
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
29
|
+
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
30
|
+
return endpoint.removeChatMembers(sceneId, [userId]);
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
async listMembers(
|
|
32
|
-
const
|
|
33
|
-
if (!
|
|
34
|
-
return
|
|
33
|
+
async listMembers(endpointId: string, sceneId: string) {
|
|
34
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
35
|
+
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
36
|
+
return endpoint.getChatMembers(sceneId);
|
|
35
37
|
}
|
|
36
38
|
|
|
37
|
-
async getGroupInfo(
|
|
38
|
-
const
|
|
39
|
-
if (!
|
|
40
|
-
return
|
|
39
|
+
async getGroupInfo(endpointId: string, sceneId: string) {
|
|
40
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
41
|
+
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
42
|
+
return endpoint.getChatInfo(sceneId);
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
async setGroupName(
|
|
44
|
-
const
|
|
45
|
-
if (!
|
|
46
|
-
return
|
|
45
|
+
async setGroupName(endpointId: string, sceneId: string, name: string) {
|
|
46
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
47
|
+
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
48
|
+
return endpoint.updateChatInfo(sceneId, { name });
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
// ── 生命周期 ───────────────────────────────────────────────────────
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 飞书/Lark
|
|
2
|
+
* 飞书/Lark Endpoint 实现
|
|
3
3
|
*/
|
|
4
4
|
import { registerFetchRoute, type Router, type RouterContext } from "@zhin.js/host-router/router";
|
|
5
5
|
import axios, { type AxiosInstance } from "axios";
|
|
6
6
|
import { createHash } from "crypto";
|
|
7
|
-
import { formatCompact,
|
|
8
|
-
import type {
|
|
7
|
+
import { formatCompact, Endpoint, Message, MessageSegment, segment, SendContent, SendOptions } from 'zhin.js';
|
|
8
|
+
import type { LarkEndpointConfig, LarkMessage, LarkEvent, AccessToken } from "./types.js";
|
|
9
9
|
import type { LarkAdapter } from "./adapter.js";
|
|
10
|
+
import { normalizeLarkSenderForPermit } from "./platform-permit.js";
|
|
10
11
|
|
|
11
|
-
export class
|
|
12
|
+
export class LarkEndpoint implements Endpoint<LarkEndpointConfig, LarkMessage> {
|
|
12
13
|
$connected: boolean
|
|
13
14
|
private router: any
|
|
14
15
|
private accessToken: AccessToken
|
|
@@ -22,7 +23,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
22
23
|
return this.$config.name;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
constructor(public adapter: LarkAdapter, router: any, public $config:
|
|
26
|
+
constructor(public adapter: LarkAdapter, router: any, public $config: LarkEndpointConfig) {
|
|
26
27
|
this.router = router;
|
|
27
28
|
this.$connected = false;
|
|
28
29
|
this.accessToken = { token: '', expires_in: 0, timestamp: 0 };
|
|
@@ -44,7 +45,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
44
45
|
// 设置请求拦截器,自动添加 access_token
|
|
45
46
|
this.axiosInstance.interceptors.request.use(async (config) => {
|
|
46
47
|
await this.ensureAccessToken();
|
|
47
|
-
config.headers = config.headers;
|
|
48
|
+
config.headers = config.headers ?? {};
|
|
48
49
|
config.headers['Authorization'] = `Bearer ${this.accessToken.token}`;
|
|
49
50
|
return config;
|
|
50
51
|
});
|
|
@@ -125,14 +126,46 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
|
|
129
|
+
private chatPermitCache = new Map<string, { at: number; ownerId?: string; managers: string[] }>();
|
|
130
|
+
|
|
131
|
+
private async enrichGroupSender(message: Message<LarkMessage>, msg: LarkMessage): Promise<void> {
|
|
132
|
+
if (message.$channel.type !== 'group' || !msg.chat_id) return;
|
|
133
|
+
const senderId = msg.sender?.sender_id?.open_id;
|
|
134
|
+
if (!senderId) return;
|
|
135
|
+
const now = Date.now();
|
|
136
|
+
let ownerId: string | undefined;
|
|
137
|
+
let managers: string[] = [];
|
|
138
|
+
const cached = this.chatPermitCache.get(msg.chat_id);
|
|
139
|
+
if (cached && now - cached.at < 60_000) {
|
|
140
|
+
ownerId = cached.ownerId;
|
|
141
|
+
managers = cached.managers;
|
|
142
|
+
} else {
|
|
143
|
+
try {
|
|
144
|
+
const chat = await this.getChatInfo(msg.chat_id);
|
|
145
|
+
ownerId = chat?.owner_id;
|
|
146
|
+
managers = Array.isArray(chat?.user_manager_id_list) ? chat.user_manager_id_list : [];
|
|
147
|
+
this.chatPermitCache.set(msg.chat_id, { at: now, ownerId, managers });
|
|
148
|
+
} catch {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const permit = normalizeLarkSenderForPermit({
|
|
153
|
+
isOwner: ownerId === senderId,
|
|
154
|
+
isAdmin: managers.includes(senderId),
|
|
155
|
+
});
|
|
156
|
+
message.$sender.role = permit.role;
|
|
157
|
+
message.$sender.permissions = permit.permissions;
|
|
158
|
+
}
|
|
159
|
+
|
|
128
160
|
private async handleEvent(event: any): Promise<void> {
|
|
129
161
|
// 处理消息事件
|
|
130
162
|
if (event.message) {
|
|
131
163
|
const message = this.$formatMessage(event.message, event);
|
|
164
|
+
await this.enrichGroupSender(message, event.message);
|
|
132
165
|
this.adapter.emit('message.receive', message);
|
|
133
166
|
this.logger.debug(formatCompact( {
|
|
134
167
|
op: 'recv',
|
|
135
|
-
|
|
168
|
+
endpoint: this.$config.name,
|
|
136
169
|
channel: message.$channel.type,
|
|
137
170
|
id: message.$channel.id,
|
|
138
171
|
len: segment.raw(message.$content).length,
|
|
@@ -196,7 +229,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
196
229
|
return Message.from(msg, {
|
|
197
230
|
$id: msg.message_id || Date.now().toString(),
|
|
198
231
|
$adapter: 'lark',
|
|
199
|
-
$
|
|
232
|
+
$endpoint: this.$config.name,
|
|
200
233
|
$sender: {
|
|
201
234
|
id: msg.sender?.sender_id?.open_id || 'unknown',
|
|
202
235
|
name: msg.sender?.sender_id?.user_id || msg.sender?.sender_id?.open_id || 'Unknown User'
|
|
@@ -214,7 +247,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
214
247
|
$reply: async (content: SendContent): Promise<string> => {
|
|
215
248
|
return await this.adapter.sendMessage({
|
|
216
249
|
context: 'lark',
|
|
217
|
-
|
|
250
|
+
endpoint: this.$config.name,
|
|
218
251
|
id: msg.chat_id || 'unknown',
|
|
219
252
|
type: chatType,
|
|
220
253
|
content: content
|
|
@@ -450,7 +483,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
450
483
|
}
|
|
451
484
|
|
|
452
485
|
// ================================================================================================
|
|
453
|
-
//
|
|
486
|
+
// Endpoint 生命周期
|
|
454
487
|
// ================================================================================================
|
|
455
488
|
|
|
456
489
|
async $connect(): Promise<void> {
|
|
@@ -459,7 +492,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
459
492
|
await this.refreshAccessToken();
|
|
460
493
|
|
|
461
494
|
this.$connected = true;
|
|
462
|
-
this.logger.info(formatCompact({
|
|
495
|
+
this.logger.info(formatCompact({ endpoint: this.$config.name }));
|
|
463
496
|
this.logger.info(formatCompact( { op: 'webhook', path: this.$config.webhookPath }));
|
|
464
497
|
|
|
465
498
|
} catch (error) {
|
|
@@ -471,7 +504,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
|
|
|
471
504
|
async $disconnect(): Promise<void> {
|
|
472
505
|
try {
|
|
473
506
|
this.$connected = false;
|
|
474
|
-
this.logger.info(formatCompact( { op: 'disconnect',
|
|
507
|
+
this.logger.info(formatCompact( { op: 'disconnect', endpoint: this.$config.name }));
|
|
475
508
|
} catch (error) {
|
|
476
509
|
this.logger.error('Error disconnecting Lark bot:', error);
|
|
477
510
|
}
|