@zhin.js/adapter-wecom 2.0.1 → 2.0.3

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 (52) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +79 -216
  3. package/adapters/wecom.ts +27 -0
  4. package/agent/tools/get_dept_users.ts +18 -0
  5. package/agent/tools/get_user.ts +17 -0
  6. package/agent/tools/list_departments.ts +18 -0
  7. package/agent/tools/send_text.ts +19 -0
  8. package/lib/endpoint.d.ts +38 -35
  9. package/lib/endpoint.js +148 -545
  10. package/lib/index.d.ts +5 -15
  11. package/lib/index.js +5 -115
  12. package/lib/platform-permit.d.ts +1 -2
  13. package/lib/platform-permit.js +4 -2
  14. package/lib/protocol.d.ts +96 -0
  15. package/lib/protocol.js +252 -0
  16. package/lib/webhook.d.ts +14 -0
  17. package/lib/webhook.js +86 -0
  18. package/lib/wecom-agent-deps.d.ts +17 -0
  19. package/lib/wecom-agent-deps.js +30 -0
  20. package/package.json +51 -16
  21. package/plugin.ts +12 -0
  22. package/schema.json +24 -0
  23. package/src/endpoint.ts +196 -584
  24. package/src/index.ts +49 -130
  25. package/src/platform-permit.ts +1 -2
  26. package/src/protocol.ts +362 -0
  27. package/src/webhook.ts +130 -0
  28. package/src/wecom-agent-deps.ts +46 -0
  29. package/lib/adapter.d.ts +0 -17
  30. package/lib/adapter.d.ts.map +0 -1
  31. package/lib/adapter.js +0 -22
  32. package/lib/adapter.js.map +0 -1
  33. package/lib/endpoint.d.ts.map +0 -1
  34. package/lib/endpoint.js.map +0 -1
  35. package/lib/index.d.ts.map +0 -1
  36. package/lib/index.js.map +0 -1
  37. package/lib/platform-permit.d.ts.map +0 -1
  38. package/lib/platform-permit.js.map +0 -1
  39. package/lib/segment-mapper.d.ts +0 -2
  40. package/lib/segment-mapper.d.ts.map +0 -1
  41. package/lib/segment-mapper.js +0 -2
  42. package/lib/segment-mapper.js.map +0 -1
  43. package/lib/types.d.ts +0 -48
  44. package/lib/types.d.ts.map +0 -1
  45. package/lib/types.js +0 -5
  46. package/lib/types.js.map +0 -1
  47. package/plugin.yml +0 -3
  48. package/src/adapter.ts +0 -28
  49. package/src/segment-mapper.ts +0 -1
  50. package/src/types.ts +0 -51
  51. /package/{skills/wecom → agent}/PERMITS.md +0 -0
  52. /package/{skills/wecom/SKILL.md → agent/skills/wecom.md} +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-wecom",
3
- "version": "2.0.1",
4
- "description": "Zhin.js adapter for WeCom (企业微信)",
3
+ "version": "2.0.3",
4
+ "description": "Zhin.js WeCom (企业微信) adapter for Plugin Runtime (HTTP webhook)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
7
7
  "types": "./lib/index.d.ts",
@@ -33,27 +33,48 @@
33
33
  "type": "git",
34
34
  "directory": "plugins/adapters/wecom"
35
35
  },
36
- "devDependencies": {
37
- "@types/koa": "^3.0.3",
38
- "@types/node": "^26.1.0",
39
- "typescript": "^6.0.3",
40
- "@zhin.js/host-router": "2.0.2",
41
- "zhin.js": "4.1.1"
36
+ "dependencies": {
37
+ "@zhin.js/adapter": "1.0.1",
38
+ "@zhin.js/core": "1.3.5",
39
+ "@zhin.js/host-http": "1.0.1",
40
+ "@zhin.js/logger": "1.0.75",
41
+ "@zhin.js/plugin-runtime": "1.0.1"
42
42
  },
43
43
  "peerDependencies": {
44
- "@zhin.js/host-router": "2.0.2",
45
- "zhin.js": "4.1.1"
44
+ "zod": "^4.0.0",
45
+ "@zhin.js/adapter": "1.0.1",
46
+ "@zhin.js/agent": "1.0.4",
47
+ "@zhin.js/core": "1.3.5",
48
+ "@zhin.js/host-http": "1.0.1",
49
+ "@zhin.js/plugin-runtime": "1.0.1",
50
+ "zhin.js": "4.1.3"
46
51
  },
47
52
  "peerDependenciesMeta": {
48
- "@zhin.js/host-router": {
49
- "optional": false
53
+ "zhin.js": {
54
+ "optional": true
55
+ },
56
+ "@zhin.js/agent": {
57
+ "optional": true
58
+ },
59
+ "zod": {
60
+ "optional": true
50
61
  }
51
62
  },
63
+ "devDependencies": {
64
+ "@types/node": "^26.1.0",
65
+ "typescript": "^6.0.3",
66
+ "vitest": "^4.1.10",
67
+ "zod": "^4.4.3",
68
+ "@zhin.js/agent": "1.0.4",
69
+ "zhin.js": "4.1.3"
70
+ },
52
71
  "files": [
72
+ "adapters",
73
+ "plugin.ts",
74
+ "schema.json",
53
75
  "src",
54
76
  "lib",
55
- "skills",
56
- "plugin.yml",
77
+ "agent",
57
78
  "README.md",
58
79
  "CHANGELOG.md"
59
80
  ],
@@ -64,9 +85,23 @@
64
85
  "engines": {
65
86
  "node": "^20.19.0 || >=22.12.0"
66
87
  },
88
+ "zhin": {
89
+ "protocol": 1,
90
+ "type": "plugin",
91
+ "entry": "./plugin.ts",
92
+ "engine": "^1.0.0",
93
+ "runtime": "trusted",
94
+ "features": [
95
+ {
96
+ "package": "@zhin.js/adapter",
97
+ "api": "^1.0.0"
98
+ }
99
+ ],
100
+ "plugins": []
101
+ },
67
102
  "scripts": {
68
- "build": "pnpm build:node",
103
+ "build": "tsc",
69
104
  "clean": "rimraf lib",
70
- "build:node": "tsc"
105
+ "test": "NODE_OPTIONS=--experimental-strip-types vitest run --root ../../.. plugins/adapters/wecom/tests"
71
106
  }
72
107
  }
package/plugin.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { definePlugin } from '@zhin.js/plugin-runtime';
2
+ import { registerWecomPlatformPermitChecker } from './src/platform-permit.js';
3
+
4
+ export default definePlugin({
5
+ name: 'wecom',
6
+ metadata: {
7
+ displayName: 'WeCom (企业微信) Adapter',
8
+ },
9
+ setup() {
10
+ return registerWecomPlatformPermitChecker();
11
+ },
12
+ });
package/schema.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "default": "wecom-bot"
9
+ },
10
+ "corpId": { "type": "string" },
11
+ "agentSecret": { "type": "string" },
12
+ "token": { "type": "string" },
13
+ "encodingAESKey": { "type": "string" },
14
+ "webhookPath": {
15
+ "type": "string",
16
+ "default": "/wecom/callback"
17
+ },
18
+ "apiBaseUrl": {
19
+ "type": "string",
20
+ "default": "https://qyapi.weixin.qq.com"
21
+ }
22
+ },
23
+ "required": ["corpId", "agentSecret", "token", "encodingAESKey"]
24
+ }