dsh-messager 0.3.4 → 0.3.6

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.
Files changed (63) hide show
  1. package/README.en.md +34 -207
  2. package/README.md +25 -287
  3. package/lib/channels/dingtalk.d.ts +3 -5
  4. package/lib/channels/dingtalk.d.ts.map +1 -1
  5. package/lib/channels/dingtalk.js +3 -6
  6. package/lib/channels/dingtalk.js.map +1 -1
  7. package/lib/channels/discord.d.ts +2 -3
  8. package/lib/channels/discord.d.ts.map +1 -1
  9. package/lib/channels/discord.js +2 -3
  10. package/lib/channels/discord.js.map +1 -1
  11. package/lib/channels/feishu.d.ts +3 -14
  12. package/lib/channels/feishu.d.ts.map +1 -1
  13. package/lib/channels/feishu.js +6 -15
  14. package/lib/channels/feishu.js.map +1 -1
  15. package/lib/channels/telegram.d.ts.map +1 -1
  16. package/lib/channels/telegram.js +0 -1
  17. package/lib/channels/telegram.js.map +1 -1
  18. package/lib/channels/wecom.d.ts +1 -1
  19. package/lib/channels/wecom.d.ts.map +1 -1
  20. package/lib/channels/wecom.js +1 -2
  21. package/lib/channels/wecom.js.map +1 -1
  22. package/lib/client.js +188 -35
  23. package/lib/client.js.map +1 -1
  24. package/lib/config-route.d.ts +18 -7
  25. package/lib/config-route.d.ts.map +1 -1
  26. package/lib/config-route.js +59 -16
  27. package/lib/config-route.js.map +1 -1
  28. package/lib/config-shared.d.ts +1 -1
  29. package/lib/config-shared.d.ts.map +1 -1
  30. package/lib/config-shared.js +1 -1
  31. package/lib/config-shared.js.map +1 -1
  32. package/lib/config.d.ts +0 -6
  33. package/lib/config.d.ts.map +1 -1
  34. package/lib/config.js +0 -1
  35. package/lib/config.js.map +1 -1
  36. package/lib/environment.d.ts +68 -0
  37. package/lib/environment.d.ts.map +1 -0
  38. package/lib/environment.js +87 -0
  39. package/lib/environment.js.map +1 -0
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +69 -14
  42. package/lib/index.js.map +1 -1
  43. package/lib/templates.d.ts +1 -3
  44. package/lib/templates.d.ts.map +1 -1
  45. package/lib/templates.js +1 -3
  46. package/lib/templates.js.map +1 -1
  47. package/lib/types/client/card-controller.d.ts +51 -1
  48. package/lib/types/client/card-controller.d.ts.map +1 -1
  49. package/lib/types/client/desktop.d.ts +30 -0
  50. package/lib/types/client/desktop.d.ts.map +1 -0
  51. package/lib/types/client/diff.d.ts +20 -2
  52. package/lib/types/client/diff.d.ts.map +1 -1
  53. package/lib/types/client/index.d.ts.map +1 -1
  54. package/lib/types/client/locales.d.ts +10 -2
  55. package/lib/types/client/locales.d.ts.map +1 -1
  56. package/lib/types/client/section.d.ts.map +1 -1
  57. package/lib/types/client/settings-form.d.ts +8 -1
  58. package/lib/types/client/settings-form.d.ts.map +1 -1
  59. package/lib/types/config-shared.d.ts +1 -1
  60. package/lib/types/config-shared.d.ts.map +1 -1
  61. package/lib/types/config.d.ts +0 -6
  62. package/lib/types/config.d.ts.map +1 -1
  63. package/package.json +62 -62
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 钉钉自定义机器人通道(webhook):actionCard 卡片(标题 + markdown 正文 + 打开按钮),host 端投递。
2
+ * 钉钉自定义机器人通道(webhook):actionCard 卡片(标题 + 正文),host 端投递。
3
3
  *
4
4
  * 可选加签(机器人「安全设置-加签」):
5
5
  * string_to_sign = `${timestamp}\n${secret}`
@@ -9,17 +9,14 @@
9
9
  * 注意:actionCard 的 title 限 20 字符,超出会被平台拒绝,需截断。
10
10
  */
11
11
  import { createHmac } from 'node:crypto';
