@leemour/max-cli 0.15.0 → 0.17.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/README.md +56 -37
- package/dist/bot/client.d.ts +6 -0
- package/dist/bot/client.d.ts.map +1 -1
- package/dist/bot/client.js +17 -3
- package/dist/bot/client.js.map +1 -1
- package/dist/bot/input.d.ts.map +1 -1
- package/dist/bot/input.js +7 -4
- package/dist/bot/input.js.map +1 -1
- package/dist/bot/joins.d.ts +26 -0
- package/dist/bot/joins.d.ts.map +1 -0
- package/dist/bot/joins.js +56 -0
- package/dist/bot/joins.js.map +1 -0
- package/dist/bot/keep.d.ts +2 -2
- package/dist/bot/keep.d.ts.map +1 -1
- package/dist/bot/keep.js +3 -2
- package/dist/bot/keep.js.map +1 -1
- package/dist/bot/map.d.ts +5 -2
- package/dist/bot/map.d.ts.map +1 -1
- package/dist/bot/map.js +7 -1
- package/dist/bot/map.js.map +1 -1
- package/dist/bot/transport.d.ts +4 -0
- package/dist/bot/transport.d.ts.map +1 -1
- package/dist/bot/transport.js +43 -3
- package/dist/bot/transport.js.map +1 -1
- package/dist/bot-mcp/instructions.d.ts +9 -0
- package/dist/bot-mcp/instructions.d.ts.map +1 -0
- package/dist/bot-mcp/instructions.js +22 -0
- package/dist/bot-mcp/instructions.js.map +1 -0
- package/dist/bot-mcp/server.d.ts +21 -0
- package/dist/bot-mcp/server.d.ts.map +1 -0
- package/dist/bot-mcp/server.js +213 -0
- package/dist/bot-mcp/server.js.map +1 -0
- package/dist/bot-mcp/tools.d.ts +27 -0
- package/dist/bot-mcp/tools.d.ts.map +1 -0
- package/dist/bot-mcp/tools.js +280 -0
- package/dist/bot-mcp/tools.js.map +1 -0
- package/dist/client.d.ts +43 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +207 -31
- package/dist/client.js.map +1 -1
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +7 -5
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/backup.js +1 -1
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/bot-check.d.ts +11 -0
- package/dist/commands/bot-check.d.ts.map +1 -0
- package/dist/commands/bot-check.js +206 -0
- package/dist/commands/bot-check.js.map +1 -0
- package/dist/commands/bot-comments.d.ts.map +1 -1
- package/dist/commands/bot-comments.js +2 -1
- package/dist/commands/bot-comments.js.map +1 -1
- package/dist/commands/bot-context.d.ts +7 -0
- package/dist/commands/bot-context.d.ts.map +1 -1
- package/dist/commands/bot-context.js +32 -2
- package/dist/commands/bot-context.js.map +1 -1
- package/dist/commands/bot-mcp.d.ts +3 -0
- package/dist/commands/bot-mcp.d.ts.map +1 -0
- package/dist/commands/bot-mcp.js +69 -0
- package/dist/commands/bot-mcp.js.map +1 -0
- package/dist/commands/bot-members.d.ts.map +1 -1
- package/dist/commands/bot-members.js +7 -4
- package/dist/commands/bot-members.js.map +1 -1
- package/dist/commands/bot-people.d.ts +10 -0
- package/dist/commands/bot-people.d.ts.map +1 -0
- package/dist/commands/bot-people.js +156 -0
- package/dist/commands/bot-people.js.map +1 -0
- package/dist/commands/bot-reads.d.ts.map +1 -1
- package/dist/commands/bot-reads.js +25 -14
- package/dist/commands/bot-reads.js.map +1 -1
- package/dist/commands/bot-sends.d.ts.map +1 -1
- package/dist/commands/bot-sends.js +6 -5
- package/dist/commands/bot-sends.js.map +1 -1
- package/dist/commands/bot-setup.d.ts.map +1 -1
- package/dist/commands/bot-setup.js +5 -4
- package/dist/commands/bot-setup.js.map +1 -1
- package/dist/commands/bot-updates.d.ts.map +1 -1
- package/dist/commands/bot-updates.js +16 -2
- package/dist/commands/bot-updates.js.map +1 -1
- package/dist/commands/bot.d.ts.map +1 -1
- package/dist/commands/bot.js +13 -4
- package/dist/commands/bot.js.map +1 -1
- package/dist/commands/chats.d.ts.map +1 -1
- package/dist/commands/chats.js +15 -30
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +7 -6
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/complete.d.ts.map +1 -1
- package/dist/commands/complete.js +27 -3
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +29 -27
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contacts.d.ts.map +1 -1
- package/dist/commands/contacts.js +21 -0
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +75 -21
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/folders.d.ts.map +1 -1
- package/dist/commands/folders.js +3 -2
- package/dist/commands/folders.js.map +1 -1
- package/dist/commands/inbox.d.ts.map +1 -1
- package/dist/commands/inbox.js +1 -1
- package/dist/commands/inbox.js.map +1 -1
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +9 -11
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +2 -1
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/paging.d.ts +17 -1
- package/dist/commands/paging.d.ts.map +1 -1
- package/dist/commands/paging.js +22 -2
- package/dist/commands/paging.js.map +1 -1
- package/dist/commands/polls.d.ts +3 -0
- package/dist/commands/polls.d.ts.map +1 -0
- package/dist/commands/polls.js +103 -0
- package/dist/commands/polls.js.map +1 -0
- package/dist/commands/recipients.d.ts.map +1 -1
- package/dist/commands/recipients.js +3 -2
- package/dist/commands/recipients.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +1 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +4 -3
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/sends.d.ts.map +1 -1
- package/dist/commands/sends.js +3 -2
- package/dist/commands/sends.js.map +1 -1
- package/dist/config.d.ts +78 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +143 -72
- package/dist/config.js.map +1 -1
- package/dist/diagnose.d.ts +47 -1
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +56 -5
- package/dist/diagnose.js.map +1 -1
- package/dist/domain/map.d.ts +9 -1
- package/dist/domain/map.d.ts.map +1 -1
- package/dist/domain/map.js +57 -0
- package/dist/domain/map.js.map +1 -1
- package/dist/domain/models.d.ts +29 -0
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js.map +1 -1
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +2 -1
- package/dist/export.js.map +1 -1
- package/dist/generated/client.generated.d.ts +1 -0
- package/dist/generated/client.generated.d.ts.map +1 -1
- package/dist/generated/client.generated.js +1 -0
- package/dist/generated/client.generated.js.map +1 -1
- package/dist/generated/opcodes.generated.d.ts +1 -0
- package/dist/generated/opcodes.generated.d.ts.map +1 -1
- package/dist/generated/opcodes.generated.js +1 -0
- package/dist/generated/opcodes.generated.js.map +1 -1
- package/dist/generated/operations.generated.d.ts +25 -10
- package/dist/generated/operations.generated.d.ts.map +1 -1
- package/dist/generated/operations.generated.js +2 -1
- package/dist/generated/operations.generated.js.map +1 -1
- package/dist/mcp/confirm.d.ts +6 -2
- package/dist/mcp/confirm.d.ts.map +1 -1
- package/dist/mcp/confirm.js +2 -2
- package/dist/mcp/confirm.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +83 -17
- package/dist/mcp/tools.js.map +1 -1
- package/dist/moderation/check.d.ts +15 -9
- package/dist/moderation/check.d.ts.map +1 -1
- package/dist/moderation/check.js +14 -45
- package/dist/moderation/check.js.map +1 -1
- package/dist/moderation/rules.d.ts +57 -7
- package/dist/moderation/rules.d.ts.map +1 -1
- package/dist/moderation/rules.js +13 -11
- package/dist/moderation/rules.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +11 -3
- package/dist/program.js.map +1 -1
- package/dist/rendering/messages.d.ts +6 -1
- package/dist/rendering/messages.d.ts.map +1 -1
- package/dist/rendering/messages.js +24 -3
- package/dist/rendering/messages.js.map +1 -1
- package/dist/runs/events.d.ts +5 -2
- package/dist/runs/events.d.ts.map +1 -1
- package/dist/runs/events.js +4 -1
- package/dist/runs/events.js.map +1 -1
- package/dist/runs/recording.d.ts +11 -0
- package/dist/runs/recording.d.ts.map +1 -1
- package/dist/runs/recording.js +28 -12
- package/dist/runs/recording.js.map +1 -1
- package/dist/sends/guard.d.ts +2 -2
- package/dist/sends/guard.d.ts.map +1 -1
- package/dist/sends/guard.js +2 -1
- package/dist/sends/guard.js.map +1 -1
- package/dist/sends/journal.d.ts +2 -2
- package/dist/sends/journal.d.ts.map +1 -1
- package/dist/sends/journal.js.map +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +3 -0
- package/dist/sends/permissions.js.map +1 -1
- package/dist/server/server-connection.d.ts +8 -1
- package/dist/server/server-connection.d.ts.map +1 -1
- package/dist/server/server-connection.js +27 -1
- package/dist/server/server-connection.js.map +1 -1
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +7 -1
- package/dist/server/server.js.map +1 -1
- package/dist/server/start.d.ts +1 -1
- package/dist/server/start.d.ts.map +1 -1
- package/dist/server/start.js +5 -3
- package/dist/server/start.js.map +1 -1
- package/dist/session/store.d.ts +2 -0
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +5 -1
- package/dist/session/store.js.map +1 -1
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +2 -1
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/operations/account.d.ts +3 -0
- package/dist/spec/operations/account.d.ts.map +1 -1
- package/dist/spec/operations/account.js +5 -1
- package/dist/spec/operations/account.js.map +1 -1
- package/dist/spec/operations/chats.d.ts +4 -3
- package/dist/spec/operations/chats.d.ts.map +1 -1
- package/dist/spec/operations/chats.js +12 -7
- package/dist/spec/operations/chats.js.map +1 -1
- package/dist/spec/operations/contacts.d.ts +8 -3
- package/dist/spec/operations/contacts.d.ts.map +1 -1
- package/dist/spec/operations/contacts.js +26 -5
- package/dist/spec/operations/contacts.js.map +1 -1
- package/dist/spec/operations/folders.d.ts.map +1 -1
- package/dist/spec/operations/folders.js +1 -0
- package/dist/spec/operations/folders.js.map +1 -1
- package/dist/spec/operations/messages.d.ts +14 -4
- package/dist/spec/operations/messages.d.ts.map +1 -1
- package/dist/spec/operations/messages.js +30 -3
- package/dist/spec/operations/messages.js.map +1 -1
- package/dist/spec/operations/uploads.d.ts +1 -1
- package/dist/spec/operations/uploads.d.ts.map +1 -1
- package/dist/spec/operations/uploads.js +2 -1
- package/dist/spec/operations/uploads.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -2
- package/skills/max-cli/SKILL.md +19 -9
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
/** A value never reaches commander as its own token, so no argument can become a flag (plan Q-2). */
|
|
3
|
+
const option = (name, value) => (value === undefined ? [] : [`--${name}=${String(value)}`]);
|
|
4
|
+
const flag = (name, on) => (on === true ? [`--${name}`] : []);
|
|
5
|
+
const chat = v.pipe(v.string(), v.minLength(1), v.description("a chat id (groups are negative), user:<id> for a person, or the title of a chat this bot has seen"));
|
|
6
|
+
const message = v.pipe(v.string(), v.regex(/^mid\.[\w.-]+$/, "a message id is mid.…"), v.description("message id, mid.…"));
|
|
7
|
+
const comment = v.pipe(v.string(), v.regex(/^\w[\w.-]*$/, "a comment id"), v.description("comment id"));
|
|
8
|
+
const user = v.pipe(v.string(), v.regex(/^\d+$/, "a user id is digits"), v.description("user id"));
|
|
9
|
+
const text = v.pipe(v.string(), v.regex(/^(?!-$)[\s\S]+$/, "a text, and not only -"), v.description("the text, up to 4000 characters"));
|
|
10
|
+
const limit = v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100), v.description("how many")));
|
|
11
|
+
const format = v.optional(v.pipe(v.picklist(["markdown", "html"]), v.description("how the text is marked up")));
|
|
12
|
+
const offline = v.optional(v.pipe(v.boolean(), v.description("answer from the copy on this machine, never MAX")));
|
|
13
|
+
const time = v.pipe(v.string(), v.regex(/^\d{4}-\d{2}-\d{2}T[\d:.]+(Z|[+-]\d{2}:?\d{2})$/, "an ISO 8601 time"));
|
|
14
|
+
const person = v.pipe(v.string(), v.minLength(1), v.description("an id, @username or part of a name"));
|
|
15
|
+
export const ACTIONS = ["typing_on", "sending_photo", "sending_video", "sending_audio", "sending_file"];
|
|
16
|
+
const read = (definition) => ({ ...definition, gate: "read" });
|
|
17
|
+
export const TOOLS = {
|
|
18
|
+
max_bot_me: read({
|
|
19
|
+
title: "Which bot this is",
|
|
20
|
+
description: "The bot: name, id, username, description and its command menu.",
|
|
21
|
+
input: v.object({}),
|
|
22
|
+
invocation: () => ({ words: ["me"] }),
|
|
23
|
+
}),
|
|
24
|
+
max_bot_chats_list: read({
|
|
25
|
+
title: "Chats this bot has seen",
|
|
26
|
+
description: "Chats this bot has seen on this machine — MAX gives a bot no list of its chats, so this is not complete.",
|
|
27
|
+
input: v.object({}),
|
|
28
|
+
invocation: () => ({ words: ["chats", "list"] }),
|
|
29
|
+
}),
|
|
30
|
+
max_bot_chats_get: read({
|
|
31
|
+
title: "One chat",
|
|
32
|
+
description: "One chat from MAX: title, type, members count; the bot remembers it.",
|
|
33
|
+
input: v.object({ chat }),
|
|
34
|
+
invocation: (args) => ({ words: ["chats", "get"], positionals: [String(args.chat)] }),
|
|
35
|
+
}),
|
|
36
|
+
max_bot_messages_list: read({
|
|
37
|
+
title: "Messages in a chat",
|
|
38
|
+
description: "The latest messages in a chat, oldest first. With offline, only what this machine has kept.",
|
|
39
|
+
input: v.object({ chat, limit, offline }),
|
|
40
|
+
invocation: (args) => ({
|
|
41
|
+
words: ["messages", "list"],
|
|
42
|
+
options: [...option("limit", args.limit), ...flag("offline", args.offline)],
|
|
43
|
+
positionals: [String(args.chat)],
|
|
44
|
+
}),
|
|
45
|
+
}),
|
|
46
|
+
max_bot_messages_get: read({
|
|
47
|
+
title: "One message",
|
|
48
|
+
description: "One message by its id.",
|
|
49
|
+
input: v.object({ message, offline }),
|
|
50
|
+
invocation: (args) => ({
|
|
51
|
+
words: ["messages", "get"],
|
|
52
|
+
options: flag("offline", args.offline),
|
|
53
|
+
positionals: [String(args.message)],
|
|
54
|
+
}),
|
|
55
|
+
}),
|
|
56
|
+
max_bot_messages_search: read({
|
|
57
|
+
title: "Search the bot's messages",
|
|
58
|
+
description: "Search the messages this machine has kept for the bot; from narrows to what one person wrote.",
|
|
59
|
+
input: v.object({ text: v.optional(v.pipe(v.string(), v.minLength(1))), from: v.optional(person), limit }),
|
|
60
|
+
invocation: (args) => ({
|
|
61
|
+
words: ["messages", "search"],
|
|
62
|
+
options: [...option("from", args.from), ...option("limit", args.limit)],
|
|
63
|
+
positionals: args.text === undefined ? [] : [String(args.text)],
|
|
64
|
+
}),
|
|
65
|
+
}),
|
|
66
|
+
max_bot_messages_between: read({
|
|
67
|
+
title: "Messages between people",
|
|
68
|
+
description: "What these people wrote in the chats this bot shares with them, from the copy on this machine.",
|
|
69
|
+
input: v.object({ people: v.pipe(v.array(person), v.minLength(1)), limit }),
|
|
70
|
+
invocation: (args) => ({
|
|
71
|
+
words: ["messages", "between"],
|
|
72
|
+
options: option("limit", args.limit),
|
|
73
|
+
positionals: args.people.map(String),
|
|
74
|
+
}),
|
|
75
|
+
}),
|
|
76
|
+
max_bot_people_show: read({
|
|
77
|
+
title: "One person",
|
|
78
|
+
description: "A person this bot has seen write: who they are, where, and the private chat with them.",
|
|
79
|
+
input: v.object({ who: person, limit }),
|
|
80
|
+
invocation: (args) => ({
|
|
81
|
+
words: ["people", "show"],
|
|
82
|
+
options: option("limit", args.limit),
|
|
83
|
+
positionals: [String(args.who)],
|
|
84
|
+
}),
|
|
85
|
+
}),
|
|
86
|
+
max_bot_members_list: read({
|
|
87
|
+
title: "Members of a chat",
|
|
88
|
+
description: "Members of a group chat or channel, a page at a time; pass marker from the last page to go on.",
|
|
89
|
+
input: v.object({ chat, limit, marker: v.optional(v.pipe(v.string(), v.regex(/^\d+$/))) }),
|
|
90
|
+
invocation: (args) => ({
|
|
91
|
+
words: ["members", "list"],
|
|
92
|
+
options: [...option("limit", args.limit), ...option("marker", args.marker)],
|
|
93
|
+
positionals: [String(args.chat)],
|
|
94
|
+
}),
|
|
95
|
+
}),
|
|
96
|
+
max_bot_admins_list: read({
|
|
97
|
+
title: "Admins of a chat",
|
|
98
|
+
description: "The admins of a chat and what each may do.",
|
|
99
|
+
input: v.object({ chat }),
|
|
100
|
+
invocation: (args) => ({ words: ["admins", "list"], positionals: [String(args.chat)] }),
|
|
101
|
+
}),
|
|
102
|
+
max_bot_comments_list: read({
|
|
103
|
+
title: "Comments under a post",
|
|
104
|
+
description: "The comments under a channel post.",
|
|
105
|
+
input: v.object({ message, limit }),
|
|
106
|
+
invocation: (args) => ({
|
|
107
|
+
words: ["comments", "list"],
|
|
108
|
+
options: option("limit", args.limit),
|
|
109
|
+
positionals: [String(args.message)],
|
|
110
|
+
}),
|
|
111
|
+
}),
|
|
112
|
+
max_bot_comments_get: read({
|
|
113
|
+
title: "One comment",
|
|
114
|
+
description: "One comment under a channel post.",
|
|
115
|
+
input: v.object({ message, comment }),
|
|
116
|
+
invocation: (args) => ({ words: ["comments", "get"], positionals: [String(args.message), String(args.comment)] }),
|
|
117
|
+
}),
|
|
118
|
+
max_bot_commands_list: read({
|
|
119
|
+
title: "The bot's command menu",
|
|
120
|
+
description: "The commands people see after typing / in a chat with the bot.",
|
|
121
|
+
input: v.object({}),
|
|
122
|
+
invocation: () => ({ words: ["commands", "list"] }),
|
|
123
|
+
}),
|
|
124
|
+
max_bot_sends_list: read({
|
|
125
|
+
title: "What the bot wrote",
|
|
126
|
+
description: "What this bot sent, edited and deleted from this machine: ids and outcomes, never text.",
|
|
127
|
+
input: v.object({}),
|
|
128
|
+
invocation: () => ({ words: ["sends", "list"] }),
|
|
129
|
+
}),
|
|
130
|
+
max_bot_recipients_list: read({
|
|
131
|
+
title: "Where the bot may write",
|
|
132
|
+
description: "The chats this bot may write to; empty means any chat. Only the owner changes it.",
|
|
133
|
+
input: v.object({}),
|
|
134
|
+
invocation: () => ({ words: ["recipients", "list"] }),
|
|
135
|
+
}),
|
|
136
|
+
max_bot_messages_send: {
|
|
137
|
+
title: "Send a message as the bot",
|
|
138
|
+
description: "Send a text message as the bot to a chat, or to a person as user:<id>. Only when the owner asked for this " +
|
|
139
|
+
"message in this chat.",
|
|
140
|
+
input: v.object({
|
|
141
|
+
chat,
|
|
142
|
+
text,
|
|
143
|
+
format,
|
|
144
|
+
reply_to: v.optional(message),
|
|
145
|
+
silent: v.optional(v.pipe(v.boolean(), v.description("no notification"))),
|
|
146
|
+
}),
|
|
147
|
+
gate: "send",
|
|
148
|
+
permissions: ["send"],
|
|
149
|
+
invocation: (args) => ({
|
|
150
|
+
words: ["messages", "send"],
|
|
151
|
+
options: [...option("format", args.format), ...option("reply-to", args.reply_to), ...flag("silent", args.silent)],
|
|
152
|
+
positionals: [String(args.chat), String(args.text)],
|
|
153
|
+
}),
|
|
154
|
+
},
|
|
155
|
+
max_bot_messages_edit: {
|
|
156
|
+
title: "Edit the bot's message",
|
|
157
|
+
description: "Replace the text of a message the bot sent.",
|
|
158
|
+
input: v.object({ message, text, format }),
|
|
159
|
+
gate: "send",
|
|
160
|
+
permissions: ["edit"],
|
|
161
|
+
invocation: (args) => ({
|
|
162
|
+
words: ["messages", "edit"],
|
|
163
|
+
options: option("format", args.format),
|
|
164
|
+
positionals: [String(args.message), String(args.text)],
|
|
165
|
+
}),
|
|
166
|
+
},
|
|
167
|
+
max_bot_chats_pin: {
|
|
168
|
+
title: "Pin a message",
|
|
169
|
+
description: "Pin a message in a chat.",
|
|
170
|
+
input: v.object({ chat, message }),
|
|
171
|
+
gate: "send",
|
|
172
|
+
permissions: ["pin"],
|
|
173
|
+
invocation: (args) => ({ words: ["chats", "pin"], positionals: [String(args.chat), String(args.message)] }),
|
|
174
|
+
},
|
|
175
|
+
max_bot_chats_unpin: {
|
|
176
|
+
title: "Unpin",
|
|
177
|
+
description: "Unpin whatever is pinned in a chat.",
|
|
178
|
+
input: v.object({ chat }),
|
|
179
|
+
gate: "send",
|
|
180
|
+
permissions: ["pin"],
|
|
181
|
+
invocation: (args) => ({ words: ["chats", "unpin"], positionals: [String(args.chat)] }),
|
|
182
|
+
},
|
|
183
|
+
max_bot_chats_action: {
|
|
184
|
+
title: "Show that the bot is typing",
|
|
185
|
+
description: "Show an action in the chat, such as typing_on, while the bot prepares an answer.",
|
|
186
|
+
input: v.object({ chat, action: v.picklist(ACTIONS) }),
|
|
187
|
+
gate: "send",
|
|
188
|
+
permissions: ["send"],
|
|
189
|
+
invocation: (args) => ({ words: ["chats", "action"], positionals: [String(args.chat), String(args.action)] }),
|
|
190
|
+
},
|
|
191
|
+
max_bot_comments_send: {
|
|
192
|
+
title: "Comment under a post",
|
|
193
|
+
description: "Comment under a channel post as the bot.",
|
|
194
|
+
input: v.object({ message, text, format }),
|
|
195
|
+
gate: "send",
|
|
196
|
+
permissions: ["send"],
|
|
197
|
+
invocation: (args) => ({
|
|
198
|
+
words: ["comments", "send"],
|
|
199
|
+
options: option("format", args.format),
|
|
200
|
+
positionals: [String(args.message), String(args.text)],
|
|
201
|
+
}),
|
|
202
|
+
},
|
|
203
|
+
max_bot_comments_edit: {
|
|
204
|
+
title: "Edit a comment",
|
|
205
|
+
description: "Replace the text of a comment the bot wrote.",
|
|
206
|
+
input: v.object({ message, comment, text, format }),
|
|
207
|
+
gate: "send",
|
|
208
|
+
permissions: ["edit"],
|
|
209
|
+
invocation: (args) => ({
|
|
210
|
+
words: ["comments", "edit"],
|
|
211
|
+
options: option("format", args.format),
|
|
212
|
+
positionals: [String(args.message), String(args.comment), String(args.text)],
|
|
213
|
+
}),
|
|
214
|
+
},
|
|
215
|
+
max_bot_callbacks_answer: {
|
|
216
|
+
title: "Answer a pressed button",
|
|
217
|
+
description: "Answer a button a person pressed under the bot's message: notification shows them a note, text replaces " +
|
|
218
|
+
"the message. The recipient list cannot apply: a button press does not name its chat.",
|
|
219
|
+
input: v.object({
|
|
220
|
+
callback: v.pipe(v.string(), v.regex(/^[\w.-]+$/, "a callback id")),
|
|
221
|
+
text: v.optional(text),
|
|
222
|
+
notification: v.optional(v.pipe(v.string(), v.minLength(1))),
|
|
223
|
+
}),
|
|
224
|
+
gate: "send",
|
|
225
|
+
permissions: ["send"],
|
|
226
|
+
invocation: (args) => ({
|
|
227
|
+
words: ["callbacks", "answer"],
|
|
228
|
+
options: [...option("text", args.text), ...option("notification", args.notification)],
|
|
229
|
+
positionals: [String(args.callback)],
|
|
230
|
+
}),
|
|
231
|
+
},
|
|
232
|
+
max_bot_messages_delete: {
|
|
233
|
+
title: "Delete a message",
|
|
234
|
+
description: "Delete a message in a chat where the bot may delete. It cannot be undone.",
|
|
235
|
+
input: v.object({ message }),
|
|
236
|
+
gate: "delete",
|
|
237
|
+
permissions: ["delete"],
|
|
238
|
+
invocation: (args) => ({ words: ["messages", "delete"], positionals: [String(args.message)] }),
|
|
239
|
+
},
|
|
240
|
+
max_bot_comments_delete: {
|
|
241
|
+
title: "Delete a comment",
|
|
242
|
+
description: "Delete a comment under a channel post. It cannot be undone.",
|
|
243
|
+
input: v.object({ message, comment }),
|
|
244
|
+
gate: "delete",
|
|
245
|
+
permissions: ["delete"],
|
|
246
|
+
invocation: (args) => ({
|
|
247
|
+
words: ["comments", "delete"],
|
|
248
|
+
positionals: [String(args.message), String(args.comment)],
|
|
249
|
+
}),
|
|
250
|
+
},
|
|
251
|
+
max_bot_members_add: {
|
|
252
|
+
title: "Add people to a chat",
|
|
253
|
+
description: "Add people to a group chat by user id; the bot must be an admin that may add members.",
|
|
254
|
+
input: v.object({ chat, users: v.pipe(v.array(user), v.minLength(1)) }),
|
|
255
|
+
gate: "moderate",
|
|
256
|
+
permissions: ["groups"],
|
|
257
|
+
invocation: (args) => ({
|
|
258
|
+
words: ["members", "add"],
|
|
259
|
+
positionals: [String(args.chat), ...args.users.map(String)],
|
|
260
|
+
}),
|
|
261
|
+
},
|
|
262
|
+
max_bot_members_remove: {
|
|
263
|
+
title: "Remove a person from a chat",
|
|
264
|
+
description: "Remove a person from a group chat; block keeps them from coming back by the link.",
|
|
265
|
+
input: v.object({ chat, user, block: v.optional(v.boolean()) }),
|
|
266
|
+
gate: "moderate",
|
|
267
|
+
permissions: ["groups"],
|
|
268
|
+
invocation: (args) => ({
|
|
269
|
+
words: ["members", "remove"],
|
|
270
|
+
options: flag("block", args.block),
|
|
271
|
+
positionals: [String(args.chat), String(args.user)],
|
|
272
|
+
}),
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
export const CHECK_INPUT = v.object({
|
|
276
|
+
chat,
|
|
277
|
+
since: v.optional(v.pipe(time, v.description("judge what came after this ISO 8601 time; the saved point stays"))),
|
|
278
|
+
dry_run: v.optional(v.pipe(v.boolean(), v.description("judge and plan; do nothing"))),
|
|
279
|
+
});
|
|
280
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/bot-mcp/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CacheStore, PersonOrder, SyncSummary } from "./cache/store.js";
|
|
2
|
-
import type { AccountSession, AttachmentLink, Chat, ChatCard, ChatEvents, ChatKind, Contact, ContactImport, Deletion, Folder, GroupCard,
|
|
2
|
+
import type { AccountSession, AttachmentLink, Chat, ChatCard, ChatEvents, ChatKind, Contact, ContactImport, Deletion, Folder, GroupCard, GroupMembers, GroupSettings, Id, Inbox, Message, MessageChange, MessageHit, Page, PersonCard, Pin, PollMessage, Profile, Reactions, ReadMark, Review, WindowedMessage } from "./domain/models.js";
|
|
3
3
|
import { type Wire } from "./protocol/connection.js";
|
|
4
4
|
import { type Payload } from "./protocol/frame.js";
|
|
5
5
|
import { type DiagnosticEvent } from "./runs/events.js";
|
|
@@ -149,7 +149,9 @@ export declare class MaxClient {
|
|
|
149
149
|
* Not retried, unlike a message: a second attempt with a new `cid` is a second group, and
|
|
150
150
|
* whether MAX deduplicates a creation by `cid` is not measured.
|
|
151
151
|
*/
|
|
152
|
-
create: (title: string, people?: string[]
|
|
152
|
+
create: (title: string, people?: string[], { channel }?: {
|
|
153
|
+
channel?: boolean | undefined;
|
|
154
|
+
}) => Promise<GroupCard>;
|
|
153
155
|
members: {
|
|
154
156
|
/**
|
|
155
157
|
* Everyone in a group or channel, from MAX, page by page. Paging follows PyMax: each answer's
|
|
@@ -167,12 +169,6 @@ export declare class MaxClient {
|
|
|
167
169
|
add: (reference: string, person: string, rights: AdminRight[]) => Promise<ChatChange>;
|
|
168
170
|
remove: (reference: string, person: string) => Promise<ChatChange>;
|
|
169
171
|
};
|
|
170
|
-
requests: {
|
|
171
|
-
/** Each with the age of their account, read like a member's — the answer's `{contact}` is the same shape. */
|
|
172
|
-
list: (reference: string) => Promise<GroupMember[]>;
|
|
173
|
-
accept: (reference: string, people: string[]) => Promise<ChatChange>;
|
|
174
|
-
decline: (reference: string, people: string[]) => Promise<ChatChange>;
|
|
175
|
-
};
|
|
176
172
|
update: (reference: string, { title, description }: {
|
|
177
173
|
title?: string;
|
|
178
174
|
description?: string;
|
|
@@ -214,6 +210,11 @@ export declare class MaxClient {
|
|
|
214
210
|
lookup: (phone: string) => Promise<Contact>;
|
|
215
211
|
add: (reference: string) => Promise<Contact>;
|
|
216
212
|
remove: (reference: string) => Promise<Contact>;
|
|
213
|
+
/** They can no longer write to you. Works for somebody who is not a contact too (measured). */
|
|
214
|
+
block: (reference: string) => Promise<Contact>;
|
|
215
|
+
unblock: (reference: string) => Promise<Contact>;
|
|
216
|
+
/** A name of your own for them, kept beside the one they chose; they do not see it. */
|
|
217
|
+
rename: (reference: string, firstName: string, lastName?: string) => Promise<Contact>;
|
|
217
218
|
/** Uploads phone numbers to MAX — other people's — under the names they were saved with. */
|
|
218
219
|
import: (entries: PhoneBookEntry[]) => Promise<ContactImport>;
|
|
219
220
|
/**
|
|
@@ -406,6 +407,31 @@ export declare class MaxClient {
|
|
|
406
407
|
notify?: boolean | undefined;
|
|
407
408
|
}) => Promise<Pin>;
|
|
408
409
|
};
|
|
410
|
+
/**
|
|
411
|
+
* **Polls: vote, take a vote back, close one's own, create one.** Every one of them is a write
|
|
412
|
+
* somebody else can see, so it passes the send guard and the journal under the kind of what it is:
|
|
413
|
+
* a vote is a `reaction`, closing is an `edit` of the owner's message, a new poll is a `message`.
|
|
414
|
+
* A vote is never retried — nothing measured makes a blind repeat safe.
|
|
415
|
+
*
|
|
416
|
+
* The shapes were measured in Saved messages on 2026-09-27 (`pnpm probe:polls`, `FIND-247`). The
|
|
417
|
+
* checks before sending are the web client's, so what it would refuse never reaches MAX.
|
|
418
|
+
*/
|
|
419
|
+
readonly polls: {
|
|
420
|
+
vote: (chatId: Id, messageId: Id, answerIds: Id[]) => Promise<PollMessage>;
|
|
421
|
+
/** Closes the owner's own poll: the web client edits the message with the `closed` bit raised. */
|
|
422
|
+
close: (chatId: Id, messageId: Id) => Promise<PollMessage>;
|
|
423
|
+
/**
|
|
424
|
+
* A new message whose one attachment is the poll — so it goes through `#deliver`, with its `cid`
|
|
425
|
+
* and its one retry, like any message.
|
|
426
|
+
*/
|
|
427
|
+
create: (chatId: Id, question: string, answers: string[], options?: {
|
|
428
|
+
multiple?: boolean;
|
|
429
|
+
anonymous?: boolean;
|
|
430
|
+
revote?: boolean;
|
|
431
|
+
cid?: number;
|
|
432
|
+
notify?: boolean;
|
|
433
|
+
}) => Promise<Message>;
|
|
434
|
+
};
|
|
409
435
|
readonly folders: {
|
|
410
436
|
list: () => Promise<Folder[]>;
|
|
411
437
|
create: (title: string, chats?: string[]) => Promise<Folder>;
|
|
@@ -531,8 +557,13 @@ export interface ChatChange {
|
|
|
531
557
|
people: Id[];
|
|
532
558
|
chat: GroupCard | null;
|
|
533
559
|
}
|
|
534
|
-
export type AdminRight = "members" | "admins" | "info" | "pin" | "post" | "edit" | "delete";
|
|
535
|
-
/**
|
|
560
|
+
export type AdminRight = "read" | "members" | "admins" | "info" | "pin" | "link" | "post" | "edit" | "delete";
|
|
561
|
+
/**
|
|
562
|
+
* PyMax `AdminPermission`; the sum is what MAX takes. `read` and `link` measured 2026-09-27 by
|
|
563
|
+
* switching them in the app for a bot and reading its `permissions` back (`MAX-61`): «Read messages»
|
|
564
|
+
* sets 1 and 32 together — the Bot API calls them `read_all_messages` and `write` — and «Update chat
|
|
565
|
+
* link» 128. A bot without `read` sees no message of the group.
|
|
566
|
+
*/
|
|
536
567
|
export declare const ADMIN_RIGHTS: Record<AdminRight, number>;
|
|
537
568
|
/**
|
|
538
569
|
* A private link goes as `join/<token>`, whatever came before it, as PyMax sends it and as
|
|
@@ -579,6 +610,8 @@ export interface ProfileChange {
|
|
|
579
610
|
firstName?: string;
|
|
580
611
|
lastName?: string;
|
|
581
612
|
description?: string;
|
|
613
|
+
/** A path to an image; uploaded first, so a failed upload leaves the profile as it was. */
|
|
614
|
+
photo?: string;
|
|
582
615
|
}
|
|
583
616
|
export interface FolderChange {
|
|
584
617
|
title?: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|