@zhin.js/adapter-wecom 0.0.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +716 -0
  2. package/{skills/wecom/PERMITS.md → PERMITS.md} +1 -1
  3. package/README.md +83 -215
  4. package/adapters/wecom/index.js +34 -0
  5. package/adapters/wecom/index.ts +39 -0
  6. package/agents/wecom/agent.json +20 -0
  7. package/agents/wecom/boundaries.md +3 -0
  8. package/agents/wecom/conventions.md +3 -0
  9. package/{skills → agents/wecom/skills}/wecom/SKILL.md +4 -4
  10. package/agents/wecom/skills/wecom/tools/get_dept_users/index.js +16 -0
  11. package/agents/wecom/skills/wecom/tools/get_dept_users/index.ts +16 -0
  12. package/agents/wecom/skills/wecom/tools/get_user/index.js +15 -0
  13. package/agents/wecom/skills/wecom/tools/get_user/index.ts +15 -0
  14. package/agents/wecom/skills/wecom/tools/list_departments/index.js +16 -0
  15. package/agents/wecom/skills/wecom/tools/list_departments/index.ts +16 -0
  16. package/agents/wecom/skills/wecom/tools/send_text/index.js +17 -0
  17. package/agents/wecom/skills/wecom/tools/send_text/index.ts +17 -0
  18. package/agents/wecom/system.md +3 -0
  19. package/commands/wecom/endpoint/add/[id]/index.js +3 -0
  20. package/commands/wecom/endpoint/add/[id]/index.ts +3 -0
  21. package/commands/wecom/endpoint/definition.js +20 -0
  22. package/commands/wecom/endpoint/definition.ts +20 -0
  23. package/commands/wecom/endpoint/list/index.js +3 -0
  24. package/commands/wecom/endpoint/list/index.ts +3 -0
  25. package/commands/wecom/endpoint/remove/[id]/index.js +3 -0
  26. package/commands/wecom/endpoint/remove/[id]/index.ts +3 -0
  27. package/lib/client.d.ts +12 -0
  28. package/lib/client.js +2 -0
  29. package/lib/endpoint.d.ts +55 -37
  30. package/lib/endpoint.js +247 -516
  31. package/lib/index.d.ts +6 -15
  32. package/lib/index.js +6 -115
  33. package/lib/media-upload.d.ts +23 -0
  34. package/lib/media-upload.js +58 -0
  35. package/lib/platform-permit.d.ts +2 -4
  36. package/lib/platform-permit.js +5 -11
  37. package/lib/protocol.d.ts +98 -0
  38. package/lib/protocol.js +267 -0
  39. package/lib/side-event-dispatch.d.ts +4 -0
  40. package/lib/side-event-dispatch.js +63 -0
  41. package/lib/webhook.d.ts +14 -0
  42. package/lib/webhook.js +86 -0
  43. package/lib/wecom-runtime-state.d.ts +1 -0
  44. package/lib/wecom-runtime-state.js +6 -0
  45. package/package.json +77 -17
  46. package/plugin.js +19 -0
  47. package/schema.json +106 -0
  48. package/src/client.ts +16 -0
  49. package/src/endpoint.ts +311 -559
  50. package/src/index.ts +52 -131
  51. package/src/media-upload.ts +79 -0
  52. package/src/platform-permit.ts +6 -11
  53. package/src/protocol.ts +377 -0
  54. package/src/side-event-dispatch.ts +70 -0
  55. package/src/webhook.ts +130 -0
  56. package/src/wecom-runtime-state.ts +7 -0
  57. package/lib/adapter.d.ts +0 -15
  58. package/lib/adapter.d.ts.map +0 -1
  59. package/lib/adapter.js +0 -20
  60. package/lib/adapter.js.map +0 -1
  61. package/lib/endpoint.d.ts.map +0 -1
  62. package/lib/endpoint.js.map +0 -1
  63. package/lib/index.d.ts.map +0 -1
  64. package/lib/index.js.map +0 -1
  65. package/lib/platform-permit.d.ts.map +0 -1
  66. package/lib/platform-permit.js.map +0 -1
  67. package/lib/types.d.ts +0 -48
  68. package/lib/types.d.ts.map +0 -1
  69. package/lib/types.js +0 -5
  70. package/lib/types.js.map +0 -1
  71. package/plugin.yml +0 -3
  72. package/src/adapter.ts +0 -26
  73. package/src/types.ts +0 -51