12
- /** 构建钉钉 actionCard 载荷(纯函数;title 限 20 字符;正文空时退化为链接)。 */
12
+ /** 构建钉钉 actionCard 载荷(纯函数;title 限 20 字符;无正文时正文退化为标题)。 */
13
13
  export function buildDingtalkPayload(payload) {
14
- const link = `[打开 DSH](${payload.url})`;
15
14
  return {
16
15
  msgtype: 'actionCard',
17
16
  actionCard: {
18
17
  title: payload.title.slice(0, 20),
19
- text: payload.body === '' ? link : `${payload.body}\n\n${link}`,
18
+ text: payload.body === '' ? payload.title : payload.body,
20
19
  btnOrientation: '0',
21
- singleTitle: '打开 DSH',
22
- singleURL: payload.url,
23
20
  },
24
21
  };
25
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dingtalk.js","sourceRoot":"","sources":["../../src/channels/dingtalk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAsBxC,uDAAuD;AACvD,MAAM,UAAU,oBAAoB,CAAC,OAA4B;IAC/D,MAAM,IAAI,GAAG,YAAY,OAAO,CAAC,GAAG,GAAG,CAAA;IACvC,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,IAAI,EAAE;YAC/D,cAAc,EAAE,GAAG;YACnB,WAAW,EAAE,QAAQ;YACrB,SAAS,EAAE,OAAO,CAAC,GAAG;SACvB;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,MAAc,EAAE,SAAiB;IACnF,MAAM,YAAY,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACtD,OAAO,GAAG,UAAU,GAAG,SAAS,aAAa,SAAS,SAAS,OAAO,EAAE,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO;QACL,EAAE,EAAE,UAAU;QACd,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAClF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAsD,CAAA;YAClH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACjH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"dingtalk.js","sourceRoot":"","sources":["../../src/channels/dingtalk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAoBxC,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAAC,OAA4B;IAC/D,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YACxD,cAAc,EAAE,GAAG;SACpB;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,MAAc,EAAE,SAAiB;IACnF,MAAM,YAAY,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACtD,OAAO,GAAG,UAAU,GAAG,SAAS,aAAa,SAAS,SAAS,OAAO,EAAE,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO;QACL,EAAE,EAAE,UAAU;QACd,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAClF,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAsD,CAAA;YAClH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACjH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Discord 通道(webhook):embed 卡片(标题/正文/链接 + kind 颜色),host 端投递。
2
+ * Discord 通道(webhook):embed 卡片(标题/正文 + kind 颜色),host 端投递。
3
3
  *
4
4
  * 成功判定:任意 2xx(Discord 通常返回 204 No Content,无 body 可解析,
5
5
  * 因此与飞书/企微/钉钉的 errcode 判定不同,不解析响应 JSON)。
@@ -18,11 +18,10 @@ export interface DiscordEmbedPayload {
18
18
  embeds: Array<{
19
19
  title: string;
20
20
  description?: string;
21
- url: string;
22
21
  color: number;
23
22
  }>;
24
23
  }
25
- /** 构建 Discord embed 载荷(纯函数;title ≤ 256、description ≤ 4096)。 */
24
+ /** 构建 Discord embed 载荷(纯函数;title ≤ 256、description ≤ 4096;不含链接)。 */
26
25
  export declare function buildDiscordPayload(payload: NotificationPayload): DiscordEmbedPayload;
27
26
  export declare function createDiscordChannel(options: DiscordChannelOptions): NotifyChannel;
28
27
  //# sourceMappingURL=discord.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/channels/discord.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,MAAM,CAMtE;AAED,qCAAqC;AACrC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,mBAAmB,CAUrF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAclF"}
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/channels/discord.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,MAAM,CAMtE;AAED,qCAAqC;AACrC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,mBAAmB,CASrF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAclF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Discord 通道(webhook):embed 卡片(标题/正文/链接 + kind 颜色),host 端投递。
2
+ * Discord 通道(webhook):embed 卡片(标题/正文 + kind 颜色),host 端投递。
3
3
  *
4
4
  * 成功判定:任意 2xx(Discord 通常返回 204 No Content,无 body 可解析,
5
5
  * 因此与飞书/企微/钉钉的 errcode 判定不同,不解析响应 JSON)。
@@ -13,14 +13,13 @@ export function embedColorOf(kind) {
13
13
  case 'error': return 0xE74C3C;
14
14
  }
15
15
  }
16
- /** 构建 Discord embed 载荷(纯函数;title ≤ 256、description ≤ 4096)。 */
16
+ /** 构建 Discord embed 载荷(纯函数;title ≤ 256、description ≤ 4096;不含链接)。 */
17
17
  export function buildDiscordPayload(payload) {
18
18
  return {
19
19
  username: 'DSH',
20
20
  embeds: [{
21
21
  title: payload.title.slice(0, 256),
22
22
  ...(payload.body === '' ? {} : { description: payload.body.slice(0, 4096) }),
23
- url: payload.url,
24
23
  color: embedColorOf(payload.kind),
25
24
  }],
26
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/channels/discord.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,IAAiC;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,OAAO,QAAQ,CAAA;QACnC,KAAK,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAA;QACjC,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAA;IAC/B,CAAC;AACH,CAAC;AAaD,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAC9D,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,CAAC;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC5E,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,OAAO;QACL,EAAE,EAAE,SAAS;QACb,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YACjF,gCAAgC;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/channels/discord.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,IAAiC;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,OAAO,QAAQ,CAAA;QACnC,KAAK,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAA;QACjC,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAA;IAC/B,CAAC;AACH,CAAC;AAYD,oEAAoE;AACpE,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAC9D,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,CAAC;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC5E,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,OAAO;QACL,EAAE,EAAE,SAAS;QACb,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YACjF,gCAAgC;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -21,27 +21,16 @@ export interface FeishuCardPayload {
21
21
  };
22
22
  template: 'green' | 'orange' | 'red';
23
23
  };
24
- elements: ({
24
+ elements: Array<{
25
25
  tag: 'div';
26
26
  text: {
27
27
  tag: 'lark_md';
28
28
  content: string;
29
29
  };
30
- } | {
31
- tag: 'action';
32
- actions: Array<{
33
- tag: 'button';
34
- text: {
35
- tag: 'plain_text';
36
- content: string;
37
- };
38
- url: string;
39
- type: 'primary';
40
- }>;
41
- })[];
30
+ }>;
42
31
  };
43
32
  }
