@wirecat/cli-core 0.264.0 → 0.265.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/cli/envelope.d.ts +2 -0
- package/dist/cli/envelope.d.ts.map +1 -1
- package/dist/cli/envelope.js +2 -2
- package/dist/cli/envelope.js.map +1 -1
- package/dist/cli/list-query.d.ts +14 -2
- package/dist/cli/list-query.d.ts.map +1 -1
- package/dist/cli/list-query.js +59 -8
- package/dist/cli/list-query.js.map +1 -1
- package/dist/cli/messenger/admin-commands.d.ts.map +1 -1
- package/dist/cli/messenger/admin-commands.js +34 -46
- package/dist/cli/messenger/admin-commands.js.map +1 -1
- package/dist/cli/messenger/admin-contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-contacts-command.js +7 -3
- package/dist/cli/messenger/admin-contacts-command.js.map +1 -1
- package/dist/cli/messenger/admin-folders-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-folders-command.js +21 -21
- package/dist/cli/messenger/admin-folders-command.js.map +1 -1
- package/dist/cli/messenger/admin-moderation-command.d.ts.map +1 -1
- package/dist/cli/messenger/admin-moderation-command.js +11 -13
- package/dist/cli/messenger/admin-moderation-command.js.map +1 -1
- package/dist/cli/messenger/chat-answers.d.ts +155 -0
- package/dist/cli/messenger/chat-answers.d.ts.map +1 -0
- package/dist/cli/messenger/chat-answers.js +243 -0
- package/dist/cli/messenger/chat-answers.js.map +1 -0
- package/dist/cli/messenger/chat-lists.d.ts +161 -0
- package/dist/cli/messenger/chat-lists.d.ts.map +1 -0
- package/dist/cli/messenger/chat-lists.js +82 -0
- package/dist/cli/messenger/chat-lists.js.map +1 -0
- package/dist/cli/messenger/chat-queries.d.ts +14 -0
- package/dist/cli/messenger/chat-queries.d.ts.map +1 -0
- package/dist/cli/messenger/chat-queries.js +48 -0
- package/dist/cli/messenger/chat-queries.js.map +1 -0
- package/dist/cli/messenger/chats-bots-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-bots-command.js +7 -2
- package/dist/cli/messenger/chats-bots-command.js.map +1 -1
- package/dist/cli/messenger/chats-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-command.js +33 -71
- package/dist/cli/messenger/chats-command.js.map +1 -1
- package/dist/cli/messenger/chats-documents-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-documents-command.js +10 -5
- package/dist/cli/messenger/chats-documents-command.js.map +1 -1
- package/dist/cli/messenger/chats-members-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-members-command.js +38 -64
- package/dist/cli/messenger/chats-members-command.js.map +1 -1
- package/dist/cli/messenger/chats-read-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-read-command.js +4 -2
- package/dist/cli/messenger/chats-read-command.js.map +1 -1
- package/dist/cli/messenger/chats-stats-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-stats-command.js +24 -17
- package/dist/cli/messenger/chats-stats-command.js.map +1 -1
- package/dist/cli/messenger/chats-tracking-command.d.ts.map +1 -1
- package/dist/cli/messenger/chats-tracking-command.js +11 -17
- package/dist/cli/messenger/chats-tracking-command.js.map +1 -1
- package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
- package/dist/cli/messenger/contacts-command.js +61 -43
- package/dist/cli/messenger/contacts-command.js.map +1 -1
- package/dist/cli/messenger/hearing-command.d.ts +1 -1
- package/dist/cli/messenger/hearing-command.d.ts.map +1 -1
- package/dist/cli/messenger/hearing-command.js +1 -1
- package/dist/cli/messenger/hearing-command.js.map +1 -1
- package/dist/cli/messenger/history-query.d.ts +18 -0
- package/dist/cli/messenger/history-query.d.ts.map +1 -0
- package/dist/cli/messenger/history-query.js +63 -0
- package/dist/cli/messenger/history-query.js.map +1 -0
- package/dist/cli/messenger/list-query.d.ts +13 -0
- package/dist/cli/messenger/list-query.d.ts.map +1 -0
- package/dist/cli/messenger/list-query.js +23 -0
- package/dist/cli/messenger/list-query.js.map +1 -0
- package/dist/cli/messenger/message-items.d.ts +31 -0
- package/dist/cli/messenger/message-items.d.ts.map +1 -0
- package/dist/cli/messenger/message-items.js +95 -0
- package/dist/cli/messenger/message-items.js.map +1 -0
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +52 -77
- package/dist/cli/messenger/messages-command.js.map +1 -1
- package/dist/cli/messenger/messages-comments-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-comments-command.js +39 -28
- package/dist/cli/messenger/messages-comments-command.js.map +1 -1
- package/dist/cli/messenger/messages-link-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-link-command.js +16 -14
- package/dist/cli/messenger/messages-link-command.js.map +1 -1
- package/dist/cli/messenger/messages-scheduled-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-scheduled-command.js +23 -26
- package/dist/cli/messenger/messages-scheduled-command.js.map +1 -1
- package/dist/cli/messenger/people-queries.d.ts +6 -0
- package/dist/cli/messenger/people-queries.d.ts.map +1 -0
- package/dist/cli/messenger/people-queries.js +15 -0
- package/dist/cli/messenger/people-queries.js.map +1 -0
- package/dist/cli/messenger/polls-command.d.ts.map +1 -1
- package/dist/cli/messenger/polls-command.js +29 -23
- package/dist/cli/messenger/polls-command.js.map +1 -1
- package/dist/cli/messenger/reactions-command.d.ts.map +1 -1
- package/dist/cli/messenger/reactions-command.js +6 -2
- package/dist/cli/messenger/reactions-command.js.map +1 -1
- package/dist/cli/messenger/topics-command.d.ts.map +1 -1
- package/dist/cli/messenger/topics-command.js +21 -9
- package/dist/cli/messenger/topics-command.js.map +1 -1
- package/dist/cli/steps.d.ts.map +1 -1
- package/dist/cli/steps.js +24 -0
- package/dist/cli/steps.js.map +1 -1
- package/dist/entities/attachment.d.ts +6 -0
- package/dist/entities/attachment.d.ts.map +1 -1
- package/dist/entities/attachment.js +6 -0
- package/dist/entities/attachment.js.map +1 -1
- package/dist/entities/chat-event.d.ts +28 -0
- package/dist/entities/chat-event.d.ts.map +1 -0
- package/dist/entities/chat-event.js +19 -0
- package/dist/entities/chat-event.js.map +1 -0
- package/dist/entities/chat.d.ts +29 -0
- package/dist/entities/chat.d.ts.map +1 -1
- package/dist/entities/chat.js +15 -0
- package/dist/entities/chat.js.map +1 -1
- package/dist/entities/contact.d.ts +137 -0
- package/dist/entities/contact.d.ts.map +1 -1
- package/dist/entities/contact.js +6 -1
- package/dist/entities/contact.js.map +1 -1
- package/dist/entities/folder.d.ts +31 -0
- package/dist/entities/folder.d.ts.map +1 -0
- package/dist/entities/folder.js +25 -0
- package/dist/entities/folder.js.map +1 -0
- package/dist/entities/index.d.ts +364 -1
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +17 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/invite-link.d.ts +17 -0
- package/dist/entities/invite-link.d.ts.map +1 -0
- package/dist/entities/invite-link.js +18 -0
- package/dist/entities/invite-link.js.map +1 -0
- package/dist/entities/join-request.d.ts +12 -0
- package/dist/entities/join-request.d.ts.map +1 -0
- package/dist/entities/join-request.js +13 -0
- package/dist/entities/join-request.js.map +1 -0
- package/dist/entities/member.d.ts +24 -0
- package/dist/entities/member.d.ts.map +1 -0
- package/dist/entities/member.js +25 -0
- package/dist/entities/member.js.map +1 -0
- package/dist/entities/message-link.d.ts +10 -0
- package/dist/entities/message-link.d.ts.map +1 -0
- package/dist/entities/message-link.js +11 -0
- package/dist/entities/message-link.js.map +1 -0
- package/dist/entities/message.d.ts +19 -0
- package/dist/entities/message.d.ts.map +1 -1
- package/dist/entities/message.js +4 -0
- package/dist/entities/message.js.map +1 -1
- package/dist/entities/poll-vote.d.ts +11 -0
- package/dist/entities/poll-vote.d.ts.map +1 -0
- package/dist/entities/poll-vote.js +12 -0
- package/dist/entities/poll-vote.js.map +1 -0
- package/dist/entities/topic.d.ts +14 -0
- package/dist/entities/topic.d.ts.map +1 -0
- package/dist/entities/topic.js +15 -0
- package/dist/entities/topic.js.map +1 -0
- package/dist/mcp/instructions.d.ts.map +1 -1
- package/dist/mcp/instructions.js +3 -2
- package/dist/mcp/instructions.js.map +1 -1
- package/dist/mcp/tools/admin.d.ts.map +1 -1
- package/dist/mcp/tools/admin.js +41 -39
- package/dist/mcp/tools/admin.js.map +1 -1
- package/dist/mcp/tools/chats-read.d.ts.map +1 -1
- package/dist/mcp/tools/chats-read.js +4 -2
- package/dist/mcp/tools/chats-read.js.map +1 -1
- package/dist/mcp/tools/chats.d.ts.map +1 -1
- package/dist/mcp/tools/chats.js +77 -84
- package/dist/mcp/tools/chats.js.map +1 -1
- package/dist/mcp/tools/contacts-write.d.ts.map +1 -1
- package/dist/mcp/tools/contacts-write.js +4 -2
- package/dist/mcp/tools/contacts-write.js.map +1 -1
- package/dist/mcp/tools/contacts.d.ts.map +1 -1
- package/dist/mcp/tools/contacts.js +55 -30
- package/dist/mcp/tools/contacts.js.map +1 -1
- package/dist/mcp/tools/folders.d.ts.map +1 -1
- package/dist/mcp/tools/folders.js +12 -11
- package/dist/mcp/tools/folders.js.map +1 -1
- package/dist/mcp/tools/messages.d.ts.map +1 -1
- package/dist/mcp/tools/messages.js +74 -59
- package/dist/mcp/tools/messages.js.map +1 -1
- package/dist/mcp/tools/moderation.d.ts.map +1 -1
- package/dist/mcp/tools/moderation.js +5 -3
- package/dist/mcp/tools/moderation.js.map +1 -1
- package/dist/mcp/tools/polls.d.ts.map +1 -1
- package/dist/mcp/tools/polls.js +31 -14
- package/dist/mcp/tools/polls.js.map +1 -1
- package/dist/mcp/tools/reactions.d.ts.map +1 -1
- package/dist/mcp/tools/reactions.js +4 -2
- package/dist/mcp/tools/reactions.js.map +1 -1
- package/dist/mcp/tools/topics.d.ts.map +1 -1
- package/dist/mcp/tools/topics.js +30 -20
- package/dist/mcp/tools/topics.js.map +1 -1
- package/dist/services/admin.js +2 -2
- package/dist/services/admin.js.map +1 -1
- package/dist/services/chats.d.ts +6 -20
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +6 -43
- package/dist/services/chats.js.map +1 -1
- package/dist/services/document-pictures.d.ts +26 -0
- package/dist/services/document-pictures.d.ts.map +1 -0
- package/dist/services/document-pictures.js +37 -0
- package/dist/services/document-pictures.js.map +1 -0
- package/dist/services/index.d.ts +3 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/messages.d.ts +2 -0
- package/dist/services/messages.d.ts.map +1 -1
- package/dist/services/messages.js +1 -0
- package/dist/services/messages.js.map +1 -1
- package/dist/services/notes-search.d.ts +14 -1
- package/dist/services/notes-search.d.ts.map +1 -1
- package/dist/services/notes-search.js +46 -1
- package/dist/services/notes-search.js.map +1 -1
- package/dist/services/people.d.ts +1 -1
- package/dist/services/people.d.ts.map +1 -1
- package/dist/services/people.js +0 -18
- package/dist/services/people.js.map +1 -1
- package/dist/speech/hearing.d.ts +3 -0
- package/dist/speech/hearing.d.ts.map +1 -1
- package/dist/speech/hearing.js +16 -0
- package/dist/speech/hearing.js.map +1 -1
- package/dist/store/sqlite/document-pictures.d.ts +29 -0
- package/dist/store/sqlite/document-pictures.d.ts.map +1 -0
- package/dist/store/sqlite/document-pictures.js +81 -0
- package/dist/store/sqlite/document-pictures.js.map +1 -0
- package/dist/store/sqlite/entity-types.d.ts +1 -0
- package/dist/store/sqlite/entity-types.d.ts.map +1 -1
- package/dist/store/sqlite/entity-types.js +1 -0
- package/dist/store/sqlite/entity-types.js.map +1 -1
- package/dist/store/sqlite/note-index.d.ts.map +1 -1
- package/dist/store/sqlite/note-index.js +3 -0
- package/dist/store/sqlite/note-index.js.map +1 -1
- package/dist/store/sqlite/note-search.d.ts +2 -1
- package/dist/store/sqlite/note-search.d.ts.map +1 -1
- package/dist/store/sqlite/note-search.js +2 -0
- package/dist/store/sqlite/note-search.js.map +1 -1
- package/package.json +1 -1
- package/parity.json +10 -77
- package/dist/cli/messenger/after.d.ts +0 -20
- package/dist/cli/messenger/after.d.ts.map +0 -1
- package/dist/cli/messenger/after.js +0 -27
- package/dist/cli/messenger/after.js.map +0 -1
package/dist/mcp/tools/admin.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import * as v from "valibot";
|
|
3
|
+
import { itemOf } from "../../cli/envelope.js";
|
|
4
|
+
import { queryArgument } from "../../cli/list-query.js";
|
|
5
|
+
import { snakeKeys } from "../../cli/messenger/chat-answers.js";
|
|
6
|
+
import { inviteLinks, joinRequests } from "../../cli/messenger/chat-lists.js";
|
|
7
|
+
import { LINKS_QUERY, REQUESTS_QUERY } from "../../cli/messenger/chat-queries.js";
|
|
3
8
|
import { ADMIN_RIGHTS, GROUP_SETTINGS } from "../../domain/models.js";
|
|
4
9
|
import { onlineDeps, servicesFor } from "../../services/index.js";
|
|
5
|
-
import { chatOf, limit, READ, tool, WRITE } from "../tool.js";
|
|
10
|
+
import { chatOf, limit, page, READ, tool, WRITE } from "../tool.js";
|
|
6
11
|
const answer = (service, args, accept) => {
|
|
7
12
|
if ((args.person === undefined) === (args.all !== true))
|
|
8
13
|
throw new CliError("validation_error", "give one person, or all — not both, not neither");
|
|
@@ -27,7 +32,11 @@ export const adminTools = (messenger) => {
|
|
|
27
32
|
}),
|
|
28
33
|
annotations: WRITE,
|
|
29
34
|
permission: "groups",
|
|
30
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).create({
|
|
35
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).create({
|
|
36
|
+
title: args.title,
|
|
37
|
+
people: args.people ?? [],
|
|
38
|
+
channel: args.channel === true,
|
|
39
|
+
}))),
|
|
31
40
|
}),
|
|
32
41
|
chats_join: tool({
|
|
33
42
|
title: "Join a group by its link",
|
|
@@ -36,7 +45,7 @@ export const adminTools = (messenger) => {
|
|
|
36
45
|
input: v.object({ link: v.pipe(v.string(), v.minLength(1)) }),
|
|
37
46
|
annotations: WRITE,
|
|
38
47
|
permission: "groups",
|
|
39
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).join(args.link),
|
|
48
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).join(args.link))),
|
|
40
49
|
}),
|
|
41
50
|
chats_leave: tool({
|
|
42
51
|
title: "Leave a group",
|
|
@@ -44,7 +53,7 @@ export const adminTools = (messenger) => {
|
|
|
44
53
|
input: v.object({ chat: chatOf(messenger) }),
|
|
45
54
|
annotations: WRITE,
|
|
46
55
|
permission: "groups",
|
|
47
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).leave(args.chat),
|
|
56
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).leave(args.chat))),
|
|
48
57
|
}),
|
|
49
58
|
chats_update: tool({
|
|
50
59
|
title: "Change a group",
|
|
@@ -58,18 +67,18 @@ export const adminTools = (messenger) => {
|
|
|
58
67
|
}),
|
|
59
68
|
annotations: WRITE,
|
|
60
69
|
permission: "groups",
|
|
61
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).update(args.chat, {
|
|
70
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).update(args.chat, {
|
|
62
71
|
...(args.title === undefined ? {} : { title: args.title }),
|
|
63
72
|
...(args.description === undefined ? {} : { description: args.description }),
|
|
64
73
|
...(args.settings === undefined ? {} : { settings: args.settings }),
|
|
65
|
-
}),
|
|
74
|
+
}))),
|
|
66
75
|
}),
|
|
67
76
|
chats_link_show: tool({
|
|
68
77
|
title: "A group's invite link",
|
|
69
78
|
description: "The invite link of a group or channel, when the owner may see it. Reading changes nothing.",
|
|
70
79
|
input: v.object({ chat: chatOf(messenger) }),
|
|
71
80
|
annotations: READ,
|
|
72
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).link(args.chat),
|
|
81
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).link(args.chat))),
|
|
73
82
|
}),
|
|
74
83
|
chats_link_reset: tool({
|
|
75
84
|
title: "Replace a group's invite link",
|
|
@@ -78,7 +87,7 @@ export const adminTools = (messenger) => {
|
|
|
78
87
|
input: v.object({ chat: chatOf(messenger) }),
|
|
79
88
|
annotations: WRITE,
|
|
80
89
|
permission: "groups",
|
|
81
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).resetLink(args.chat),
|
|
90
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).resetLink(args.chat))),
|
|
82
91
|
}),
|
|
83
92
|
chats_link_create: tool({
|
|
84
93
|
title: "Make another invite link",
|
|
@@ -92,25 +101,22 @@ export const adminTools = (messenger) => {
|
|
|
92
101
|
}),
|
|
93
102
|
annotations: WRITE,
|
|
94
103
|
permission: "groups",
|
|
95
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).createLink(args.chat, {
|
|
104
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).createLink(args.chat, {
|
|
96
105
|
approval: args.approval === true,
|
|
97
106
|
...(args.expire_time === undefined ? {} : { expires: args.expire_time }),
|
|
98
107
|
...(args.max_uses === undefined ? {} : { maxUses: args.max_uses }),
|
|
99
|
-
}),
|
|
108
|
+
}))),
|
|
100
109
|
}),
|
|
101
110
|
chats_link_list: tool({
|
|
102
111
|
title: "A group's invite links",
|
|
103
|
-
description: "The owner's own invite links of a group, newest first: {
|
|
104
|
-
"
|
|
105
|
-
input: v.object({
|
|
106
|
-
chat: chatOf(messenger),
|
|
107
|
-
revoked: v.optional(v.pipe(v.boolean(), v.description("the stopped links instead"))),
|
|
108
|
-
limit,
|
|
109
|
-
}),
|
|
112
|
+
description: "The owner's own invite links of a group, newest first: { link, approval, expires_at, max_uses, primary, " +
|
|
113
|
+
"revoked, pending_count, joined_count }. query revoked:true lists the stopped ones. Reading changes nothing.",
|
|
114
|
+
input: v.object({ chat: chatOf(messenger), query: queryArgument(LINKS_QUERY), limit, page }),
|
|
110
115
|
annotations: READ,
|
|
111
|
-
|
|
116
|
+
output: { entity: "invite_link", list: true },
|
|
117
|
+
online: (adapter, args, defaults) => inviteLinks(servicesFor(onlineDeps(messenger, adapter, defaults.guard)), args.chat, args.query, {
|
|
112
118
|
limit: args.limit ?? defaults.limit,
|
|
113
|
-
|
|
119
|
+
page: args.page ?? 1,
|
|
114
120
|
}),
|
|
115
121
|
}),
|
|
116
122
|
chats_link_revoke: tool({
|
|
@@ -120,7 +126,7 @@ export const adminTools = (messenger) => {
|
|
|
120
126
|
input: v.object({ chat: chatOf(messenger), link: v.pipe(v.string(), v.minLength(1)) }),
|
|
121
127
|
annotations: WRITE,
|
|
122
128
|
permission: "groups",
|
|
123
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).revokeLink(args.chat, args.link),
|
|
129
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).revokeLink(args.chat, args.link))),
|
|
124
130
|
}),
|
|
125
131
|
chats_link_update: tool({
|
|
126
132
|
title: "Change an invite link",
|
|
@@ -135,27 +141,23 @@ export const adminTools = (messenger) => {
|
|
|
135
141
|
}),
|
|
136
142
|
annotations: WRITE,
|
|
137
143
|
permission: "groups",
|
|
138
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).updateLink(args.chat, args.link, {
|
|
144
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).updateLink(args.chat, args.link, {
|
|
139
145
|
...(args.approval === undefined ? {} : { approval: args.approval }),
|
|
140
146
|
...(args.expire_time === undefined ? {} : { expires: args.expire_time }),
|
|
141
147
|
...(args.max_uses === undefined ? {} : { maxUses: args.max_uses }),
|
|
142
|
-
}),
|
|
148
|
+
}))),
|
|
143
149
|
}),
|
|
144
150
|
chats_requests_list: tool({
|
|
145
151
|
title: "Requests to join a group",
|
|
146
|
-
description: "Who asked to join a group or channel that needs an admin's approval, newest first: {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
limit,
|
|
151
|
-
search: v.optional(v.pipe(v.string(), v.minLength(1), v.description("only names or @usernames with this"))),
|
|
152
|
-
link: v.optional(v.pipe(v.string(), v.minLength(1), v.description("only those who asked through this invite link; not with search"))),
|
|
153
|
-
}),
|
|
152
|
+
description: "Who asked to join a group or channel that needs an admin's approval, newest first: { person_id, name, " +
|
|
153
|
+
'username, requested_at, about? }. query narrows by name:ana or username:ana, or by link:"<invite link>" ' +
|
|
154
|
+
"— not both. Only admins see them. Reading tells nobody.",
|
|
155
|
+
input: v.object({ chat: chatOf(messenger), query: queryArgument(REQUESTS_QUERY), limit, page }),
|
|
154
156
|
annotations: READ,
|
|
155
|
-
|
|
157
|
+
output: { entity: "join_request", list: true },
|
|
158
|
+
online: (adapter, args, defaults) => joinRequests(servicesFor(onlineDeps(messenger, adapter, defaults.guard)), args.chat, args.query, {
|
|
156
159
|
limit: args.limit ?? defaults.limit,
|
|
157
|
-
|
|
158
|
-
...(args.link === undefined ? {} : { link: args.link }),
|
|
160
|
+
page: args.page ?? 1,
|
|
159
161
|
}),
|
|
160
162
|
}),
|
|
161
163
|
chats_requests_accept: tool({
|
|
@@ -169,7 +171,7 @@ export const adminTools = (messenger) => {
|
|
|
169
171
|
}),
|
|
170
172
|
annotations: WRITE,
|
|
171
173
|
permission: "groups",
|
|
172
|
-
online: (adapter, args, { guard }) => answer(admin(adapter, guard), args, true),
|
|
174
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await answer(admin(adapter, guard), args, true))),
|
|
173
175
|
}),
|
|
174
176
|
chats_requests_decline: tool({
|
|
175
177
|
title: "Decline a request to join",
|
|
@@ -182,7 +184,7 @@ export const adminTools = (messenger) => {
|
|
|
182
184
|
}),
|
|
183
185
|
annotations: WRITE,
|
|
184
186
|
permission: "groups",
|
|
185
|
-
online: (adapter, args, { guard }) => answer(admin(adapter, guard), args, false),
|
|
187
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await answer(admin(adapter, guard), args, false))),
|
|
186
188
|
}),
|
|
187
189
|
chats_members_add: tool({
|
|
188
190
|
title: "Add people to a group",
|
|
@@ -194,7 +196,7 @@ export const adminTools = (messenger) => {
|
|
|
194
196
|
}),
|
|
195
197
|
annotations: WRITE,
|
|
196
198
|
permission: "groups",
|
|
197
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).addMembers(args.chat, args.people, args.history === true ? { history: true } : {}),
|
|
199
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).addMembers(args.chat, args.people, args.history === true ? { history: true } : {}))),
|
|
198
200
|
}),
|
|
199
201
|
chats_members_remove: tool({
|
|
200
202
|
title: "Remove people from a group",
|
|
@@ -205,7 +207,7 @@ export const adminTools = (messenger) => {
|
|
|
205
207
|
}),
|
|
206
208
|
annotations: WRITE,
|
|
207
209
|
permission: "groups",
|
|
208
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).removeMembers(args.chat, args.people),
|
|
210
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).removeMembers(args.chat, args.people))),
|
|
209
211
|
}),
|
|
210
212
|
chats_admins_add: tool({
|
|
211
213
|
title: "Make someone an admin",
|
|
@@ -217,7 +219,7 @@ export const adminTools = (messenger) => {
|
|
|
217
219
|
}),
|
|
218
220
|
annotations: WRITE,
|
|
219
221
|
permission: "groups",
|
|
220
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).addAdmin(args.chat, args.person, args.rights),
|
|
222
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).addAdmin(args.chat, args.person, args.rights))),
|
|
221
223
|
}),
|
|
222
224
|
chats_admins_remove: tool({
|
|
223
225
|
title: "Take admin rights back",
|
|
@@ -225,7 +227,7 @@ export const adminTools = (messenger) => {
|
|
|
225
227
|
input: v.object({ chat: chatOf(messenger), person: v.pipe(v.string(), v.minLength(1)) }),
|
|
226
228
|
annotations: WRITE,
|
|
227
229
|
permission: "groups",
|
|
228
|
-
online: (adapter, args, { guard }) => admin(adapter, guard).removeAdmin(args.chat, args.person),
|
|
230
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await admin(adapter, guard).removeAdmin(args.chat, args.person))),
|
|
229
231
|
}),
|
|
230
232
|
};
|
|
231
233
|
if (messenger.inviteLinkList === false)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/mcp/tools/admin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/mcp/tools/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGjF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIjF,MAAM,MAAM,GAAG,CAAC,OAAgD,EAAE,IAAe,EAAE,MAAe,EAAE,EAAE;IACpG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAA;IAC3F,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA;IAC9G,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS;QAC9B,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAClG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,mHAAmH;AACnH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC1E,MAAM,KAAK,GAAG,CAAC,OAAyB,EAAE,KAAgB,EAAE,EAAE,CAC5D,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1D,MAAM,WAAW,GAA4B;QAC3C,YAAY,EAAE,IAAI,CAAC;YACjB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,+FAA+F;gBAC/F,6DAA6D;YAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC,CAAC;aAC1G,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;aAC/B,CAAC,CACH,CACF;SACJ,CAAC;QACF,UAAU,EAAE,IAAI,CAAC;YACf,KAAK,EAAE,0BAA0B;YACjC,WAAW,EACT,yGAAyG;gBACzG,+FAA+F;YACjG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3G,CAAC;QACF,WAAW,EAAE,IAAI,CAAC;YAChB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,kGAAkG;YAC/G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5G,CAAC;QACF,YAAY,EAAE,IAAI,CAAC;YACjB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,yGAAyG;gBACzG,oDAAoD;YACtD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,MAAM,CACN,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CACjG,CACF,EACD,CAAC,CAAC,WAAW,CAAC,iEAAiE,CAAC,CACjF,CACF;aACF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5C,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aACpE,CAAC,CACH,CACF;SACJ,CAAC;QACF,eAAe,EAAE,IAAI,CAAC;YACpB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,4FAA4F;YACzG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3G,CAAC;QACF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,+BAA+B;YACtC,WAAW,EACT,oGAAoG;gBACpG,4BAA4B;YAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAChH,CAAC;QACF,iBAAiB,EAAE,IAAI,CAAC;YACtB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EACT,yGAAyG;gBACzG,qEAAqE;YACvE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,WAAW,CAAC,0EAA0E,CAAC,CAC1F,CACF;gBACD,WAAW,EAAE,CAAC,CAAC,QAAQ,CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,sEAAsE,CAAC,CAAC,CAC1G;gBACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACzF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;gBAChC,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnE,CAAC,CACH,CACF;SACJ,CAAC;QACF,eAAe,EAAE,IAAI,CAAC;YACpB,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EACT,0GAA0G;gBAC1G,6GAA6G;YAC/G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC5F,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAClC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC9F,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;aACrB,CAAC;SACL,CAAC;QACF,iBAAiB,EAAE,IAAI,CAAC;YACtB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,+FAA+F;gBAC/F,gCAAgC;YAClC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAClF,CAAC;QACF,iBAAiB,EAAE,IAAI,CAAC;YACtB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,wGAAwG;gBACxG,qEAAqE;YACvE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,WAAW,CAAC,0FAA0F,CAAC,CAC1G,CACF;gBACD,WAAW,EAAE,CAAC,CAAC,QAAQ,CACrB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CACX,mGAAmG,CACpG,CACF,CACF;gBACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACzF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC3D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnE,CAAC,CACH,CACF;SACJ,CAAC;QACF,mBAAmB,EAAE,IAAI,CAAC;YACxB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EACT,wGAAwG;gBACxG,0GAA0G;gBAC1G,yDAAyD;YAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC/F,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9C,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAClC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC/F,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;aACrB,CAAC;SACL,CAAC;QACF,qBAAqB,EAAE,IAAI,CAAC;YAC1B,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,6FAA6F;YAC1G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBAClG,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,CAAC;aAC5G,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;SAC/G,CAAC;QACF,sBAAsB,EAAE,IAAI,CAAC;YAC3B,KAAK,EAAE,2BAA2B;YAClC,WAAW,EAAE,8FAA8F;YAC3G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBAClG,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,CAAC;aAC5G,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAChH,CAAC;QACF,iBAAiB,EAAE,IAAI,CAAC;YACtB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,qGAAqG;YACvG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3E,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,WAAW,CAAC,4EAA4E,CAAC,CAC5F,CACF;aACF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,UAAU,CACpC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/C,CACF,CACF;SACJ,CAAC;QACF,oBAAoB,EAAE,IAAI,CAAC;YACzB,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,mFAAmF;YAChG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC5E,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACvF,CAAC;QACF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,oGAAoG;YACjH,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC3F,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC/F,CAAC;QACF,mBAAmB,EAAE,IAAI,CAAC;YACxB,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,kFAAkF;YAC/F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SACrF,CAAC;KACH,CAAA;IACD,IAAI,SAAS,CAAC,cAAc,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,eAAe,CAAA;IAC1E,IAAI,SAAS,CAAC,gBAAgB,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,iBAAiB,CAAA;IAC9E,IAAI,SAAS,CAAC,gBAAgB,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,iBAAiB,CAAA;IAC7E,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-read.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats-read.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chats-read.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats-read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,YAAY,CAAA;AAEvE,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA4B1E,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
+
import { itemOf } from "../../cli/envelope.js";
|
|
3
|
+
import { snakeKeys } from "../../cli/messenger/chat-answers.js";
|
|
2
4
|
import { onlineDeps, servicesFor } from "../../services/index.js";
|
|
3
5
|
import { chatOf, message, tool, WRITE } from "../tool.js";
|
|
4
6
|
export const chatsReadTools = (messenger) => ({
|
|
@@ -15,11 +17,11 @@ export const chatsReadTools = (messenger) => ({
|
|
|
15
17
|
annotations: WRITE,
|
|
16
18
|
permission: "read",
|
|
17
19
|
key: "chats.mark-read",
|
|
18
|
-
online: (adapter, args, { guard }) => servicesFor(onlineDeps(messenger, adapter, guard)).chats.markRead({
|
|
20
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await servicesFor(onlineDeps(messenger, adapter, guard)).chats.markRead({
|
|
19
21
|
chat: args.chat,
|
|
20
22
|
...(args.until === undefined ? {} : { until: args.until }),
|
|
21
23
|
...(args.topic === undefined ? {} : { threadId: args.topic }),
|
|
22
|
-
}),
|
|
24
|
+
}))),
|
|
23
25
|
}),
|
|
24
26
|
});
|
|
25
27
|
//# sourceMappingURL=chats-read.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats-read.js","sourceRoot":"","sources":["../../../src/mcp/tools/chats-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"chats-read.js","sourceRoot":"","sources":["../../../src/mcp/tools/chats-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAChF,eAAe,EAAE,IAAI,CAAC;QACpB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oGAAoG;YACpG,wCAAwC;YACxC,mCAAmC;QACrC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACvB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1B,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAC,CACvG;SACF,CAAC;QACF,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,MAAM;QAClB,GAAG,EAAE,iBAAiB;QACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC9D,CAAC,CACH,CACF;KACJ,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/chats.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAK/D,OAAO,EAAE,KAAK,OAAO,EAA2C,MAAM,YAAY,CAAA;AAOlF,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA6MvE,CAAA"}
|
package/dist/mcp/tools/chats.js
CHANGED
|
@@ -1,61 +1,48 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import { registriesCover } from "../../botcheck/registries.js";
|
|
3
|
-
import {
|
|
3
|
+
import { itemOf, listOf } from "../../cli/envelope.js";
|
|
4
|
+
import { queryArgument } from "../../cli/list-query.js";
|
|
5
|
+
import { chatShown, documentLinkAnswer, snakeKeys, wholeList } from "../../cli/messenger/chat-answers.js";
|
|
6
|
+
import { chatEvents, chatsList, membersAudit, membersHistory, membersList } from "../../cli/messenger/chat-lists.js";
|
|
7
|
+
import { AUDIT_QUERY, CHATS_QUERY, EVENTS_QUERY, HISTORY_QUERY } from "../../cli/messenger/chat-queries.js";
|
|
4
8
|
import { casKey } from "../../cli/registry-keys.js";
|
|
5
|
-
import {
|
|
9
|
+
import { nextStep } from "../../cli/steps.js";
|
|
6
10
|
import { EVENTS_DAYS, onlineDeps, servicesFor, storedDeps } from "../../services/index.js";
|
|
7
11
|
import { momentOf } from "../../services/moment.js";
|
|
8
|
-
import { chatOf,
|
|
12
|
+
import { chatOf, limit, page, paging, READ, tool } from "../tool.js";
|
|
13
|
+
const pagingOf = (args, defaults) => {
|
|
14
|
+
const { size, number } = paging(args, defaults);
|
|
15
|
+
return { limit: size, page: number };
|
|
16
|
+
};
|
|
9
17
|
export const chatsTools = (messenger) => {
|
|
10
18
|
const chat = chatOf(messenger);
|
|
11
|
-
const chats = (adapter, guard) => servicesFor(onlineDeps(messenger, adapter, guard)).chats;
|
|
12
19
|
return {
|
|
13
20
|
chats_list: tool({
|
|
14
21
|
title: "List chats",
|
|
15
22
|
description: "Chats the owner is in, most recent first. Use it to find a chat's id before reading or sending. " +
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
input: v.object({
|
|
19
|
-
search: v.optional(v.pipe(v.string(), v.minLength(3), v.description("only chats whose name contains this"))),
|
|
20
|
-
kind: v.optional(v.picklist(["dialog", "group", "channel", "saved"])),
|
|
21
|
-
unread: v.optional(v.pipe(v.boolean(), v.description("only chats with unread messages"))),
|
|
22
|
-
limit,
|
|
23
|
-
page,
|
|
24
|
-
}),
|
|
23
|
+
"The list takes no filter yet: neither the messenger nor the store filters chats, so a query is refused.",
|
|
24
|
+
input: v.object({ query: queryArgument(CHATS_QUERY), limit, page }),
|
|
25
25
|
annotations: READ,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const found = await services.chats.list(checkedFilter({ search, kind, unread }), window);
|
|
29
|
-
return { ...envelope(found, number, size), ...(found.partial ? { partial: true } : {}) };
|
|
30
|
-
},
|
|
26
|
+
output: { entity: "chat", list: true },
|
|
27
|
+
served: (services, args, defaults) => chatsList(services, args.query, pagingOf(args, defaults)),
|
|
31
28
|
}),
|
|
32
29
|
chats_events: tool({
|
|
33
30
|
title: "Who joined or left a chat",
|
|
34
|
-
description: "A chat's service messages
|
|
35
|
-
`
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
input: v.object({
|
|
39
|
-
chat,
|
|
40
|
-
since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
|
|
41
|
-
type: v.optional(v.pipe(v.string(), v.description("only these events, comma-separated"))),
|
|
42
|
-
}),
|
|
31
|
+
description: "A chat's service messages: who joined, left, was added or removed, and by whom, oldest first — type is " +
|
|
32
|
+
`join, leave, add, remove, create, title or pin. The last ${EVENTS_DAYS} days unless query names time ` +
|
|
33
|
+
'(time>=2d, time>="2026-10-01"). meta.truncated when the history was longer than one run reads.',
|
|
34
|
+
input: v.object({ chat, query: queryArgument(EVENTS_QUERY) }),
|
|
43
35
|
annotations: READ,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
|
|
47
|
-
...(args.type ? { only: args.type } : {}),
|
|
48
|
-
});
|
|
49
|
-
return { ...listed(events), hasMore: more, ...rest };
|
|
50
|
-
},
|
|
36
|
+
output: { entity: "chat_event", list: true },
|
|
37
|
+
online: (adapter, args, { guard }) => chatEvents(servicesFor(onlineDeps(messenger, adapter, guard)), args.chat, args.query),
|
|
51
38
|
}),
|
|
52
39
|
stats_chats_show: tool({
|
|
53
40
|
title: "A chat's numbers for a period",
|
|
54
41
|
description: `Counts over a chat's stored messages since \`since_time\` (${EVENTS_DAYS} days back if not given): messages, ` +
|
|
55
|
-
"senders, replies, threads, reactions, views, forwards and comments where the messenger gave them,
|
|
56
|
-
"questions { asked, answered,
|
|
42
|
+
"senders, replies, threads, reactions, views, forwards and comments where the messenger gave them, top_posts, and " +
|
|
43
|
+
"questions { asked, answered, median_minutes_to_answer }. `by` adds a series row per day or week. Reads the local " +
|
|
57
44
|
"store only, so joins and leaves are not in it — chats_events has them. complete is false when the store does " +
|
|
58
|
-
"not hold the chat whole: then every number is a lower bound, and
|
|
45
|
+
"not hold the chat whole: then every number is a lower bound, and next names the sync that fills it.",
|
|
59
46
|
input: v.object({
|
|
60
47
|
chat,
|
|
61
48
|
since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
|
|
@@ -63,123 +50,129 @@ export const chatsTools = (messenger) => {
|
|
|
63
50
|
timezone: v.optional(v.pipe(v.string(), v.description("the IANA timezone for calendar days"))),
|
|
64
51
|
}),
|
|
65
52
|
annotations: { ...READ, openWorldHint: false },
|
|
66
|
-
stored: (store, account, args, defaults) =>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
53
|
+
stored: async (store, account, args, defaults) => {
|
|
54
|
+
const { fetch, ...stats } = await servicesFor(storedDeps(messenger, store, account, defaults.guard)).chats.stats(args.chat, {
|
|
55
|
+
...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
|
|
56
|
+
...(args.by ? { by: args.by } : {}),
|
|
57
|
+
...(args.timezone === undefined ? {} : { timezone: args.timezone }),
|
|
58
|
+
});
|
|
59
|
+
return itemOf(snakeKeys(stats), fetch === undefined ? {} : { next: [nextStep("messages.sync", { args: { chat: stats.chatId } })] });
|
|
60
|
+
},
|
|
71
61
|
}),
|
|
72
62
|
chats_members: tool({
|
|
73
63
|
title: "Everyone in a group",
|
|
74
|
-
description: "A group's members, a page at a time: { id, name, username, role?,
|
|
75
|
-
"member;
|
|
64
|
+
description: "A group's members, a page at a time: { id, name, username, role?, last_seen_at? }. role is owner, admin or " +
|
|
65
|
+
"member; last_seen_at is null when their privacy hides it.",
|
|
76
66
|
input: v.object({ chat, limit, page }),
|
|
77
67
|
annotations: READ,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const found = await chats(adapter, defaults.guard).members(reference, window);
|
|
81
|
-
return { ...envelope(found, number, size), chatId: found.chatId };
|
|
82
|
-
},
|
|
68
|
+
output: { entity: "member", list: true },
|
|
69
|
+
online: (adapter, args, defaults) => membersList(servicesFor(onlineDeps(messenger, adapter, defaults.guard)), args.chat, pagingOf(args, defaults)),
|
|
83
70
|
}),
|
|
84
71
|
chats_members_audit: tool({
|
|
85
72
|
title: "Members that look like bots",
|
|
86
73
|
description: "Members of a group that look like bots, highest score first: { id, name, username, score, reasons }. " +
|
|
87
74
|
"Reasons: bot, scam, fake, deleted, no_photo, no_username, odd_name, never_wrote, link_first, burst_join, " +
|
|
88
|
-
"mass_invited. A score is a hint, never a verdict; the owner and admins are left out.
|
|
89
|
-
"
|
|
90
|
-
"members were not read. With deep, the top members also get the full contacts_check,
|
|
75
|
+
"mass_invited. A score is a hint, never a verdict; the owner and admins are left out. query sets the lowest " +
|
|
76
|
+
"score shown (score>=3; score>=2 unless named). Reads the member list a page at a time (budget pages); " +
|
|
77
|
+
"meta.truncated says some members were not read. With deep, the top members also get the full contacts_check, " +
|
|
78
|
+
"one person a second" +
|
|
91
79
|
(registriesCover(messenger.provider)
|
|
92
80
|
? " — and their ids are sent to the public ban lists"
|
|
93
81
|
: "; the public ban lists cover Telegram only, so nothing is sent") +
|
|
94
82
|
". Removes nobody — that is chats_moderate, with the owner's confirmation.",
|
|
95
83
|
input: v.object({
|
|
96
84
|
chat,
|
|
85
|
+
query: queryArgument(AUDIT_QUERY),
|
|
97
86
|
budget: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.description("pages of members to read"))),
|
|
98
|
-
min_score: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
|
|
99
87
|
deep: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(50), v.description("check the top n in full"))),
|
|
100
88
|
}),
|
|
101
89
|
annotations: READ,
|
|
102
|
-
|
|
90
|
+
output: { entity: "member", list: true },
|
|
91
|
+
online: async (adapter, args, { guard, env }) => {
|
|
103
92
|
const key = args.deep === undefined ? undefined : casKey(messenger.app, env);
|
|
104
|
-
|
|
93
|
+
const { body } = await membersAudit(servicesFor(onlineDeps(messenger, adapter, guard)), args.chat, args.query, {
|
|
105
94
|
...(args.budget === undefined ? {} : { budget: args.budget }),
|
|
106
|
-
...(args.min_score === undefined ? {} : { minScore: args.min_score }),
|
|
107
95
|
...(args.deep === undefined ? {} : { deep: args.deep }),
|
|
108
96
|
...(key ? { registry: { casKey: key } } : {}),
|
|
109
97
|
});
|
|
98
|
+
return body;
|
|
110
99
|
},
|
|
111
100
|
}),
|
|
112
101
|
chats_members_history: tool({
|
|
113
102
|
title: "Who joined, left or changed their profile",
|
|
114
|
-
description: "A group's member history as the local store recorded it with chats members fetch, oldest first: " +
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
input: v.object({
|
|
119
|
-
chat,
|
|
120
|
-
since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
|
|
121
|
-
}),
|
|
103
|
+
description: "A group's member history as the local store recorded it with chats members fetch, oldest first: type is " +
|
|
104
|
+
"join, leave or profile; before is the profile seen until then. A leave is recorded only from a member list " +
|
|
105
|
+
"read whole. query names time to read from (time>=7d). Reads the local store only; empty until the owner " +
|
|
106
|
+
"fetches or tracks the chat.",
|
|
107
|
+
input: v.object({ chat, query: queryArgument(HISTORY_QUERY) }),
|
|
122
108
|
annotations: { ...READ, openWorldHint: false },
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return { chatId, items: events };
|
|
126
|
-
},
|
|
109
|
+
output: { entity: "chat_event", list: true },
|
|
110
|
+
stored: (store, account, args, defaults) => membersHistory(servicesFor(storedDeps(messenger, store, account, defaults.guard)), args.chat, args.query),
|
|
127
111
|
}),
|
|
128
112
|
chats_documents_list: tool({
|
|
129
113
|
title: "Google documents linked in a chat",
|
|
130
114
|
description: "Every Google Docs, Sheets, Slides, Forms or Drive link in a chat's stored messages, newest first, one item " +
|
|
131
|
-
"per link: {
|
|
132
|
-
"
|
|
133
|
-
"
|
|
115
|
+
"per link: { url, document_id, title, in_store, ref, sent_at, sender: { id, name } }. document_id is the " +
|
|
116
|
+
"Google file id in the URL, null when it carries none; title is the stored document's, null unless in_store; " +
|
|
117
|
+
"ref is the message's locator. Reads the local store only.",
|
|
134
118
|
input: v.object({ chat, limit, page }),
|
|
135
119
|
annotations: { ...READ, openWorldHint: false },
|
|
136
120
|
stored: async (store, account, args, defaults) => {
|
|
137
121
|
const { size, number, window } = paging(args, defaults);
|
|
138
122
|
const found = await servicesFor(storedDeps(messenger, store, account, defaults.guard)).chatDocuments.list(args.chat, window);
|
|
139
|
-
return
|
|
123
|
+
return listOf("chats documents list", {
|
|
124
|
+
items: found.items.map(documentLinkAnswer),
|
|
125
|
+
limit: size,
|
|
126
|
+
has_more: found.hasMore,
|
|
127
|
+
page: number,
|
|
128
|
+
args: { chat: args.chat },
|
|
129
|
+
...(found.empty ? { next: [nextStep("messages.sync", { args: { chat: found.chatId } })] } : {}),
|
|
130
|
+
});
|
|
140
131
|
},
|
|
141
132
|
}),
|
|
142
133
|
chats_tracking_list: tool({
|
|
143
134
|
title: "Chats whose members are recorded daily",
|
|
144
|
-
description: "The chats whose member lists serve fetches daily into the local store:
|
|
145
|
-
"
|
|
135
|
+
description: "The chats whose member lists serve fetches daily into the local store: { chat_id, title, tracked_at, " +
|
|
136
|
+
"last_count: { day, participants, listed, complete } | null }. Reads the local store only. The owner adds " +
|
|
146
137
|
"one with the CLI: chats members fetch <chat> --track, or chats tracking add.",
|
|
147
138
|
input: v.object({}),
|
|
148
139
|
annotations: { ...READ, openWorldHint: false },
|
|
149
|
-
stored: async (store, account) => (
|
|
140
|
+
stored: async (store, account) => wholeList("chats tracking list", (await store.trackedChats(account)).map(snakeKeys)),
|
|
150
141
|
}),
|
|
151
142
|
chats_tracking_show: tool({
|
|
152
143
|
title: "A chat's member count per day",
|
|
153
144
|
description: "Whether a chat's members are recorded daily, and its member count per day for the last 30 days: " +
|
|
154
|
-
"{
|
|
145
|
+
"{ chat_id, tracked_at | null, counts: [{ day, participants, listed, complete }] }. complete is false for a " +
|
|
155
146
|
"day whose member list was not read whole. Reads the local store only.",
|
|
156
147
|
input: v.object({ chat }),
|
|
157
148
|
annotations: { ...READ, openWorldHint: false },
|
|
158
|
-
stored: (store, account, args, defaults) => servicesFor(storedDeps(messenger, store, account, defaults.guard)).chats.trackedChat(args.chat),
|
|
149
|
+
stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).chats.trackedChat(args.chat))),
|
|
159
150
|
}),
|
|
160
151
|
chats_inspect: tool({
|
|
161
152
|
title: "What a link leads to",
|
|
162
153
|
description: "What an invite or public link leads to, read without joining: { kind, title, id, username, " +
|
|
163
|
-
"
|
|
154
|
+
"participants_count, description, member, approval_needed? }. id is null for a private chat the owner is not in.",
|
|
164
155
|
input: v.object({ link: v.pipe(v.string(), v.minLength(1), v.description("an invite link or a public one")) }),
|
|
165
156
|
annotations: READ,
|
|
166
|
-
online: (adapter, args, { guard }) =>
|
|
157
|
+
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await servicesFor(onlineDeps(messenger, adapter, guard)).chats.inspect(args.link))),
|
|
167
158
|
}),
|
|
168
159
|
chats_send_as: tool({
|
|
169
160
|
title: "Who the owner may post as",
|
|
170
|
-
description: "The identities the owner may post as in a chat: { id, title, kind,
|
|
161
|
+
description: "The identities the owner may post as in a chat: { id, title, kind, premium_required, default }. kind is " +
|
|
171
162
|
"self, channel or group; self is always there; default is the chat's saved choice. Reading changes nothing. " +
|
|
172
|
-
"Pass an id as messages_send send_as.
|
|
163
|
+
"Pass an id as messages_send send_as.",
|
|
173
164
|
input: v.object({ chat }),
|
|
174
165
|
annotations: READ,
|
|
175
|
-
served: async (services, args) =>
|
|
166
|
+
served: async (services, args) => wholeList("chats send-as", (await services.chats.sendAs(args.chat)).map(snakeKeys)),
|
|
176
167
|
}),
|
|
177
168
|
chats_show: tool({
|
|
178
169
|
title: "Show a chat",
|
|
179
|
-
description: "One chat: its kind, unread count, last message time and who is in it
|
|
170
|
+
description: "One chat: its kind, unread count, last message time and who is in it; a group's description, invite link " +
|
|
171
|
+
"and settings where the messenger gives them.",
|
|
180
172
|
input: v.object({ chat }),
|
|
181
173
|
annotations: READ,
|
|
182
|
-
|
|
174
|
+
output: { entity: "chat", list: false },
|
|
175
|
+
served: async (services, args) => chatShown(await services.chats.account(), await services.chats.show(args.chat)),
|
|
183
176
|
}),
|
|
184
177
|
};
|
|
185
178
|
};
|