@@ -0,0 +1,70 @@
1
+ import { buildNotice, buildSystem, senderFromId } from '@zhin.js/core';
2
+ import type { EndpointEventEmitter } from 'zhin.js/adapter';
3
+ import { formatCompact, type getAdapterLogger } from '@zhin.js/logger';
4
+ import { resolveChatType, type WecomMessage } from './protocol.js';
5
+
6
+ function mapWecomEventParts(eventName: string): { scene_type: string; sub_type: string } | null {
7
+ switch (eventName) {
8
+ case 'subscribe':
9
+ return { scene_type: 'friend', sub_type: 'increase' };
10
+ case 'unsubscribe':
11
+ return { scene_type: 'friend', sub_type: 'decrease' };
12
+ case 'enter_agent':
13
+ return null;
14
+ default:
15
+ return { scene_type: 'wecom', sub_type: eventName || 'unknown' };
16
+ }
17
+ }
18
+
19
+ export function receiveWecomSideEvent(
20
+ emit: EndpointEventEmitter,
21
+ endpointKey: string,
22
+ configId: string,
23
+ msg: WecomMessage,
24
+ logger: ReturnType<typeof getAdapterLogger>,
25
+ ): boolean {
26
+ if (msg.MsgType !== 'event') return false;
27
+ const eventName = msg.Event ?? 'unknown';
28
+ if (eventName === 'enter_agent') {
29
+ void emit('system.receive', buildSystem(msg, {
30
+ $id: `wecom:enter_agent:${msg.FromUserName}:${msg.CreateTime ?? Date.now()}`,
31
+ $adapter: 'wecom' as never,
32
+ $endpoint: configId,
33
+ $type: 'system',
34
+ $scene_id: msg.FromUserName,
35
+ $scene_type: 'wecom',
36
+ $sub_type: 'enter_agent',
37
+ $timestamp: msg.CreateTime ?? Date.now(),
38
+ })).catch((err) => {
39
+ logger.warn(formatCompact({
40
+ op: 'wecom_system_side_event_failed',
41
+ endpoint: configId,
42
+ event: eventName,
43
+ error: err instanceof Error ? err.message : String(err),
44
+ }));
45
+ });
46
+ return true;
47
+ }
48
+ const parts = mapWecomEventParts(eventName);
49
+ if (!parts) return false;
50
+ const sceneType = resolveChatType(msg.FromUserName);
51
+ void emit('notice.receive', buildNotice(msg, {
52
+ $id: `wecom:${eventName}:${msg.FromUserName}:${msg.CreateTime ?? Date.now()}`,
53
+ $adapter: 'wecom' as never,
54
+ $endpoint: configId,
55
+ $type: 'notice',
56
+ $scene_id: msg.FromUserName,
57
+ $scene_type: parts.scene_type === 'friend' ? parts.scene_type : sceneType,
58
+ $sub_type: parts.sub_type,
59
+ $actor: senderFromId(msg.FromUserName),
60
+ $timestamp: msg.CreateTime ?? Date.now(),
61
+ })).catch((err) => {
62
+ logger.warn(formatCompact({
63
+ op: 'wecom_side_event_failed',
64
+ endpoint: configId,
65
+ event: eventName,
66
+ error: err instanceof Error ? err.message : String(err),
67
+ }));
68
+ });
69
+ return true;
70
+ }
package/src/webhook.ts ADDED
@@ -0,0 +1,130 @@
1
+ /**
2
+ * WeCom webhook HTTP: URL verification (GET) + encrypted inbound (POST).
3
+ */
4
+ import type { IncomingMessage, ServerResponse } from 'node:http';
5
+ import type { HttpHost, HttpRouteRegistration } from '@zhin.js/host-http';
6
+ import { formatCompact, getLogger } from '@zhin.js/logger';
7
+ import {
8
+ decryptMessage,
9
+ extractEncryptFromXml,
10
+ normalizeEchostrParam,
11
+ parseXmlMessage,
12
+ queryParam,
13
+ readTextBody,
14
+ verifySignature,
15
+ type ResolvedWecomConfig,
16
+ type WecomMessage,
17
+ } from './protocol.js';
18
+
19
+ const logger = getLogger('wecom');
20
+
21
+ export interface WecomWebhookHandler {
22
+ readonly config: ResolvedWecomConfig;
23
+ readonly isOpen: boolean;
24
+ admit(msg: WecomMessage): void;
25
+ }
26
+
27
+ export function registerWecomWebhookRoutes(
28
+ http: HttpHost,
29
+ handler: WecomWebhookHandler,
30
+ ): HttpRouteRegistration[] {
31
+ const path = handler.config.webhookPath;
32
+ return [
33
+ http.route('GET', path, (request, response, url) => {
34
+ handleWecomVerificationRequest(request, response, url, handler);
35
+ }, { summary: 'WeCom URL verification', tags: ['wecom'] }),
36
+ http.route('POST', path, async (request, response, url) => {
37
+ await handleWecomWebhookRequest(request, response, url, handler);
38
+ }, { summary: 'WeCom inbound webhook', tags: ['wecom'] }),
39
+ ];
40
+ }
41
+
42
+ export function handleWecomVerificationRequest(
43
+ _request: IncomingMessage,
44
+ response: ServerResponse,
45
+ url: URL,
46
+ handler: WecomWebhookHandler,
47
+ ): void {
48
+ try {
49
+ const msgSignature = queryParam(url.searchParams.get('msg_signature'));
50
+ const timestamp = queryParam(url.searchParams.get('timestamp'));
51
+ const nonce = queryParam(url.searchParams.get('nonce'));
52
+ const echostr = normalizeEchostrParam(queryParam(url.searchParams.get('echostr')));
53
+ const { token, encodingAESKey, corpId } = handler.config;
54
+
55
+ if (!msgSignature || !timestamp || !nonce || !echostr) {
56
+ response.writeHead(400, { 'Content-Type': 'text/plain' });
57
+ response.end('Missing required query parameters');
58
+ return;
59
+ }
60
+
61
+ if (!verifySignature(token, timestamp, nonce, echostr, msgSignature)) {
62
+ logger.warn(formatCompact({ op: 'verify', ok: false, error: 'invalid signature' }));
63
+ response.writeHead(403, { 'Content-Type': 'text/plain' });
64
+ response.end('Forbidden');
65
+ return;
66
+ }
67
+
68
+ const decrypted = decryptMessage(echostr, encodingAESKey, corpId);
69
+ if (!decrypted) {
70
+ response.writeHead(400, { 'Content-Type': 'text/plain' });
71
+ response.end('Decryption failed');
72
+ return;
73
+ }
74
+ response.writeHead(200, { 'Content-Type': 'text/plain' });
75
+ response.end(decrypted);
76
+ } catch (error) {
77
+ logger.error('URL verification error:', error);
78
+ response.writeHead(500, { 'Content-Type': 'text/plain' });
79
+ response.end('Internal Server Error');
80
+ }
81
+ }
82
+
83
+ export async function handleWecomWebhookRequest(
84
+ request: IncomingMessage,
85
+ response: ServerResponse,
86
+ url: URL,
87
+ handler: WecomWebhookHandler,
88
+ ): Promise<void> {
89
+ try {
90
+ const msgSignature = queryParam(url.searchParams.get('msg_signature'));
91
+ const timestamp = queryParam(url.searchParams.get('timestamp'));
92
+ const nonce = queryParam(url.searchParams.get('nonce'));
93
+ const { token, encodingAESKey, corpId } = handler.config;
94
+
95
+ const rawBody = await readTextBody(request);
96
+ const encrypted = extractEncryptFromXml(rawBody);
97
+ if (!encrypted) {
98
+ logger.warn(formatCompact({ op: 'webhook', ok: false, error: 'no Encrypt field' }));
99
+ response.writeHead(200, { 'Content-Type': 'text/plain' });
100
+ response.end('success');
101
+ return;
102
+ }
103
+
104
+ if (!verifySignature(token, timestamp, nonce, encrypted, msgSignature)) {
105
+ logger.warn(formatCompact({ op: 'webhook', ok: false, error: 'invalid signature' }));
106
+ response.writeHead(403, { 'Content-Type': 'text/plain' });
107
+ response.end('Forbidden');
108
+ return;
109
+ }
110
+
111
+ const decryptedXml = decryptMessage(encrypted, encodingAESKey, corpId);
112
+ if (!decryptedXml) {
113
+ response.writeHead(200, { 'Content-Type': 'text/plain' });
114
+ response.end('success');
115
+ return;
116
+ }
117
+
118
+ const message = parseXmlMessage(decryptedXml);
119
+ if (message && handler.isOpen) {
120
+ handler.admit(message);
121
+ }
122
+
123
+ response.writeHead(200, { 'Content-Type': 'text/plain' });
124
+ response.end('success');
125
+ } catch (error) {
126
+ logger.error('Webhook error:', error);
127
+ response.writeHead(200, { 'Content-Type': 'text/plain' });
128
+ response.end('success');
129
+ }
130
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * WeCom 插件实例的运行时状态:adapter create() 注册的 endpoint 列表。
3
+ * 由 plugin.ts setup() provide,adapter create 与 `wecom endpoint` 命令共享(同一 owner generation)。
4
+ */
5
+ import { defineEndpointRuntimeStateToken } from 'zhin.js/adapter';
6
+
7
+ export const wecomRuntimeStateToken = defineEndpointRuntimeStateToken('wecom');
package/lib/adapter.d.ts DELETED
@@ -1,15 +0,0 @@
1
- /**
2
- * 企业微信适配器
3
- */
4
- import { Adapter, Plugin } from 'zhin.js';
5
- import type { Router } from '@zhin.js/host-router/router';
6
- import { WecomEndpoint } from './endpoint.js';
7
- import type { WecomEndpointConfig } from './types.js';
8
- export declare class WecomAdapter extends Adapter<WecomEndpoint> {
9
- #private;
10
- static readonly capabilities: readonly ["inbound", "outbound"];
11
- constructor(plugin: Plugin, router: Router);
12
- createEndpoint(config: WecomEndpointConfig): WecomEndpoint;
13
- start(): Promise<void>;
14
- }
15
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,qBAAa,YAAa,SAAQ,OAAO,CAAC,aAAa,CAAC;;IACtD,gBAAyB,YAAY,mCAAoC;gBAI7D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK1C,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAIpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
package/lib/adapter.js DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * 企业微信适配器
3
- */
4
- import { Adapter } from 'zhin.js';
5
- import { WecomEndpoint } from './endpoint.js';
6
- export class WecomAdapter extends Adapter {
7
- static capabilities = ['inbound', 'outbound'];
8
- #router;
9
- constructor(plugin, router) {
10
- super(plugin, 'wecom', []);
11
- this.#router = router;
12
- }
13
- createEndpoint(config) {
14
- return new WecomEndpoint(this, this.#router, config);
15
- }
16
- async start() {
17
- await super.start();
18
- }
19
- }
20
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAU,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,OAAO,YAAa,SAAQ,OAAsB;IACtD,MAAM,CAAmB,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;IAEzE,OAAO,CAAS;IAEhB,YAAY,MAAc,EAAE,MAAc;QACxC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,MAA2B;QACxC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,QAAQ,EAAE,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACxH,OAAO,EAAsB,KAAK,MAAM,EAAsB,MAAM,6BAA6B,CAAC;AAElG,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EAEZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,qBAAa,aAAc,YAAW,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAC;;IAkBtE,OAAO,EAAE,YAAY;IAErB,OAAO,EAAE,mBAAmB;IAnBrC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IAGvB,IAAI,GAAG,WAEN;IAED,IAAI,MAAM,6BAET;gBAGQ,OAAO,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACP,OAAO,EAAE,mBAAmB;YAgBvB,OAAO;IAgCrB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,kBAAkB;YA6BZ,aAAa;IAgD3B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,eAAe;YA+DT,aAAa;YAcb,iBAAiB;YAkBjB,kBAAkB;IAuBhC,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAwCxD,OAAO,CAAC,mBAAmB;IAqErB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCnD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,OAAO,CAAC,iBAAiB;IAiFnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAa7D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAatD,iBAAiB,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAazD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAqBzE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,MAAM,EAAE,OAAO,sBAAsB,EAAE,MAAM,CAAC;SAC/C;KACF;IACD,UAAU,QAAQ;QAChB,KAAK,EAAE,YAAY,CAAC;KACrB;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,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,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAcrF;AAED,wBAAgB,kCAAkC,IAAI,MAAM,IAAI,CAE/D"}
@@ -1 +0,0 @@
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,OAAO,CAAC;AAExB,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,wBAAwB,CAAC,WAAmB;IAC1D,OAAO,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAG7C;IACC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;IACtE,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,wBAAwB,CAAC,IAAY,EAAE,OAAqB;IAC1E,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;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,OAAO,6BAA6B,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;AAC1E,CAAC"}
package/lib/types.d.ts DELETED
@@ -1,48 +0,0 @@
1
- /**
2
- * 企业微信适配器类型定义
3
- */
4
- export interface WecomEndpointConfig {
5
- context: 'wecom';
6
- name: string;
7
- corpId: string;
8
- agentSecret: string;
9
- token: string;
10
- encodingAESKey: string;
11
- webhookPath?: string;
12
- apiBaseUrl?: string;
13
- }
14
- export interface WecomMessage {
15
- ToUserName: string;
16
- FromUserName: string;
17
- CreateTime: number;
18
- MsgType: 'text' | 'image' | 'voice' | 'video' | 'shortvideo' | 'location' | 'link' | 'event';
19
- Content?: string;
20
- MsgId?: string;
21
- PicUrl?: string;
22
- MediaId?: string;
23
- ThumbMediaId?: string;
24
- Format?: string;
25
- Recognition?: string;
26
- Location_X?: string;
27
- Location_Y?: string;
28
- Scale?: string;
29
- Label?: string;
30
- Title?: string;
31
- Description?: string;
32
- Url?: string;
33
- Event?: string;
34
- EventKey?: string;
35
- AgentID?: string;
36
- [key: string]: unknown;
37
- }
38
- export interface AccessToken {
39
- access_token: string;
40
- expires_in: number;
41
- timestamp: number;
42
- }
43
- export interface WecomApiResponse {
44
- errcode: number;
45
- errmsg?: string;
46
- [key: string]: unknown;
47
- }
48
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAA;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB"}
package/lib/types.js DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * 企业微信适配器类型定义
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
package/lib/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/plugin.yml DELETED
@@ -1,3 +0,0 @@
1
- name: adapter-wecom
2
- description: 企业微信适配器:消息接收与发送、用户与部门查询、AES 消息加解密
3
- version: 1.0.0
package/src/adapter.ts DELETED
@@ -1,26 +0,0 @@
1
- /**
2
- * 企业微信适配器
3
- */
4
- import { Adapter, Plugin } from 'zhin.js';
5
- import type { Router } from '@zhin.js/host-router/router';
6
- import { WecomEndpoint } from './endpoint.js';
7
- import type { WecomEndpointConfig } from './types.js';
8
-
9
- export class WecomAdapter extends Adapter<WecomEndpoint> {
10
- static override readonly capabilities = ['inbound', 'outbound'] as const;
11
-
12
- #router: Router;
13
-
14
- constructor(plugin: Plugin, router: Router) {
15
- super(plugin, 'wecom', []);
16
- this.#router = router;
17
- }
18
-
19
- createEndpoint(config: WecomEndpointConfig): WecomEndpoint {
20
- return new WecomEndpoint(this, this.#router, config);
21
- }
22
-
23
- async start(): Promise<void> {
24
- await super.start();
25
- }
26
- }
package/src/types.ts DELETED
@@ -1,51 +0,0 @@
1
- /**
2
- * 企业微信适配器类型定义
3
- */
4
-
5
- export interface WecomEndpointConfig {
6
- context: 'wecom'
7
- name: string
8
- corpId: string
9
- agentSecret: string // 应用 Secret
10
- token: string // 用于签名验证
11
- encodingAESKey: string // 用于消息加解密
12
- webhookPath?: string // 默认 '/wecom/callback'
13
- apiBaseUrl?: string // 默认 'https://qyapi.weixin.qq.com'
14
- }
15
-
16
- export interface WecomMessage {
17
- ToUserName: string
18
- FromUserName: string
19
- CreateTime: number
20
- MsgType: 'text' | 'image' | 'voice' | 'video' | 'shortvideo' | 'location' | 'link' | 'event'
21
- Content?: string
22
- MsgId?: string
23
- PicUrl?: string
24
- MediaId?: string
25
- ThumbMediaId?: string
26
- Format?: string
27
- Recognition?: string
28
- Location_X?: string
29
- Location_Y?: string
30
- Scale?: string
31
- Label?: string
32
- Title?: string
33
- Description?: string
34
- Url?: string
35
- Event?: string
36
- EventKey?: string
37
- AgentID?: string
38
- [key: string]: unknown
39
- }
40
-
41
- export interface AccessToken {
42
- access_token: string
43
- expires_in: number
44
- timestamp: number
45
- }
46
-
47
- export interface WecomApiResponse {
48
- errcode: number
49
- errmsg?: string
50
- [key: string]: unknown
51
- }