44
- /** 构建飞书卡片(纯函数)。 */
33
+ /** 构建飞书卡片(纯函数;不含任何跳转链接)。 */
45
34
  export declare function buildCardPayload(payload: NotificationPayload): FeishuCardPayload;
46
35
  /**
47
36
  * 按飞书签名规范签名:
@@ -1 +1 @@
1
- {"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/channels/feishu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YAAE,KAAK,EAAE;gBAAE,GAAG,EAAE,YAAY,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;SAAE,CAAA;QAC/F,QAAQ,EAAE,CACN;YAAE,GAAG,EAAE,KAAK,CAAC;YAAC,IAAI,EAAE;gBAAE,GAAG,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,GACzD;YAAE,GAAG,EAAE,QAAQ,CAAC;YAAC,OAAO,EAAE,KAAK,CAAC;gBAAE,GAAG,EAAE,QAAQ,CAAC;gBAAC,IAAI,EAAE;oBAAE,GAAG,EAAE,YAAY,CAAC;oBAAC,OAAO,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,SAAS,CAAA;aAAE,CAAC,CAAA;SAAE,CACnI,EAAE,CAAA;KACJ,CAAA;CACF;AAED,mBAAmB;AACnB,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAwBhF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAuBhF"}
1
+ {"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/channels/feishu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAWD,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YAAE,KAAK,EAAE;gBAAE,GAAG,EAAE,YAAY,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;SAAE,CAAA;QAC/F,QAAQ,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,KAAK,CAAC;YAAC,IAAI,EAAE;gBAAE,GAAG,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAC3E,CAAA;CACF;AAED,4BAA4B;AAC5B,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAehF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAuBhF"}
@@ -12,7 +12,7 @@ function cardTemplateOf(kind) {
12
12
  case 'error': return 'red';
13
13
  }
14
14
  }
15
- /** 构建飞书卡片(纯函数)。 */
15
+ /** 构建飞书卡片(纯函数;不含任何跳转链接)。 */
16
16
  export function buildCardPayload(payload) {
17
17
  return {
18
18
  msg_type: 'interactive',
@@ -21,20 +21,11 @@ export function buildCardPayload(payload) {
21
21
  title: { tag: 'plain_text', content: payload.title },
22
22
  template: cardTemplateOf(payload.kind),
23
23
  },
24
- elements: [
25
- ...(payload.body === ''
26
- ? []
27
- : [{ tag: 'div', text: { tag: 'lark_md', content: payload.body } }]),
28
- {
29
- tag: 'action',
30
- actions: [{
31
- tag: 'button',
32
- text: { tag: 'plain_text', content: '打开 DSH' },
33
- url: payload.url,
34
- type: 'primary',
35
- }],
36
- },
37
- ],
24
+ // minimal 级别没有正文:正文退化为标题,保证卡片始终有正文元素
25
+ elements: [{
26
+ tag: 'div',
27
+ text: { tag: 'lark_md', content: payload.body === '' ? payload.title : payload.body },
28
+ }],
38
29
  },
39
30
  };
