@wirecat/cli-core 0.340.0 → 0.341.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/author.d.ts +6 -0
- package/dist/cli/author.d.ts.map +1 -1
- package/dist/cli/author.js +15 -0
- package/dist/cli/author.js.map +1 -1
- package/dist/cli/context.d.ts +2 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +2 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/effects.d.ts +2 -1
- package/dist/cli/effects.d.ts.map +1 -1
- package/dist/cli/effects.js +3 -2
- package/dist/cli/effects.js.map +1 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/messenger/attachments-command.d.ts.map +1 -1
- package/dist/cli/messenger/attachments-command.js +10 -3
- package/dist/cli/messenger/attachments-command.js.map +1 -1
- package/dist/cli/messenger/catch-up.d.ts +8 -2
- package/dist/cli/messenger/catch-up.d.ts.map +1 -1
- package/dist/cli/messenger/catch-up.js +11 -3
- package/dist/cli/messenger/catch-up.js.map +1 -1
- package/dist/cli/messenger/context.d.ts +2 -0
- package/dist/cli/messenger/context.d.ts.map +1 -1
- package/dist/cli/messenger/context.js +5 -1
- package/dist/cli/messenger/context.js.map +1 -1
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +25 -1
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/inbox.d.ts.map +1 -1
- package/dist/cli/messenger/inbox.js +11 -6
- package/dist/cli/messenger/inbox.js.map +1 -1
- package/dist/cli/messenger/mcp-command.js +1 -1
- package/dist/cli/messenger/mcp-command.js.map +1 -1
- package/dist/cli/messenger/mentions-command.d.ts.map +1 -1
- package/dist/cli/messenger/mentions-command.js +6 -7
- package/dist/cli/messenger/mentions-command.js.map +1 -1
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +2 -2
- package/dist/cli/messenger/messages-command.js.map +1 -1
- package/dist/cli/messenger/messages-send-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-send-command.js +2 -2
- package/dist/cli/messenger/messages-send-command.js.map +1 -1
- package/dist/cli/messenger/private-people-command.d.ts.map +1 -1
- package/dist/cli/messenger/private-people-command.js +5 -4
- package/dist/cli/messenger/private-people-command.js.map +1 -1
- package/dist/cli/messenger/review.js +6 -6
- package/dist/cli/messenger/review.js.map +1 -1
- package/dist/cli/messenger/tasks-command.d.ts.map +1 -1
- package/dist/cli/messenger/tasks-command.js +11 -9
- package/dist/cli/messenger/tasks-command.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +3 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/stdin-field.d.ts +11 -0
- package/dist/cli/stdin-field.d.ts.map +1 -0
- package/dist/cli/stdin-field.js +7 -0
- package/dist/cli/stdin-field.js.map +1 -0
- package/dist/domain/tag-consolidation.d.ts +78 -0
- package/dist/domain/tag-consolidation.d.ts.map +1 -0
- package/dist/domain/tag-consolidation.js +2 -0
- package/dist/domain/tag-consolidation.js.map +1 -0
- package/dist/errors/reasons.d.ts.map +1 -1
- package/dist/errors/reasons.js +7 -1
- package/dist/errors/reasons.js.map +1 -1
- package/dist/mcp/agent.d.ts +10 -1
- package/dist/mcp/agent.d.ts.map +1 -1
- package/dist/mcp/agent.js +65 -20
- package/dist/mcp/agent.js.map +1 -1
- package/dist/mcp/prompts.js +1 -1
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +278 -32
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +2 -0
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +2 -0
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/surface.d.ts +5 -2
- package/dist/mcp/surface.d.ts.map +1 -1
- package/dist/mcp/surface.js +7 -4
- package/dist/mcp/surface.js.map +1 -1
- package/dist/mcp/tool.d.ts +3 -6
- package/dist/mcp/tool.d.ts.map +1 -1
- package/dist/mcp/tool.js +3 -36
- package/dist/mcp/tool.js.map +1 -1
- package/dist/mcp/tools/attachments.d.ts.map +1 -1
- package/dist/mcp/tools/attachments.js +3 -138
- package/dist/mcp/tools/attachments.js.map +1 -1
- package/dist/mcp/tools.d.ts +4 -21
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +4 -97
- package/dist/mcp/tools.js.map +1 -1
- package/dist/meetings/mcp/index.d.ts +15 -15
- package/dist/meetings/mcp/index.d.ts.map +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +2 -1
- package/dist/sends/permissions.js.map +1 -1
- package/dist/store/drivers/node-sqlite.d.ts +2 -3
- package/dist/store/drivers/node-sqlite.d.ts.map +1 -1
- package/dist/store/drivers/node-sqlite.js +2 -3
- package/dist/store/drivers/node-sqlite.js.map +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/open.d.ts.map +1 -1
- package/dist/store/open.js +2 -0
- package/dist/store/open.js.map +1 -1
- package/dist/store/sqlite/open.d.ts.map +1 -1
- package/dist/store/sqlite/open.js +2 -0
- package/dist/store/sqlite/open.js.map +1 -1
- package/dist/store/sqlite/tag-consolidation.d.ts +5 -0
- package/dist/store/sqlite/tag-consolidation.d.ts.map +1 -0
- package/dist/store/sqlite/tag-consolidation.js +178 -0
- package/dist/store/sqlite/tag-consolidation.js.map +1 -0
- package/dist/store/sqlite/tags.js +1 -1
- package/dist/store/sqlite/tags.js.map +1 -1
- package/dist/store/sqlite/vocabulary.d.ts +2 -1
- package/dist/store/sqlite/vocabulary.d.ts.map +1 -1
- package/dist/store/sqlite/vocabulary.js +2 -0
- package/dist/store/sqlite/vocabulary.js.map +1 -1
- package/dist/store/sqlite-warning.d.ts +8 -0
- package/dist/store/sqlite-warning.d.ts.map +1 -0
- package/dist/store/sqlite-warning.js +26 -0
- package/dist/store/sqlite-warning.js.map +1 -0
- package/package.json +2 -2
- package/parity.json +12 -0
- package/dist/mcp/search-sync.d.ts +0 -12
- package/dist/mcp/search-sync.d.ts.map +0 -1
- package/dist/mcp/search-sync.js +0 -18
- package/dist/mcp/search-sync.js.map +0 -1
- package/dist/mcp/thread-options.d.ts +0 -19
- package/dist/mcp/thread-options.d.ts.map +0 -1
- package/dist/mcp/thread-options.js +0 -20
- package/dist/mcp/thread-options.js.map +0 -1
- package/dist/mcp/tools/account.d.ts +0 -4
- package/dist/mcp/tools/account.d.ts.map +0 -1
- package/dist/mcp/tools/account.js +0 -31
- package/dist/mcp/tools/account.js.map +0 -1
- package/dist/mcp/tools/admin-statistics.d.ts +0 -4
- package/dist/mcp/tools/admin-statistics.d.ts.map +0 -1
- package/dist/mcp/tools/admin-statistics.js +0 -163
- package/dist/mcp/tools/admin-statistics.js.map +0 -1
- package/dist/mcp/tools/admin.d.ts +0 -5
- package/dist/mcp/tools/admin.d.ts.map +0 -1
- package/dist/mcp/tools/admin.js +0 -262
- package/dist/mcp/tools/admin.js.map +0 -1
- package/dist/mcp/tools/chats-read.d.ts +0 -4
- package/dist/mcp/tools/chats-read.d.ts.map +0 -1
- package/dist/mcp/tools/chats-read.js +0 -28
- package/dist/mcp/tools/chats-read.js.map +0 -1
- package/dist/mcp/tools/chats-state.d.ts +0 -5
- package/dist/mcp/tools/chats-state.d.ts.map +0 -1
- package/dist/mcp/tools/chats-state.js +0 -58
- package/dist/mcp/tools/chats-state.js.map +0 -1
- package/dist/mcp/tools/chats.d.ts +0 -4
- package/dist/mcp/tools/chats.d.ts.map +0 -1
- package/dist/mcp/tools/chats.js +0 -194
- package/dist/mcp/tools/chats.js.map +0 -1
- package/dist/mcp/tools/contacts-write.d.ts +0 -5
- package/dist/mcp/tools/contacts-write.d.ts.map +0 -1
- package/dist/mcp/tools/contacts-write.js +0 -53
- package/dist/mcp/tools/contacts-write.js.map +0 -1
- package/dist/mcp/tools/contacts.d.ts +0 -4
- package/dist/mcp/tools/contacts.d.ts.map +0 -1
- package/dist/mcp/tools/contacts.js +0 -196
- package/dist/mcp/tools/contacts.js.map +0 -1
- package/dist/mcp/tools/conversations.d.ts +0 -5
- package/dist/mcp/tools/conversations.d.ts.map +0 -1
- package/dist/mcp/tools/conversations.js +0 -265
- package/dist/mcp/tools/conversations.js.map +0 -1
- package/dist/mcp/tools/folders.d.ts +0 -5
- package/dist/mcp/tools/folders.d.ts.map +0 -1
- package/dist/mcp/tools/folders.js +0 -103
- package/dist/mcp/tools/folders.js.map +0 -1
- package/dist/mcp/tools/inbox.d.ts +0 -6
- package/dist/mcp/tools/inbox.d.ts.map +0 -1
- package/dist/mcp/tools/inbox.js +0 -65
- package/dist/mcp/tools/inbox.js.map +0 -1
- package/dist/mcp/tools/messages-actions.d.ts +0 -5
- package/dist/mcp/tools/messages-actions.d.ts.map +0 -1
- package/dist/mcp/tools/messages-actions.js +0 -129
- package/dist/mcp/tools/messages-actions.js.map +0 -1
- package/dist/mcp/tools/messages-delete.d.ts +0 -4
- package/dist/mcp/tools/messages-delete.d.ts.map +0 -1
- package/dist/mcp/tools/messages-delete.js +0 -39
- package/dist/mcp/tools/messages-delete.js.map +0 -1
- package/dist/mcp/tools/messages-send.d.ts +0 -8
- package/dist/mcp/tools/messages-send.d.ts.map +0 -1
- package/dist/mcp/tools/messages-send.js +0 -107
- package/dist/mcp/tools/messages-send.js.map +0 -1
- package/dist/mcp/tools/messages-transcribe.d.ts +0 -4
- package/dist/mcp/tools/messages-transcribe.d.ts.map +0 -1
- package/dist/mcp/tools/messages-transcribe.js +0 -32
- package/dist/mcp/tools/messages-transcribe.js.map +0 -1
- package/dist/mcp/tools/messages.d.ts +0 -4
- package/dist/mcp/tools/messages.d.ts.map +0 -1
- package/dist/mcp/tools/messages.js +0 -207
- package/dist/mcp/tools/messages.js.map +0 -1
- package/dist/mcp/tools/moderation.d.ts +0 -8
- package/dist/mcp/tools/moderation.d.ts.map +0 -1
- package/dist/mcp/tools/moderation.js +0 -36
- package/dist/mcp/tools/moderation.js.map +0 -1
- package/dist/mcp/tools/polls.d.ts +0 -6
- package/dist/mcp/tools/polls.d.ts.map +0 -1
- package/dist/mcp/tools/polls.js +0 -140
- package/dist/mcp/tools/polls.js.map +0 -1
- package/dist/mcp/tools/private-people.d.ts +0 -4
- package/dist/mcp/tools/private-people.d.ts.map +0 -1
- package/dist/mcp/tools/private-people.js +0 -121
- package/dist/mcp/tools/private-people.js.map +0 -1
- package/dist/mcp/tools/rankings.d.ts +0 -4
- package/dist/mcp/tools/rankings.d.ts.map +0 -1
- package/dist/mcp/tools/rankings.js +0 -112
- package/dist/mcp/tools/rankings.js.map +0 -1
- package/dist/mcp/tools/reactions.d.ts +0 -5
- package/dist/mcp/tools/reactions.d.ts.map +0 -1
- package/dist/mcp/tools/reactions.js +0 -33
- package/dist/mcp/tools/reactions.js.map +0 -1
- package/dist/mcp/tools/review.d.ts +0 -4
- package/dist/mcp/tools/review.d.ts.map +0 -1
- package/dist/mcp/tools/review.js +0 -68
- package/dist/mcp/tools/review.js.map +0 -1
- package/dist/mcp/tools/runs.d.ts +0 -4
- package/dist/mcp/tools/runs.d.ts.map +0 -1
- package/dist/mcp/tools/runs.js +0 -28
- package/dist/mcp/tools/runs.js.map +0 -1
- package/dist/mcp/tools/search-tools.d.ts +0 -5
- package/dist/mcp/tools/search-tools.d.ts.map +0 -1
- package/dist/mcp/tools/search-tools.js +0 -132
- package/dist/mcp/tools/search-tools.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -154
- package/dist/mcp/tools/search.d.ts.map +0 -1
- package/dist/mcp/tools/search.js +0 -163
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/tools/searches.d.ts +0 -4
- package/dist/mcp/tools/searches.d.ts.map +0 -1
- package/dist/mcp/tools/searches.js +0 -108
- package/dist/mcp/tools/searches.js.map +0 -1
- package/dist/mcp/tools/store.d.ts +0 -4
- package/dist/mcp/tools/store.d.ts.map +0 -1
- package/dist/mcp/tools/store.js +0 -163
- package/dist/mcp/tools/store.js.map +0 -1
- package/dist/mcp/tools/tags.d.ts +0 -4
- package/dist/mcp/tools/tags.d.ts.map +0 -1
- package/dist/mcp/tools/tags.js +0 -64
- package/dist/mcp/tools/tags.js.map +0 -1
- package/dist/mcp/tools/tasks.d.ts +0 -4
- package/dist/mcp/tools/tasks.d.ts.map +0 -1
- package/dist/mcp/tools/tasks.js +0 -369
- package/dist/mcp/tools/tasks.js.map +0 -1
- package/dist/mcp/tools/topics.d.ts +0 -5
- package/dist/mcp/tools/topics.d.ts.map +0 -1
- package/dist/mcp/tools/topics.js +0 -134
- package/dist/mcp/tools/topics.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/mcp/tools/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Messenger } from "../../cli/messenger/context.js";
|
|
2
|
-
import { type AnyTool } from "../tool.js";
|
|
3
|
-
/**
|
|
4
|
-
* A group's rules, and the run that acts on them. Over MCP nobody can answer a question per action,
|
|
5
|
-
* so an action whose level in the group's rules is `ask` is planned, not taken.
|
|
6
|
-
*/
|
|
7
|
-
export declare const moderationTools: (messenger: Messenger) => Record<string, AnyTool>;
|
|
8
|
-
//# sourceMappingURL=moderation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/moderation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAO,EAAE,KAAK,OAAO,EAA6B,MAAM,YAAY,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwC3E,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import * as v from "valibot";
|
|
2
|
-
import { itemOf, snakeKeys } from "../../cli/envelope.js";
|
|
3
|
-
import { onlineDeps, servicesFor } from "../../services/index.js";
|
|
4
|
-
import { momentOf } from "../../services/moment.js";
|
|
5
|
-
import { chatOf, READ, tool, WRITE } from "../tool.js";
|
|
6
|
-
/**
|
|
7
|
-
* A group's rules, and the run that acts on them. Over MCP nobody can answer a question per action,
|
|
8
|
-
* so an action whose level in the group's rules is `ask` is planned, not taken.
|
|
9
|
-
*/
|
|
10
|
-
export const moderationTools = (messenger) => ({
|
|
11
|
-
chats_rules_show: tool({
|
|
12
|
-
title: "A group's moderation rules",
|
|
13
|
-
description: "The rules `chats moderate` judges a group by; the defaults, marked not saved, if it has none.",
|
|
14
|
-
input: v.object({ chat: chatOf(messenger) }),
|
|
15
|
-
annotations: READ,
|
|
16
|
-
online: async (adapter, args, { guard, settings, env }) => itemOf(snakeKeys(await servicesFor(onlineDeps(messenger, adapter, guard, { profile: settings.profile, env })).moderation.rules(args.chat))),
|
|
17
|
-
}),
|
|
18
|
-
chats_moderate: tool({
|
|
19
|
-
title: "Apply a group's rules",
|
|
20
|
-
description: "Judge a group's new messages and members by its rules, and delete or remove where the rules' levels allow; " +
|
|
21
|
-
"an action at level ask is planned for the owner, not taken. Only when the owner asked for this group.",
|
|
22
|
-
input: v.object({
|
|
23
|
-
chat: chatOf(messenger),
|
|
24
|
-
since_time: v.optional(v.pipe(v.string(), v.description("ISO 8601, or 2h / 1d ago; the saved point stays"))),
|
|
25
|
-
dry_run: v.optional(v.pipe(v.boolean(), v.description("judge and plan; do nothing"))),
|
|
26
|
-
}),
|
|
27
|
-
annotations: WRITE,
|
|
28
|
-
permission: "groups",
|
|
29
|
-
online: async (adapter, args, { guard, settings, env }) => itemOf(snakeKeys(await servicesFor(onlineDeps(messenger, adapter, guard, { profile: settings.profile, env })).moderation.moderate(args.chat, {
|
|
30
|
-
...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
|
|
31
|
-
dryRun: args.dry_run === true,
|
|
32
|
-
allowDangerous: false,
|
|
33
|
-
}))),
|
|
34
|
-
}),
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=moderation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moderation.js","sourceRoot":"","sources":["../../../src/mcp/tools/moderation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAgB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IACjF,gBAAgB,EAAE,IAAI,CAAC;QACrB,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,+FAA+F;QAC5G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CACxD,MAAM,CACJ,SAAS,CACP,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAC3G,IAAI,CAAC,IAAI,CACV,CACF,CACF;KACJ,CAAC;IACF,cAAc,EAAE,IAAI,CAAC;QACnB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,6GAA6G;YAC7G,uGAAuG;QACzG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACvB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC5G,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAC;SACtF,CAAC;QACF,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CACxD,MAAM,CACJ,SAAS,CACP,MAAM,WAAW,CACf,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAC1E,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;YAC5F,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;YAC7B,cAAc,EAAE,KAAK;SACtB,CAAC,CACH,CACF;KACJ,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { Messenger } from "../../cli/messenger/context.js";
|
|
2
|
-
import { type AnyTool } from "../tool.js";
|
|
3
|
-
export declare const pollReadTools: (messenger: Messenger) => Record<string, AnyTool>;
|
|
4
|
-
/** Offered by the profile's permissions, each under the permission its guard kind names. */
|
|
5
|
-
export declare const pollWriteTools: (messenger: Messenger) => Record<string, AnyTool>;
|
|
6
|
-
//# sourceMappingURL=polls.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polls.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/polls.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAM/D,OAAO,EAAE,KAAK,OAAO,EAAmD,MAAM,YAAY,CAAA;AAc1F,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA6CzE,CAAA;AAEF,4FAA4F;AAC5F,eAAO,MAAM,cAAc,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAkH3E,CAAA"}
|
package/dist/mcp/tools/polls.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import * as v from "valibot";
|
|
3
|
-
import { itemOf, listOf, snakeKeys } from "../../cli/envelope.js";
|
|
4
|
-
import { listQuery, nativeTerms, queryArgument } from "../../cli/list-query.js";
|
|
5
|
-
import { pollVoteAnswer } from "../../cli/messenger/chat-answers.js";
|
|
6
|
-
import { selfOf } from "../../cli/messenger/message-items.js";
|
|
7
|
-
import { writtenAnswer } from "../../cli/messenger/message-writes.js";
|
|
8
|
-
import { VOTERS_QUERY } from "../../cli/messenger/people-queries.js";
|
|
9
|
-
import { capability } from "../../ports/messenger.js";
|
|
10
|
-
import { closeAfterOf, guardedClose, guardedCreatePoll, guardedVote, pollVoters, quizOf } from "../../sends/polls.js";
|
|
11
|
-
import { chatOf, limit, message, page, READ, tool, WRITE } from "../tool.js";
|
|
12
|
-
const ANONYMOUS = v.optional(v.boolean());
|
|
13
|
-
const TOPIC = v.optional(v.pipe(v.string(), v.minLength(1), v.description("the forum topic id")));
|
|
14
|
-
const SEND_AS = v.optional(v.pipe(v.string(), v.minLength(1), v.description("an id from `chats send-as` to post as; required where the chat posts as someone else by default")));
|
|
15
|
-
const answerId = v.pipe(v.string(), v.minLength(1), v.description("an answer id, as `polls show` gives it"));
|
|
16
|
-
export const pollReadTools = (messenger) => ({
|
|
17
|
-
...(messenger.pollVoters
|
|
18
|
-
? {
|
|
19
|
-
polls_voters: tool({
|
|
20
|
-
title: "Who voted in a poll",
|
|
21
|
-
description: `Who voted for what${messenger.pollAnonymous === false ? "" : " in a poll that is not anonymous"}, newest ` +
|
|
22
|
-
"first: items [{ person_id, name, username, " +
|
|
23
|
-
"answers, voted_at }]. query answers:<id> keeps those who chose that answer. Reading changes nothing.",
|
|
24
|
-
input: v.object({ chat: chatOf(messenger), message, query: queryArgument(VOTERS_QUERY), limit, page }),
|
|
25
|
-
annotations: { ...READ, idempotentHint: true },
|
|
26
|
-
output: { entity: "poll_vote", list: true },
|
|
27
|
-
online: async (adapter, args, defaults) => {
|
|
28
|
-
const answer = nativeTerms(listQuery(args.query ?? "", VOTERS_QUERY, "polls voters"), "polls voters").get("answers")?.value;
|
|
29
|
-
const size = args.limit ?? defaults.limit;
|
|
30
|
-
const number = args.page ?? 1;
|
|
31
|
-
const found = await pollVoters(adapter, {
|
|
32
|
-
chat: args.chat,
|
|
33
|
-
message: args.message,
|
|
34
|
-
limit: size * number,
|
|
35
|
-
...(answer === undefined ? {} : { answer }),
|
|
36
|
-
});
|
|
37
|
-
return listOf("polls voters", {
|
|
38
|
-
items: found.items.slice((number - 1) * size).map(pollVoteAnswer),
|
|
39
|
-
limit: size,
|
|
40
|
-
has_more: found.hasMore,
|
|
41
|
-
page: number,
|
|
42
|
-
args: { chat: args.chat, message: args.message, ...(args.query ? { query: args.query } : {}) },
|
|
43
|
-
});
|
|
44
|
-
},
|
|
45
|
-
}),
|
|
46
|
-
}
|
|
47
|
-
: {}),
|
|
48
|
-
polls_show: tool({
|
|
49
|
-
title: "Show a poll",
|
|
50
|
-
description: "A poll as the message carries it now: its question, and each answer with the id a vote names.",
|
|
51
|
-
input: v.object({ chat: chatOf(messenger), message }),
|
|
52
|
-
annotations: { ...READ, idempotentHint: true },
|
|
53
|
-
online: async (adapter, args) => {
|
|
54
|
-
const poll = capability(adapter, "poll", "read a poll");
|
|
55
|
-
return itemOf(snakeKeys(await poll((await adapter.resolve(args.chat)).id, args.message)));
|
|
56
|
-
},
|
|
57
|
-
}),
|
|
58
|
-
});
|
|
59
|
-
/** Offered by the profile's permissions, each under the permission its guard kind names. */
|
|
60
|
-
export const pollWriteTools = (messenger) => {
|
|
61
|
-
const chat = chatOf(messenger);
|
|
62
|
-
return {
|
|
63
|
-
polls_vote: tool({
|
|
64
|
-
title: "Vote in a poll",
|
|
65
|
-
description: "Vote as the owner, by answer ids from `polls show`; an empty list takes the vote back. The others see it" +
|
|
66
|
-
`${messenger.pollAnonymous === false ? "" : " unless the poll is anonymous"}. Only when the owner asked for this vote.`,
|
|
67
|
-
input: v.object({ chat, message, answers: v.array(answerId) }),
|
|
68
|
-
annotations: WRITE,
|
|
69
|
-
permission: "reaction",
|
|
70
|
-
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await guardedVote(guard, adapter, { chat: args.chat, message: args.message, answers: args.answers }))),
|
|
71
|
-
}),
|
|
72
|
-
...(messenger.pollClose === false
|
|
73
|
-
? {}
|
|
74
|
-
: {
|
|
75
|
-
polls_close: tool({
|
|
76
|
-
title: "Close a poll",
|
|
77
|
-
description: "Close the owner's own poll; it cannot be reopened. Only when the owner asked for it.",
|
|
78
|
-
input: v.object({ chat, message }),
|
|
79
|
-
annotations: WRITE,
|
|
80
|
-
permission: "edit",
|
|
81
|
-
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await guardedClose(guard, adapter, { chat: args.chat, message: args.message }))),
|
|
82
|
-
}),
|
|
83
|
-
}),
|
|
84
|
-
polls_create: tool({
|
|
85
|
-
title: "Create a poll",
|
|
86
|
-
description: `Send a poll as the owner: ${messenger.pollAnonymous === false ? "everyone sees who voted for what" : "public unless anonymous is true"}. ` +
|
|
87
|
-
"Only when the owner asked for this exact poll in this exact chat. On outcome_unknown, retry with the " +
|
|
88
|
-
"operation_id it returns, never a new one.",
|
|
89
|
-
input: v.object({
|
|
90
|
-
chat,
|
|
91
|
-
text: v.pipe(v.string(), v.minLength(1), v.description("the question")),
|
|
92
|
-
answers: v.pipe(v.array(v.pipe(v.string(), v.minLength(1))), v.minLength(2)),
|
|
93
|
-
multiple: v.optional(v.boolean()),
|
|
94
|
-
// Typed as present so the call reads them; offered only where the messenger has them.
|
|
95
|
-
...(messenger.pollAnonymous === false ? {} : { anonymous: ANONYMOUS }),
|
|
96
|
-
revote: v.optional(v.pipe(v.boolean(), v.description(messenger.pollRevote === false
|
|
97
|
-
? "ignored: this messenger decides alone whether a vote can be changed"
|
|
98
|
-
: "people may change their vote; without it they cannot"))),
|
|
99
|
-
...(messenger.topics === false ? {} : { topic: TOPIC }),
|
|
100
|
-
...(messenger.sendAs === false ? {} : { send_as: SEND_AS }),
|
|
101
|
-
operation_id: v.optional(v.pipe(v.string(), v.minLength(1), v.description("from an earlier outcome_unknown"))),
|
|
102
|
-
quiz: v.optional(v.pipe(v.boolean(), v.description("a quiz: one answer is right, and a vote is final; where the messenger makes them"))),
|
|
103
|
-
correct: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.description("with quiz: the right answer's position, from 1"))),
|
|
104
|
-
solution: v.optional(v.pipe(v.string(), v.minLength(1), v.description("with quiz: what people see once they answered"))),
|
|
105
|
-
close_time: v.optional(v.pipe(v.string(), v.minLength(1), v.description("it closes by itself this long after sending, like 90s or 5m; where the messenger can"))),
|
|
106
|
-
}),
|
|
107
|
-
annotations: WRITE,
|
|
108
|
-
permission: "send",
|
|
109
|
-
online: async (adapter, args, { guard }) => {
|
|
110
|
-
if (args.quiz === true && !messenger.pollQuiz)
|
|
111
|
-
throw new CliError("validation_error", "this messenger makes no quizzes");
|
|
112
|
-
const asQuiz = quizOf({
|
|
113
|
-
...(args.quiz === undefined ? {} : { quiz: args.quiz }),
|
|
114
|
-
...(args.correct === undefined ? {} : { correct: args.correct }),
|
|
115
|
-
...(args.solution === undefined ? {} : { solution: args.solution }),
|
|
116
|
-
});
|
|
117
|
-
const closeAfter = closeAfterOf(args.close_time, messenger.pollCloseSeconds);
|
|
118
|
-
const reader = selfOf(messenger, adapter);
|
|
119
|
-
const sent = await guardedCreatePoll(guard, adapter, {
|
|
120
|
-
chat: args.chat,
|
|
121
|
-
poll: {
|
|
122
|
-
question: args.text,
|
|
123
|
-
answers: args.answers,
|
|
124
|
-
multiple: args.multiple === true,
|
|
125
|
-
anonymous: args.anonymous === true,
|
|
126
|
-
revote: args.revote === true,
|
|
127
|
-
...(asQuiz === undefined ? {} : { quiz: asQuiz }),
|
|
128
|
-
...(closeAfter === undefined ? {} : { closeAfter }),
|
|
129
|
-
},
|
|
130
|
-
silent: false,
|
|
131
|
-
...(args.operation_id === undefined ? {} : { sendId: args.operation_id }),
|
|
132
|
-
...(args.topic === undefined ? {} : { threadId: args.topic }),
|
|
133
|
-
...(args.send_as === undefined ? {} : { sendAs: args.send_as }),
|
|
134
|
-
});
|
|
135
|
-
return writtenAnswer(sent, reader);
|
|
136
|
-
},
|
|
137
|
-
}),
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
//# sourceMappingURL=polls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polls.js","sourceRoot":"","sources":["../../../src/mcp/tools/polls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"private-people.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/private-people.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAOrD,eAAO,MAAM,kBAAkB,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAmK9E,CAAA"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import * as v from "valibot";
|
|
3
|
-
import { itemOf, listOf, snakeKeys } from "../../cli/envelope.js";
|
|
4
|
-
import { servicesFor, storedDeps } from "../../services/index.js";
|
|
5
|
-
import { READ, tool } from "../tool.js";
|
|
6
|
-
const person = v.pipe(v.string(), v.minLength(1));
|
|
7
|
-
const id = v.pipe(v.string(), v.minLength(1));
|
|
8
|
-
const text = v.pipe(v.string(), v.minLength(1), v.maxLength(100_000));
|
|
9
|
-
const LOCAL = { readOnlyHint: false, openWorldHint: false };
|
|
10
|
-
export const privatePeopleTools = (messenger) => ({
|
|
11
|
-
contacts_alias_set: tool({
|
|
12
|
-
changesStore: true,
|
|
13
|
-
title: "Set a private contact alias",
|
|
14
|
-
description: "Set a display name only in this account's local store; never rename a messenger contact.",
|
|
15
|
-
input: v.object({ person, alias: v.pipe(v.string(), v.minLength(1), v.maxLength(200)) }),
|
|
16
|
-
annotations: { ...LOCAL, idempotentHint: true, destructiveHint: false },
|
|
17
|
-
stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.alias(args.person, args.alias))),
|
|
18
|
-
}),
|
|
19
|
-
contacts_alias_rm: tool({
|
|
20
|
-
changesStore: true,
|
|
21
|
-
title: "Remove a private contact alias",
|
|
22
|
-
description: "Remove only this account's local alias.",
|
|
23
|
-
input: v.object({ person }),
|
|
24
|
-
annotations: { ...LOCAL, idempotentHint: true, destructiveHint: true },
|
|
25
|
-
stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.alias(args.person, null))),
|
|
26
|
-
}),
|
|
27
|
-
contacts_notes_list: tool({
|
|
28
|
-
title: "Private notes on a contact",
|
|
29
|
-
description: "User-authored notes stored locally for this account; they are separate from the person's public bio.",
|
|
30
|
-
input: v.object({ person }),
|
|
31
|
-
annotations: { ...READ, openWorldHint: false },
|
|
32
|
-
output: { entity: "contact_note", list: true },
|
|
33
|
-
stored: async (store, account, args, defaults) => {
|
|
34
|
-
const items = await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.notes(args.person);
|
|
35
|
-
return listOf("contacts notes list", { items, limit: Math.max(1, items.length), has_more: false });
|
|
36
|
-
},
|
|
37
|
-
}),
|
|
38
|
-
contacts_notes_show: tool({
|
|
39
|
-
title: "Read a private contact note",
|
|
40
|
-
description: "Read one account-scoped note and its revision.",
|
|
41
|
-
input: v.object({ person, id }),
|
|
42
|
-
annotations: { ...READ, openWorldHint: false },
|
|
43
|
-
output: { entity: "contact_note", list: false },
|
|
44
|
-
stored: async (store, account, args, defaults) => itemOf(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.note(args.person, args.id)),
|
|
45
|
-
}),
|
|
46
|
-
contacts_notes_add: tool({
|
|
47
|
-
changesStore: true,
|
|
48
|
-
title: "Add a private contact note",
|
|
49
|
-
description: "Save the user's note locally with a stable id; nothing is sent to the person.",
|
|
50
|
-
input: v.object({ person, text }),
|
|
51
|
-
annotations: { ...LOCAL, idempotentHint: false, destructiveHint: false },
|
|
52
|
-
output: { entity: "contact_note", list: false },
|
|
53
|
-
stored: async (store, account, args, defaults) => itemOf(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.add(args.person, args.text)),
|
|
54
|
-
}),
|
|
55
|
-
contacts_notes_edit: tool({
|
|
56
|
-
changesStore: true,
|
|
57
|
-
title: "Edit a private contact note",
|
|
58
|
-
description: "Replace note text only if its revision still matches the one read.",
|
|
59
|
-
input: v.object({ person, id, text, revision: v.pipe(v.number(), v.integer(), v.minValue(1)) }),
|
|
60
|
-
annotations: { ...LOCAL, idempotentHint: false, destructiveHint: true },
|
|
61
|
-
output: { entity: "contact_note", list: false },
|
|
62
|
-
stored: async (store, account, args, defaults) => itemOf(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.edit(args.person, args.id, args.text, args.revision)),
|
|
63
|
-
}),
|
|
64
|
-
contacts_notes_remove: tool({
|
|
65
|
-
changesStore: true,
|
|
66
|
-
title: "Delete a private contact note",
|
|
67
|
-
description: "Delete this local note's text; the contact and source messages remain.",
|
|
68
|
-
input: v.object({ person, id }),
|
|
69
|
-
annotations: { ...LOCAL, idempotentHint: false, destructiveHint: true },
|
|
70
|
-
stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).privatePeople.remove(args.person, args.id))),
|
|
71
|
-
}),
|
|
72
|
-
metadata_get: tool({
|
|
73
|
-
title: "Cached channel metadata",
|
|
74
|
-
description: "Read locally stored group/channel title, username, description and refresh time.",
|
|
75
|
-
input: v.object({ chat: person }),
|
|
76
|
-
annotations: { ...READ, openWorldHint: false },
|
|
77
|
-
stored: async (store, account, args, defaults) => itemOf(snakeKeys(await servicesFor(storedDeps(messenger, store, account, defaults.guard)).metadata.get(args.chat))),
|
|
78
|
-
}),
|
|
79
|
-
metadata_refresh: tool({
|
|
80
|
-
title: "Refresh channel metadata",
|
|
81
|
-
description: "Read a group/channel description from the messenger and cache it locally. No remote mutation.",
|
|
82
|
-
input: v.object({ chat: person }),
|
|
83
|
-
annotations: { ...LOCAL, idempotentHint: true, destructiveHint: false },
|
|
84
|
-
stored: async (store, account, args, defaults, connect) => {
|
|
85
|
-
if (!connect)
|
|
86
|
-
throw new CliError("validation_error", "metadata refresh needs a connection");
|
|
87
|
-
const deps = {
|
|
88
|
-
...storedDeps(messenger, store, account, defaults.guard),
|
|
89
|
-
offline: defaults.settings.offline ?? false,
|
|
90
|
-
withConnection: connect,
|
|
91
|
-
};
|
|
92
|
-
return itemOf(snakeKeys({ chats: [await servicesFor(deps).metadata.refresh(args.chat)], has_more: false }));
|
|
93
|
-
},
|
|
94
|
-
}),
|
|
95
|
-
tags_auto: tool({
|
|
96
|
-
changesStore: true,
|
|
97
|
-
title: "Classify cached channels",
|
|
98
|
-
description: "Derive local keyword tags from title, username and description, preserving manual tags. sync_first reads current descriptions first. Dry-run uses cached data only.",
|
|
99
|
-
input: v.object({
|
|
100
|
-
chats: v.optional(v.array(person)),
|
|
101
|
-
limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(500))),
|
|
102
|
-
sync_first: v.optional(v.boolean()),
|
|
103
|
-
dry_run: v.optional(v.boolean()),
|
|
104
|
-
}),
|
|
105
|
-
annotations: { ...LOCAL, idempotentHint: true, destructiveHint: false },
|
|
106
|
-
stored: async (store, account, args, defaults, connect) => {
|
|
107
|
-
const deps = {
|
|
108
|
-
...storedDeps(messenger, store, account, defaults.guard),
|
|
109
|
-
offline: args.sync_first ? (defaults.settings.offline ?? false) : true,
|
|
110
|
-
withConnection: connect,
|
|
111
|
-
};
|
|
112
|
-
return itemOf(snakeKeys(await servicesFor(deps).metadata.auto({
|
|
113
|
-
chats: args.chats,
|
|
114
|
-
limit: args.limit,
|
|
115
|
-
refresh: args.sync_first,
|
|
116
|
-
dryRun: args.dry_run,
|
|
117
|
-
})));
|
|
118
|
-
},
|
|
119
|
-
}),
|
|
120
|
-
});
|
|
121
|
-
//# sourceMappingURL=private-people.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"private-people.js","sourceRoot":"","sources":["../../../src/mcp/tools/private-people.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/rankings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAQ/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAwCrD,eAAO,MAAM,YAAY,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoFzE,CAAA"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { CliError } from "@wirecat/cli-base";
|
|
2
|
-
import * as v from "valibot";
|
|
3
|
-
import { evidenceAnswer, rankingAnswer } from "../../cli/messenger/stats-answers.js";
|
|
4
|
-
import { AUTHOR_MEASURES, MESSAGE_MEASURES } from "../../domain/rankings-options.js";
|
|
5
|
-
import { assertRetentionEvidenceRead } from "../../sends/permissions.js";
|
|
6
|
-
import { isAdminSelection } from "../../services/admin-statistics.js";
|
|
7
|
-
import { isRetentionSelection } from "../../services/retention.js";
|
|
8
|
-
import { searchServices, syncInputs } from "../search-sync.js";
|
|
9
|
-
import { READ, tool } from "../tool.js";
|
|
10
|
-
import { syncArgs } from "./search.js";
|
|
11
|
-
const commonTop = {
|
|
12
|
-
...syncInputs,
|
|
13
|
-
text: v.optional(v.string()),
|
|
14
|
-
ast: v.optional(v.unknown()),
|
|
15
|
-
chat: v.optional(v.string()),
|
|
16
|
-
source: v.optional(v.string()),
|
|
17
|
-
timezone: v.optional(v.string()),
|
|
18
|
-
exact: v.optional(v.boolean()),
|
|
19
|
-
saved: v.optional(v.string()),
|
|
20
|
-
weights: v.optional(v.union([v.string(), v.record(v.string(), v.number())])),
|
|
21
|
-
message_kind: v.optional(v.picklist(["all", "posts", "comments"])),
|
|
22
|
-
limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100))),
|
|
23
|
-
};
|
|
24
|
-
const topInput = (target) => target === "messages"
|
|
25
|
-
? v.object({
|
|
26
|
-
...commonTop,
|
|
27
|
-
measure: v.optional(v.picklist(MESSAGE_MEASURES)),
|
|
28
|
-
score: v.optional(v.picklist(["engaging"])),
|
|
29
|
-
})
|
|
30
|
-
: v.object({
|
|
31
|
-
...commonTop,
|
|
32
|
-
measure: v.optional(v.picklist(AUTHOR_MEASURES)),
|
|
33
|
-
score: v.optional(v.picklist(["helpful", "active", "engaging"])),
|
|
34
|
-
min_messages: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
|
|
35
|
-
});
|
|
36
|
-
const commonEvidence = {
|
|
37
|
-
selection: v.union([v.string(), v.record(v.string(), v.unknown())]),
|
|
38
|
-
component: v.string(),
|
|
39
|
-
limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100))),
|
|
40
|
-
cursor: v.optional(v.pipe(v.string(), v.maxLength(4096))),
|
|
41
|
-
};
|
|
42
|
-
const evidenceInput = (target) => target === "messages"
|
|
43
|
-
? v.object({ ...commonEvidence, message: v.string() })
|
|
44
|
-
: v.object({ ...commonEvidence, person: v.string() });
|
|
45
|
-
export const rankingTools = (messenger) => {
|
|
46
|
-
const definitions = {};
|
|
47
|
-
for (const target of ["messages", "contacts"]) {
|
|
48
|
-
definitions[`stats_${target}_top`] = tool({
|
|
49
|
-
title: `Rank ${target === "messages" ? "messages" : "authors"}`,
|
|
50
|
-
description: "Rank the local matching population by a measure or explainable score; limit is applied after normalization. Unknown counters are not zero. Per-counter observation freshness is disclosed and counts are cumulative snapshots; graph counts describe stored events in the query period. Returns { item: { population, eligible, excluded, rows } }: each row has its score components and the selection its evidence takes; next names the top row's evidence; missing names what the store does not hold. No sends or mark-read; optional sync_first has separate write permissions.",
|
|
51
|
-
input: topInput(target),
|
|
52
|
-
annotations: { ...READ, openWorldHint: false },
|
|
53
|
-
output: { entity: "ranking", list: false },
|
|
54
|
-
stored: async (store, account, args, defaults, connect) => {
|
|
55
|
-
const services = searchServices(messenger, store, account, defaults, args.sync_first ? connect : undefined);
|
|
56
|
-
const min_messages = "min_messages" in args && typeof args.min_messages === "number" ? args.min_messages : undefined;
|
|
57
|
-
const { message_kind, saved, sync_first: _sync, sync_time: _time, max_chats: _chats, max_messages: _messages, ...plain } = args;
|
|
58
|
-
let params = {
|
|
59
|
-
...plain,
|
|
60
|
-
...(min_messages === undefined ? {} : { minMessages: min_messages }),
|
|
61
|
-
...(message_kind === undefined ? {} : { messageKind: message_kind }),
|
|
62
|
-
};
|
|
63
|
-
if (saved !== undefined) {
|
|
64
|
-
if (args.ast !== undefined)
|
|
65
|
-
throw new CliError("validation_error", "with saved, give extra query words rather than an AST");
|
|
66
|
-
params = (await services.searches.resolve(saved, params)).params;
|
|
67
|
-
}
|
|
68
|
-
if (params.target !== undefined && params.target !== target)
|
|
69
|
-
throw new CliError("validation_error", "saved ranking belongs to a different target");
|
|
70
|
-
if (params.newest || params.context)
|
|
71
|
-
throw new CliError("validation_error", "saved ranking must not use newest/context modes");
|
|
72
|
-
return rankingAnswer(await services.rankings.top(target, {
|
|
73
|
-
...params,
|
|
74
|
-
...syncArgs(args),
|
|
75
|
-
limit: params.limit ?? defaults.limit,
|
|
76
|
-
signal: defaults.signal,
|
|
77
|
-
...(saved ? { saved } : {}),
|
|
78
|
-
}));
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
definitions[`stats_${target}_evidence`] = tool({
|
|
82
|
-
title: `Inspect ${target} ranking evidence`,
|
|
83
|
-
description: "Page through contributing messages, question/answer pairs or retention cohort members from a row's selection. Never fetches, sends, marks read or records evidence bodies. A cursor binds the component, selection and contributing stored rows; changed evidence requires a restart. JSON items are bounded to 64 KiB; page.next_cursor continues, and next has the call for the next page.",
|
|
84
|
-
input: evidenceInput(target),
|
|
85
|
-
annotations: { ...READ, openWorldHint: false },
|
|
86
|
-
output: { entity: "evidence", list: true },
|
|
87
|
-
stored: async (store, account, args, defaults) => {
|
|
88
|
-
const services = searchServices(messenger, store, account, defaults);
|
|
89
|
-
if (isRetentionSelection(args.selection))
|
|
90
|
-
assertRetentionEvidenceRead(defaults.settings.permissions ?? {});
|
|
91
|
-
const reference = "message" in args ? args.message : args.person;
|
|
92
|
-
if (reference === undefined)
|
|
93
|
-
throw new CliError("validation_error", "ranking evidence needs its exact message or person reference");
|
|
94
|
-
const limit = args.limit ?? 20;
|
|
95
|
-
const found = await (isRetentionSelection(args.selection)
|
|
96
|
-
? services.retention
|
|
97
|
-
: isAdminSelection(args.selection)
|
|
98
|
-
? services.adminStatistics
|
|
99
|
-
: services.rankings).evidence(target, reference, args.selection, {
|
|
100
|
-
component: args.component,
|
|
101
|
-
limit,
|
|
102
|
-
...(args.cursor ? { cursor: args.cursor } : {}),
|
|
103
|
-
signal: defaults.signal,
|
|
104
|
-
});
|
|
105
|
-
const selection = typeof args.selection === "string" ? args.selection : JSON.stringify(args.selection);
|
|
106
|
-
return evidenceAnswer(`stats ${target} evidence`, found, { [target === "messages" ? "message" : "person"]: reference, selection, component: args.component }, limit);
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
return definitions;
|
|
111
|
-
};
|
|
112
|
-
//# sourceMappingURL=rankings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../../src/mcp/tools/rankings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAsB,MAAM,kCAAkC,CAAA;AACxG,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAgB,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,SAAS,GAAG;IAChB,GAAG,UAAU;IACb,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAClE,KAAK,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,GAAG,CAAC,CAAC,CAAC;CACnF,CAAA;AACD,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAE,EAAE,CACzC,MAAM,KAAK,UAAU;IACnB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,SAAS;QACZ,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAC5C,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,SAAS;QACZ,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;QAChE,YAAY,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,CAAC,CAAC;KACzE,CAAC,CAAA;AACR,MAAM,cAAc,GAAG;IACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,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,GAAG,CAAC,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAA;AACD,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE,CAC9C,MAAM,KAAK,UAAU;IACnB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC5E,MAAM,WAAW,GAA4B,EAAE,CAAA;IAC/C,KAAK,MAAM,MAAM,IAAI,CAAC,UAAU,EAAE,UAAU,CAAU,EAAE,CAAC;QACvD,WAAW,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC;YACxC,KAAK,EAAE,QAAQ,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE;YAC/D,WAAW,EACT,ujBAAujB;YACzjB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;YAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;gBACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC3G,MAAM,YAAY,GAChB,cAAc,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjG,MAAM,EACJ,YAAY,EACZ,KAAK,EACL,UAAU,EAAE,KAAK,EACjB,SAAS,EAAE,KAAK,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,EACvB,GAAG,KAAK,EACT,GAAG,IAAI,CAAA;gBACR,IAAI,MAAM,GAAiB;oBACzB,GAAG,KAAK;oBACR,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;oBACpE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;iBACrE,CAAA;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;wBACxB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uDAAuD,CAAC,CAAA;oBACjG,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;gBAClE,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;oBACzD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,6CAA6C,CAAC,CAAA;gBACvF,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO;oBACjC,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAA;gBAC3F,OAAO,aAAa,CAClB,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;oBAClC,GAAG,MAAM;oBACT,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;oBACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5B,CAAC,CACH,CAAA;YACH,CAAC;SACF,CAAC,CAAA;QACF,WAAW,CAAC,SAAS,MAAM,WAAW,CAAC,GAAG,IAAI,CAAC;YAC7C,KAAK,EAAE,WAAW,MAAM,mBAAmB;YAC3C,WAAW,EACT,8XAA8X;YAChY,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;YAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACpE,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;oBAAE,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;gBAC1G,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;gBAChE,IAAI,SAAS,KAAK,SAAS;oBACzB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,8DAA8D,CAAC,CAAA;gBACxG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvD,CAAC,CAAC,QAAQ,CAAC,SAAS;oBACpB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;wBAChC,CAAC,CAAC,QAAQ,CAAC,eAAe;wBAC1B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CACtB,CAAC,QAAQ,CAAC,MAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;oBAC7D,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,KAAK;oBACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAA;gBACF,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtG,OAAO,cAAc,CACnB,SAAS,MAAM,WAAW,EAC1B,KAAK,EACL,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EACnG,KAAK,CACN,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Messenger } from "../../cli/messenger/context.js";
|
|
2
|
-
import { type AnyTool } from "../tool.js";
|
|
3
|
-
/** Offered by the profile's permissions, under the `reaction` permission. */
|
|
4
|
-
export declare const reactionTools: (messenger: Messenger) => Record<string, AnyTool>;
|
|
5
|
-
//# sourceMappingURL=reactions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/reactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAgC,MAAM,YAAY,CAAA;AAEvE,6EAA6E;AAC7E,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoC1E,CAAA"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as v from "valibot";
|
|
2
|
-
import { itemOf, snakeKeys } from "../../cli/envelope.js";
|
|
3
|
-
import { onlineDeps, servicesFor } from "../../services/index.js";
|
|
4
|
-
import { chatOf, message, tool, WRITE } from "../tool.js";
|
|
5
|
-
/** Offered by the profile's permissions, under the `reaction` permission. */
|
|
6
|
-
export const reactionTools = (messenger) => {
|
|
7
|
-
const chat = chatOf(messenger);
|
|
8
|
-
const messages = (adapter, guard) => servicesFor(onlineDeps(messenger, adapter, guard)).messages;
|
|
9
|
-
return {
|
|
10
|
-
reactions_add: tool({
|
|
11
|
-
title: "React to a message",
|
|
12
|
-
description: "Put the owner's reaction on one message; it replaces the one there was. The sender sees it. " +
|
|
13
|
-
"Only when the owner asked for this reaction on this message.",
|
|
14
|
-
input: v.object({
|
|
15
|
-
chat,
|
|
16
|
-
message,
|
|
17
|
-
emoji: v.pipe(v.string(), v.minLength(1), v.description("one emoji, for example 👍")),
|
|
18
|
-
}),
|
|
19
|
-
annotations: WRITE,
|
|
20
|
-
permission: "reaction",
|
|
21
|
-
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await messages(adapter, guard).react({ chat: args.chat, message: args.message, emoji: args.emoji }))),
|
|
22
|
-
}),
|
|
23
|
-
reactions_remove: tool({
|
|
24
|
-
title: "Take a reaction off",
|
|
25
|
-
description: "Take the owner's reaction off one message. Only when the owner asked for it.",
|
|
26
|
-
input: v.object({ chat, message }),
|
|
27
|
-
annotations: WRITE,
|
|
28
|
-
permission: "reaction",
|
|
29
|
-
online: async (adapter, args, { guard }) => itemOf(snakeKeys(await messages(adapter, guard).react({ chat: args.chat, message: args.message, emoji: null }))),
|
|
30
|
-
}),
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=reactions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactions.js","sourceRoot":"","sources":["../../../src/mcp/tools/reactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAoB,EAA2B,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,OAAyB,EAAE,KAAgB,EAAE,EAAE,CAC/D,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC7D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC;YAClB,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,8FAA8F;gBAC9F,8DAA8D;YAChE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI;gBACJ,OAAO;gBACP,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;aACtF,CAAC;YACF,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CACP,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CACpG,CACF;SACJ,CAAC;QACF,gBAAgB,EAAE,IAAI,CAAC;YACrB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,8EAA8E;YAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAClC,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzC,MAAM,CACJ,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACzG;SACJ,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/review.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,YAAY,CAAA;AAGrD,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAwFvE,CAAA"}
|