@zhin.js/adapter-wechat-mp 1.0.1 → 1.1.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 +467 -0
- package/README.md +40 -88
- package/adapters/wechat-mp.js +32 -0
- package/adapters/wechat-mp.ts +38 -0
- package/commands/endpoint/add/[id].js +3 -0
- package/commands/endpoint/add/[id].ts +3 -0
- package/commands/endpoint/list.js +3 -0
- package/commands/endpoint/list.ts +3 -0
- package/commands/endpoint/remove/[id].js +3 -0
- package/commands/endpoint/remove/[id].ts +3 -0
- package/lib/client.d.ts +32 -0
- package/lib/client.js +70 -0
- package/lib/endpoint.d.ts +31 -72
- package/lib/endpoint.js +226 -747
- package/lib/index.d.ts +6 -15
- package/lib/index.js +6 -25
- package/lib/media-upload.d.ts +22 -0
- package/lib/media-upload.js +64 -0
- package/lib/passive-reply.d.ts +0 -1
- package/lib/passive-reply.js +0 -1
- package/lib/protocol.d.ts +129 -0
- package/lib/protocol.js +349 -0
- package/lib/side-event-dispatch.d.ts +4 -0
- package/lib/side-event-dispatch.js +38 -0
- package/lib/webhook.d.ts +20 -0
- package/lib/webhook.js +152 -0
- package/lib/wechat-mp-endpoint-commands.d.ts +1 -0
- package/lib/wechat-mp-endpoint-commands.js +19 -0
- package/lib/wechat-mp-runtime-state.d.ts +1 -0
- package/lib/wechat-mp-runtime-state.js +6 -0
- package/package.json +53 -13
- package/plugin.js +14 -0
- package/schema.json +116 -0
- package/src/client.ts +121 -0
- package/src/endpoint.ts +276 -902
- package/src/index.ts +56 -35
- package/src/media-upload.ts +82 -0
- package/src/protocol.ts +507 -0
- package/src/side-event-dispatch.ts +45 -0
- package/src/webhook.ts +237 -0
- package/src/wechat-mp-endpoint-commands.ts +20 -0
- package/src/wechat-mp-runtime-state.ts +7 -0
- package/lib/adapter.d.ts +0 -14
- package/lib/adapter.d.ts.map +0 -1
- package/lib/adapter.js +0 -17
- package/lib/adapter.js.map +0 -1
- package/lib/endpoint.d.ts.map +0 -1
- package/lib/endpoint.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/passive-reply.d.ts.map +0 -1
- package/lib/passive-reply.js.map +0 -1
- package/lib/types.d.ts +0 -58
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js +0 -2
- package/lib/types.js.map +0 -1
- package/src/adapter.ts +0 -22
- package/src/types.ts +0 -60
- /package/{skills/wechat-mp/SKILL.md → agent/skills/wechat-mp.md} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,472 @@
|
|
|
1
1
|
# @zhin.js/adapter-wechat-mp
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 1fc6270: Reset all 88 published official packages onto the owner-governed 1.1.x stable line. Packages whose historical 1.1.0 version is still available publish as 1.1.0; packages where npm permanently reserves that version use the next available 1.1.x patch. Historical higher version lines remain installable but are superseded, and routine releases after this reset are patch-only.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- a34bf91: Publish internal peer dependencies as compatible caret ranges instead of exact versions, preventing compatible internal minor releases from forcing unrelated major bumps.
|
|
12
|
+
- Updated dependencies [1fc6270]
|
|
13
|
+
- @zhin.js/adapter@1.1.12
|
|
14
|
+
- @zhin.js/core@1.1.35
|
|
15
|
+
- @zhin.js/feature-kit@1.1.0
|
|
16
|
+
- @zhin.js/host-http@1.1.0
|
|
17
|
+
- @zhin.js/im-contract@1.1.0
|
|
18
|
+
- @zhin.js/logger@1.1.0
|
|
19
|
+
|
|
20
|
+
## 7.0.1
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [f7ee28d]
|
|
25
|
+
- @zhin.js/adapter@1.2.2
|
|
26
|
+
- @zhin.js/core@1.5.16
|
|
27
|
+
- zhin.js@7.0.1
|
|
28
|
+
|
|
29
|
+
## 7.0.0
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- zhin.js@7.0.0
|
|
34
|
+
|
|
35
|
+
## 6.0.5
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [a728a20]
|
|
40
|
+
- @zhin.js/host-http@1.0.17
|
|
41
|
+
- zhin.js@6.0.15
|
|
42
|
+
|
|
43
|
+
## 6.0.4
|
|
44
|
+
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- Updated dependencies [fcbff21]
|
|
48
|
+
- @zhin.js/host-http@1.0.16
|
|
49
|
+
- zhin.js@6.0.15
|
|
50
|
+
|
|
51
|
+
## 6.0.3
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- Updated dependencies [d85eddd]
|
|
56
|
+
- @zhin.js/host-http@1.0.15
|
|
57
|
+
- @zhin.js/core@1.5.15
|
|
58
|
+
- zhin.js@6.0.15
|
|
59
|
+
|
|
60
|
+
## 6.0.2
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [a5ee497]
|
|
65
|
+
- Updated dependencies [ba7e17a]
|
|
66
|
+
- Updated dependencies [7108d0b]
|
|
67
|
+
- @zhin.js/host-http@1.0.14
|
|
68
|
+
- @zhin.js/core@1.5.15
|
|
69
|
+
- zhin.js@6.0.15
|
|
70
|
+
|
|
71
|
+
## 6.0.1
|
|
72
|
+
|
|
73
|
+
### Patch Changes
|
|
74
|
+
|
|
75
|
+
- 1fc78bc: Unify native platform Client access behind the literal `adapter` discriminant. Handlers infer both native events and Clients, while command, inbound/outbound middleware, and both Agent tool authoring surfaces expose the exact operation-scoped Client through a lazy `$client` getter. Definitions without `adapter` keep `$client` typed as `unknown`, and runtime dispatch rejects adapter mismatches before resolving the Client. Bundled platform tools now use this single path instead of model-provided endpoint ids and adapter-specific dependency wrappers. Every adapter registers one Client/EventMap contract, and protocol adapters including NapCat, Milky, OneBot and Satori now produce transport-independent Client objects rather than letting Endpoint instances impersonate Clients.
|
|
76
|
+
- Updated dependencies [4e8117c]
|
|
77
|
+
- Updated dependencies [54bfd6b]
|
|
78
|
+
- Updated dependencies [12025ee]
|
|
79
|
+
- Updated dependencies [09b14d6]
|
|
80
|
+
- Updated dependencies [1fc78bc]
|
|
81
|
+
- @zhin.js/adapter@1.2.1
|
|
82
|
+
- @zhin.js/core@1.5.14
|
|
83
|
+
- @zhin.js/host-http@1.0.13
|
|
84
|
+
- @zhin.js/command@1.0.16
|
|
85
|
+
- @zhin.js/logger@1.0.77
|
|
86
|
+
- zhin.js@6.0.14
|
|
87
|
+
- @zhin.js/feature-kit@1.0.13
|
|
88
|
+
|
|
89
|
+
## 6.0.0
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- Updated dependencies [b10d058]
|
|
94
|
+
- Updated dependencies [f2c532f]
|
|
95
|
+
- @zhin.js/host-http@1.0.12
|
|
96
|
+
- @zhin.js/adapter@1.2.0
|
|
97
|
+
- @zhin.js/core@1.5.13
|
|
98
|
+
- zhin.js@6.0.13
|
|
99
|
+
|
|
100
|
+
## 5.0.13
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- 5969c5b: Add SideEventGateway so adapters forward notice/request/system into HandlerIndex. HandlerContext now exposes only generation-safe capabilities and prompt ports; live Endpoint escape hatches are removed.
|
|
105
|
+
- Updated dependencies [5969c5b]
|
|
106
|
+
- Updated dependencies [d336a3f]
|
|
107
|
+
- Updated dependencies [5969c5b]
|
|
108
|
+
- Updated dependencies [5969c5b]
|
|
109
|
+
- Updated dependencies [974772e]
|
|
110
|
+
- Updated dependencies [5969c5b]
|
|
111
|
+
- Updated dependencies [2f786bd]
|
|
112
|
+
- Updated dependencies [1312ca0]
|
|
113
|
+
- Updated dependencies [985fa22]
|
|
114
|
+
- @zhin.js/im-contract@1.0.4
|
|
115
|
+
- @zhin.js/core@1.5.12
|
|
116
|
+
- @zhin.js/adapter@1.1.11
|
|
117
|
+
- @zhin.js/host-http@1.0.11
|
|
118
|
+
- @zhin.js/command@1.0.15
|
|
119
|
+
- zhin.js@6.0.12
|
|
120
|
+
|
|
121
|
+
## 5.0.12
|
|
122
|
+
|
|
123
|
+
### Patch Changes
|
|
124
|
+
|
|
125
|
+
- @zhin.js/core@1.5.11
|
|
126
|
+
- zhin.js@6.0.11
|
|
127
|
+
|
|
128
|
+
## 5.0.11
|
|
129
|
+
|
|
130
|
+
### Patch Changes
|
|
131
|
+
|
|
132
|
+
- 3556601: Declare Stable Feature packages referenced by `zhin.features` as optional `peerDependencies` on official plugins/adapters (`@zhin.js/runtime` ≥1.0.12 requires features to be declared in deps/peers). Keeps authoring via `zhin.js` facades without installing Feature implementation packages into `dependencies`, and removes the need for consumer postinstall peer-patch scripts. `zhin new` scaffolds the same peer shape.
|
|
133
|
+
- @zhin.js/core@1.5.10
|
|
134
|
+
- zhin.js@6.0.10
|
|
135
|
+
|
|
136
|
+
## 5.0.10
|
|
137
|
+
|
|
138
|
+
### Patch Changes
|
|
139
|
+
|
|
140
|
+
- eb84b77: fix: 更新文档,建立正确的依赖关系
|
|
141
|
+
- Updated dependencies [d3920e9]
|
|
142
|
+
- @zhin.js/core@1.5.10
|
|
143
|
+
- zhin.js@6.0.10
|
|
144
|
+
- @zhin.js/adapter@1.1.10
|
|
145
|
+
|
|
146
|
+
## 5.0.9
|
|
147
|
+
|
|
148
|
+
### Patch Changes
|
|
149
|
+
|
|
150
|
+
- Updated dependencies [e4757a8]
|
|
151
|
+
- Updated dependencies [c3c0ebf]
|
|
152
|
+
- @zhin.js/command@1.0.13
|
|
153
|
+
- @zhin.js/host-http@1.0.10
|
|
154
|
+
- @zhin.js/core@1.5.9
|
|
155
|
+
- @zhin.js/adapter@1.1.9
|
|
156
|
+
- zhin.js@6.0.9
|
|
157
|
+
|
|
158
|
+
## 5.0.8
|
|
159
|
+
|
|
160
|
+
### Patch Changes
|
|
161
|
+
|
|
162
|
+
- Updated dependencies [63253bb]
|
|
163
|
+
- Updated dependencies [8e973dc]
|
|
164
|
+
- Updated dependencies [953cfe1]
|
|
165
|
+
- Updated dependencies [0e73866]
|
|
166
|
+
- @zhin.js/plugin-runtime@1.1.6
|
|
167
|
+
- @zhin.js/core@1.5.8
|
|
168
|
+
- @zhin.js/adapter@1.1.8
|
|
169
|
+
- @zhin.js/host-http@1.0.9
|
|
170
|
+
- zhin.js@6.0.8
|
|
171
|
+
- @zhin.js/command@1.0.12
|
|
172
|
+
|
|
173
|
+
## 5.0.7
|
|
174
|
+
|
|
175
|
+
### Patch Changes
|
|
176
|
+
|
|
177
|
+
- Updated dependencies [36cb1ca]
|
|
178
|
+
- @zhin.js/core@1.5.7
|
|
179
|
+
- zhin.js@6.0.7
|
|
180
|
+
|
|
181
|
+
## 5.0.6
|
|
182
|
+
|
|
183
|
+
### Patch Changes
|
|
184
|
+
|
|
185
|
+
- Updated dependencies [7945544]
|
|
186
|
+
- @zhin.js/command@1.0.11
|
|
187
|
+
- @zhin.js/adapter@1.1.7
|
|
188
|
+
- @zhin.js/core@1.5.6
|
|
189
|
+
- zhin.js@6.0.6
|
|
190
|
+
|
|
191
|
+
## 5.0.5
|
|
192
|
+
|
|
193
|
+
### Patch Changes
|
|
194
|
+
|
|
195
|
+
- Updated dependencies [2d0a622]
|
|
196
|
+
- @zhin.js/command@1.0.10
|
|
197
|
+
- @zhin.js/adapter@1.1.7
|
|
198
|
+
- @zhin.js/core@1.5.5
|
|
199
|
+
- zhin.js@6.0.5
|
|
200
|
+
|
|
201
|
+
## 5.0.4
|
|
202
|
+
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- Updated dependencies [0de46a8]
|
|
206
|
+
- Updated dependencies [c106ecc]
|
|
207
|
+
- Updated dependencies [ca92e03]
|
|
208
|
+
- Updated dependencies [b0f37ae]
|
|
209
|
+
- Updated dependencies [ba08a2f]
|
|
210
|
+
- Updated dependencies [daffd4c]
|
|
211
|
+
- Updated dependencies [36c7400]
|
|
212
|
+
- Updated dependencies [162fa34]
|
|
213
|
+
- Updated dependencies [e40b048]
|
|
214
|
+
- Updated dependencies [f1708c3]
|
|
215
|
+
- Updated dependencies [e53444f]
|
|
216
|
+
- Updated dependencies [92b0dd7]
|
|
217
|
+
- Updated dependencies [a7df753]
|
|
218
|
+
- @zhin.js/host-http@1.0.8
|
|
219
|
+
- @zhin.js/im-contract@1.0.3
|
|
220
|
+
- @zhin.js/adapter@1.1.7
|
|
221
|
+
- @zhin.js/plugin-runtime@1.1.5
|
|
222
|
+
- @zhin.js/command@1.0.9
|
|
223
|
+
- @zhin.js/core@1.5.4
|
|
224
|
+
- zhin.js@6.0.4
|
|
225
|
+
|
|
226
|
+
## 5.0.3
|
|
227
|
+
|
|
228
|
+
### Patch Changes
|
|
229
|
+
|
|
230
|
+
- f8c7a54: fix: im
|
|
231
|
+
- Updated dependencies [f8c7a54]
|
|
232
|
+
- @zhin.js/logger@1.0.76
|
|
233
|
+
- @zhin.js/host-http@1.0.7
|
|
234
|
+
- @zhin.js/adapter@1.1.6
|
|
235
|
+
- @zhin.js/command@1.0.8
|
|
236
|
+
- @zhin.js/core@1.5.3
|
|
237
|
+
- @zhin.js/im-contract@1.0.2
|
|
238
|
+
- @zhin.js/plugin-runtime@1.1.4
|
|
239
|
+
- zhin.js@6.0.3
|
|
240
|
+
|
|
241
|
+
## 5.0.2
|
|
242
|
+
|
|
243
|
+
### Patch Changes
|
|
244
|
+
|
|
245
|
+
- Updated dependencies [afc0e66]
|
|
246
|
+
- Updated dependencies [2e41ad5]
|
|
247
|
+
- Updated dependencies [9f57124]
|
|
248
|
+
- @zhin.js/core@1.5.2
|
|
249
|
+
- @zhin.js/adapter@1.1.5
|
|
250
|
+
- @zhin.js/im-contract@1.0.1
|
|
251
|
+
- @zhin.js/plugin-runtime@1.1.3
|
|
252
|
+
- @zhin.js/command@1.0.7
|
|
253
|
+
- @zhin.js/host-http@1.0.6
|
|
254
|
+
- zhin.js@6.0.2
|
|
255
|
+
|
|
256
|
+
## 5.0.1
|
|
257
|
+
|
|
258
|
+
### Patch Changes
|
|
259
|
+
|
|
260
|
+
- Updated dependencies [c8f4d45]
|
|
261
|
+
- @zhin.js/plugin-runtime@1.1.2
|
|
262
|
+
- @zhin.js/host-http@1.0.5
|
|
263
|
+
- @zhin.js/adapter@1.1.4
|
|
264
|
+
- @zhin.js/command@1.0.6
|
|
265
|
+
- @zhin.js/core@1.5.1
|
|
266
|
+
- zhin.js@6.0.1
|
|
267
|
+
|
|
268
|
+
## 5.0.0
|
|
269
|
+
|
|
270
|
+
### Patch Changes
|
|
271
|
+
|
|
272
|
+
- 4fbff5d: feat!: 多模态双向 Segment 一贯制(BREAKING,无兼容层)
|
|
273
|
+
|
|
274
|
+
全框架唯一媒体表达统一为 canonical `Segment` + `MediaRef{kind: url|path|base64|file, value, mime_type?, file_name?, size?}`,新增 audio/video/file 段类型;所有第二形状(legacy `data.url/file/base64` 字段、`mediaRefFromLegacyData`/`mediaRefToLegacyFields` 桥、双写)全部删除。
|
|
275
|
+
|
|
276
|
+
- **core**:`SendContent` 一等支持 `Segment[]`;endpoint 出站载荷只含 canonical 段;`resolveOutboundMediaPolicy` 改为纯声明驱动(adapter definition `segments.outboundMedia`),内置策略表删除,未声明回退 `url-or-text`;`ImageContent` 旧桥删除。
|
|
277
|
+
- **ai**:新增 `MediaContentBlock`/`MediaBlockRef`(Segment 同构)与 `UserMessage.media`(当前 turn 媒体,**不持久化**——存储层自动剥离);`createUserMessage(text, media?)` 签名变更(`ImageContent` 删除);provider 边界序列化器 `filterMediaBlocksForProvider` + 能力表(缺省 image-only,不支持类型降级占位文本);ai-sdk 桥媒体块 → SDK image/file parts。
|
|
278
|
+
- **agent**:入站 turn 注入(`turn/inbound-media.ts`)——commMessage 媒体段 → 当前 turn `UserMessage.media`;图片 path 物化、音频默认 STT(`@zhin.js/speech` 可选,失败降级占位)、视频/文件占位;`publishOutboundElements` 产出 canonical Segment;`transcribeAudioPayload` 导出。
|
|
279
|
+
- **cli**:`bridgeRuntimeMessage` 回复链路媒体段透传,不再压平为文本(`$reply` 直达 normalize → adapter)。
|
|
280
|
+
- **全部 20 个平台适配器**:出站媒体只消费 `data.media`(url 直发 / base64 直发 / 平台上传 / 读盘),入站媒体产出 canonical `data.media`;`segments.outboundMedia` 声明与实际消费逐一核对修正;QQ 入站新增 canonical segments(image/audio/video/file/mention/face/reply),图片/语音/视频不再丢失。
|
|
281
|
+
|
|
282
|
+
迁移:适配器/插件产媒体一律用 `{ type, data: { media: MediaRef } }`;发送 legacy `data.url/file/base64` 形状的段会被 warn 丢弃。
|
|
283
|
+
|
|
284
|
+
- Updated dependencies [7c1e63a]
|
|
285
|
+
- Updated dependencies [4fbff5d]
|
|
286
|
+
- Updated dependencies [5b94d9c]
|
|
287
|
+
- @zhin.js/command@1.0.5
|
|
288
|
+
- @zhin.js/adapter@1.1.3
|
|
289
|
+
- @zhin.js/core@1.5.0
|
|
290
|
+
- zhin.js@6.0.0
|
|
291
|
+
|
|
292
|
+
## 4.0.4
|
|
293
|
+
|
|
294
|
+
### Patch Changes
|
|
295
|
+
|
|
296
|
+
- Updated dependencies [d8bf702]
|
|
297
|
+
- @zhin.js/host-http@1.0.4
|
|
298
|
+
- @zhin.js/core@1.4.3
|
|
299
|
+
- zhin.js@5.0.3
|
|
300
|
+
|
|
301
|
+
## 4.0.3
|
|
302
|
+
|
|
303
|
+
### Patch Changes
|
|
304
|
+
|
|
305
|
+
- Updated dependencies [45b3256]
|
|
306
|
+
- @zhin.js/core@1.4.3
|
|
307
|
+
- zhin.js@5.0.3
|
|
308
|
+
|
|
309
|
+
## 4.0.2
|
|
310
|
+
|
|
311
|
+
### Patch Changes
|
|
312
|
+
|
|
313
|
+
- d5cd4aa: Publish Plugin Runtime entry points and convention modules as JavaScript so
|
|
314
|
+
installed npm plugins load on Node without TypeScript stripping. Workspace
|
|
315
|
+
development continues to prefer TypeScript sources for local HMR.
|
|
316
|
+
|
|
317
|
+
Remove the unconsumed legacy game hub APIs from game-kit; game navigation and
|
|
318
|
+
records now use ordinary convention commands owned by the game hub plugin.
|
|
319
|
+
|
|
320
|
+
- Updated dependencies [d5cd4aa]
|
|
321
|
+
- @zhin.js/command@1.0.4
|
|
322
|
+
- zhin.js@5.0.2
|
|
323
|
+
- @zhin.js/adapter@1.1.2
|
|
324
|
+
- @zhin.js/core@1.4.2
|
|
325
|
+
|
|
326
|
+
## 4.0.1
|
|
327
|
+
|
|
328
|
+
### Patch Changes
|
|
329
|
+
|
|
330
|
+
- 5691aba: 第二轮全量审计修复批(8 面 ~60 bug):
|
|
331
|
+
|
|
332
|
+
- **安全**:email 附件路径穿越修复(basename + downloadPath 约束);lark/telegram/satori webhook 鉴权(缺密钥告警、timingSafeEqual、±5min 时效窗、chat_type 修正);onebot wss/webhook 缺 token 告警;qq webhook 改原始字节验签;renderJsx/JSX 转义注入修复;console runtime token 401 死循环。
|
|
333
|
+
- **P0 功能**:sandbox 多 endpoint 解析 + WS 路径隔离;short-url expand(undici opaqueredirect)改 follow;AI 压缩摘要失败不再静默丢历史(熔断恢复生效);console-ui 实时推送事件名归一化 + IndexedDB schema 对齐;process-monitor 热重载不再误判崩溃。
|
|
334
|
+
- **生命周期**:email IMAP 断线重连 + 在飞锁;onebot11/12 start 失败清理;line replyToken TTL + push 兜底;wechat-mp token 过期重试 + MsgId 去重;weixin-ilink buf 推进/防抖写盘/媒体 TTL/QR abort;satori PONG 看门狗;退避自毁修复。
|
|
335
|
+
- **游戏**:text-adventure 终局 restart 复活 + requires 服务端校验;tic-tac-toe PvP 占用/restart/队列清理/TTL;idiom-chain/word-riddle 闲聊不扣失误;别名中间件不劫持普通聊天。
|
|
336
|
+
- **共享库**:schema falsy 默认值/date/tuple/union 修复;database parseCondition Date/未知操作符、sqlite TEXT 往返、query 分派、belongsToMany 方言、migration dry-run;schedule DST 回拨死循环、重复 id 去重、flush 串行化;game-kit fallback 编号/onboarding 提示/尾缀边界/活引用拷贝。
|
|
337
|
+
- **渲染语音**:fetch 全部超时 + 渲染并发闸;sanitizeHtml form 保文本;STT 扩展名映射 + 删临时文件;TTS 未知 provider 报错;emojiCache LRU 负缓存/fontCache style/clearFonts 恢复;register 错误分类收窄。
|
|
338
|
+
|
|
339
|
+
- 74b035c: endpoint 管理命令扩展至 18/20 适配器:kook / discord / github(private_key 支持内联文件路径)/ icqq(bindFlow 登记式 add + `icqq login` 引导)/ dingtalk / lark / line / satori / wechat-mp / wecom / weixin-ilink 接入 `endpoint list/add/remove`(字段对齐各自 schema,凭据写 `.env`)。email(smtp/imap 嵌套对象)与 sandbox(无凭据)暂不接。
|
|
340
|
+
- 09d4f25: Console 社交读取面(management 语义端口)多平台落地:napcat/onebot11/onebot12/milky(好友+群+群成员,OneBot 标准动作);discord/kook/satori(guild+频道+成员,分页聚合,id 保精度留字符串);slack(workspace 成员+public channels+conversations.members);line(群/room 成员分页+profile 回退);wechat-mp(followers openid);weixin-ilink(context_token 对端推导);lark(chats+members 全分页)。`EndpointFriend.user_id`/`EndpointGroup.group_id` 放宽为 `number | string`(雪花 id 不丢精度)。telegram/wecom/dingtalk/github/email/sandbox 注明平台无列表面暂不接。
|
|
341
|
+
- 6cb6152: 统一消息元素通道(UNI-Channel)落地:
|
|
342
|
+
|
|
343
|
+
- **入站契约**:`IncomingMessage.segments`(canonical Segment[],与 content 纯文本视图同源双轨),Message 透传;AI 兜底链路经 `collectSegmentMedia` 把图片/语音/视频/文件 MediaRef 写入会话 extra——多模态输入不再丢失。
|
|
344
|
+
- **出站协商**:`normalizeOutboundPayload` 升级全量 canonical 归一(复用 generic-segment-mapper),html→image 按端点 `segments.outboundMedia` 声明降级(base64 直发 / url-or-text / passthrough 自行物化);`MediaRef.kind` 新增 `'file'` 承载平台不透明引用(file_id/resource_id)。
|
|
345
|
+
- **能力声明**:`defineAdapter.segments` policy(outboundMedia / interactive),三道段门禁复活(探测点改 adapters/\*.ts,豁免名单渐进收敛)。
|
|
346
|
+
- **首批迁移**:icqq 全保真出入站(CQ ↔ canonical,quote→reply 段);milky/telegram/discord 入站媒体段恢复(附件/贴纸/callback action);napcat/onebot11/onebot12 出站 canonical→OneBot 数组段;wechat-mp/wecom `/cgi-bin/media/upload` 与 lark `/im/v1/images` 上传通路(base64/URL 图片不再静默丢图,失败降级文本)。
|
|
347
|
+
|
|
348
|
+
- Updated dependencies [cdf64e7]
|
|
349
|
+
- Updated dependencies [2d0a159]
|
|
350
|
+
- Updated dependencies [5691aba]
|
|
351
|
+
- Updated dependencies [078e3f7]
|
|
352
|
+
- Updated dependencies [50497a5]
|
|
353
|
+
- Updated dependencies [9c997b2]
|
|
354
|
+
- Updated dependencies [09d4f25]
|
|
355
|
+
- Updated dependencies [43485a9]
|
|
356
|
+
- Updated dependencies [f0ec5ab]
|
|
357
|
+
- Updated dependencies [3e925d0]
|
|
358
|
+
- Updated dependencies [fa66c4c]
|
|
359
|
+
- Updated dependencies [fa66c4c]
|
|
360
|
+
- Updated dependencies [6cb6152]
|
|
361
|
+
- @zhin.js/command@1.0.3
|
|
362
|
+
- @zhin.js/plugin-runtime@1.1.1
|
|
363
|
+
- @zhin.js/host-http@1.0.3
|
|
364
|
+
- zhin.js@5.0.1
|
|
365
|
+
- @zhin.js/adapter@1.1.1
|
|
366
|
+
- @zhin.js/core@1.4.1
|
|
367
|
+
|
|
368
|
+
## 4.0.0
|
|
369
|
+
|
|
370
|
+
### Patch Changes
|
|
371
|
+
|
|
372
|
+
- 7db69c1: 命令前缀改为适配器配置项:`MessageDispatcher` 不再硬编码 `/`,默认按消息所属适配器实例 config 的 `commandPrefix` 解析(默认 `''` 无前缀,任意文本按命令匹配),`endpoints[i].commandPrefix` 逐项覆盖;`ImRuntime({ commandPrefix })` 仍可设全局静态前缀。全部 20 个平台适配器 schema 新增 `commandPrefix` 属性。
|
|
373
|
+
|
|
374
|
+
BREAKING(行为变化):未配置时命令不再需要 `/` 前缀——原 `/zt` 写法不再命中,直接发 `zt` 即可;需要斜杠风格的适配器请在配置里显式设 `commandPrefix: '/'`。
|
|
375
|
+
|
|
376
|
+
- 713445c: 适配器配置格式定稿(不兼容旧格式):`plugins.<adapter>` 顶层仅共享字段 + `commandPrefix`,`endpoints[i]` 携带 endpoint 级字段(`name` + 凭据,各 schema 已类型化),`endpoints` 为必填(icqq 另需顶层 `master`);icqq 新增 `trusted` 列表(顶层/逐项均可)。scaffold-wizard 全部字段式与自定义 configure() 产出改为新格式,examples(full-bot / qq-games-bot)与 20 个适配器 README 同步迁移。
|
|
377
|
+
- Updated dependencies [7db69c1]
|
|
378
|
+
- Updated dependencies [e5c84ed]
|
|
379
|
+
- Updated dependencies [3ea84a0]
|
|
380
|
+
- Updated dependencies [1ddcd70]
|
|
381
|
+
- Updated dependencies [ac9da66]
|
|
382
|
+
- @zhin.js/core@1.4.0
|
|
383
|
+
- @zhin.js/adapter@1.1.0
|
|
384
|
+
- @zhin.js/plugin-runtime@1.1.0
|
|
385
|
+
- @zhin.js/host-http@1.0.2
|
|
386
|
+
- zhin.js@5.0.0
|
|
387
|
+
|
|
388
|
+
## 3.0.3
|
|
389
|
+
|
|
390
|
+
### Patch Changes
|
|
391
|
+
|
|
392
|
+
- cc5c94d: 约定式插件运行时迁移(breaking):插件与适配器由 `usePlugin()` / `extends Adapter` 迁移为 `definePlugin` / `defineAdapter` + `plugin.ts` + 约定目录(`adapters/`、`commands/`、`components/`、`tools/` 等)。
|
|
393
|
+
|
|
394
|
+
- 新增约定式运行时包:`@zhin.js/plugin-runtime`、`@zhin.js/adapter`、`@zhin.js/runtime`、`@zhin.js/host-http`(首版 1.0.0 走 init-publish,不在本 changeset 内 bump)。
|
|
395
|
+
- 全部 20 个平台适配器改为约定式 `defineAdapter`,旧 `usePlugin` / `extends Adapter` / `segment-mapper` 生产入口已删除;onebot11 反向 WSS、onebot12 webhook/wss、milky sse/webhook/wss、satori webhook、kook webhook、qq webhook/middleware 等 slice 1 推迟的连接模式已补齐。
|
|
396
|
+
- 游戏 / 工具 / 服务插件同步迁移到约定目录结构。
|
|
397
|
+
- CLI 增加 plugin-runtime host installer(http/database/outbound/schedule/console 等)。
|
|
398
|
+
|
|
399
|
+
后续加固(同批):
|
|
400
|
+
|
|
401
|
+
- CLI:`zhin runtime start --daemon`(pidfile/崩溃拉起/风暴保护),orphan watchdog 防僵尸进程;legacy `zhin dev` / `zhin start` 已移除(含 `zhin restart`),`zhin stop` 兼容新 daemon。
|
|
402
|
+
- 安全:builtin 工具统一走 `security/policy-facade.ts` 的 `runToolPolicies`(声明式策略表,deny 优先);审计日志 close flush + 背压队列;`splitCompoundCommand` 引号感知、`extractCommandName` 去引号堵绕过。
|
|
403
|
+
- 日志:Logger 双堆栈修复、本地时区、`getLogger` 挂树(`setLevel` 递归生效)、第三方库(log4js/discord)桥接、启动人读总结。
|
|
404
|
+
- 结构:`plugins/games/shared` 迁为 `packages/game-kit`(`@zhin.js/game-kit`);死目录 `plugins/adapters/common` 删除。
|
|
405
|
+
- 脚手架:`create-zhin-app` / `zhin new` / scaffold-wizard 生成物改为 Plugin Runtime 形态(minimal-bot 同构,新配置格式)。
|
|
406
|
+
- Console:endpoint.list 真实名称与 phase、schema:get-all 按 instanceKey 映射、db:\* 接 DatabaseHost。
|
|
407
|
+
|
|
408
|
+
注:按仓库发布惯例(见 1bb345dd2),本次 breaking 迁移统一使用 patch,避免 zhin.js 5.0 级联。
|
|
409
|
+
|
|
410
|
+
- Updated dependencies [16ec4e8]
|
|
411
|
+
- Updated dependencies [cc5c94d]
|
|
412
|
+
- Updated dependencies [447f3e2]
|
|
413
|
+
- @zhin.js/core@1.3.5
|
|
414
|
+
- @zhin.js/host-http@1.0.1
|
|
415
|
+
- zhin.js@4.1.3
|
|
416
|
+
- @zhin.js/logger@1.0.75
|
|
417
|
+
- @zhin.js/plugin-runtime@1.0.1
|
|
418
|
+
- @zhin.js/adapter@1.0.1
|
|
419
|
+
|
|
420
|
+
## 3.0.2
|
|
421
|
+
|
|
422
|
+
### Patch Changes
|
|
423
|
+
|
|
424
|
+
- 872c583: Slack 适配器 Phase 1/2:mrkdwn 出站、长消息切分、斜杠/按钮 ephemeral 反馈、入站 mrkdwn→Markdown、editMessage 对齐 core。
|
|
425
|
+
|
|
426
|
+
Logger 表格日志与 string-width 列宽;Agent AI Handler 框线表格与 introspection/MCP 导出;Core side-event 归一化;Schedule 时区规划;多适配器 side-event 与 API surface 更新。
|
|
427
|
+
|
|
428
|
+
- 872c583: fix: 代码格式优化
|
|
429
|
+
- Updated dependencies [872c583]
|
|
430
|
+
- Updated dependencies [872c583]
|
|
431
|
+
- @zhin.js/host-router@2.0.3
|
|
432
|
+
- zhin.js@4.1.2
|
|
433
|
+
|
|
434
|
+
## 3.0.1
|
|
435
|
+
|
|
436
|
+
### Patch Changes
|
|
437
|
+
|
|
438
|
+
- 5cc9c03: fix: ai 优化
|
|
439
|
+
- b9b3881: fix: 增加游戏引擎以及部分游戏
|
|
440
|
+
- Updated dependencies [5cc9c03]
|
|
441
|
+
- Updated dependencies [7700903]
|
|
442
|
+
- @zhin.js/host-router@2.0.2
|
|
443
|
+
- zhin.js@4.1.1
|
|
444
|
+
|
|
445
|
+
## 3.0.0
|
|
446
|
+
|
|
447
|
+
### Patch Changes
|
|
448
|
+
|
|
449
|
+
- c4575c9: fix: 输入输出优化,文档优化
|
|
450
|
+
- Updated dependencies [c4575c9]
|
|
451
|
+
- Updated dependencies [c4575c9]
|
|
452
|
+
- @zhin.js/host-router@2.0.1
|
|
453
|
+
- zhin.js@4.1.0
|
|
454
|
+
|
|
455
|
+
## 2.0.1
|
|
456
|
+
|
|
457
|
+
### Patch Changes
|
|
458
|
+
|
|
459
|
+
- Updated dependencies [ae5239c]
|
|
460
|
+
- zhin.js@4.0.1
|
|
461
|
+
- @zhin.js/host-router@2.0.0
|
|
462
|
+
|
|
463
|
+
## 2.0.0
|
|
464
|
+
|
|
465
|
+
### Patch Changes
|
|
466
|
+
|
|
467
|
+
- zhin.js@3.0.0
|
|
468
|
+
- @zhin.js/host-router@2.0.0
|
|
469
|
+
|
|
3
470
|
## 1.0.1
|
|
4
471
|
|
|
5
472
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @zhin.js/adapter-wechat-mp
|
|
2
2
|
|
|
3
|
-
Zhin.js
|
|
3
|
+
Zhin.js 微信公众号适配器(Plugin Runtime),通过 Runtime Host HTTP Webhook 收发消息。
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
- Webhook
|
|
8
|
-
-
|
|
7
|
+
- Webhook 事件接收(`httpHostToken` GET 验签 + POST 消息)
|
|
8
|
+
- 签名验证与可选 AES 加解密
|
|
9
9
|
- Access Token 自动刷新
|
|
10
10
|
- XML 消息解析
|
|
11
|
-
-
|
|
11
|
+
- 约定式 `defineAdapter` / `definePlugin`(无需 `usePlugin`)
|
|
12
12
|
|
|
13
13
|
## 安装
|
|
14
14
|
|
|
@@ -16,105 +16,53 @@ Zhin.js 微信公众号适配器,支持微信公众号的消息收发。
|
|
|
16
16
|
pnpm add @zhin.js/adapter-wechat-mp
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
## Plugin Runtime
|
|
20
|
+
|
|
21
|
+
- `@zhin.js/adapter` — 约定式 `adapters/wechat-mp.ts`(`defineAdapter`)
|
|
22
|
+
- `@zhin.js/core` — `Endpoint.emit(...)` 入站、`outboundMessageToken` 出站
|
|
23
|
+
- `@zhin.js/host-http` — `httpHostToken` 注册 Webhook 路由(**非** legacy host-router/Koa)
|
|
24
|
+
- `zhin.js` — `plugin.ts`(`definePlugin`)
|
|
25
|
+
- 配置经插件 `schema.json` 落到 `plugins.<instanceKey>`
|
|
26
|
+
|
|
27
|
+
入站:`gateway.receive({ conversation: { endpoint, kind: 'private', id: openid }, message: { conversation, id }, content: text, sender, metadata })`
|
|
28
|
+
出站:`send({ conversation, payload })` → 被动回复 XML(默认)或客服消息 API(`replyMode: customer_service`)
|
|
29
|
+
|
|
19
30
|
## 前置条件
|
|
20
31
|
|
|
21
32
|
| 要求 | 说明 |
|
|
22
33
|
|------|------|
|
|
23
34
|
| **公众号** | 已注册微信公众号,并在 [微信公众平台](https://mp.weixin.qq.com/) 获取 `AppID`、`AppSecret` |
|
|
24
35
|
| **服务器配置** | 配置 Token(与 `token` 字段一致);服务器 URL 须公网可访问 |
|
|
25
|
-
| **host-
|
|
36
|
+
| **host-http** | **必需** — Runtime Host 提供 HTTP;适配器在 `path` 上注册 GET/POST |
|
|
26
37
|
| **响应时限** | 微信要求 **5 秒内**响应;超时会导致接入失败 |
|
|
27
|
-
| **回复模式** | 默认 `replyMode: passive
|
|
28
|
-
| **消息加密** | 可选;`encrypt: true` + `encodingAESKey`;`encryptMode: compatible
|
|
38
|
+
| **回复模式** | 默认 `replyMode: passive`(订阅号被动回复);服务号可设 `customer_service` |
|
|
39
|
+
| **消息加密** | 可选;`encrypt: true` + `encodingAESKey`;`encryptMode: compatible`(默认)或 `secure` |
|
|
29
40
|
|
|
30
|
-
|
|
41
|
+
必填字段(`endpoints[i]`):`name`、`appId`、`appSecret`、`token`。
|
|
31
42
|
|
|
32
43
|
## 最小配置
|
|
33
44
|
|
|
34
45
|
```yaml
|
|
46
|
+
# zhin.config.yml(Plugin Runtime)
|
|
35
47
|
plugins:
|
|
36
|
-
|
|
37
|
-
- "@zhin.js/host-router"
|
|
38
|
-
|
|
39
|
-
endpoints:
|
|
40
|
-
- context: wechat-mp
|
|
41
|
-
name: my-wechat-bot
|
|
42
|
-
appId: "${WECHAT_APP_ID}"
|
|
43
|
-
appSecret: "${WECHAT_APP_SECRET}"
|
|
44
|
-
token: "${WECHAT_TOKEN}"
|
|
45
|
-
path: /wechat/webhook
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## 依赖
|
|
49
|
-
|
|
50
|
-
- `@zhin.js/host-router` — HTTP 服务(提供 Webhook 路由)
|
|
51
|
-
|
|
52
|
-
## 配置
|
|
53
|
-
|
|
54
|
-
### TypeScript 配置
|
|
55
|
-
|
|
56
|
-
完整选项示例(含可选加密字段):
|
|
57
|
-
|
|
58
|
-
```yaml
|
|
59
|
-
endpoints:
|
|
60
|
-
- context: wechat-mp
|
|
61
|
-
name: my-wechat-bot
|
|
62
|
-
appId: ${WECHAT_APP_ID}
|
|
63
|
-
appSecret: ${WECHAT_APP_SECRET}
|
|
64
|
-
token: ${WECHAT_TOKEN}
|
|
48
|
+
wechat-mp:
|
|
65
49
|
path: /wechat/webhook
|
|
66
|
-
|
|
67
|
-
|
|
50
|
+
endpoints:
|
|
51
|
+
- name: my-wechat-bot
|
|
52
|
+
appId: "${WECHAT_APP_ID}"
|
|
53
|
+
appSecret: "${WECHAT_APP_SECRET}"
|
|
54
|
+
token: "${WECHAT_TOKEN}"
|
|
68
55
|
```
|
|
69
56
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
export default defineConfig({
|
|
74
|
-
endpoints: [
|
|
75
|
-
{
|
|
76
|
-
context: 'wechat-mp',
|
|
77
|
-
name: 'my-wechat-bot',
|
|
78
|
-
appId: process.env.WECHAT_APP_ID!,
|
|
79
|
-
appSecret: process.env.WECHAT_APP_SECRET!,
|
|
80
|
-
token: process.env.WECHAT_TOKEN!,
|
|
81
|
-
path: '/wechat/webhook',
|
|
82
|
-
}
|
|
83
|
-
],
|
|
84
|
-
plugins: ['@zhin.js/adapter-wechat-mp', '@zhin.js/host-router']
|
|
85
|
-
})
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## 使用示例
|
|
89
|
-
|
|
90
|
-
### 注册命令
|
|
91
|
-
|
|
92
|
-
```typescript
|
|
93
|
-
import { usePlugin, MessageCommand } from 'zhin.js'
|
|
94
|
-
|
|
95
|
-
const { addCommand } = usePlugin()
|
|
96
|
-
|
|
97
|
-
addCommand(
|
|
98
|
-
new MessageCommand('hello')
|
|
99
|
-
.desc('微信问候')
|
|
100
|
-
.action((message) => `你好,${message.$sender.name}!`)
|
|
101
|
-
)
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### 消息中间件
|
|
105
|
-
|
|
106
|
-
```typescript
|
|
107
|
-
import { usePlugin } from 'zhin.js'
|
|
57
|
+
根插件 `zhin.plugins`(或项目图)需引用 `@zhin.js/adapter-wechat-mp`(`instanceKey: wechat-mp`)。
|
|
58
|
+
Runtime Host(`http`)须已 listen,Webhook 才可达。
|
|
108
59
|
|
|
109
|
-
|
|
60
|
+
### 可选字段
|
|
110
61
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
await next()
|
|
116
|
-
})
|
|
117
|
-
```
|
|
62
|
+
- `path`:Webhook 路径,默认 `/wechat/webhook`
|
|
63
|
+
- `replyMode`:`passive`(默认)| `customer_service`
|
|
64
|
+
- `passiveReplyTimeoutMs`:被动回复等待上限,默认 `4500`
|
|
65
|
+
- `encrypt` / `encodingAESKey` / `encryptMode`
|
|
118
66
|
|
|
119
67
|
## 微信公众号配置
|
|
120
68
|
|
|
@@ -128,12 +76,16 @@ addMiddleware(async (message, next) => {
|
|
|
128
76
|
|
|
129
77
|
| 现象 | 排查 |
|
|
130
78
|
|------|------|
|
|
131
|
-
| 服务器配置验证失败 | `token` 与公众平台一致;URL 为 `https://<host>/wechat/webhook`;Host
|
|
132
|
-
| 收不到用户消息 | 公众号类型是否支持消息接口;用户是否已关注;`path` 与公众平台 URL
|
|
133
|
-
| 回复超时 / 无回复 | 默认被动回复须在 **~4.5s**
|
|
79
|
+
| 服务器配置验证失败 | `token` 与公众平台一致;URL 为 `https://<host>/wechat/webhook`;Runtime Host 已 listen 且公网可达 |
|
|
80
|
+
| 收不到用户消息 | 公众号类型是否支持消息接口;用户是否已关注;`path` 与公众平台 URL 一致;endpoint 已 `open()` |
|
|
81
|
+
| 回复超时 / 无回复 | 默认被动回复须在 **~4.5s** 内完成;可改 `replyMode: customer_service`(需客服接口权限) |
|
|
134
82
|
| `48001 api unauthorized` | 未认证订阅号无客服 API;保持默认 `replyMode: passive` |
|
|
135
83
|
| 加密模式报错 | `encodingAESKey`、`encrypt` 与公众平台「安全模式」设置一致 |
|
|
136
84
|
|
|
85
|
+
## AI 工具
|
|
86
|
+
|
|
87
|
+
技能说明见 `agent/skills/wechat-mp.md`。
|
|
88
|
+
|
|
137
89
|
## 文档链接
|
|
138
90
|
|
|
139
91
|
- [微信公众号适配器文档](https://zhin.js.org/adapters/wechat-mp)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Generated by build-plugin-runtime-entries.mjs. Do not edit.
|
|
2
|
+
/**
|
|
3
|
+
* Convention entry: discover `adapters/wechat-mp.ts` → defineAdapter.
|
|
4
|
+
*/
|
|
5
|
+
import { defineAdapter } from 'zhin.js/adapter';
|
|
6
|
+
import { httpHostToken } from '@zhin.js/host-http';
|
|
7
|
+
import { WeChatMpEndpoint } from "../lib/endpoint.js";
|
|
8
|
+
import { resolveWeChatMpConfig, } from "../lib/protocol.js";
|
|
9
|
+
import { wechatMpRuntimeStateToken } from "../lib/wechat-mp-runtime-state.js";
|
|
10
|
+
export { WeChatMpEndpoint } from "../lib/endpoint.js";
|
|
11
|
+
export default defineAdapter({
|
|
12
|
+
capabilities: ['inbound', 'outbound'],
|
|
13
|
+
// 客服消息媒体统一经 /cgi-bin/media/upload 物化为 media_id(url 下载后上传,
|
|
14
|
+
// kind=file 的 MediaRef 视为既有 media_id 直传);公众号无卡片交互面,交互段降级纯文本。
|
|
15
|
+
segments: {
|
|
16
|
+
outboundMedia: ['upload'],
|
|
17
|
+
interactive: 'text',
|
|
18
|
+
},
|
|
19
|
+
create(context) {
|
|
20
|
+
const config = resolveWeChatMpConfig(context.config);
|
|
21
|
+
// 注册到插件运行时状态(wechat-mp.endpoint list 的"运行中"数据源)
|
|
22
|
+
context.use(wechatMpRuntimeStateToken).endpoints.set(config.id, {
|
|
23
|
+
id: config.id,
|
|
24
|
+
mode: 'webhook',
|
|
25
|
+
});
|
|
26
|
+
return new WeChatMpEndpoint({
|
|
27
|
+
id: context.id,
|
|
28
|
+
http: context.use(httpHostToken),
|
|
29
|
+
config,
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
});
|