40
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../../src/channels/feishu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../../src/channels/feishu.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,6BAA6B,CAAA;AAE3D,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED,sBAAsB;AACtB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAA;CAC/C;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAUtG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAkBpF"}
1
+ {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,6BAA6B,CAAA;AAE3D,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED,sBAAsB;AACtB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAA;CAC/C;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAStG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAkBpF"}
@@ -21,7 +21,6 @@ export function buildTelegramPayload(payload, chatId) {
21
21
  const lines = [`<b>${escapeHtml(payload.title)}</b>`];
22
22
  if (payload.body !== '')
23
23
  lines.push(escapeHtml(payload.body));
24
- lines.push(`<a href="${escapeHtml(payload.url)}">打开 DSH</a>`);
25
24
  return {
26
25
  chat_id: chatId,
27
26
  text: lines.join('\n').slice(0, 4096),
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAA;AAE3D,8BAA8B;AAC9B,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAUD,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB,CAAC,OAA4B,EAAE,MAAc;IAC/E,MAAM,KAAK,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC7D,OAAO;QACL,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACrC,UAAU,EAAE,MAAM;QAClB,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAC5C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO;QACL,EAAE,EAAE,UAAU;QACd,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,QAAQ,GAAG,GAAG,iBAAiB,OAAO,OAAO,CAAC,QAAQ,cAAc,CAAA;YAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9E,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAuD,CAAA;YACnH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAA;AAE3D,8BAA8B;AAC9B,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAUD,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB,CAAC,OAA4B,EAAE,MAAc;IAC/E,MAAM,KAAK,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,OAAO;QACL,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACrC,UAAU,EAAE,MAAM;QAClB,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAC5C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO;QACL,EAAE,EAAE,UAAU;QACd,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,QAAQ,GAAG,GAAG,iBAAiB,OAAO,OAAO,CAAC,QAAQ,cAAc,CAAA;YAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9E,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAuD,CAAA;YACnH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 企业微信群机器人通道(webhook):POST markdown 消息,host 端投递。
3
3
  *
4
- * 消息:msgtype=markdown,content 为「加粗标题 + 正文 + 打开链接」。
4
+ * 消息:msgtype=markdown,content 为「加粗标题 + 正文」。
5
5
  * 可选加签(机器人「安全设置-加签」):
6
6
  * string_to_sign = `${timestamp}\n${secret}`
7
7
  * sign = base64(HmacSHA256(string_to_sign, key=secret)) // 无需 URL 编码
@@ -1 +1 @@
1
- {"version":3,"file":"wecom.d.ts","sourceRoot":"","sources":["../../src/channels/wecom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,0BAA0B;AAC1B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9B;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB,CAKpF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK1F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAoB9E"}
1
+ {"version":3,"file":"wecom.d.ts","sourceRoot":"","sources":["../../src/channels/wecom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEtE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,0BAA0B;AAC1B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9B;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB,CAIpF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK1F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAoB9E"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 企业微信群机器人通道(webhook):POST markdown 消息,host 端投递。
3
3
  *
4
- * 消息:msgtype=markdown,content 为「加粗标题 + 正文 + 打开链接」。
4
+ * 消息:msgtype=markdown,content 为「加粗标题 + 正文」。
5
5
  * 可选加签(机器人「安全设置-加签」):
6
6
  * string_to_sign = `${timestamp}\n${secret}`
7
7
  * sign = base64(HmacSHA256(string_to_sign, key=secret)) // 无需 URL 编码
@@ -14,7 +14,6 @@ export function buildWecomPayload(payload) {
14
14
  const lines = [`**${payload.title}**`];
15
15
  if (payload.body !== '')
16
16
  lines.push(payload.body);
17
- lines.push(`[打开 DSH](${payload.url})`);
18
17
  return { msgtype: 'markdown', markdown: { content: lines.join('\n').slice(0, 4000) } };
19
18
  }
20
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wecom.js","sourceRoot":"","sources":["../../src/channels/wecom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAgBxC,mDAAmD;AACnD,MAAM,UAAU,iBAAiB,CAAC,OAA4B;IAC5D,MAAM,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;IACtC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,MAAc,EAAE,SAAiB;IAChF,MAAM,YAAY,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACtD,OAAO,GAAG,UAAU,GAAG,SAAS,aAAa,SAAS,SAAS,IAAI,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,OAAO;QACL,EAAE,EAAE,OAAO;QACX,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC/E,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAsD,CAAA;YAClH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC9G,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"wecom.js","sourceRoot":"","sources":["../../src/channels/wecom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAgBxC,mDAAmD;AACnD,MAAM,UAAU,iBAAiB,CAAC,OAA4B;IAC5D,MAAM,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,MAAc,EAAE,SAAiB;IAChF,MAAM,YAAY,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACtD,OAAO,GAAG,UAAU,GAAG,SAAS,aAAa,SAAS,SAAS,IAAI,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,OAAO;QACL,EAAE,EAAE,OAAO;QACX,KAAK,CAAC,IAAI,CAAC,OAA4B;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC/E,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAsD,CAAA;YAClH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC9G,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}