@wirecat/max-cli 0.49.0 → 0.51.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 +9 -9
- package/dist/adapter/max-adapter.d.ts +3 -3
- package/dist/adapter/max-adapter.d.ts.map +1 -1
- package/dist/adapter/max-adapter.js +2 -2
- package/dist/adapter/max-adapter.js.map +1 -1
- package/dist/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -0
- package/dist/app.js.map +1 -1
- package/dist/bin/max.js +2 -2
- package/dist/bin/max.js.map +1 -1
- package/dist/bot/adapter.d.ts +2 -2
- package/dist/bot/adapter.d.ts.map +1 -1
- package/dist/bot/adapter.js +1 -1
- package/dist/bot/adapter.js.map +1 -1
- package/dist/bot/auth.d.ts +2 -2
- package/dist/bot/auth.d.ts.map +1 -1
- package/dist/bot/auth.js +2 -2
- package/dist/bot/auth.js.map +1 -1
- package/dist/bot/client.d.ts +2 -2
- package/dist/bot/client.d.ts.map +1 -1
- package/dist/bot/input.d.ts +1 -1
- package/dist/bot/input.d.ts.map +1 -1
- package/dist/bot/input.js +1 -1
- package/dist/bot/input.js.map +1 -1
- package/dist/bot/keep.d.ts +2 -2
- package/dist/bot/keep.d.ts.map +1 -1
- package/dist/bot/keep.js +1 -1
- package/dist/bot/keep.js.map +1 -1
- package/dist/bot/map.d.ts +2 -2
- package/dist/bot/map.d.ts.map +1 -1
- package/dist/bot/mcp-tools.d.ts +1 -1
- package/dist/bot/mcp-tools.d.ts.map +1 -1
- package/dist/bot/mcp-tools.js +1 -1
- package/dist/bot/mcp-tools.js.map +1 -1
- package/dist/bot/permissions.d.ts +1 -1
- package/dist/bot/permissions.d.ts.map +1 -1
- package/dist/bot/registry.d.ts +3 -3
- package/dist/bot/registry.d.ts.map +1 -1
- package/dist/bot/registry.js +2 -2
- package/dist/bot/registry.js.map +1 -1
- package/dist/bot/transport.d.ts +1 -1
- package/dist/bot/transport.d.ts.map +1 -1
- package/dist/bot/transport.js +12 -7
- package/dist/bot/transport.js.map +1 -1
- package/dist/bot/uploads.d.ts +1 -1
- package/dist/bot/uploads.d.ts.map +1 -1
- package/dist/bot/uploads.js +1 -1
- package/dist/bot/uploads.js.map +1 -1
- package/dist/client/account.d.ts +39 -0
- package/dist/client/account.d.ts.map +1 -0
- package/dist/client/account.js +92 -0
- package/dist/client/account.js.map +1 -0
- package/dist/client/chat-members.d.ts +27 -0
- package/dist/client/chat-members.d.ts.map +1 -0
- package/dist/client/chat-members.js +73 -0
- package/dist/client/chat-members.js.map +1 -0
- package/dist/client/chat-reads.d.ts +57 -0
- package/dist/client/chat-reads.d.ts.map +1 -0
- package/dist/client/chat-reads.js +160 -0
- package/dist/client/chat-reads.js.map +1 -0
- package/dist/client/chat-writes.d.ts +111 -0
- package/dist/client/chat-writes.d.ts.map +1 -0
- package/dist/client/chat-writes.js +240 -0
- package/dist/client/chat-writes.js.map +1 -0
- package/dist/client/contacts.d.ts +39 -0
- package/dist/client/contacts.d.ts.map +1 -0
- package/dist/client/contacts.js +93 -0
- package/dist/client/contacts.js.map +1 -0
- package/dist/client/delivery.d.ts +35 -0
- package/dist/client/delivery.d.ts.map +1 -0
- package/dist/client/delivery.js +62 -0
- package/dist/client/delivery.js.map +1 -0
- package/dist/client/folders.d.ts +20 -0
- package/dist/client/folders.d.ts.map +1 -0
- package/dist/client/folders.js +57 -0
- package/dist/client/folders.js.map +1 -0
- package/dist/client/history.d.ts +41 -0
- package/dist/client/history.d.ts.map +1 -0
- package/dist/client/history.js +111 -0
- package/dist/client/history.js.map +1 -0
- package/dist/client/live.d.ts +38 -0
- package/dist/client/live.d.ts.map +1 -0
- package/dist/client/live.js +182 -0
- package/dist/client/live.js.map +1 -0
- package/dist/client/login.d.ts +11 -0
- package/dist/client/login.d.ts.map +1 -0
- package/dist/client/login.js +8 -0
- package/dist/client/login.js.map +1 -0
- package/dist/client/message-reads.d.ts +53 -0
- package/dist/client/message-reads.d.ts.map +1 -0
- package/dist/client/message-reads.js +164 -0
- package/dist/client/message-reads.js.map +1 -0
- package/dist/client/message-writes.d.ts +84 -0
- package/dist/client/message-writes.d.ts.map +1 -0
- package/dist/client/message-writes.js +254 -0
- package/dist/client/message-writes.js.map +1 -0
- package/dist/client/people.d.ts +31 -0
- package/dist/client/people.d.ts.map +1 -0
- package/dist/client/people.js +130 -0
- package/dist/client/people.js.map +1 -0
- package/dist/client/polls.d.ts +53 -0
- package/dist/client/polls.d.ts.map +1 -0
- package/dist/client/polls.js +141 -0
- package/dist/client/polls.js.map +1 -0
- package/dist/client/read-policy.d.ts +2 -0
- package/dist/client/read-policy.d.ts.map +1 -0
- package/dist/client/read-policy.js +34 -0
- package/dist/client/read-policy.js.map +1 -0
- package/dist/client/request.d.ts +21 -0
- package/dist/client/request.d.ts.map +1 -0
- package/dist/client/request.js +69 -0
- package/dist/client/request.js.map +1 -0
- package/dist/client/session.d.ts +50 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/session.js +293 -0
- package/dist/client/session.js.map +1 -0
- package/dist/client/stickers.d.ts +12 -0
- package/dist/client/stickers.d.ts.map +1 -0
- package/dist/client/stickers.js +29 -0
- package/dist/client/stickers.js.map +1 -0
- package/dist/client/types.d.ts +54 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +2 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/upload-transport.d.ts +15 -0
- package/dist/client/upload-transport.d.ts.map +1 -0
- package/dist/client/upload-transport.js +48 -0
- package/dist/client/upload-transport.js.map +1 -0
- package/dist/client/uploads.d.ts +15 -0
- package/dist/client/uploads.d.ts.map +1 -0
- package/dist/client/uploads.js +19 -0
- package/dist/client/uploads.js.map +1 -0
- package/dist/client/values.d.ts +120 -0
- package/dist/client/values.d.ts.map +1 -0
- package/dist/client/values.js +186 -0
- package/dist/client/values.js.map +1 -0
- package/dist/client/writes.d.ts +40 -0
- package/dist/client/writes.d.ts.map +1 -0
- package/dist/client/writes.js +186 -0
- package/dist/client/writes.js.map +1 -0
- package/dist/client.d.ts +29 -644
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +267 -2828
- package/dist/client.js.map +1 -1
- package/dist/commands/account.js +1 -1
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/bot-comments.d.ts.map +1 -1
- package/dist/commands/bot-comments.js +9 -5
- package/dist/commands/bot-comments.js.map +1 -1
- package/dist/commands/bot-context.d.ts +2 -2
- package/dist/commands/bot-context.d.ts.map +1 -1
- package/dist/commands/bot-context.js +2 -2
- package/dist/commands/bot-context.js.map +1 -1
- package/dist/commands/bot-members.d.ts +1 -1
- package/dist/commands/bot-members.d.ts.map +1 -1
- package/dist/commands/bot-members.js +14 -5
- package/dist/commands/bot-members.js.map +1 -1
- package/dist/commands/bot-messenger.d.ts +1 -1
- package/dist/commands/bot-messenger.d.ts.map +1 -1
- package/dist/commands/bot-messenger.js +2 -2
- package/dist/commands/bot-messenger.js.map +1 -1
- package/dist/commands/bot-reads.js +1 -1
- package/dist/commands/bot-reads.js.map +1 -1
- package/dist/commands/bot-sends.js +3 -3
- package/dist/commands/bot-sends.js.map +1 -1
- package/dist/commands/bot-setup.d.ts.map +1 -1
- package/dist/commands/bot-setup.js +2 -1
- package/dist/commands/bot-setup.js.map +1 -1
- package/dist/commands/bot.js +1 -1
- package/dist/commands/bot.js.map +1 -1
- package/dist/commands/calls.js +1 -1
- package/dist/commands/calls.js.map +1 -1
- package/dist/commands/chats.js +1 -1
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/commands.js +1 -1
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/complete.js +1 -1
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +29 -27
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contacts.js +1 -1
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/context.d.ts +2 -2
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +2 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +9 -8
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +11 -2
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/models.js +1 -1
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/paging.d.ts +6 -35
- package/dist/commands/paging.d.ts.map +1 -1
- package/dist/commands/paging.js +4 -46
- package/dist/commands/paging.js.map +1 -1
- package/dist/commands/recipients.d.ts.map +1 -1
- package/dist/commands/recipients.js +9 -7
- package/dist/commands/recipients.js.map +1 -1
- package/dist/commands/runs.js +1 -1
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/sends.js +1 -1
- package/dist/commands/sends.js.map +1 -1
- package/dist/commands/serve-members.js +3 -3
- package/dist/commands/serve-members.js.map +1 -1
- package/dist/commands/serve-stems.js +2 -2
- package/dist/commands/serve-stems.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +12 -4
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/server.d.ts +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +1 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/commands/session.d.ts +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/skill.js +1 -1
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/stickers.js +1 -1
- package/dist/commands/stickers.js.map +1 -1
- package/dist/commands/upgrade.js +1 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/config.d.ts +845 -145
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -34
- package/dist/config.js.map +1 -1
- package/dist/deadline.d.ts +1 -1
- package/dist/deadline.d.ts.map +1 -1
- package/dist/deadline.js +1 -1
- package/dist/deadline.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +2 -2
- package/dist/diagnose.js.map +1 -1
- package/dist/domain/models.d.ts +2 -2
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/download.js +1 -1
- package/dist/download.js.map +1 -1
- package/dist/envelope.d.ts +29 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +31 -0
- package/dist/envelope.js.map +1 -0
- package/dist/format-markdown.d.ts +1 -1
- package/dist/format-markdown.d.ts.map +1 -1
- package/dist/format-markdown.js +1 -1
- package/dist/format-markdown.js.map +1 -1
- package/dist/mcp/instructions.d.ts +1 -1
- package/dist/mcp/instructions.d.ts.map +1 -1
- package/dist/mcp/legacy-check.d.ts +1 -1
- package/dist/mcp/legacy-check.d.ts.map +1 -1
- package/dist/mcp/legacy-check.js +5 -3
- package/dist/mcp/legacy-check.js.map +1 -1
- package/dist/mcp/photo.d.ts +1 -1
- package/dist/mcp/photo.d.ts.map +1 -1
- package/dist/mcp/photo.js +3 -2
- package/dist/mcp/photo.js.map +1 -1
- package/dist/mcp/prompts.d.ts.map +1 -1
- package/dist/mcp/prompts.js +11 -9
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/resources.js +2 -2
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/shared.d.ts +1 -1
- package/dist/mcp/shared.d.ts.map +1 -1
- package/dist/mcp/shared.js +3 -3
- package/dist/mcp/shared.js.map +1 -1
- package/dist/mcp/tools.d.ts +2 -2
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +39 -29
- package/dist/mcp/tools.js.map +1 -1
- package/dist/messenger.d.ts +3 -3
- package/dist/messenger.d.ts.map +1 -1
- package/dist/messenger.js +15 -5
- package/dist/messenger.js.map +1 -1
- package/dist/moderation/points.d.ts +1 -1
- package/dist/moderation/points.d.ts.map +1 -1
- package/dist/moderation/points.js +1 -1
- package/dist/moderation/points.js.map +1 -1
- package/dist/moderation/rules.d.ts +1 -1
- package/dist/moderation/rules.d.ts.map +1 -1
- package/dist/moderation/rules.js +2 -2
- package/dist/moderation/rules.js.map +1 -1
- package/dist/output.d.ts +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +1 -1
- package/dist/output.js.map +1 -1
- package/dist/permissions.d.ts +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +2 -2
- package/dist/permissions.js.map +1 -1
- package/dist/program.d.ts +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +3 -2
- package/dist/program.js.map +1 -1
- package/dist/protocol/connection.d.ts.map +1 -1
- package/dist/protocol/connection.js +44 -12
- package/dist/protocol/connection.js.map +1 -1
- package/dist/record.d.ts +1 -1
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +1 -1
- package/dist/record.js.map +1 -1
- package/dist/report.d.ts +2 -2
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +1 -1
- package/dist/report.js.map +1 -1
- package/dist/resolve.d.ts +2 -2
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +2 -2
- package/dist/resolve.js.map +1 -1
- package/dist/sends.d.ts +2 -2
- package/dist/sends.d.ts.map +1 -1
- package/dist/sends.js +2 -2
- package/dist/sends.js.map +1 -1
- package/dist/server/replies.d.ts +2 -2
- package/dist/server/replies.d.ts.map +1 -1
- package/dist/server/replies.js +3 -3
- package/dist/server/replies.js.map +1 -1
- package/dist/server/server-connection.js +1 -1
- package/dist/server/server-connection.js.map +1 -1
- package/dist/server/server.d.ts +4 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +39 -21
- package/dist/server/server.js.map +1 -1
- package/dist/server/subscribe.d.ts.map +1 -1
- package/dist/server/subscribe.js +24 -4
- package/dist/server/subscribe.js.map +1 -1
- package/dist/server/subscribers.d.ts +18 -0
- package/dist/server/subscribers.d.ts.map +1 -0
- package/dist/server/subscribers.js +146 -0
- package/dist/server/subscribers.js.map +1 -0
- package/dist/session/prompt.d.ts +1 -1
- package/dist/session/prompt.d.ts.map +1 -1
- package/dist/session/prompt.js +1 -1
- package/dist/session/prompt.js.map +1 -1
- package/dist/spec/define.d.ts +1 -1
- package/dist/spec/define.d.ts.map +1 -1
- package/dist/transcribe/install.d.ts +1 -1
- package/dist/transcribe/install.d.ts.map +1 -1
- package/dist/transcribe/install.js +1 -1
- package/dist/transcribe/install.js.map +1 -1
- package/dist/transcribe/models.d.ts +2 -2
- package/dist/transcribe/models.d.ts.map +1 -1
- package/dist/transcribe/models.js +2 -2
- package/dist/transcribe/models.js.map +1 -1
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +9 -2
- package/dist/upload.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/skills/max-cli/SKILL.md +75 -54
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type AccountAction, type ChatAction, type GuardRequest, type SendGuard } from "@wirecat/cli-core/sends";
|
|
2
|
+
import type { Contact, Id, Reactions } from "../domain/models.js";
|
|
3
|
+
import type { wireClient } from "../generated/client.generated.js";
|
|
4
|
+
import type { Payload } from "../protocol/frame.js";
|
|
5
|
+
import type { MaxRecord } from "../record.js";
|
|
6
|
+
import type { RequestOf } from "../spec/index.js";
|
|
7
|
+
import type { chatsUpdateMembers } from "../spec/operations/chats.js";
|
|
8
|
+
import { type ChatChange, type ContactWire } from "./values.js";
|
|
9
|
+
interface Dependencies {
|
|
10
|
+
readonly offline: boolean;
|
|
11
|
+
readonly sends: SendGuard | undefined;
|
|
12
|
+
connectOnce: () => Promise<void>;
|
|
13
|
+
chatsResolve: (reference: string) => Promise<Id>;
|
|
14
|
+
personIds: (references: string[]) => Promise<Id[]>;
|
|
15
|
+
readonly wire: Pick<ReturnType<typeof wireClient>, "chats" | "contacts">;
|
|
16
|
+
readonly record: MaxRecord | undefined;
|
|
17
|
+
person: (reference: string) => Promise<Contact>;
|
|
18
|
+
remember: (contact: Contact) => Promise<Contact>;
|
|
19
|
+
readonly now: () => number;
|
|
20
|
+
}
|
|
21
|
+
export declare const createWrites: (deps: Dependencies) => {
|
|
22
|
+
reaction: (chatId: Id, messageId: Id, call: () => Promise<Payload>, key?: string) => Promise<Reactions>;
|
|
23
|
+
checked: (request: GuardRequest) => Promise<void>;
|
|
24
|
+
guard: (request: GuardRequest & {
|
|
25
|
+
chatId: Id;
|
|
26
|
+
}, messageId?: Id) => Promise<void>;
|
|
27
|
+
botWrite: (action: () => Promise<unknown>, uncertain: string, details: Record<string, unknown>) => Promise<void>;
|
|
28
|
+
changeChat: <T>(chatId: Id | null, action: ChatAction, act: () => Promise<{
|
|
29
|
+
chatId: Id;
|
|
30
|
+
result: T;
|
|
31
|
+
people?: number;
|
|
32
|
+
}>, personIds?: Id[]) => Promise<T>;
|
|
33
|
+
updateMembers: (reference: string, people: string[], action: ChatAction, change: Omit<RequestOf<typeof chatsUpdateMembers>, "chatId" | "userIds">) => Promise<ChatChange>;
|
|
34
|
+
change: <T>(action: AccountAction, body: (done: () => void) => Promise<T>) => Promise<T>;
|
|
35
|
+
contactAction: (action: AccountAction, wire: ContactWire, reference: string) => Promise<Contact>;
|
|
36
|
+
nextCid: () => number;
|
|
37
|
+
takeApplied: (operationId: string | undefined) => boolean;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=writes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writes.d.ts","sourceRoot":"","sources":["../../src/client/writes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { currentOperation, } from "@wirecat/cli-core/sends";
|
|
3
|
+
import { toContact, toGroupCard, toReactions } from "../domain/map.js";
|
|
4
|
+
import { isId } from "../resolve.js";
|
|
5
|
+
import { asCliError, record } from "./values.js";
|
|
6
|
+
export const createWrites = (deps) => {
|
|
7
|
+
let previousCid = 0;
|
|
8
|
+
const appliedOperations = new Set();
|
|
9
|
+
async function reaction(chatId, messageId, call, key = "reactions.add") {
|
|
10
|
+
if (deps.offline)
|
|
11
|
+
throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot react");
|
|
12
|
+
try {
|
|
13
|
+
await checked({ chatId, kind: "reaction", key });
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
deps.sends?.record({ chatId, kind: "reaction", outcome: "refused", errorCode: asCliError(error).code });
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
await deps.connectOnce();
|
|
21
|
+
const answer = await call();
|
|
22
|
+
deps.sends?.record({ chatId, kind: "reaction", outcome: "sent", messageId });
|
|
23
|
+
return toReactions(record(answer.reactionInfo) ?? {});
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
deps.sends?.record({ chatId, kind: "reaction", outcome: "failed", messageId, errorCode: asCliError(error).code });
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function checked(request) {
|
|
31
|
+
await deps.sends?.ask?.(request);
|
|
32
|
+
deps.sends?.check(request);
|
|
33
|
+
}
|
|
34
|
+
async function guard(request, messageId) {
|
|
35
|
+
const { chatId, kind, notify } = request;
|
|
36
|
+
try {
|
|
37
|
+
await checked(request);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
deps.sends?.record({
|
|
41
|
+
chatId,
|
|
42
|
+
...(kind ? { kind } : {}),
|
|
43
|
+
...(notify === undefined ? {} : { notify }),
|
|
44
|
+
outcome: "refused",
|
|
45
|
+
...(messageId ? { messageId } : {}),
|
|
46
|
+
errorCode: asCliError(error).code,
|
|
47
|
+
});
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async function botWrite(action, uncertain, details) {
|
|
52
|
+
try {
|
|
53
|
+
await action();
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const failure = asCliError(error);
|
|
57
|
+
if (failure.code !== "timeout" && failure.code !== "network_error")
|
|
58
|
+
throw error;
|
|
59
|
+
throw new CliError("outcome_unknown", `${uncertain} (${failure.message}) — check the bot's reply before repeating this action`, { ...details, retryable: false });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function changeChat(chatId, action, act, personIds) {
|
|
63
|
+
if (deps.offline)
|
|
64
|
+
throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot change a chat");
|
|
65
|
+
try {
|
|
66
|
+
await checked({ chatId, kind: "chat", action, ...(personIds ? { personIds } : {}) });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
deps.sends?.record({ chatId, kind: "chat", action, outcome: "refused", errorCode: asCliError(error).code });
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
await deps.connectOnce();
|
|
74
|
+
const done = await act();
|
|
75
|
+
deps.sends?.record({
|
|
76
|
+
chatId: done.chatId,
|
|
77
|
+
kind: "chat",
|
|
78
|
+
action,
|
|
79
|
+
outcome: "sent",
|
|
80
|
+
...(done.people === undefined ? {} : { people: done.people }),
|
|
81
|
+
});
|
|
82
|
+
return done.result;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
const failure = asCliError(error);
|
|
86
|
+
deps.sends?.record({
|
|
87
|
+
chatId,
|
|
88
|
+
kind: "chat",
|
|
89
|
+
action,
|
|
90
|
+
outcome: failure.code === "outcome_unknown" ? "outcome_unknown" : "failed",
|
|
91
|
+
errorCode: failure.code,
|
|
92
|
+
});
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async function updateMembers(reference, people, action, change) {
|
|
97
|
+
const chatId = await deps.chatsResolve(reference);
|
|
98
|
+
const userIds = await deps.personIds(people);
|
|
99
|
+
return changeChat(chatId, action, async () => {
|
|
100
|
+
const answer = await deps.wire.chats.updateMembers({ chatId, userIds, ...change });
|
|
101
|
+
const chat = record(answer.chat);
|
|
102
|
+
return {
|
|
103
|
+
chatId,
|
|
104
|
+
people: userIds.length,
|
|
105
|
+
result: { chatId, action, people: userIds, chat: chat ? toGroupCard(chat) : null },
|
|
106
|
+
};
|
|
107
|
+
}, action === "members.add" ? userIds : undefined);
|
|
108
|
+
}
|
|
109
|
+
async function change(action, body) {
|
|
110
|
+
if (deps.offline)
|
|
111
|
+
throw new CliError("validation_error", "`--offline` reads what was recorded; it cannot change the account");
|
|
112
|
+
try {
|
|
113
|
+
await checked({ chatId: null, kind: "account", action });
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
deps.sends?.record({
|
|
117
|
+
chatId: null,
|
|
118
|
+
kind: "account",
|
|
119
|
+
action,
|
|
120
|
+
outcome: "refused",
|
|
121
|
+
errorCode: asCliError(error).code,
|
|
122
|
+
});
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
let recorded = false;
|
|
126
|
+
const done = () => {
|
|
127
|
+
if (recorded)
|
|
128
|
+
return;
|
|
129
|
+
recorded = true;
|
|
130
|
+
const operationId = currentOperation();
|
|
131
|
+
if (operationId !== undefined)
|
|
132
|
+
appliedOperations.add(operationId);
|
|
133
|
+
deps.sends?.record({ chatId: null, kind: "account", action, outcome: "sent" });
|
|
134
|
+
};
|
|
135
|
+
try {
|
|
136
|
+
await deps.connectOnce();
|
|
137
|
+
const result = await body(done);
|
|
138
|
+
done();
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (!recorded) {
|
|
143
|
+
deps.sends?.record({
|
|
144
|
+
chatId: null,
|
|
145
|
+
kind: "account",
|
|
146
|
+
action,
|
|
147
|
+
outcome: "failed",
|
|
148
|
+
errorCode: asCliError(error).code,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function contactAction(action, wire, reference) {
|
|
155
|
+
return change(action, async () => {
|
|
156
|
+
const known = isId(reference) ? (await deps.record?.people())?.get(reference.trim()) : undefined;
|
|
157
|
+
const id = isId(reference) ? reference.trim() : (await deps.person(reference)).id;
|
|
158
|
+
const answer = await deps.wire.contacts.update({ contactId: id, ...wire });
|
|
159
|
+
const contact = record(answer.contact);
|
|
160
|
+
if (contact)
|
|
161
|
+
return deps.remember(toContact(contact));
|
|
162
|
+
return known ?? { id, name: null, username: null, description: null, lastMessagedAt: null };
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function nextCid() {
|
|
166
|
+
const now = deps.now();
|
|
167
|
+
previousCid = now > previousCid ? now : previousCid + 1;
|
|
168
|
+
return previousCid;
|
|
169
|
+
}
|
|
170
|
+
function takeApplied(operationId) {
|
|
171
|
+
return operationId !== undefined && appliedOperations.delete(operationId);
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
reaction: reaction,
|
|
175
|
+
checked: checked,
|
|
176
|
+
guard: guard,
|
|
177
|
+
botWrite: botWrite,
|
|
178
|
+
changeChat: changeChat,
|
|
179
|
+
updateMembers: updateMembers,
|
|
180
|
+
change: change,
|
|
181
|
+
contactAction: contactAction,
|
|
182
|
+
nextCid: nextCid,
|
|
183
|
+
takeApplied: takeApplied,
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=writes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writes.js","sourceRoot":"","sources":["../../src/client/writes.ts"],"names":[],"mappings":"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"}
|