@kyan-du/agent-wechat-wechaty-puppet 0.13.2 → 0.14.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/dist/mod.js +99 -3
- package/package.json +1 -1
package/dist/mod.js
CHANGED
|
@@ -4108,6 +4108,23 @@ var chatSchema = external_exports.object({
|
|
|
4108
4108
|
unreadCount: external_exports.number().int().nonnegative(),
|
|
4109
4109
|
isGroup: external_exports.boolean()
|
|
4110
4110
|
});
|
|
4111
|
+
var groupMemberSchema = external_exports.object({
|
|
4112
|
+
memberId: external_exports.string().min(1),
|
|
4113
|
+
displayName: external_exports.string().min(1),
|
|
4114
|
+
groupAlias: external_exports.string().optional(),
|
|
4115
|
+
nickName: external_exports.string().optional()
|
|
4116
|
+
});
|
|
4117
|
+
var groupMembersPageSchema = external_exports.object({
|
|
4118
|
+
schemaVersion: external_exports.literal(1),
|
|
4119
|
+
items: external_exports.array(groupMemberSchema),
|
|
4120
|
+
nextCursor: external_exports.string().nullable().optional(),
|
|
4121
|
+
errorCode: external_exports.string().optional()
|
|
4122
|
+
});
|
|
4123
|
+
var listGroupMembersParamsSchema = external_exports.object({
|
|
4124
|
+
groupId: external_exports.string().endsWith("@chatroom"),
|
|
4125
|
+
limit: external_exports.number().int().positive().max(100).optional().default(50),
|
|
4126
|
+
cursor: external_exports.string().optional()
|
|
4127
|
+
});
|
|
4111
4128
|
var listChatsParamsSchema = external_exports.object({
|
|
4112
4129
|
limit: external_exports.number().int().positive().max(100).optional().default(50),
|
|
4113
4130
|
offset: external_exports.number().int().nonnegative().optional().default(0)
|
|
@@ -4134,6 +4151,22 @@ var openChatResultSchema = external_exports.object({
|
|
|
4134
4151
|
error: external_exports.string().optional()
|
|
4135
4152
|
});
|
|
4136
4153
|
var idempotencyKeySchema = external_exports.string().min(1).max(128).regex(/^[A-Za-z0-9._:-]+$/);
|
|
4154
|
+
var forwardedMessageNodeSchema = external_exports.lazy(() => external_exports.object({
|
|
4155
|
+
sender: external_exports.string().optional(),
|
|
4156
|
+
senderId: external_exports.string().optional(),
|
|
4157
|
+
timestamp: external_exports.string().optional(),
|
|
4158
|
+
text: external_exports.string().optional(),
|
|
4159
|
+
messageType: external_exports.number().int().optional(),
|
|
4160
|
+
media: external_exports.string().optional(),
|
|
4161
|
+
children: external_exports.array(forwardedMessageNodeSchema),
|
|
4162
|
+
truncated: external_exports.boolean()
|
|
4163
|
+
}));
|
|
4164
|
+
var forwardedMessageTreeSchema = external_exports.object({
|
|
4165
|
+
schemaVersion: external_exports.number().int(),
|
|
4166
|
+
title: external_exports.string().optional(),
|
|
4167
|
+
nodes: external_exports.array(forwardedMessageNodeSchema),
|
|
4168
|
+
truncated: external_exports.boolean()
|
|
4169
|
+
});
|
|
4137
4170
|
var messageSchema = external_exports.object({
|
|
4138
4171
|
localId: external_exports.number().int(),
|
|
4139
4172
|
serverId: external_exports.number(),
|
|
@@ -4142,7 +4175,26 @@ var messageSchema = external_exports.object({
|
|
|
4142
4175
|
senderName: external_exports.string().optional(),
|
|
4143
4176
|
type: external_exports.number().int(),
|
|
4144
4177
|
content: external_exports.string(),
|
|
4145
|
-
timestamp: external_exports.string()
|
|
4178
|
+
timestamp: external_exports.string(),
|
|
4179
|
+
forwarded: forwardedMessageTreeSchema.optional()
|
|
4180
|
+
});
|
|
4181
|
+
var mediaReferenceSchema = external_exports.object({
|
|
4182
|
+
localId: external_exports.number().int(),
|
|
4183
|
+
url: external_exports.string().min(1)
|
|
4184
|
+
});
|
|
4185
|
+
var syncReadStateSchema = external_exports.object({
|
|
4186
|
+
unreadCount: external_exports.number().int().nonnegative(),
|
|
4187
|
+
observedAt: external_exports.string().min(1)
|
|
4188
|
+
});
|
|
4189
|
+
var chatSyncPageSchema = external_exports.object({
|
|
4190
|
+
schemaVersion: external_exports.literal(1),
|
|
4191
|
+
chat: chatSchema.optional(),
|
|
4192
|
+
items: external_exports.array(messageSchema),
|
|
4193
|
+
nextCursor: external_exports.string().optional().nullable(),
|
|
4194
|
+
syncToken: external_exports.string(),
|
|
4195
|
+
readState: syncReadStateSchema,
|
|
4196
|
+
media: external_exports.array(mediaReferenceSchema),
|
|
4197
|
+
errorCode: external_exports.string().optional()
|
|
4146
4198
|
});
|
|
4147
4199
|
var listMessagesParamsSchema = external_exports.object({
|
|
4148
4200
|
chatId: external_exports.string().min(1),
|
|
@@ -4168,6 +4220,31 @@ var sendParamsSchema = external_exports.object({
|
|
|
4168
4220
|
source: external_exports.string().min(1).max(64).regex(/^[A-Za-z0-9._:-]+$/).optional(),
|
|
4169
4221
|
similarityConfirmed: external_exports.boolean().optional()
|
|
4170
4222
|
});
|
|
4223
|
+
var deliveryStateSchema = external_exports.enum(["queued", "composing", "submitted", "observed_in_chat", "confirmed", "uncertain", "failed"]);
|
|
4224
|
+
var deliveryCauseSchema = external_exports.enum(["send_accepted", "target_sender_and_payload_match", "observation_confirmed", "target_mismatch", "sender_unverified", "payload_mismatch", "pre_commit_failure", "post_commit_uncertain"]);
|
|
4225
|
+
var deliveryTransitionSchema = external_exports.object({ from: deliveryStateSchema, to: deliveryStateSchema, at: external_exports.string().datetime(), reason: deliveryCauseSchema });
|
|
4226
|
+
var deliveryObservationSchema = external_exports.object({
|
|
4227
|
+
chatId: external_exports.string().trim().min(1).max(512),
|
|
4228
|
+
localId: external_exports.number().int().nonnegative().safe(),
|
|
4229
|
+
serverId: external_exports.number().int().nonnegative().safe(),
|
|
4230
|
+
timestamp: external_exports.string().datetime(),
|
|
4231
|
+
type: external_exports.number().int().nonnegative().safe(),
|
|
4232
|
+
sender: external_exports.string().trim().min(1).max(512),
|
|
4233
|
+
content: external_exports.string().max(1e6)
|
|
4234
|
+
}).strict();
|
|
4235
|
+
var deliveryAttemptSchema = external_exports.object({
|
|
4236
|
+
schemaVersion: external_exports.literal(1),
|
|
4237
|
+
idempotencyKey: idempotencyKeySchema.optional(),
|
|
4238
|
+
senderId: external_exports.string().trim().min(1).max(512),
|
|
4239
|
+
targetChatId: external_exports.string().trim().min(1).max(512),
|
|
4240
|
+
payloadDigest: external_exports.string().regex(/^[a-f0-9]{64}$/),
|
|
4241
|
+
state: deliveryStateSchema,
|
|
4242
|
+
commitAttempted: external_exports.boolean(),
|
|
4243
|
+
createdAt: external_exports.string().datetime(),
|
|
4244
|
+
updatedAt: external_exports.string().datetime(),
|
|
4245
|
+
observedLocalId: external_exports.number().int().nonnegative().optional(),
|
|
4246
|
+
transitions: external_exports.array(deliveryTransitionSchema).max(32)
|
|
4247
|
+
});
|
|
4171
4248
|
var sendResultSchema = external_exports.object({
|
|
4172
4249
|
success: external_exports.boolean(),
|
|
4173
4250
|
messageId: external_exports.string().optional(),
|
|
@@ -4180,11 +4257,13 @@ var getMediaParamsSchema = external_exports.object({
|
|
|
4180
4257
|
localId: external_exports.number().int()
|
|
4181
4258
|
});
|
|
4182
4259
|
var mediaResultSchema = external_exports.object({
|
|
4183
|
-
type: external_exports.enum(["image", "emoji", "voice", "video", "unsupported"]),
|
|
4260
|
+
type: external_exports.enum(["image", "emoji", "file", "voice", "video", "pending", "unsupported"]),
|
|
4184
4261
|
data: external_exports.string().optional(),
|
|
4185
4262
|
url: external_exports.string().optional(),
|
|
4186
4263
|
format: external_exports.string(),
|
|
4187
|
-
filename: external_exports.string()
|
|
4264
|
+
filename: external_exports.string(),
|
|
4265
|
+
source: external_exports.enum(["original", "thumbnail"]).optional(),
|
|
4266
|
+
errorCode: external_exports.string().optional()
|
|
4188
4267
|
});
|
|
4189
4268
|
var agentConfigSchema = external_exports.object({
|
|
4190
4269
|
maxTurns: external_exports.number().int().positive().default(30),
|
|
@@ -4309,6 +4388,12 @@ var WeChatClient = class {
|
|
|
4309
4388
|
async openChat(chatId, clearUnreads) {
|
|
4310
4389
|
return this.post(`/api/chats/${encodeURIComponent(chatId)}/open${qs({ clearUnreads })}`);
|
|
4311
4390
|
}
|
|
4391
|
+
async listGroupMembersPage(groupId, limit, cursor) {
|
|
4392
|
+
const page = groupMembersPageSchema.parse(await this.get(`/api/groups/${encodeURIComponent(groupId)}/members${qs({ limit, cursor })}`));
|
|
4393
|
+
if (page.errorCode)
|
|
4394
|
+
throw new WeChatHttpError(400, "Bad Request", page.errorCode, page.errorCode);
|
|
4395
|
+
return { ...page, nextCursor: page.nextCursor ?? void 0 };
|
|
4396
|
+
}
|
|
4312
4397
|
// ---- Contacts ----
|
|
4313
4398
|
async listContactsPage(limit, cursor) {
|
|
4314
4399
|
const page = await this.get(`/api/contacts${qs({ limit, cursor })}`);
|
|
@@ -4332,6 +4417,17 @@ var WeChatClient = class {
|
|
|
4332
4417
|
async listMessages(chatId, limit) {
|
|
4333
4418
|
return (await this.listMessagesPage(chatId, limit)).items;
|
|
4334
4419
|
}
|
|
4420
|
+
async syncChat(chatId, options = {}) {
|
|
4421
|
+
const raw = await this.get(`/api/sync/${encodeURIComponent(chatId)}${qs({ limit: options.limit, cursor: options.cursor, since: options.since, from: options.from, to: options.to })}`);
|
|
4422
|
+
if (raw && typeof raw === "object" && typeof raw.errorCode === "string") {
|
|
4423
|
+
const errorCode = raw.errorCode;
|
|
4424
|
+
throw new WeChatHttpError(400, "Bad Request", errorCode, errorCode);
|
|
4425
|
+
}
|
|
4426
|
+
const page = chatSyncPageSchema.parse(raw);
|
|
4427
|
+
if (page.errorCode)
|
|
4428
|
+
throw new WeChatHttpError(400, "Bad Request", page.errorCode, page.errorCode);
|
|
4429
|
+
return { ...page, nextCursor: page.nextCursor ?? void 0 };
|
|
4430
|
+
}
|
|
4335
4431
|
async getMedia(chatId, localId) {
|
|
4336
4432
|
return this.get(`/api/messages/${encodeURIComponent(chatId)}/media/${localId}`);
|
|
4337
4433
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kyan-du/agent-wechat-wechaty-puppet",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Wechaty Puppet for agent-wechat — bridges Wechaty bots to WeChat via the agent-wechat REST/WebSocket server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/mod.js",
|