@zhin.js/adapter-kook 5.0.2 → 5.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 (88) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +58 -452
  3. package/adapters/kook.ts +46 -0
  4. package/agent/tools/blacklist.ts +2 -2
  5. package/agent/tools/create_role.ts +2 -2
  6. package/agent/tools/delete_role.ts +2 -2
  7. package/agent/tools/grant_role.ts +2 -2
  8. package/agent/tools/list_roles.ts +2 -2
  9. package/agent/tools/revoke_role.ts +2 -2
  10. package/lib/endpoint.d.ts +84 -0
  11. package/lib/endpoint.js +299 -0
  12. package/lib/index.d.ts +6 -0
  13. package/lib/index.js +6 -0
  14. package/lib/kook-agent-deps.d.ts +29 -0
  15. package/lib/kook-agent-deps.js +30 -0
  16. package/lib/platform-permit.d.ts +23 -0
  17. package/lib/{src/platform-permit.js → platform-permit.js} +2 -3
  18. package/lib/protocol.d.ts +147 -0
  19. package/lib/protocol.js +279 -0
  20. package/lib/webhook.d.ts +15 -0
  21. package/lib/webhook.js +76 -0
  22. package/lib/ws.d.ts +42 -0
  23. package/lib/ws.js +63 -0
  24. package/package.json +44 -40
  25. package/plugin.ts +13 -0
  26. package/schema.json +55 -0
  27. package/src/endpoint.ts +287 -879
  28. package/src/index.ts +55 -177
  29. package/src/kook-agent-deps.ts +44 -11
  30. package/src/platform-permit.ts +13 -3
  31. package/src/protocol.ts +429 -0
  32. package/src/webhook.ts +116 -0
  33. package/src/ws.ts +120 -0
  34. package/client/Dashboard.tsx +0 -255
  35. package/client/index.tsx +0 -11
  36. package/client/tsconfig.json +0 -7
  37. package/client/utils/api.ts +0 -30
  38. package/dist/index.js +0 -31
  39. package/lib/agent/tools/blacklist.js +0 -33
  40. package/lib/agent/tools/blacklist.js.map +0 -1
  41. package/lib/agent/tools/create_role.js +0 -25
  42. package/lib/agent/tools/create_role.js.map +0 -1
  43. package/lib/agent/tools/delete_role.js +0 -21
  44. package/lib/agent/tools/delete_role.js.map +0 -1
  45. package/lib/agent/tools/grant_role.js +0 -22
  46. package/lib/agent/tools/grant_role.js.map +0 -1
  47. package/lib/agent/tools/list_roles.js +0 -27
  48. package/lib/agent/tools/list_roles.js.map +0 -1
  49. package/lib/agent/tools/revoke_role.js +0 -22
  50. package/lib/agent/tools/revoke_role.js.map +0 -1
  51. package/lib/src/adapter.js +0 -67
  52. package/lib/src/adapter.js.map +0 -1
  53. package/lib/src/endpoint.js +0 -796
  54. package/lib/src/endpoint.js.map +0 -1
  55. package/lib/src/index.js +0 -197
  56. package/lib/src/index.js.map +0 -1
  57. package/lib/src/kook-agent-deps.js +0 -10
  58. package/lib/src/kook-agent-deps.js.map +0 -1
  59. package/lib/src/kook-asset-upload.js +0 -46
  60. package/lib/src/kook-asset-upload.js.map +0 -1
  61. package/lib/src/kook-inbound.js +0 -22
  62. package/lib/src/kook-inbound.js.map +0 -1
  63. package/lib/src/kook-msg-route.js +0 -106
  64. package/lib/src/kook-msg-route.js.map +0 -1
  65. package/lib/src/kook-side-events.js +0 -166
  66. package/lib/src/kook-side-events.js.map +0 -1
  67. package/lib/src/outbound-keyboard.js +0 -66
  68. package/lib/src/outbound-keyboard.js.map +0 -1
  69. package/lib/src/outbound-media.js +0 -45
  70. package/lib/src/outbound-media.js.map +0 -1
  71. package/lib/src/outbound-sendable.js +0 -64
  72. package/lib/src/outbound-sendable.js.map +0 -1
  73. package/lib/src/platform-permit.js.map +0 -1
  74. package/lib/src/segment-mapper.js +0 -2
  75. package/lib/src/segment-mapper.js.map +0 -1
  76. package/lib/src/types.js +0 -8
  77. package/lib/src/types.js.map +0 -1
  78. package/plugin.yml +0 -3
  79. package/src/adapter.ts +0 -75
  80. package/src/kook-asset-upload.ts +0 -55
  81. package/src/kook-inbound.ts +0 -22
  82. package/src/kook-msg-route.ts +0 -122
  83. package/src/kook-side-events.ts +0 -230
  84. package/src/outbound-keyboard.ts +0 -77
  85. package/src/outbound-media.ts +0 -60
  86. package/src/outbound-sendable.ts +0 -73
  87. package/src/segment-mapper.ts +0 -1
  88. package/src/types.ts +0 -58
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-kook",
3
- "version": "5.0.2",
4
- "description": "Zhin.js adapter for KOOK (开黑啦)",
3
+ "version": "5.0.3",
4
+ "description": "Zhin.js KOOK adapter for Plugin Runtime (WebSocket gateway or Webhook)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
7
7
  "types": "./lib/index.d.ts",
@@ -33,59 +33,49 @@
33
33
  "directory": "plugins/adapters/kook"
34
34
  },
