@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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { annotate } from "@wirecat/cli-base/commands";
|
|
2
3
|
import { Command } from "commander";
|
|
3
4
|
import { REGISTRIES, registriesCover } from "../../botcheck/registries.js";
|
|
4
5
|
import { levelFor } from "../../sends/permissions.js";
|
|
@@ -8,45 +9,55 @@ import { maskedAccount } from "../../services/people.js";
|
|
|
8
9
|
import { CHAT_MESSAGES, CONTEXT_BYTES, CONTEXT_MESSAGES } from "../../services/person-context.js";
|
|
9
10
|
import { SCOPES, TIMELINE_ITEMS } from "../../services/person-timeline.js";
|
|
10
11
|
import { readSecret } from "../../terminal/prompt.js";
|
|
11
|
-
import {
|
|
12
|
+
import { itemOf, listOf, renderAnswer } from "../envelope.js";
|
|
13
|
+
import { listQuery, nativeTerms, searchText, typedQuery, withQuery } from "../list-query.js";
|
|
14
|
+
import { positiveCount, window, withPaging } from "../paging.js";
|
|
12
15
|
import { casKey } from "../registry-keys.js";
|
|
16
|
+
import { nextStep } from "../steps.js";
|
|
13
17
|
import { contactWriteCommands } from "./admin-contacts-command.js";
|
|
18
|
+
import { contactAnswer, lines, pageOf, snakeKeys } from "./chat-answers.js";
|
|
14
19
|
import { messengerContext } from "./context.js";
|
|
20
|
+
import { CONTACTS_QUERY } from "./people-queries.js";
|
|
15
21
|
import { privatePeopleCommands } from "./private-people-command.js";
|
|
16
22
|
/** People this account has a one-to-one chat with, as the people service counts them. */
|
|
17
23
|
const collect = (value, previous = []) => [...previous, value];
|
|
18
24
|
export const contactsCommand = (messenger) => {
|
|
19
25
|
const contacts = new Command("contacts").description("people this account has a one-to-one chat with");
|
|
20
|
-
contacts.addCommand(withPaging(new Command("list").description("people you have a one-to-one chat with"))
|
|
21
|
-
|
|
22
|
-
.option("--search <text>", "only people whose name, local alias or @username contains this")
|
|
23
|
-
.option("--search-notes <text>", "only people whose private notes contain this text")
|
|
24
|
-
.action(async function () {
|
|
25
|
-
const { order, search, searchNotes } = this.opts();
|
|
26
|
+
contacts.addCommand(withQuery(annotate(withPaging(new Command("list").description("people you have a one-to-one chat with; name: matches the name, your local alias or the @username")).option("--order <recent|name>", "newest conversation first, or alphabetical", "recent"), { output: { entity: "contact" } }), CONTACTS_QUERY).action(async function (words) {
|
|
27
|
+
const { order } = this.opts();
|
|
26
28
|
if (order !== "recent" && order !== "name") {
|
|
27
29
|
throw new CliError("validation_error", `--order is recent or name, not "${order}"`);
|
|
28
30
|
}
|
|
31
|
+
const search = searchText(nativeTerms(listQuery(typedQuery(words), CONTACTS_QUERY, "contacts list"), "contacts list").get("name"));
|
|
29
32
|
const context = messengerContext(this, messenger);
|
|
30
|
-
const found = await context.withServices((services) =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const { found, account } = await context.withServices(async (services) => ({
|
|
34
|
+
found: await services.people.list({
|
|
35
|
+
order,
|
|
36
|
+
...(search ? { search } : {}),
|
|
37
|
+
...window(context.settings),
|
|
38
|
+
}),
|
|
39
|
+
account: await services.chats.account(),
|
|
35
40
|
}));
|
|
36
|
-
|
|
41
|
+
renderAnswer(this, context, listOf("contacts list", {
|
|
42
|
+
items: found.items.map((one) => contactAnswer(account, one)),
|
|
43
|
+
...pageOf(context.settings, found),
|
|
44
|
+
args: { order, ...(words.length > 0 ? { query: words.join(" ") } : {}) },
|
|
45
|
+
}), lines(({ id, name, username, last_messaged_at }) => [id, name ?? "", username ? `@${username}` : "", last_messaged_at ?? ""].join(" ")));
|
|
37
46
|
}));
|
|
38
|
-
contacts
|
|
39
|
-
.command("show")
|
|
47
|
+
contacts.addCommand(annotate(new Command("show")
|
|
40
48
|
.description("one person and the chats you share with them")
|
|
41
49
|
.argument("<person>", "their id, @username, or part of their name")
|
|
42
|
-
.option("--with-notes", "include your private notes, subject to contacts.notes.list permission")
|
|
43
|
-
.action(async function (person) {
|
|
50
|
+
.option("--with-notes", "include your private notes, subject to contacts.notes.list permission"), { output: { entity: "contact" } }).action(async function (person) {
|
|
44
51
|
const context = messengerContext(this, messenger);
|
|
45
52
|
const { withNotes } = this.opts();
|
|
46
53
|
if (withNotes && levelFor(context.settings.permissions, "contacts.notes.list").level === "deny")
|
|
47
54
|
throw new CliError("permission_error", "profile denies contacts.notes.list");
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
const { card, account } = await context.withServices(async (services) => ({
|
|
56
|
+
card: await services.people.show(person, { notes: withNotes }),
|
|
57
|
+
account: await services.chats.account(),
|
|
58
|
+
}));
|
|
59
|
+
renderAnswer(this, context, itemOf(contactAnswer(account, card)));
|
|
60
|
+
}));
|
|
50
61
|
contacts
|
|
51
62
|
.command("profile")
|
|
52
63
|
.description("everything the messenger says about one person — handles, flags, last seen, when they registered — and " +
|
|
@@ -58,10 +69,10 @@ export const contactsCommand = (messenger) => {
|
|
|
58
69
|
const whole = this.opts().showPhone === true;
|
|
59
70
|
const context = messengerContext(this, messenger);
|
|
60
71
|
const found = await context.withServices((services) => services.people.profile(person));
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
72
|
+
const partial = found.chats.filter(({ complete }) => !complete);
|
|
73
|
+
renderAnswer(this, context, itemOf(snakeKeys(whole ? found : maskedAccount(found)), {
|
|
74
|
+
next: partial.map((one) => nextStep("messages.sync", { args: { chat: one.id } })),
|
|
75
|
+
}));
|
|
65
76
|
});
|
|
66
77
|
contacts
|
|
67
78
|
.command("context")
|
|
@@ -88,12 +99,11 @@ export const contactsCommand = (messenger) => {
|
|
|
88
99
|
detail: context.settings.detail,
|
|
89
100
|
fetch: refresh === true,
|
|
90
101
|
}));
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
context.renderer.result(found);
|
|
102
|
+
renderAnswer(this, context, itemOf(snakeKeys(found), {
|
|
103
|
+
next: found.chats
|
|
104
|
+
.filter((one) => !one.complete)
|
|
105
|
+
.map((one) => nextStep("messages.sync", { args: { chat: one.chat.id } })),
|
|
106
|
+
}));
|
|
97
107
|
return;
|
|
98
108
|
}
|
|
99
109
|
const found = await context.withServices((services) => services.people.context(person, {
|
|
@@ -101,13 +111,15 @@ export const contactsCommand = (messenger) => {
|
|
|
101
111
|
bytes: CONTEXT_BYTES,
|
|
102
112
|
...(sinceTime === undefined ? {} : { since: momentOf(sinceTime, "--since-time") }),
|
|
103
113
|
}));
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
114
|
+
const { hasMore, ...rest } = found;
|
|
115
|
+
renderAnswer(this, context, itemOf(snakeKeys(rest), {
|
|
116
|
+
next: found.notRead
|
|
117
|
+
.filter((chat) => chat.provider === messenger.provider)
|
|
118
|
+
.map((chat) => nextStep("messages.sync", { args: { chat: chat.chatId } })),
|
|
119
|
+
...(hasMore ? { meta: { truncated: true } } : {}),
|
|
120
|
+
}));
|
|
121
|
+
if (hasMore)
|
|
109
122
|
context.renderer.note("cut at --limit; a larger one shows more");
|
|
110
|
-
context.renderer.result(found);
|
|
111
123
|
});
|
|
112
124
|
contacts
|
|
113
125
|
.command("timeline")
|
|
@@ -129,9 +141,15 @@ export const contactsCommand = (messenger) => {
|
|
|
129
141
|
...(untilTime === undefined ? {} : { until: momentOf(untilTime, "--until-time") }),
|
|
130
142
|
...(limit === undefined ? {} : { limit }),
|
|
131
143
|
}));
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
144
|
+
const { items, hasMore, limits, person: who, pending } = found;
|
|
145
|
+
renderAnswer(this, context, listOf("contacts timeline", {
|
|
146
|
+
items: items.map(snakeKeys),
|
|
147
|
+
limit: limits.items,
|
|
148
|
+
has_more: false,
|
|
149
|
+
...(hasMore || pending > 0 ? { meta: { truncated: true } } : {}),
|
|
150
|
+
}));
|
|
151
|
+
if (hasMore)
|
|
152
|
+
context.renderer.note(`${who.name ?? who.uid}: cut at --limit; a larger one or a narrower time range shows more`);
|
|
135
153
|
});
|
|
136
154
|
contacts
|
|
137
155
|
.command("check")
|
|
@@ -158,7 +176,7 @@ export const contactsCommand = (messenger) => {
|
|
|
158
176
|
if (checked.unknown.length > 0)
|
|
159
177
|
context.renderer.note(`not judged, nothing to judge by: ${checked.unknown.join(", ")}`);
|
|
160
178
|
const { notes: _, ...answer } = checked;
|
|
161
|
-
context
|
|
179
|
+
renderAnswer(this, context, itemOf(snakeKeys(answer)));
|
|
162
180
|
});
|
|
163
181
|
contacts
|
|
164
182
|
.command("link")
|
|
@@ -168,7 +186,7 @@ export const contactsCommand = (messenger) => {
|
|
|
168
186
|
.action(async function (person, other) {
|
|
169
187
|
const context = messengerContext(this, messenger);
|
|
170
188
|
const linked = await context.withServices((services) => services.people.link(person, other));
|
|
171
|
-
context
|
|
189
|
+
renderAnswer(this, context, itemOf(snakeKeys(linked)));
|
|
172
190
|
context.renderer.success(`${linked.identities.length} identities are now one person`);
|
|
173
191
|
});
|
|
174
192
|
contacts
|
|
@@ -177,7 +195,7 @@ export const contactsCommand = (messenger) => {
|
|
|
177
195
|
.argument("<person>", "their id, @username, or part of their name; <messenger>:<person> for another messenger")
|
|
178
196
|
.action(async function (person) {
|
|
179
197
|
const context = messengerContext(this, messenger);
|
|
180
|
-
context
|
|
198
|
+
renderAnswer(this, context, itemOf(snakeKeys(await context.withServices((services) => services.people.unlink(person)))));
|
|
181
199
|
});
|
|
182
200
|
/**
|
|
183
201
|
* ⚠ **The number is asked for or piped, never an argument**: argv is read by `ps` and kept by shell
|
|
@@ -194,7 +212,7 @@ export const contactsCommand = (messenger) => {
|
|
|
194
212
|
}
|
|
195
213
|
const context = messengerContext(this, messenger);
|
|
196
214
|
const phone = phoneOf(await readSecret("phone number: ", { input: context.stdin, echo: true }));
|
|
197
|
-
context
|
|
215
|
+
renderAnswer(this, context, itemOf(snakeKeys(await context.withServices((services) => services.people.lookup(phone)))));
|
|
198
216
|
});
|
|
199
217
|
contacts
|
|
200
218
|
.command("sync")
|
|
@@ -202,7 +220,7 @@ export const contactsCommand = (messenger) => {
|
|
|
202
220
|
.action(async function () {
|
|
203
221
|
const context = messengerContext(this, messenger);
|
|
204
222
|
const summary = await context.withServices((services) => services.people.sync());
|
|
205
|
-
context
|
|
223
|
+
renderAnswer(this, context, itemOf(summary));
|
|
206
224
|
context.renderer.success(`${summary.added} new, ${summary.changed} changed, ${summary.known} people known`);
|
|
207
225
|
});
|
|
208
226
|
for (const command of privatePeopleCommands(messenger))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/contacts-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contacts-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/contacts-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare const MODEL_OPTION: readonly ["--model <id>", "which downloaded s
|
|
|
8
8
|
* supplied. It is released before local recognition. `undefined` when there is no voice message, and then no file is opened.
|
|
9
9
|
*/
|
|
10
10
|
export declare const hearForCommand: (context: MessengerContext, messenger: Messenger, messages: readonly Message[], transcribe: boolean, model?: string, connect?: ReadConnection) => Promise<Hearing | undefined>;
|
|
11
|
-
export { heard as heardItems } from "../../speech/hearing.js";
|
|
11
|
+
export { heard as heardItems, hearingMissing } from "../../speech/hearing.js";
|
|
12
12
|
/** The messages as a person reads them: the transcript under the text. */
|
|
13
13
|
export declare const spokenItems: <T extends Message>(messages: readonly T[], hearing: Hearing | undefined) => T[];
|
|
14
14
|
/** What the envelope adds when `--transcribe` was asked for. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hearing-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/hearing-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,KAAK,OAAO,EAAyD,MAAM,yBAAyB,CAAA;AAE7G,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE/E,eAAO,MAAM,iBAAiB,YAC5B,cAAc,EACd,8GAA8G,CACtG,CAAA;AAEV,eAAO,MAAM,YAAY,YACvB,cAAc,EACd,6FAA6F,CACrF,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,cAAc,YAChB,gBAAgB,aACd,SAAS,YACV,SAAS,OAAO,EAAE,cAChB,OAAO,UACX,MAAM,YACJ,cAAc,KACvB,OAAO,CAAC,OAAO,GAAG,SAAS,CA4B7B,CAAA;AAED,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"hearing-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/hearing-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,KAAK,OAAO,EAAyD,MAAM,yBAAyB,CAAA;AAE7G,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE/E,eAAO,MAAM,iBAAiB,YAC5B,cAAc,EACd,8GAA8G,CACtG,CAAA;AAEV,eAAO,MAAM,YAAY,YACvB,cAAc,EACd,6FAA6F,CACrF,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,cAAc,YAChB,gBAAgB,aACd,SAAS,YACV,SAAS,OAAO,EAAE,cAChB,OAAO,UACX,MAAM,YACJ,cAAc,KACvB,OAAO,CAAC,OAAO,GAAG,SAAS,CA4B7B,CAAA;AAED,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7E,0EAA0E;AAC1E,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,OAAO,YAAY,SAAS,CAAC,EAAE,WAAW,OAAO,GAAG,SAAS,KAAG,CAAC,EACH,CAAA;AAEpG,gEAAgE;AAChE,eAAO,MAAM,aAAa,YAAa,OAAO,GAAG,SAAS,cAAc,OAAO,OAMvE,CAAA"}
|
|
@@ -40,7 +40,7 @@ export const hearForCommand = async (context, messenger, messages, transcribe, m
|
|
|
40
40
|
await kept.close();
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
|
-
export { heard as heardItems } from "../../speech/hearing.js";
|
|
43
|
+
export { heard as heardItems, hearingMissing } from "../../speech/hearing.js";
|
|
44
44
|
/** The messages as a person reads them: the transcript under the text. */
|
|
45
45
|
export const spokenItems = (messages, hearing) => hearing ? messages.map((message) => spoken(withTranscript(message, hearing))) : [...messages];
|
|
46
46
|
/** What the envelope adds when `--transcribe` was asked for. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hearing-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/hearing-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,cAAc;IACd,8GAA8G;CACtG,CAAA;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,cAAc;IACd,6FAA6F;CACrF,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAAyB,EACzB,SAAoB,EACpB,QAA4B,EAC5B,UAAmB,EACnB,KAAc,EACd,OAAwB,EACM,EAAE;IAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAA;IACxC,IAAI,UAAU,IAAI,OAAO;QAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;IAC/G,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACpE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAC9B,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,UAAU,IAAI,CAAC,OAAO;YACpB,CAAC,CAAC;gBACE,MAAM,EAAE;oBACN,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC;oBACzF,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D;gBACD,OAAO,EAAE,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC5D;YACH,CAAC,CAAC,SAAS,CACd,CAAA;QACD,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;aAC1F,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,mDAAmD,CAAC,CAAA;QACrG,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;AACH,CAAC,CAAA;AAED,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"hearing-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/hearing-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ListWindow } from "../../services/messages.js";
|
|
2
|
+
import { type QueryWords } from "./list-query.js";
|
|
3
|
+
/** What a chat's history can be read by: where it starts, and one topic. */
|
|
4
|
+
export declare const HISTORY_QUERY: import("@wirecat/cli-base/query").QueryRegistry;
|
|
5
|
+
declare const COMMENTS_QUERY: import("@wirecat/cli-base/query").QueryRegistry;
|
|
6
|
+
export { COMMENTS_QUERY };
|
|
7
|
+
type Start = Pick<ListWindow, "before" | "beforeTime" | "after">;
|
|
8
|
+
/**
|
|
9
|
+
* Where the last page stopped and which way it read: `before:<id>` goes on back, `after:<id>` forward. Ids are
|
|
10
|
+
* opaque, so only the first colon splits it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const cursorOf: (start: Start, edge: {
|
|
13
|
+
first?: string;
|
|
14
|
+
last?: string;
|
|
15
|
+
}) => string | undefined;
|
|
16
|
+
/** A list reads one way from one place: the query or the cursor names at most one starting point. */
|
|
17
|
+
export declare const historyWindow: (words: QueryWords, cursor: string | undefined, command: string, registry?: import("@wirecat/cli-base/query").QueryRegistry) => Omit<ListWindow, "limit">;
|
|
18
|
+
//# sourceMappingURL=history-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-query.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/history-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAe,KAAK,UAAU,EAAiB,MAAM,iBAAiB,CAAA;AAE7E,4EAA4E;AAC5E,eAAO,MAAM,aAAa,iDAQxB,CAAA;AAEF,QAAA,MAAM,cAAc,iDAIlB,CAAA;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,KAAK,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAW,KAAK,QAAQ;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,MAAM,GAAG,SAIzF,CAAA;AAkCD,qGAAqG;AACrG,eAAO,MAAM,aAAa,UACjB,UAAU,UACT,MAAM,GAAG,SAAS,WACjB,MAAM,iEAEd,IAAI,CAAC,UAAU,EAAE,OAAO,CAQ1B,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { dateEndpoint, defineQuery, queryError, timezoneOf } from "@wirecat/cli-base/query";
|
|
3
|
+
import { nativeField, requiredTerms } from "./list-query.js";
|
|
4
|
+
/** What a chat's history can be read by: where it starts, and one topic. */
|
|
5
|
+
export const HISTORY_QUERY = defineQuery({
|
|
6
|
+
entity: "message",
|
|
7
|
+
backend: "native",
|
|
8
|
+
fields: [
|
|
9
|
+
nativeField({ name: "id", type: "kw", operators: ["range"], example: "id<42" }),
|
|
10
|
+
nativeField({ name: "date", type: "time", operators: ["range"], example: "date>2026-10-01" }),
|
|
11
|
+
nativeField({ name: "topic", type: "kw", operators: ["term"], example: "topic:12" }),
|
|
12
|
+
],
|
|
13
|
+
});
|
|
14
|
+
const COMMENTS_QUERY = defineQuery({
|
|
15
|
+
entity: "message",
|
|
16
|
+
backend: "native",
|
|
17
|
+
fields: [nativeField({ name: "id", type: "kw", operators: ["range"], example: "id<42" })],
|
|
18
|
+
});
|
|
19
|
+
export { COMMENTS_QUERY };
|
|
20
|
+
/**
|
|
21
|
+
* Where the last page stopped and which way it read: `before:<id>` goes on back, `after:<id>` forward. Ids are
|
|
22
|
+
* opaque, so only the first colon splits it.
|
|
23
|
+
*/
|
|
24
|
+
export const cursorOf = (start, edge) => {
|
|
25
|
+
const forward = start.after !== undefined;
|
|
26
|
+
const id = forward ? edge.last : edge.first;
|
|
27
|
+
return id === undefined ? undefined : `${forward ? "after" : "before"}:${id}`;
|
|
28
|
+
};
|
|
29
|
+
const isId = (value) => value !== "" && !/[\s\p{Cc}]/u.test(value);
|
|
30
|
+
const fromCursor = (cursor) => {
|
|
31
|
+
const at = cursor.indexOf(":");
|
|
32
|
+
const [way, id] = at < 0 ? [cursor, ""] : [cursor.slice(0, at), cursor.slice(at + 1)];
|
|
33
|
+
if (!isId(id) || (way !== "before" && way !== "after"))
|
|
34
|
+
throw new CliError("validation_error", `--cursor takes what page.next gave, before:<id> or after:<id> — not "${cursor}"`);
|
|
35
|
+
return way === "before" ? { before: id } : { after: { id } };
|
|
36
|
+
};
|
|
37
|
+
const startOf = (term, command) => {
|
|
38
|
+
const context = { command };
|
|
39
|
+
const older = term.value === "*" && term.upper !== undefined && term.upper !== "*";
|
|
40
|
+
const newer = term.value !== "*" && (term.upper === undefined || term.upper === "*");
|
|
41
|
+
if (older === newer)
|
|
42
|
+
queryError("query.unsupported-operator", term.span, `${term.field} takes one side: ${term.field}< or ${term.field}>`, context);
|
|
43
|
+
if (term.field === "id")
|
|
44
|
+
return older ? { before: term.upper } : { after: { id: term.value } };
|
|
45
|
+
const bound = older ? term.upper : term.value;
|
|
46
|
+
const inclusive = (older ? term.upper_inclusive : term.lower_inclusive) ?? true;
|
|
47
|
+
const { time } = dateEndpoint(bound, timezoneOf(), older ? "upper" : "lower", inclusive, term.span);
|
|
48
|
+
if (time === undefined)
|
|
49
|
+
queryError("query.invalid-date", term.span, `${bound} is not a time`, context);
|
|
50
|
+
return older ? { beforeTime: time } : { after: { time } };
|
|
51
|
+
};
|
|
52
|
+
/** A list reads one way from one place: the query or the cursor names at most one starting point. */
|
|
53
|
+
export const historyWindow = (words, cursor, command, registry = HISTORY_QUERY) => {
|
|
54
|
+
const terms = requiredTerms(words, registry, { command });
|
|
55
|
+
const starts = terms.filter((term) => term.field !== "topic").map((term) => startOf(term, command));
|
|
56
|
+
if (cursor !== undefined)
|
|
57
|
+
starts.push(fromCursor(cursor));
|
|
58
|
+
if (starts.length > 1)
|
|
59
|
+
throw new CliError("validation_error", "the query and --cursor name two starting points; give one of them");
|
|
60
|
+
const topic = terms.find((term) => term.field === "topic")?.value;
|
|
61
|
+
return { ...starts[0], ...(topic === undefined ? {} : { threadId: topic }) };
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=history-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-query.js","sourceRoot":"","sources":["../../../src/cli/messenger/history-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FieldSpec, type Predicate, type QueryContext, type QueryRegistry } from "@wirecat/cli-base/query";
|
|
2
|
+
/** A list's `[query...]` as typed: words after its arguments, or one string from MCP. */
|
|
3
|
+
export type QueryWords = readonly string[] | string | undefined;
|
|
4
|
+
export declare const queryText: (words: QueryWords) => string;
|
|
5
|
+
/**
|
|
6
|
+
* The terms of a query the provider answers. The provider takes them all together and nothing else, so a term
|
|
7
|
+
* under OR or NOT is refused before any request rather than filtered here.
|
|
8
|
+
*/
|
|
9
|
+
export declare const requiredTerms: (words: QueryWords, registry: QueryRegistry, context: QueryContext) => Predicate[];
|
|
10
|
+
/** Field names follow the search language, so a list and `search messages` read the same. */
|
|
11
|
+
export declare const nativeField: (field: Omit<FieldSpec, "native">) => FieldSpec;
|
|
12
|
+
export declare const queryHelp: (registry: QueryRegistry) => string;
|
|
13
|
+
//# sourceMappingURL=list-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-query.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/list-query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,SAAS,EAEd,KAAK,YAAY,EACjB,KAAK,aAAa,EAGnB,MAAM,yBAAyB,CAAA;AAEhC,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAA;AAE/D,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,MACwB,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAW,UAAU,YAAY,aAAa,WAAW,YAAY,KAAG,SAAS,EAe1G,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,WAAW,UAAW,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAG,SAAyC,CAAA;AAExG,eAAO,MAAM,SAAS,aAAc,aAAa,KAAG,MAAqC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { fieldsHelp, parseLucene, queryError, validateQuery, } from "@wirecat/cli-base/query";
|
|
2
|
+
export const queryText = (words) => (typeof words === "string" ? words : (words ?? []).join(" ")).trim();
|
|
3
|
+
/**
|
|
4
|
+
* The terms of a query the provider answers. The provider takes them all together and nothing else, so a term
|
|
5
|
+
* under OR or NOT is refused before any request rather than filtered here.
|
|
6
|
+
*/
|
|
7
|
+
export const requiredTerms = (words, registry, context) => {
|
|
8
|
+
const text = queryText(words);
|
|
9
|
+
if (text === "")
|
|
10
|
+
return [];
|
|
11
|
+
const { root } = validateQuery(parseLucene(text, { defaultField: "none", ...context }), registry, context);
|
|
12
|
+
if (root.kind === "predicate")
|
|
13
|
+
return [root];
|
|
14
|
+
return root.clauses.map(({ occur, node }) => {
|
|
15
|
+
if (occur !== "must" || node.kind !== "predicate")
|
|
16
|
+
queryError("query.unsupported-placement", node.span, "this list takes terms that must all hold — no OR, NOT or groups", context);
|
|
17
|
+
return node;
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
/** Field names follow the search language, so a list and `search messages` read the same. */
|
|
21
|
+
export const nativeField = (field) => ({ ...field, native: true });
|
|
22
|
+
export const queryHelp = (registry) => `\n${fieldsHelp(registry)}`;
|
|
23
|
+
//# sourceMappingURL=list-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-query.js","sourceRoot":"","sources":["../../../src/cli/messenger/list-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,WAAW,EAGX,UAAU,EACV,aAAa,GACd,MAAM,yBAAyB,CAAA;AAKhC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAU,EAAE,CACrD,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAEtE;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,QAAuB,EAAE,OAAqB,EAAe,EAAE;IAC9G,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1G,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1C,IAAI,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAC/C,UAAU,CACR,6BAA6B,EAC7B,IAAI,CAAC,IAAI,EACT,iEAAiE,EACjE,OAAO,CACR,CAAA;QACH,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgC,EAAa,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAuB,EAAU,EAAE,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type * as v from "valibot";
|
|
2
|
+
import type { Message, MessageHit } from "../../domain/models.js";
|
|
3
|
+
import type { message as messageSchema } from "../../entities/message.js";
|
|
4
|
+
import type { AccountKey } from "../../store/store.js";
|
|
5
|
+
import type { Messenger, MessengerContext } from "./context.js";
|
|
6
|
+
import type { MessengerAdapter } from "./port.js";
|
|
7
|
+
export type MessageItem = v.InferOutput<typeof messageSchema>;
|
|
8
|
+
/** What a read hands over: a message, sometimes found by a search, heard, or the anchor of a window. */
|
|
9
|
+
export type ReadMessage = Message & Partial<Pick<MessageHit, "chatTitle" | "email" | "excerpt">> & {
|
|
10
|
+
locator?: string;
|
|
11
|
+
transcript?: string;
|
|
12
|
+
anchor?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* A message as every command answers it. The ref is the message's locator: the one a store hit carries, else
|
|
16
|
+
* built from the account that read it. What only the adapter needs (`providerRef`) stays behind.
|
|
17
|
+
*/
|
|
18
|
+
export declare const messageItem: (message: ReadMessage, reader: AccountKey) => MessageItem;
|
|
19
|
+
export declare const messageItems: (messages: readonly ReadMessage[], account: AccountKey) => MessageItem[];
|
|
20
|
+
/** The account a connection reads as, which names each message's locator. */
|
|
21
|
+
export declare const selfOf: (messenger: Pick<Messenger, "provider">, adapter: MessengerAdapter) => AccountKey;
|
|
22
|
+
/** How a person sees messages in this profile's terminal. */
|
|
23
|
+
export declare const viewOf: (context: MessengerContext, messenger: Messenger) => {
|
|
24
|
+
color: boolean;
|
|
25
|
+
verbosity: 0 | 1 | 2;
|
|
26
|
+
senderColors: boolean;
|
|
27
|
+
profile: string;
|
|
28
|
+
provider: string;
|
|
29
|
+
locale: string | undefined;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=message-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-items.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/message-items.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AAEjC,OAAO,KAAK,EAA0B,OAAO,EAAE,UAAU,EAAiB,MAAM,wBAAwB,CAAA;AACxG,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAA;AAE7D,wGAAwG;AACxG,MAAM,MAAM,WAAW,GAAG,OAAO,GAC/B,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAkCH;;;GAGG;AACH,eAAO,MAAM,WAAW,YAAa,WAAW,UAAU,UAAU,KAAG,WA8CtE,CAAA;AAED,eAAO,MAAM,YAAY,aAAc,SAAS,WAAW,EAAE,WAAW,UAAU,KAAG,WAAW,EACtC,CAAA;AAE1D,6EAA6E;AAC7E,eAAO,MAAM,MAAM,cAAe,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,gBAAgB,KAAG,UAI1F,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,MAAM,YAAa,gBAAgB,aAAa,SAAS;IACpE,KAAK;IACL,SAAS;IACT,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,MAAM;CACN,CAAA"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { formatLocator, parseLocator } from "../../domain/locator.js";
|
|
3
|
+
const defined = (value) => Object.fromEntries(Object.entries(value).filter(([, one]) => one !== undefined));
|
|
4
|
+
const attachmentItem = (attachment) => defined({
|
|
5
|
+
kind: attachment.kind,
|
|
6
|
+
url: attachment.url,
|
|
7
|
+
name: attachment.name,
|
|
8
|
+
title: attachment.title,
|
|
9
|
+
mime: attachment.mime,
|
|
10
|
+
size: attachment.size,
|
|
11
|
+
width: attachment.width,
|
|
12
|
+
height: attachment.height,
|
|
13
|
+
duration: attachment.duration,
|
|
14
|
+
buttons: attachment.buttons,
|
|
15
|
+
});
|
|
16
|
+
const quotedItem = (quoted) => quoted === null
|
|
17
|
+
? null
|
|
18
|
+
: {
|
|
19
|
+
id: quoted.id,
|
|
20
|
+
sender_id: quoted.senderId,
|
|
21
|
+
sender_name: quoted.senderName,
|
|
22
|
+
timestamp: quoted.timestamp,
|
|
23
|
+
text: quoted.text,
|
|
24
|
+
attachments: quoted.attachments.map(attachmentItem),
|
|
25
|
+
outgoing: quoted.outgoing,
|
|
26
|
+
};
|
|
27
|
+
const mailPerson = ({ name, address, ref }) => ({ name, address, ref });
|
|
28
|
+
/**
|
|
29
|
+
* A message as every command answers it. The ref is the message's locator: the one a store hit carries, else
|
|
30
|
+
* built from the account that read it. What only the adapter needs (`providerRef`) stays behind.
|
|
31
|
+
*/
|
|
32
|
+
export const messageItem = (message, reader) => {
|
|
33
|
+
const { provider, account } = message.locator === undefined ? reader : parseLocator(message.locator);
|
|
34
|
+
return defined({
|
|
35
|
+
ref: message.locator ?? formatLocator({ provider, account, chat: message.chatId, message: message.id }),
|
|
36
|
+
id: message.id,
|
|
37
|
+
provider,
|
|
38
|
+
account,
|
|
39
|
+
chat_id: message.chatId,
|
|
40
|
+
chat_title: message.chatTitle,
|
|
41
|
+
sender_id: message.senderId,
|
|
42
|
+
sender_name: message.senderName,
|
|
43
|
+
sender_username: message.senderUsername,
|
|
44
|
+
sender_is_chat: message.senderIsChat,
|
|
45
|
+
mentions: message.mentions,
|
|
46
|
+
timestamp: message.timestamp,
|
|
47
|
+
edited_at: message.editedAt,
|
|
48
|
+
text: message.text,
|
|
49
|
+
transcript: message.transcript,
|
|
50
|
+
anchor: message.anchor === true ? true : undefined,
|
|
51
|
+
excerpt: message.excerpt,
|
|
52
|
+
outgoing: message.outgoing,
|
|
53
|
+
attachments: message.attachments.map(attachmentItem),
|
|
54
|
+
reply_to: quotedItem(message.replyTo),
|
|
55
|
+
reply_to_id: message.replyToId,
|
|
56
|
+
forwarded_from: quotedItem(message.forwardedFrom),
|
|
57
|
+
thread_id: message.threadId,
|
|
58
|
+
thread_root_id: message.threadRootId,
|
|
59
|
+
reactions: message.reactions,
|
|
60
|
+
scheduled_for: message.scheduledFor,
|
|
61
|
+
email: message.email === undefined
|
|
62
|
+
? undefined
|
|
63
|
+
: {
|
|
64
|
+
subject: message.email.subject,
|
|
65
|
+
from: message.email.from === null ? null : mailPerson(message.email.from),
|
|
66
|
+
to: message.email.to.map(mailPerson),
|
|
67
|
+
cc: message.email.cc.map(mailPerson),
|
|
68
|
+
bcc: message.email.bcc.map(mailPerson),
|
|
69
|
+
reply_addresses: message.email.replyTo.map(mailPerson),
|
|
70
|
+
labels: message.email.labels,
|
|
71
|
+
thread: message.email.thread,
|
|
72
|
+
read: message.email.read,
|
|
73
|
+
flagged: message.email.flagged,
|
|
74
|
+
},
|
|
75
|
+
provider_metadata: message.providerMetadata,
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
export const messageItems = (messages, account) => messages.map((message) => messageItem(message, account));
|
|
79
|
+
/** The account a connection reads as, which names each message's locator. */
|
|
80
|
+
export const selfOf = (messenger, adapter) => {
|
|
81
|
+
const self = adapter.self();
|
|
82
|
+
if (self === null)
|
|
83
|
+
throw new CliError("authentication_error", "the connection does not know whose account it is");
|
|
84
|
+
return { provider: messenger.provider, account: self };
|
|
85
|
+
};
|
|
86
|
+
/** How a person sees messages in this profile's terminal. */
|
|
87
|
+
export const viewOf = (context, messenger) => ({
|
|
88
|
+
color: context.color,
|
|
89
|
+
verbosity: context.settings.detail,
|
|
90
|
+
senderColors: context.settings.senderColors,
|
|
91
|
+
profile: context.profile,
|
|
92
|
+
provider: messenger.provider,
|
|
93
|
+
locale: messenger.app.locale,
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=message-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-items.js","sourceRoot":"","sources":["../../../src/cli/messenger/message-items.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"messages-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/messages-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,cAAc,CAAA;AA2BtF,6FAA6F;AAC7F,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OA4KtD,CAAA;AA4BD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA"}
|