@leemour/cli-messaging 0.98.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/cli/bot/command.d.ts.map +1 -1
- package/dist/cli/bot/command.js +8 -2
- package/dist/cli/bot/command.js.map +1 -1
- package/dist/cli/bot/port.d.ts +95 -2
- package/dist/cli/bot/port.d.ts.map +1 -1
- package/dist/cli/bot/registry.d.ts +2 -0
- package/dist/cli/bot/registry.d.ts.map +1 -1
- package/dist/cli/bot/registry.js +2 -0
- package/dist/cli/bot/registry.js.map +1 -1
- package/dist/cli/bot/setup.d.ts +9 -0
- package/dist/cli/bot/setup.d.ts.map +1 -0
- package/dist/cli/bot/setup.js +155 -0
- package/dist/cli/bot/setup.js.map +1 -0
- package/dist/cli/bot/updates.d.ts +23 -0
- package/dist/cli/bot/updates.d.ts.map +1 -0
- package/dist/cli/bot/updates.js +61 -0
- package/dist/cli/bot/updates.js.map +1 -0
- package/dist/cli/bot/watch.d.ts +9 -0
- package/dist/cli/bot/watch.d.ts.map +1 -0
- package/dist/cli/bot/watch.js +197 -0
- package/dist/cli/bot/watch.js.map +1 -0
- package/dist/cli/index.d.ts +3 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +64 -4
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/messages-command.d.ts.map +1 -1
- package/dist/cli/messenger/messages-command.js +45 -11
- package/dist/cli/messenger/messages-command.js.map +1 -1
- package/dist/cli/messenger/models-command.d.ts +1 -1
- package/dist/cli/messenger/models-command.d.ts.map +1 -1
- package/dist/cli/messenger/models-command.js +64 -3
- package/dist/cli/messenger/models-command.js.map +1 -1
- package/dist/cli/messenger/observed.d.ts.map +1 -1
- package/dist/cli/messenger/observed.js +27 -10
- package/dist/cli/messenger/observed.js.map +1 -1
- package/dist/cli/messenger/port.d.ts +15 -9
- package/dist/cli/messenger/port.d.ts.map +1 -1
- package/dist/cli/messenger/port.js.map +1 -1
- package/dist/cli/messenger/store-maintenance-command.js +20 -4
- package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
- package/dist/cli/messenger/stored.d.ts.map +1 -1
- package/dist/cli/messenger/stored.js +41 -29
- package/dist/cli/messenger/stored.js.map +1 -1
- package/dist/conversations/chunks.d.ts +28 -0
- package/dist/conversations/chunks.d.ts.map +1 -0
- package/dist/conversations/chunks.js +45 -0
- package/dist/conversations/chunks.js.map +1 -0
- package/dist/conversations/link.d.ts +1 -1
- package/dist/conversations/link.d.ts.map +1 -1
- package/dist/conversations/link.js.map +1 -1
- package/dist/embeddings/embed.d.ts +22 -0
- package/dist/embeddings/embed.d.ts.map +1 -0
- package/dist/embeddings/embed.js +69 -0
- package/dist/embeddings/embed.js.map +1 -0
- package/dist/embeddings/models.d.ts +35 -0
- package/dist/embeddings/models.d.ts.map +1 -0
- package/dist/embeddings/models.js +87 -0
- package/dist/embeddings/models.js.map +1 -0
- package/dist/embeddings/pool.d.ts +15 -0
- package/dist/embeddings/pool.d.ts.map +1 -0
- package/dist/embeddings/pool.js +20 -0
- package/dist/embeddings/pool.js.map +1 -0
- package/dist/embeddings/worker.d.ts +2 -0
- package/dist/embeddings/worker.d.ts.map +1 -0
- package/dist/embeddings/worker.js +22 -0
- package/dist/embeddings/worker.js.map +1 -0
- package/dist/embeddings/workers.d.ts +8 -0
- package/dist/embeddings/workers.d.ts.map +1 -0
- package/dist/embeddings/workers.js +51 -0
- package/dist/embeddings/workers.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kit/contract.d.ts +4 -2
- package/dist/kit/contract.d.ts.map +1 -1
- package/dist/kit/contract.js +68 -27
- package/dist/kit/contract.js.map +1 -1
- package/dist/kit/fake.d.ts +2 -2
- package/dist/kit/fake.d.ts.map +1 -1
- package/dist/kit/fake.js.map +1 -1
- package/dist/mcp/resources.d.ts.map +1 -1
- package/dist/mcp/resources.js +2 -1
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/tools/messages.d.ts.map +1 -1
- package/dist/mcp/tools/messages.js +14 -4
- package/dist/mcp/tools/messages.js.map +1 -1
- package/dist/search/query.d.ts +2 -0
- package/dist/search/query.d.ts.map +1 -1
- package/dist/search/query.js +10 -7
- package/dist/search/query.js.map +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +3 -0
- package/dist/sends/permissions.js.map +1 -1
- package/dist/services/archive.d.ts.map +1 -1
- package/dist/services/archive.js +12 -3
- package/dist/services/archive.js.map +1 -1
- package/dist/services/chats.js +2 -2
- package/dist/services/chats.js.map +1 -1
- package/dist/services/conversations.d.ts.map +1 -1
- package/dist/services/conversations.js +7 -0
- package/dist/services/conversations.js.map +1 -1
- package/dist/services/embeddings.d.ts +39 -0
- package/dist/services/embeddings.d.ts.map +1 -0
- package/dist/services/embeddings.js +82 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/inbox.d.ts +2 -2
- package/dist/services/inbox.d.ts.map +1 -1
- package/dist/services/inbox.js +12 -1
- package/dist/services/inbox.js.map +1 -1
- package/dist/services/index.d.ts +6 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +4 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/messages.d.ts +42 -4
- package/dist/services/messages.d.ts.map +1 -1
- package/dist/services/messages.js +175 -15
- package/dist/services/messages.js.map +1 -1
- package/dist/services/people.d.ts.map +1 -1
- package/dist/services/people.js +4 -2
- package/dist/services/people.js.map +1 -1
- package/dist/speech/install.d.ts +8 -1
- package/dist/speech/install.d.ts.map +1 -1
- package/dist/speech/install.js +11 -4
- package/dist/speech/install.js.map +1 -1
- package/dist/store/sqlite/accounts.d.ts +1 -0
- package/dist/store/sqlite/accounts.d.ts.map +1 -1
- package/dist/store/sqlite/accounts.js +6 -1
- package/dist/store/sqlite/accounts.js.map +1 -1
- package/dist/store/sqlite/conversations.d.ts +1 -1
- package/dist/store/sqlite/conversations.d.ts.map +1 -1
- package/dist/store/sqlite/conversations.js +29 -3
- package/dist/store/sqlite/conversations.js.map +1 -1
- package/dist/store/sqlite/drizzle/bun.js +1 -1
- package/dist/store/sqlite/drizzle/core.d.ts +1 -1
- package/dist/store/sqlite/drizzle/core.d.ts.map +1 -1
- package/dist/store/sqlite/drizzle/core.js +3 -1
- package/dist/store/sqlite/drizzle/core.js.map +1 -1
- package/dist/store/sqlite/drizzle/node.js +1 -1
- package/dist/store/sqlite/drizzle/{shared-VIVPOB3Q.js → shared-WZFJ4TMA.js} +94 -93
- package/dist/store/sqlite/drizzle/{shared-VIVPOB3Q.js.map → shared-WZFJ4TMA.js.map} +3 -3
- package/dist/store/sqlite/manifest.d.ts.map +1 -1
- package/dist/store/sqlite/manifest.js +1 -0
- package/dist/store/sqlite/manifest.js.map +1 -1
- package/dist/store/sqlite/messages.d.ts +1 -1
- package/dist/store/sqlite/messages.d.ts.map +1 -1
- package/dist/store/sqlite/messages.js +8 -24
- package/dist/store/sqlite/messages.js.map +1 -1
- package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
- package/dist/store/sqlite/migrations.generated.js +8 -0
- package/dist/store/sqlite/migrations.generated.js.map +1 -1
- package/dist/store/sqlite/schema.d.ts +176 -0
- package/dist/store/sqlite/schema.d.ts.map +1 -1
- package/dist/store/sqlite/schema.js +33 -1
- package/dist/store/sqlite/schema.js.map +1 -1
- package/dist/store/sqlite/vectors.d.ts +34 -0
- package/dist/store/sqlite/vectors.d.ts.map +1 -0
- package/dist/store/sqlite/vectors.js +54 -0
- package/dist/store/sqlite/vectors.js.map +1 -0
- package/dist/store/sqlite/words.d.ts +10 -5
- package/dist/store/sqlite/words.d.ts.map +1 -1
- package/dist/store/sqlite/words.js +26 -8
- package/dist/store/sqlite/words.js.map +1 -1
- package/dist/store/store.d.ts +29 -1
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +28 -1
- package/dist/store/store.js.map +1 -1
- package/package.json +3 -1
- package/parity.json +620 -3
- package/dist/domain/capabilities.d.ts +0 -25
- package/dist/domain/capabilities.d.ts.map +0 -1
- package/dist/domain/capabilities.js +0 -2
- package/dist/domain/capabilities.js.map +0 -1
package/README.md
CHANGED
|
@@ -60,8 +60,8 @@ the next patch otherwise — and publish that. They run every check, and tag `v<
|
|
|
60
60
|
shows it. The token is never printed and never
|
|
61
61
|
written to a file.
|
|
62
62
|
|
|
63
|
-
Both also refuse within
|
|
64
|
-
consumer blocked
|
|
63
|
+
Both also refuse within 2 hours of the last version npm shows, and say when the next one may go. A
|
|
64
|
+
consumer blocked right now is the exception (below): `bin/release --blocked "<consumer and reason>"`
|
|
65
65
|
writes `Released early: <reason>` under the version's changelog heading, commits it to `main` and
|
|
66
66
|
publishes. Name the consumer and what it cannot do, in plain words — `pnpm docs:check` refuses an
|
|
67
67
|
internal id. When npm cannot be asked, they refuse rather than skip the check. The GitHub form publishes from the job in the `npm` environment, which is what
|
|
@@ -69,9 +69,9 @@ npm's trusted publisher names: `leemour` / `cli-messaging` / `release.yml` / env
|
|
|
69
69
|
|
|
70
70
|
### How often, and what may break
|
|
71
71
|
|
|
72
|
-
**At most one release
|
|
73
|
-
exception is a fix a consumer is blocked on
|
|
74
|
-
consumer and why.
|
|
72
|
+
**At most one release every 2 hours.** Changes wait under `## Unreleased` and ship together, so what
|
|
73
|
+
lands in one sitting goes out as one version. The one exception is a fix a consumer is blocked on
|
|
74
|
+
right now: it ships alone, and the changelog says which consumer and why.
|
|
75
75
|
|
|
76
76
|
**These exports are stable.** A change that breaks them waits for a **breaking release**, at most one
|
|
77
77
|
a week, whose changelog section says what to change in a consumer; tg-cli and max-cli move to it
|
|
@@ -80,7 +80,7 @@ the same day.
|
|
|
80
80
|
| Export | Stable |
|
|
81
81
|
|---|---|
|
|
82
82
|
| `.` | the domain types (`Chat`, `Message`, `Contact`, `Page`, …), the message locator |
|
|
83
|
-
| `./cli` | `Messenger`, `MessengerAdapter` and its method groups, `createProgram`, `run`, `messengerContext`, the command factories' names and arguments |
|
|
83
|
+
| `./cli` | `Messenger`, `MessengerAdapter` and its method groups (`MessengerCore` required; `ServerReads` and the rest optional), `createProgram`, `run`, `messengerContext`, the command factories' names and arguments |
|
|
84
84
|
| `./store` | `openStore`, `MessageStore`, `storePath`, and the file format: `minCompatible` rises only in a breaking release |
|
|
85
85
|
| `./sends` | `sendGuard`, `SendJournal`, the journal's line format |
|
|
86
86
|
| `./services` | `servicesFor`, `Override` and the service names |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAA;AAQ7C,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAA;AAQ7C,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AA0N1E;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAS,YAAY,KAAG,OAgB9C,CAAA"}
|
package/dist/cli/bot/command.js
CHANGED
|
@@ -10,7 +10,9 @@ import { botContext, online } from "./context.js";
|
|
|
10
10
|
import { botCan, botIdOf, botMessagesCommand } from "./messages.js";
|
|
11
11
|
import { BOT_ACTIONS } from "./port.js";
|
|
12
12
|
import { registryProfiles } from "./registry.js";
|
|
13
|
+
import { botCallbacksCommand, botMenuCommand, botWebhooksCommand } from "./setup.js";
|
|
13
14
|
import { BotTokenStore } from "./token.js";
|
|
15
|
+
import { botWatchCommand } from "./watch.js";
|
|
14
16
|
const authCommand = (bot, tokenVariable) => {
|
|
15
17
|
const auth = new Command("auth").description("the bot token this profile uses");
|
|
16
18
|
annotate(auth.command("set"), { mutates: true, local: true })
|
|
@@ -63,7 +65,7 @@ const authCommand = (bot, tokenVariable) => {
|
|
|
63
65
|
};
|
|
64
66
|
const listCommand = (bot, tokenVariable) => new Command("list")
|
|
65
67
|
.description(`every name on this machine that has a bot token; --check asks ${bot.name ?? "the messenger"} which bot each is`)
|
|
66
|
-
.option("--check",
|
|
68
|
+
.option("--check", "ask the messenger who each bot is, with its token")
|
|
67
69
|
.action(async function () {
|
|
68
70
|
const context = botContext(this, bot);
|
|
69
71
|
const check = this.opts().check === true;
|
|
@@ -207,6 +209,10 @@ export const botCommand = (bot) => {
|
|
|
207
209
|
.addCommand(chatsCommand(bot))
|
|
208
210
|
.addCommand(botMessagesCommand(bot))
|
|
209
211
|
.addCommand(recipientsCommand(bot))
|
|
210
|
-
.addCommand(sendsCommand(bot))
|
|
212
|
+
.addCommand(sendsCommand(bot))
|
|
213
|
+
.addCommand(botWatchCommand(bot))
|
|
214
|
+
.addCommand(botCallbacksCommand(bot))
|
|
215
|
+
.addCommand(botMenuCommand(bot))
|
|
216
|
+
.addCommand(botWebhooksCommand(bot));
|
|
211
217
|
};
|
|
212
218
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/bot/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/cli/bot/command.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/bot/port.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
2
|
import type { Markup } from "../../domain/markdown.js";
|
|
3
|
-
import type { AdminRight, Chat, Id, Member, Message, Provider } from "../../domain/models.js";
|
|
3
|
+
import type { AdminRight, Chat, Id, Member, Message, MessageEvent, Provider } from "../../domain/models.js";
|
|
4
4
|
import type { Upload } from "../../sends/upload.js";
|
|
5
5
|
import type { PersonFacts } from "../../store/index.js";
|
|
6
6
|
import type { AppIdentity } from "../app.js";
|
|
@@ -82,11 +82,97 @@ export interface BotChatMembers {
|
|
|
82
82
|
block: boolean;
|
|
83
83
|
}): Promise<void>;
|
|
84
84
|
}
|
|
85
|
+
/** One command in the menu people see when they type `/`. */
|
|
86
|
+
export interface BotMenuEntry {
|
|
87
|
+
/** Without the `/`. */
|
|
88
|
+
name: string;
|
|
89
|
+
description: string | null;
|
|
90
|
+
}
|
|
91
|
+
/** The bot's command menu. */
|
|
92
|
+
export interface BotMenu {
|
|
93
|
+
menu(): Promise<BotMenuEntry[]>;
|
|
94
|
+
/** Replaces the whole menu; an empty list clears it. */
|
|
95
|
+
setMenu(entries: BotMenuEntry[]): Promise<void>;
|
|
96
|
+
}
|
|
97
|
+
/** Where a pressed button was, as `bot watch` kept it. */
|
|
98
|
+
export interface BotPress {
|
|
99
|
+
chatId: Id;
|
|
100
|
+
messageId: Id;
|
|
101
|
+
}
|
|
102
|
+
/** Answering a button someone pressed under the bot's message. */
|
|
103
|
+
export interface BotCallbacks {
|
|
104
|
+
/**
|
|
105
|
+
* `notification` is shown to the person who pressed; `text` replaces the message the button was
|
|
106
|
+
* on. `press` is where that was, when `bot watch` kept it — a messenger that cannot find the
|
|
107
|
+
* message from the callback id alone needs it for `text`.
|
|
108
|
+
*/
|
|
109
|
+
answer(callbackId: string, answer: {
|
|
110
|
+
notification?: string;
|
|
111
|
+
text?: string;
|
|
112
|
+
press?: BotPress;
|
|
113
|
+
}): Promise<void>;
|
|
114
|
+
}
|
|
115
|
+
/** An address the messenger pushes this bot's updates to. */
|
|
116
|
+
export interface BotWebhook {
|
|
117
|
+
url: string;
|
|
118
|
+
/** The update types it gets, in the messenger's words; `null` is all of them. */
|
|
119
|
+
types: string[] | null;
|
|
120
|
+
}
|
|
121
|
+
/** While a webhook is set, the messenger gives polling nothing. */
|
|
122
|
+
export interface BotWebhooks {
|
|
123
|
+
webhooks(): Promise<BotWebhook[]>;
|
|
124
|
+
setWebhook(url: string, options: {
|
|
125
|
+
types?: string[];
|
|
126
|
+
secret?: string;
|
|
127
|
+
}): Promise<void>;
|
|
128
|
+
deleteWebhook(url: string): Promise<void>;
|
|
129
|
+
}
|
|
130
|
+
/** What happened in the bot's chats besides messages: a button, people coming and going, a start. */
|
|
131
|
+
export type BotNotice = {
|
|
132
|
+
event: "callback";
|
|
133
|
+
callbackId: string;
|
|
134
|
+
chatId: Id | null;
|
|
135
|
+
messageId: Id | null;
|
|
136
|
+
from: Member | null;
|
|
137
|
+
data: string;
|
|
138
|
+
}
|
|
139
|
+
/** `at` is when it happened, ISO 8601, where the messenger says — `watch` may print it long after. */
|
|
140
|
+
| {
|
|
141
|
+
event: "joined" | "left" | "added" | "removed";
|
|
142
|
+
chatId: Id;
|
|
143
|
+
person: Member | null;
|
|
144
|
+
at?: string;
|
|
145
|
+
} | {
|
|
146
|
+
event: "started";
|
|
147
|
+
chatId: Id | null;
|
|
148
|
+
person: Member | null;
|
|
149
|
+
}
|
|
150
|
+
/** An update this adapter does not decode, under the messenger's own type name. */
|
|
151
|
+
| {
|
|
152
|
+
event: "other";
|
|
153
|
+
type: string;
|
|
154
|
+
chatId: Id | null;
|
|
155
|
+
};
|
|
156
|
+
/** One update as `bot watch` prints it. */
|
|
157
|
+
export type BotEvent = MessageEvent | BotNotice;
|
|
158
|
+
export interface BotUpdatesPage {
|
|
159
|
+
events: BotEvent[];
|
|
160
|
+
/** Where the next call starts; the same as given when nothing came. Opaque to the caller. */
|
|
161
|
+
cursor: string | undefined;
|
|
162
|
+
}
|
|
163
|
+
/** Taking the bot's updates by polling. A call waits up to `waitSeconds` for the first one. */
|
|
164
|
+
export interface BotUpdates {
|
|
165
|
+
updates(cursor: string | undefined, options: {
|
|
166
|
+
types?: string[];
|
|
167
|
+
waitSeconds: number;
|
|
168
|
+
signal: AbortSignal;
|
|
169
|
+
}): Promise<BotUpdatesPage>;
|
|
170
|
+
}
|
|
85
171
|
/**
|
|
86
172
|
* The part of the personal core a bot can do, and the groups its Bot API has. A bot never gets
|
|
87
173
|
* `chats` from this type: neither Bot API lists a bot's chats.
|
|
88
174
|
*/
|
|
89
|
-
export type BotAdapter = Pick<MessengerCore, "me" | "close"> & Partial<BotMessaging> & Partial<BotHistory> & Partial<MessagePins> & Partial<BotChatTools> & Partial<BotChatAdmins> & Partial<BotChatMembers> & Partial<BotPeople>;
|
|
175
|
+
export type BotAdapter = Pick<MessengerCore, "me" | "close"> & Partial<BotMessaging> & Partial<BotHistory> & Partial<MessagePins> & Partial<BotChatTools> & Partial<BotChatAdmins> & Partial<BotChatMembers> & Partial<BotMenu> & Partial<BotCallbacks> & Partial<BotWebhooks> & Partial<BotUpdates> & Partial<BotPeople>;
|
|
90
176
|
export interface BotConnectOptions {
|
|
91
177
|
stop?: AbortSignal;
|
|
92
178
|
events?: EventSink;
|
|
@@ -100,6 +186,13 @@ export interface BotMessenger {
|
|
|
100
186
|
name?: string;
|
|
101
187
|
/** The admin rights `--can` offers; every shared one when unset. */
|
|
102
188
|
adminRights?: readonly AdminRight[];
|
|
189
|
+
/** Whether `bot webhooks set --add` keeps the other addresses; a messenger with one address has no `--add`. */
|
|
190
|
+
manyWebhooks?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Called by `bot watch` with each batch, after the copy took it and before it is printed. A throw
|
|
193
|
+
* holds the cursor, so the batch comes again — keep what it writes safe to write twice.
|
|
194
|
+
*/
|
|
195
|
+
keepUpdates?: (command: Command, profile: string, events: readonly BotEvent[]) => void;
|
|
103
196
|
/** Called with `kind: "bot"`. */
|
|
104
197
|
resolveSettings: (flags: GlobalFlags, options?: ResolveOptions) => Settings;
|
|
105
198
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/port.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export declare const botFiles: (app: AppIdentity, profile: string, env?: NodeJS.
|
|
|
11
11
|
registry: string;
|
|
12
12
|
recipients: string;
|
|
13
13
|
journal: string;
|
|
14
|
+
updates: string;
|
|
15
|
+
presses: string;
|
|
14
16
|
};
|
|
15
17
|
/**
|
|
16
18
|
* The chats this bot has seen, because neither MAX's nor Telegram's Bot API has a call that lists them.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,QAAS,WAAW,QAAO,MAAM,CAAC,UAAU,KAAiB,MACC,CAAA;AAExF,oIAAoI;AACpI,eAAO,MAAM,QAAQ,QAAS,WAAW,WAAW,MAAM,QAAO,MAAM,CAAC,UAAU;IAG9E,QAAQ;IACR,UAAU;IACV,OAAO;CAEV,CAAA;AAED;;;;;GAKG;AACH,qBAAa,YAAY;;IAGvB,YAAY,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAElF;IAED,IAAI,IAAI,QAAQ,EAAE,CAGjB;IAED,sGAAsG;IACtG,KAAK,IAAI,MAAM,GAAG,SAAS,CAG1B;IAED,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG5B;IAED,sEAAsE;IACtE,KAAK,IAAI,IAAI,CAEZ;IAED,yEAAyE;IACzE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EAAE,GAAG,GAAE,IAAiB,GAAG,IAAI,CAuBxF;CAeF;AAED,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,QAAS,WAAW,QAAO,MAAM,CAAC,UAAU,KAAiB,MAAM,EAO/F,CAAA"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,QAAS,WAAW,QAAO,MAAM,CAAC,UAAU,KAAiB,MACC,CAAA;AAExF,oIAAoI;AACpI,eAAO,MAAM,QAAQ,QAAS,WAAW,WAAW,MAAM,QAAO,MAAM,CAAC,UAAU;IAG9E,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;CAEV,CAAA;AAED;;;;;GAKG;AACH,qBAAa,YAAY;;IAGvB,YAAY,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAElF;IAED,IAAI,IAAI,QAAQ,EAAE,CAGjB;IAED,sGAAsG;IACtG,KAAK,IAAI,MAAM,GAAG,SAAS,CAG1B;IAED,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG5B;IAED,sEAAsE;IACtE,KAAK,IAAI,IAAI,CAEZ;IAED,yEAAyE;IACzE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EAAE,GAAG,GAAE,IAAiB,GAAG,IAAI,CAuBxF;CAeF;AAED,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,QAAS,WAAW,QAAO,MAAM,CAAC,UAAU,KAAiB,MAAM,EAO/F,CAAA"}
|
package/dist/cli/bot/registry.js
CHANGED
|
@@ -10,6 +10,8 @@ export const botFiles = (app, profile, env = process.env) => {
|
|
|
10
10
|
registry: join(directory, `${profile}.json`),
|
|
11
11
|
recipients: join(directory, "recipients", `${profile}.json`),
|
|
12
12
|
journal: join(directory, "sends", `${profile}.jsonl`),
|
|
13
|
+
updates: join(directory, "updates", `${profile}.json`),
|
|
14
|
+
presses: join(directory, "presses", `${profile}.json`),
|
|
13
15
|
};
|
|
14
16
|
};
|
|
15
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/cli/bot/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAS/D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAgB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAU,EAAE,CAC9F,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAExF,oIAAoI;AACpI,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAgB,EAAE,OAAe,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAE,EAAE;IAClG,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC;QAC5C,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,OAAO,CAAC;QAC5D,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/cli/bot/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAS/D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAgB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAU,EAAE,CAC9F,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAExF,oIAAoI;AACpI,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAgB,EAAE,OAAe,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAE,EAAE;IAClG,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC;QAC5C,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,OAAO,CAAC;QAC5D,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,QAAQ,CAAC;QACrD,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC;KACvD,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACd,KAAK,CAAQ;IAEtB,YAAY,GAAgB,EAAE,OAAe,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;QACjF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAA;IACnD,CAAC;IAED,IAAI;QACF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,CAAC;IAED,sGAAsG;IACtG,KAAK;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACtD,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACzB,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,sEAAsE;IACtE,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9G,CAAC;IAED,yEAAyE;IACzE,OAAO,CAAC,KAAkD,EAAE,GAAG,GAAS,IAAI,IAAI,EAAE;QAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAChE,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAClF,CAAA;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBAChB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,GAAG,KAAK;gBACR,GAAG,OAAO;gBACV,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE;gBACrC,UAAU,EAAE,EAAE;aACf,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;YAC3D,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACxE,CAAC;CACF;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAgB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAY,EAAE;IACnG,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAA;IACrC,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { BotMessenger } from "./port.js";
|
|
3
|
+
/** `bot commands`: the menu people see when they type `/`. */
|
|
4
|
+
export declare const botMenuCommand: (bot: BotMessenger) => Command;
|
|
5
|
+
/** `bot callbacks`: answers to the buttons people press under the bot's messages. */
|
|
6
|
+
export declare const botCallbacksCommand: (bot: BotMessenger) => Command;
|
|
7
|
+
/** `bot webhooks`: where the messenger pushes this bot's updates instead of being polled. */
|
|
8
|
+
export declare const botWebhooksCommand: (bot: BotMessenger) => Command;
|
|
9
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,WAAW,CAAA;AAwB3D,8DAA8D;AAC9D,eAAO,MAAM,cAAc,QAAS,YAAY,KAAG,OAsClD,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,QAAS,YAAY,KAAG,OA2CrD,CAAA;AAEH,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,QAAS,YAAY,KAAG,OA+DtD,CAAA"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { CliError } from "@leemour/cli-core";
|
|
2
|
+
import { annotate } from "@leemour/cli-core/commands";
|
|
3
|
+
import { Command } from "commander";
|
|
4
|
+
import { guardedWrite } from "../../sends/guarded.js";
|
|
5
|
+
import { newOperationId } from "../../sends/send-id.js";
|
|
6
|
+
import { renderList } from "../paging.js";
|
|
7
|
+
import { botContext, online } from "./context.js";
|
|
8
|
+
import { botCan } from "./messages.js";
|
|
9
|
+
import { botFiles } from "./registry.js";
|
|
10
|
+
import { PressLog } from "./updates.js";
|
|
11
|
+
const entryOf = (typed) => {
|
|
12
|
+
const split = typed.indexOf("=");
|
|
13
|
+
const name = (split === -1 ? typed : typed.slice(0, split)).replace(/^\//, "").trim();
|
|
14
|
+
if (!name)
|
|
15
|
+
throw new CliError("validation_error", `a command is name=description, not ${typed}`);
|
|
16
|
+
const description = split === -1 ? "" : typed.slice(split + 1).trim();
|
|
17
|
+
return { name, description: description || null };
|
|
18
|
+
};
|
|
19
|
+
const typesOf = (typed) => {
|
|
20
|
+
const types = typed
|
|
21
|
+
?.split(",")
|
|
22
|
+
.map((one) => one.trim())
|
|
23
|
+
.filter(Boolean);
|
|
24
|
+
return types && types.length > 0 ? types : undefined;
|
|
25
|
+
};
|
|
26
|
+
/** A change to the bot itself, not to a chat: guarded and journaled with no chat. */
|
|
27
|
+
const botWrite = (context, key, write) => guardedWrite(context.guard(), { operationId: newOperationId(), chatId: null, kind: "account", key }, write);
|
|
28
|
+
/** `bot commands`: the menu people see when they type `/`. */
|
|
29
|
+
export const botMenuCommand = (bot) => {
|
|
30
|
+
const command = new Command("commands").description("the bot's command menu — what people see after /");
|
|
31
|
+
command
|
|
32
|
+
.command("list")
|
|
33
|
+
.description("the commands in the menu now")
|
|
34
|
+
.action(async function () {
|
|
35
|
+
const context = online(botContext(this, bot), this);
|
|
36
|
+
await context.run(async (events) => {
|
|
37
|
+
const adapter = await context.authenticated({ events });
|
|
38
|
+
renderList(context.renderer, context.format, await botCan(adapter, "menu", bot, "read its menu")());
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
const replace = async (command, entries, key) => {
|
|
42
|
+
const context = online(botContext(command, bot), command);
|
|
43
|
+
await context.run(async (events) => {
|
|
44
|
+
const adapter = await context.authenticated({ events });
|
|
45
|
+
const set = botCan(adapter, "setMenu", bot, "change its menu");
|
|
46
|
+
await botWrite(context, key, () => set(entries));
|
|
47
|
+
renderList(context.renderer, context.format, entries);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
annotate(command.command("set"), { mutates: true })
|
|
51
|
+
.description("replace the whole menu: each command as name=description, e.g. start=Begin")
|
|
52
|
+
.argument("<commands...>", "name=description, one per command")
|
|
53
|
+
.action(async function (typed) {
|
|
54
|
+
await replace(this, typed.map(entryOf), "bot.commands.set");
|
|
55
|
+
});
|
|
56
|
+
annotate(command.command("clear"), { mutates: true })
|
|
57
|
+
.description("empty the menu")
|
|
58
|
+
.action(async function () {
|
|
59
|
+
await replace(this, [], "bot.commands.clear");
|
|
60
|
+
});
|
|
61
|
+
return command;
|
|
62
|
+
};
|
|
63
|
+
/** `bot callbacks`: answers to the buttons people press under the bot's messages. */
|
|
64
|
+
export const botCallbacksCommand = (bot) => new Command("callbacks").description("answers to the buttons people press under the bot's messages").addCommand(annotate(new Command("answer"), { mutates: true })
|
|
65
|
+
.description("answer a pressed button by its callback id: --notification shows the person a one-time note, " +
|
|
66
|
+
"--text replaces the message the button was on")
|
|
67
|
+
.argument("<callback>", "the callback id `bot watch` printed")
|
|
68
|
+
.option("--text <text>", "the message's new text")
|
|
69
|
+
.option("--notification <text>", "a note only the person who pressed sees")
|
|
70
|
+
.action(async function (callbackId) {
|
|
71
|
+
const context = online(botContext(this, bot), this);
|
|
72
|
+
const { text, notification } = this.opts();
|
|
73
|
+
if (text === undefined && notification === undefined) {
|
|
74
|
+
throw new CliError("validation_error", "an answer needs --text, --notification, or both");
|
|
75
|
+
}
|
|
76
|
+
const press = text === undefined
|
|
77
|
+
? undefined
|
|
78
|
+
: new PressLog(botFiles(bot.app, context.profile, context.env).presses).find(callbackId);
|
|
79
|
+
await context.run(async (events) => {
|
|
80
|
+
const adapter = await context.authenticated({ events });
|
|
81
|
+
const answer = botCan(adapter, "answer", bot, "answer a button");
|
|
82
|
+
const operationId = newOperationId();
|
|
83
|
+
await guardedWrite(context.guard(), {
|
|
84
|
+
operationId,
|
|
85
|
+
chatId: press?.chatId ?? null,
|
|
86
|
+
kind: "message",
|
|
87
|
+
key: "bot.callbacks.answer",
|
|
88
|
+
...(text === undefined ? {} : { length: text.length }),
|
|
89
|
+
}, () => answer(callbackId, {
|
|
90
|
+
...(text === undefined ? {} : { text }),
|
|
91
|
+
...(notification === undefined ? {} : { notification }),
|
|
92
|
+
...(press ? { press } : {}),
|
|
93
|
+
}));
|
|
94
|
+
context.renderer.result({ operationId, callbackId, answered: true });
|
|
95
|
+
});
|
|
96
|
+
}));
|
|
97
|
+
/** `bot webhooks`: where the messenger pushes this bot's updates instead of being polled. */
|
|
98
|
+
export const botWebhooksCommand = (bot) => {
|
|
99
|
+
const command = new Command("webhooks").description("where the messenger pushes this bot's updates — while one is set, `bot watch` gets nothing");
|
|
100
|
+
command
|
|
101
|
+
.command("list")
|
|
102
|
+
.description("the webhooks this bot has")
|
|
103
|
+
.action(async function () {
|
|
104
|
+
const context = online(botContext(this, bot), this);
|
|
105
|
+
await context.run(async (events) => {
|
|
106
|
+
const adapter = await context.authenticated({ events });
|
|
107
|
+
renderList(context.renderer, context.format, await botCan(adapter, "webhooks", bot, "list its webhooks")());
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
const set = annotate(command.command("set"), { mutates: true })
|
|
111
|
+
.description("send this bot's updates to an HTTPS address; refused while another is set")
|
|
112
|
+
.argument("<url>", "the HTTPS address")
|
|
113
|
+
.option("--types <types>", "only these update types, comma-separated, in the messenger's words")
|
|
114
|
+
.option("--secret-stdin", "a secret the messenger sends back with each update — asked for, or read from a pipe");
|
|
115
|
+
if (bot.manyWebhooks)
|
|
116
|
+
set.option("--add", "keep the webhooks already set and add this one beside them");
|
|
117
|
+
set.action(async function (url) {
|
|
118
|
+
const context = online(botContext(this, bot), this);
|
|
119
|
+
const options = this.opts();
|
|
120
|
+
await context.run(async (events) => {
|
|
121
|
+
const adapter = await context.authenticated({ events });
|
|
122
|
+
const list = botCan(adapter, "webhooks", bot, "list its webhooks");
|
|
123
|
+
const others = (await list()).filter((one) => one.url !== url);
|
|
124
|
+
if (others.length > 0 && !options.add) {
|
|
125
|
+
throw new CliError("confirmation_required", `this bot already sends its updates to ${others.map((one) => one.url).join(", ")} — ` +
|
|
126
|
+
`remove it first with \`${context.words} webhooks delete <url>\`` +
|
|
127
|
+
(bot.manyWebhooks ? ", or give --add to get every update at both" : ""));
|
|
128
|
+
}
|
|
129
|
+
const types = typesOf(options.types);
|
|
130
|
+
const setWebhook = botCan(adapter, "setWebhook", bot, "set a webhook");
|
|
131
|
+
// The secret is asked for only once the profile may set a webhook at all.
|
|
132
|
+
await botWrite(context, "bot.webhooks.set", async () => {
|
|
133
|
+
const secret = options.secretStdin ? (await context.readSecret("Webhook secret: ")).trim() : undefined;
|
|
134
|
+
if (options.secretStdin && !secret)
|
|
135
|
+
throw new CliError("validation_error", "no secret given");
|
|
136
|
+
await setWebhook(url, { ...(types ? { types } : {}), ...(secret ? { secret } : {}) });
|
|
137
|
+
});
|
|
138
|
+
renderList(context.renderer, context.format, await list());
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
annotate(command.command("delete"), { mutates: true })
|
|
142
|
+
.description("stop sending updates to this address; with none left, `bot watch` works again")
|
|
143
|
+
.argument("<url>", "the address")
|
|
144
|
+
.action(async function (url) {
|
|
145
|
+
const context = online(botContext(this, bot), this);
|
|
146
|
+
await context.run(async (events) => {
|
|
147
|
+
const adapter = await context.authenticated({ events });
|
|
148
|
+
const remove = botCan(adapter, "deleteWebhook", bot, "delete a webhook");
|
|
149
|
+
await botWrite(context, "bot.webhooks.delete", () => remove(url));
|
|
150
|
+
renderList(context.renderer, context.format, await botCan(adapter, "webhooks", bot, "list its webhooks")());
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
return command;
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/bot/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BotPress } from "./port.js";
|
|
2
|
+
/**
|
|
3
|
+
* Where the bot's next poll starts. State, not cache: a poll with it confirms everything before it
|
|
4
|
+
* to the messenger for every reader of this bot, so losing it prints a batch twice and never loses
|
|
5
|
+
* one. `{ "marker": … }`, the shape max-cli has always written.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UpdatesCursor {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(path: string);
|
|
10
|
+
read(): string | undefined;
|
|
11
|
+
write(marker: string): void;
|
|
12
|
+
}
|
|
13
|
+
/** The buttons `bot watch` saw pressed, so `bot callbacks answer --text` can find the message later. */
|
|
14
|
+
export declare class PressLog {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(path: string);
|
|
17
|
+
find(callbackId: string): BotPress | undefined;
|
|
18
|
+
/** The same press twice is kept once: a batch the copy refused comes again. */
|
|
19
|
+
add(presses: readonly (BotPress & {
|
|
20
|
+
callbackId: string;
|
|
21
|
+
})[], now?: Date): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=updates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/updates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC;;;;GAIG;AACH,qBAAa,aAAa;;IAGxB,YAAY,IAAI,EAAE,MAAM,EAEvB;IAED,IAAI,IAAI,MAAM,GAAG,SAAS,CAQzB;IAED,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE1B;CACF;AAUD,wGAAwG;AACxG,qBAAa,QAAQ;;IAGnB,YAAY,IAAI,EAAE,MAAM,EAEvB;IAYD,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAG7C;IAED,+EAA+E;IAC/E,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EAAE,GAAG,OAAa,GAAG,IAAI,CASnF;CACF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { writeSecurely } from "@leemour/cli-core";
|
|
3
|
+
/**
|
|
4
|
+
* Where the bot's next poll starts. State, not cache: a poll with it confirms everything before it
|
|
5
|
+
* to the messenger for every reader of this bot, so losing it prints a batch twice and never loses
|
|
6
|
+
* one. `{ "marker": … }`, the shape max-cli has always written.
|
|
7
|
+
*/
|
|
8
|
+
export class UpdatesCursor {
|
|
9
|
+
#path;
|
|
10
|
+
constructor(path) {
|
|
11
|
+
this.#path = path;
|
|
12
|
+
}
|
|
13
|
+
read() {
|
|
14
|
+
if (!existsSync(this.#path))
|
|
15
|
+
return undefined;
|
|
16
|
+
try {
|
|
17
|
+
const { marker } = JSON.parse(readFileSync(this.#path, "utf8"));
|
|
18
|
+
return typeof marker === "string" ? marker : undefined;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
write(marker) {
|
|
25
|
+
writeSecurely(this.#path, `${JSON.stringify({ marker })}\n`, 0o600);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const KEPT_PRESSES = 500;
|
|
29
|
+
const PRESS_LIFETIME_MS = 24 * 60 * 60 * 1000;
|
|
30
|
+
/** The buttons `bot watch` saw pressed, so `bot callbacks answer --text` can find the message later. */
|
|
31
|
+
export class PressLog {
|
|
32
|
+
#path;
|
|
33
|
+
constructor(path) {
|
|
34
|
+
this.#path = path;
|
|
35
|
+
}
|
|
36
|
+
#read() {
|
|
37
|
+
if (!existsSync(this.#path))
|
|
38
|
+
return [];
|
|
39
|
+
try {
|
|
40
|
+
const { presses } = JSON.parse(readFileSync(this.#path, "utf8"));
|
|
41
|
+
return Array.isArray(presses) ? presses : [];
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
find(callbackId) {
|
|
48
|
+
const found = this.#read().find((press) => press.callbackId === callbackId);
|
|
49
|
+
return found ? { chatId: found.chatId, messageId: found.messageId } : undefined;
|
|
50
|
+
}
|
|
51
|
+
/** The same press twice is kept once: a batch the copy refused comes again. */
|
|
52
|
+
add(presses, now = new Date()) {
|
|
53
|
+
if (presses.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
const fresh = this.#read().filter((press) => now.getTime() - Date.parse(press.at) < PRESS_LIFETIME_MS &&
|
|
56
|
+
!presses.some((one) => one.callbackId === press.callbackId));
|
|
57
|
+
const added = presses.map((press) => ({ ...press, at: now.toISOString() }));
|
|
58
|
+
writeSecurely(this.#path, `${JSON.stringify({ presses: [...fresh, ...added].slice(-KEPT_PRESSES) })}\n`, 0o600);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=updates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../../src/cli/bot/updates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { BotMessenger } from "./port.js";
|
|
3
|
+
/**
|
|
4
|
+
* `bot watch`: what happens in the bot's chats, as it arrives, until Ctrl-C or `--timeout` — both a
|
|
5
|
+
* normal end. Each batch is kept before it is printed, and the cursor moves only after that: an end
|
|
6
|
+
* at any moment prints a batch twice at worst, never loses one. A read: it changes nothing anyone sees.
|
|
7
|
+
*/
|
|
8
|
+
export declare const botWatchCommand: (bot: BotMessenger) => Command;
|
|
9
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/bot/watch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,KAAK,EAAY,YAAY,EAAa,MAAM,WAAW,CAAA;AAwFlE;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,YAAY,KAAG,OA0H9C,CAAA"}
|