35
35
  "dependencies": {
36
- "kook-client": "^1.0.4"
37
- },
38
- "devDependencies": {
39
- "@types/react": "^19.2.17",
40
- "@types/react-dom": "^19.2.3",
41
- "lucide-react": "^1.22.0",
42
- "typescript": "^6.0.3",
43
- "zod": "^4.4.3",
44
- "@zhin.js/cli": "1.0.93",
45
- "@zhin.js/client": "2.0.5",
46
- "@zhin.js/contract": "1.0.3",
47
- "@zhin.js/host-api": "2.0.5",
48
- "@zhin.js/host-router": "2.0.3",
49
- "@zhin.js/logger": "1.0.74",
50
- "zhin.js": "4.1.2",
51
- "@zhin.js/agent": "1.0.3"
36
+ "kook-client": "^1.0.4",
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"
52
42
  },
53
43
  "peerDependencies": {
54
44
  "zod": "^4.0.0",
55
- "@zhin.js/client": "2.0.5",
56
- "@zhin.js/host-api": "2.0.5",
57
- "@zhin.js/contract": "1.0.3",
58
- "@zhin.js/host-router": "2.0.3",
59
- "@zhin.js/logger": "1.0.74",
60
- "zhin.js": "4.1.2",
61
- "@zhin.js/agent": "1.0.3"
45
+ "@zhin.js/adapter": "1.0.1",
46
+ "@zhin.js/agent": "1.0.4",
47
+ "@zhin.js/core": "1.3.5",
48
+ "@zhin.js/plugin-runtime": "1.0.1",
49
+ "zhin.js": "4.1.3"
62
50
  },
63
51
  "peerDependenciesMeta": {
64
- "@zhin.js/agent": {
65
- "optional": true
66
- },
67
- "@zhin.js/client": {
52
+ "zhin.js": {
68
53
  "optional": true
69
54
  },
70
- "@zhin.js/host-router": {
71
- "optional": true
72
- },
73
- "@zhin.js/host-api": {
55
+ "@zhin.js/agent": {
74
56
  "optional": true
75
57
  },
76
58
  "zod": {
77
59
  "optional": true
78
60
  }
79
61
  },
62
+ "devDependencies": {
63
+ "@types/node": "^26.1.0",
64
+ "typescript": "^6.0.3",
65
+ "vitest": "^4.1.10",
66
+ "zod": "^4.4.3",
67
+ "@zhin.js/agent": "1.0.4",
68
+ "@zhin.js/host-http": "1.0.1",
69
+ "zhin.js": "4.1.3"
70
+ },
80
71
  "files": [
72
+ "adapters",
73
+ "plugin.ts",
74
+ "schema.json",
81
75
  "src",
82
76
  "lib",
83
- "client",
84
- "dist",
85
77
  "agent",
86
- "plugin.yml",
87
78
  "README.md",
88
- "node",
89
79
  "CHANGELOG.md"
90
80
  ],
91
81
  "publishConfig": {
@@ -95,9 +85,23 @@
95
85
  "engines": {
96
86
  "node": "^20.19.0 || >=22.12.0"
97
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
+ },
98
102
  "scripts": {
99
- "build": "zhin build",
100
- "clean": "rimraf lib dist",
101
- "build:node": "tsc"
103
+ "build": "tsc",
104
+ "clean": "rimraf lib",
105
+ "test": "NODE_OPTIONS=--experimental-strip-types vitest run --root ../../.. plugins/adapters/kook/tests"
102
106
  }
103
107
  }
package/plugin.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { definePlugin } from '@zhin.js/plugin-runtime';
2
+ import { registerKookPlatformPermitChecker } from './src/platform-permit.js';
3
+
4
+ export default definePlugin({
5
+ name: 'kook',
6
+ metadata: {
7
+ displayName: 'KOOK WebSocket Adapter',
8
+ },
9
+ setup() {
10
+ // 平台权限门禁:guild_owner / guild_admin / channel_admin 等(agent 工具 platformPermit)
11
+ return registerKookPlatformPermitChecker();
12
+ },
13
+ });
package/schema.json ADDED
@@ -0,0 +1,55 @@
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": "kook-bot"
9
+ },
10
+ "token": {
11
+ "type": "string"
12
+ },
13
+ "connection": {
14
+ "type": "string",
15
+ "enum": ["websocket", "webhook"],
16
+ "default": "websocket",
17
+ "description": "WebSocket gateway (default). webhook requires httpHostToken, verify_token, and a public HTTPS callback URL."
18
+ },
19
+ "webhookPath": {
20
+ "type": "string",
21
+ "default": "/kook/webhook",
22
+ "description": "POST path registered via httpHostToken when connection is webhook."
23
+ },
24
+ "verify_token": {
25
+ "type": "string",
26
+ "description": "KOOK developer console verify token (required for webhook mode)."
27
+ },
28
+ "encrypt_key": {
29
+ "type": "string",
30
+ "description": "Optional Encrypt Key when message encryption is enabled in KOOK console."
31
+ },
32
+ "data_dir": {
33
+ "type": "string"
34
+ },
35
+ "timeout": {
36
+ "type": "number",
37
+ "default": 10000
38
+ },
39
+ "max_retry": {
40
+ "type": "number",
41
+ "default": 3
42
+ },
43
+ "ignore": {
44
+ "type": "string",
45
+ "enum": ["bot", "self"],
46
+ "default": "bot"
47
+ },
48
+ "logLevel": {
49
+ "type": "string",
50
+ "enum": ["trace", "debug", "info", "warn", "error", "fatal", "mark", "off"],
51
+ "default": "info"
52
+ }
53
+ },
54
+ "required": ["token"]
55
+ }