aurival 0.1.7 → 0.2.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 +125 -5
- package/dist/bot.d.ts +20 -0
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +92 -2
- package/dist/bot.js.map +1 -1
- package/dist/errors.d.ts +23 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +27 -0
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +110 -6
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +226 -7
- package/dist/events.js.map +1 -1
- package/dist/http.d.ts +12 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +52 -1
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/socket.d.ts +7 -0
- package/dist/socket.d.ts.map +1 -1
- package/dist/socket.js +7 -5
- package/dist/socket.js.map +1 -1
- package/package.json +1 -1
package/dist/events.d.ts
CHANGED
|
@@ -15,11 +15,27 @@ export interface Chat {
|
|
|
15
15
|
id: string;
|
|
16
16
|
type: string;
|
|
17
17
|
name: string | null;
|
|
18
|
+
/**
|
|
19
|
+
* Live participants, bots included. `null` when the wire frame omits
|
|
20
|
+
* `member_count` — never defaulted to 0 (a real empty chat is still a
|
|
21
|
+
* number, `null` means "the frame didn't say"). Kept snake_case, matching
|
|
22
|
+
* this file's existing wire field convention (`sent_at`, `reply_to`), and
|
|
23
|
+
* `null` (not `undefined`) to match how every other absent field in this
|
|
24
|
+
* file is represented.
|
|
25
|
+
*/
|
|
26
|
+
member_count: number | null;
|
|
18
27
|
}
|
|
19
28
|
export interface Command {
|
|
20
29
|
name: string;
|
|
21
30
|
description: string;
|
|
22
31
|
}
|
|
32
|
+
export interface Message {
|
|
33
|
+
id: string;
|
|
34
|
+
text: string;
|
|
35
|
+
sent_at: string;
|
|
36
|
+
sender: User | null;
|
|
37
|
+
reply_to: string | null;
|
|
38
|
+
}
|
|
23
39
|
export interface EventInit {
|
|
24
40
|
id: string;
|
|
25
41
|
type: string;
|
|
@@ -40,30 +56,104 @@ export declare class Event {
|
|
|
40
56
|
*/
|
|
41
57
|
static fromFrame(frame: Record<string, unknown>): Event;
|
|
42
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* `@` + a user's `handle`, template-literals straight into `text` via
|
|
61
|
+
* `toString()`. `entry` is the wire shape `send()`'s `mentions` array wants.
|
|
62
|
+
* Braces are notation only — `mention(user)` never emits `{handle}`.
|
|
63
|
+
*/
|
|
64
|
+
export declare class Mention {
|
|
65
|
+
readonly token: string;
|
|
66
|
+
readonly entry: {
|
|
67
|
+
user: string;
|
|
68
|
+
};
|
|
69
|
+
constructor(user: User);
|
|
70
|
+
toString(): string;
|
|
71
|
+
}
|
|
72
|
+
export declare function mention(user: User): Mention;
|
|
73
|
+
/** What `send(..., { mentions })` accepts: a `Mention`, a full `User`, or a raw `{ user: 'usr_…' }`. */
|
|
74
|
+
export type MentionLike = Mention | User | {
|
|
75
|
+
user: string;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* One page of `GET /v1/chats/{chat}/members` (CONTRACT-V1 §4, §5.0.1). No
|
|
79
|
+
* auto-loading iterator. `MemberPage` is SDK-constructed — decoded from the
|
|
80
|
+
* wire `list` envelope (`{object, data, has_more, next_cursor}`), never
|
|
81
|
+
* itself the wire shape — so it follows this file's camelCase-for-SDK-types
|
|
82
|
+
* convention (`chatFromWire`/`messageFromWire` output camelCase-free records
|
|
83
|
+
* only because their wire fields already happen to be single words or
|
|
84
|
+
* `sent_at`/`reply_to`-style; a type we construct ourselves, like this one,
|
|
85
|
+
* is not a wire passthrough and gets `hasMore`/`nextCursor`).
|
|
86
|
+
*
|
|
87
|
+
* `hasMore` is read straight off the envelope, never inferred from a short
|
|
88
|
+
* page or from `nextCursor` (CONTRACT-V1 §4: that inference is "the classic
|
|
89
|
+
* off-by-one that ships in every SDK"). `nextCursor` is `null` whenever
|
|
90
|
+
* `hasMore` is `false` (§2.1).
|
|
91
|
+
*/
|
|
92
|
+
export interface MemberPage {
|
|
93
|
+
users: User[];
|
|
94
|
+
hasMore: boolean;
|
|
95
|
+
nextCursor: string | null;
|
|
96
|
+
}
|
|
43
97
|
export interface ContextInit {
|
|
44
98
|
command: string;
|
|
45
99
|
arguments: string;
|
|
46
100
|
chat: Chat;
|
|
47
|
-
sender: User;
|
|
101
|
+
sender: User | null;
|
|
102
|
+
/** Populated only for `member.joined` / `member.left`. */
|
|
103
|
+
user: User | null;
|
|
104
|
+
/** Populated only for `bot.added` / `bot.removed`. */
|
|
105
|
+
actor: User | null;
|
|
106
|
+
/** Populated only for `reaction.added`. */
|
|
107
|
+
emoji: string | null;
|
|
48
108
|
event: Event;
|
|
49
|
-
message:
|
|
109
|
+
message: Message | null;
|
|
50
110
|
http: HttpClient;
|
|
51
111
|
}
|
|
52
112
|
/**
|
|
53
|
-
* What a
|
|
54
|
-
* `Event` — `Socket` never constructs one.
|
|
113
|
+
* What a handler receives. Built by `bot.ts`'s dispatch closure from one
|
|
114
|
+
* `Event` — `Socket` never constructs one. ONE class for every event type
|
|
115
|
+
* (R6): `chat`/`sender`/`user`/`actor`/`message`/`emoji` are each populated
|
|
116
|
+
* only for the event types that carry them —
|
|
117
|
+
*
|
|
118
|
+
* - `command.invoked`: `chat`, `sender`, `message`
|
|
119
|
+
* - `member.joined` / `member.left`: `chat`, `user`
|
|
120
|
+
* - `bot.added` / `bot.removed`: `chat`, `actor`
|
|
121
|
+
* - `reaction.added`: `chat`, `sender`, `message`, `emoji`
|
|
122
|
+
*
|
|
123
|
+
* — everything else on a given `Context` is `null`. An unhandled or future
|
|
124
|
+
* event type never throws building one: every field is read defensively off
|
|
125
|
+
* `event.data` and falls back to `null`.
|
|
55
126
|
*/
|
|
56
127
|
export declare class Context {
|
|
57
128
|
#private;
|
|
58
129
|
readonly command: string;
|
|
59
130
|
readonly arguments: string;
|
|
60
131
|
readonly chat: Chat;
|
|
61
|
-
readonly sender: User;
|
|
132
|
+
readonly sender: User | null;
|
|
133
|
+
readonly user: User | null;
|
|
134
|
+
readonly actor: User | null;
|
|
135
|
+
readonly emoji: string | null;
|
|
62
136
|
readonly event: Event;
|
|
63
|
-
readonly message:
|
|
137
|
+
readonly message: Message | null;
|
|
64
138
|
constructor(init: ContextInit);
|
|
65
139
|
/** Build straight from a `command.invoked` event's raw `data`. */
|
|
66
140
|
static fromEvent(event: Event, http: HttpClient): Context;
|
|
141
|
+
/**
|
|
142
|
+
* Build from any non-`command.invoked` event `bot.on(type, fn)` registered
|
|
143
|
+
* for — `member.joined`/`member.left`, `bot.added`/`bot.removed`,
|
|
144
|
+
* `reaction.added`, or a type this SDK does not yet know the shape of.
|
|
145
|
+
*
|
|
146
|
+
* For a KNOWN type, the field set is pinned by CONTRACT-V1 §3.1: only the
|
|
147
|
+
* fields that type actually carries are read off `data`, and every other
|
|
148
|
+
* field is forced `null` even if the payload happens to carry a stray one
|
|
149
|
+
* (a `member.joined` frame with a stray `sender` must not populate
|
|
150
|
+
* `ctx.sender` — matches python). For a type this SDK does not recognize,
|
|
151
|
+
* every field is read defensively and opportunistically — there is no
|
|
152
|
+
* contract to pin it to, so whatever the frame happens to carry is
|
|
153
|
+
* surfaced rather than discarded. `chat` itself falls back to an empty one
|
|
154
|
+
* rather than throwing, for both cases.
|
|
155
|
+
*/
|
|
156
|
+
static fromGenericEvent(event: Event, http: HttpClient): Context;
|
|
67
157
|
/**
|
|
68
158
|
* `POST /v1/messages`, quoting the message that invoked the command
|
|
69
159
|
* (BA-R27, reversing SDK-30). One method, no flag. When the event carried no
|
|
@@ -73,5 +163,19 @@ export declare class Context {
|
|
|
73
163
|
* `HttpClient.request` itself.
|
|
74
164
|
*/
|
|
75
165
|
reply(text: string): Promise<Record<string, unknown>>;
|
|
166
|
+
/** `POST /v1/chats/{chat}/typing` — `is_typing` only, no `state` spelling. */
|
|
167
|
+
typing(isTyping: boolean): Promise<void>;
|
|
168
|
+
/** Sends `true` on entry, `false` on exit — ALWAYS, including on throw. */
|
|
169
|
+
withTyping<T>(fn: () => Promise<T>): Promise<T>;
|
|
170
|
+
edit(message: Message | string, text: string): Promise<Record<string, unknown>>;
|
|
171
|
+
delete(message: Message | string): Promise<void>;
|
|
172
|
+
react(message: Message | string, emoji: string): Promise<void>;
|
|
173
|
+
unreact(message: Message | string, emoji: string): Promise<void>;
|
|
174
|
+
send(chat: Chat | string, text: string, options?: {
|
|
175
|
+
mentions?: MentionLike[];
|
|
176
|
+
}): Promise<Record<string, unknown>>;
|
|
177
|
+
members(chat?: Chat | string, options?: {
|
|
178
|
+
cursor?: string;
|
|
179
|
+
}): Promise<MemberPage>;
|
|
76
180
|
}
|
|
77
181
|
//# sourceMappingURL=events.d.ts.map
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* network-shaped — never the seed, a token, or the `Auth` object (SDK-33).
|
|
7
7
|
*/
|
|
8
8
|
import { randomUUID } from 'node:crypto';
|
|
9
|
+
import { AurivalError } from './errors.js';
|
|
9
10
|
function asRecord(value) {
|
|
10
11
|
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
11
12
|
? value
|
|
@@ -47,21 +48,116 @@ function userFromWire(d) {
|
|
|
47
48
|
}
|
|
48
49
|
function chatFromWire(d) {
|
|
49
50
|
const name = d['name'];
|
|
51
|
+
const memberCount = d['member_count'];
|
|
50
52
|
return {
|
|
51
53
|
id: asString(d['id']),
|
|
52
54
|
type: asString(d['type']),
|
|
53
55
|
name: typeof name === 'string' ? name : null,
|
|
56
|
+
member_count: typeof memberCount === 'number' && Number.isFinite(memberCount) ? memberCount : null,
|
|
54
57
|
};
|
|
55
58
|
}
|
|
59
|
+
function messageFromWire(d) {
|
|
60
|
+
const replyTo = d['reply_to'];
|
|
61
|
+
const sender = asRecord(d['sender']);
|
|
62
|
+
return {
|
|
63
|
+
id: asString(d['id']),
|
|
64
|
+
text: asString(d['text']),
|
|
65
|
+
sent_at: asString(d['sent_at']),
|
|
66
|
+
sender: sender ? userFromWire(sender) : null,
|
|
67
|
+
reply_to: typeof replyTo === 'string' ? replyTo : null,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* `@` + a user's `handle`, template-literals straight into `text` via
|
|
72
|
+
* `toString()`. `entry` is the wire shape `send()`'s `mentions` array wants.
|
|
73
|
+
* Braces are notation only — `mention(user)` never emits `{handle}`.
|
|
74
|
+
*/
|
|
75
|
+
export class Mention {
|
|
76
|
+
token;
|
|
77
|
+
entry;
|
|
78
|
+
constructor(user) {
|
|
79
|
+
this.token = '@' + user.handle;
|
|
80
|
+
this.entry = { user: user.id };
|
|
81
|
+
}
|
|
82
|
+
toString() {
|
|
83
|
+
return this.token;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export function mention(user) {
|
|
87
|
+
return new Mention(user);
|
|
88
|
+
}
|
|
89
|
+
function mentionEntry(m) {
|
|
90
|
+
if (m instanceof Mention)
|
|
91
|
+
return m.entry;
|
|
92
|
+
if (typeof m.id === 'string')
|
|
93
|
+
return { user: m.id };
|
|
94
|
+
return { user: m.user };
|
|
95
|
+
}
|
|
96
|
+
/** Accepts either a `Chat` or a raw chat id string — Context actions take both. */
|
|
97
|
+
function chatId(c) {
|
|
98
|
+
return typeof c === 'string' ? c : c.id;
|
|
99
|
+
}
|
|
100
|
+
/** Accepts either a `Message` or a raw message id string — Context actions take both. */
|
|
101
|
+
function messageId(m) {
|
|
102
|
+
return typeof m === 'string' ? m : m.id;
|
|
103
|
+
}
|
|
104
|
+
function memberPageFromEnvelope(envelope) {
|
|
105
|
+
const rows = envelope['data'];
|
|
106
|
+
const users = [];
|
|
107
|
+
if (Array.isArray(rows)) {
|
|
108
|
+
for (const row of rows) {
|
|
109
|
+
const record = asRecord(row);
|
|
110
|
+
if (record)
|
|
111
|
+
users.push(userFromWire(record));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const hasMore = envelope['has_more'] === true;
|
|
115
|
+
const cursor = envelope['next_cursor'];
|
|
116
|
+
return {
|
|
117
|
+
users,
|
|
118
|
+
hasMore,
|
|
119
|
+
nextCursor: hasMore && typeof cursor === 'string' ? cursor : null,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Which `Context` fields a KNOWN generic event type actually carries
|
|
124
|
+
* (CONTRACT-V1 §3.1). Any field not in a type's set is forced `null` when
|
|
125
|
+
* building that type's `Context`, even if the wire payload happens to carry
|
|
126
|
+
* a stray one — the payload shape for a known type is pinned by contract, so
|
|
127
|
+
* JS must not surface what python's identical build does not (senior review,
|
|
128
|
+
* merge gate). A type not in this map is unknown to this SDK and gets
|
|
129
|
+
* opportunistic, unpinned population instead — see `fromGenericEvent`.
|
|
130
|
+
*/
|
|
131
|
+
const KNOWN_GENERIC_EVENT_FIELDS = {
|
|
132
|
+
'member.joined': new Set(['user']),
|
|
133
|
+
'member.left': new Set(['user']),
|
|
134
|
+
'bot.added': new Set(['actor']),
|
|
135
|
+
'bot.removed': new Set(['actor']),
|
|
136
|
+
'reaction.added': new Set(['sender', 'message', 'emoji']),
|
|
137
|
+
};
|
|
56
138
|
/**
|
|
57
|
-
* What a
|
|
58
|
-
* `Event` — `Socket` never constructs one.
|
|
139
|
+
* What a handler receives. Built by `bot.ts`'s dispatch closure from one
|
|
140
|
+
* `Event` — `Socket` never constructs one. ONE class for every event type
|
|
141
|
+
* (R6): `chat`/`sender`/`user`/`actor`/`message`/`emoji` are each populated
|
|
142
|
+
* only for the event types that carry them —
|
|
143
|
+
*
|
|
144
|
+
* - `command.invoked`: `chat`, `sender`, `message`
|
|
145
|
+
* - `member.joined` / `member.left`: `chat`, `user`
|
|
146
|
+
* - `bot.added` / `bot.removed`: `chat`, `actor`
|
|
147
|
+
* - `reaction.added`: `chat`, `sender`, `message`, `emoji`
|
|
148
|
+
*
|
|
149
|
+
* — everything else on a given `Context` is `null`. An unhandled or future
|
|
150
|
+
* event type never throws building one: every field is read defensively off
|
|
151
|
+
* `event.data` and falls back to `null`.
|
|
59
152
|
*/
|
|
60
153
|
export class Context {
|
|
61
154
|
command;
|
|
62
155
|
arguments;
|
|
63
156
|
chat;
|
|
64
157
|
sender;
|
|
158
|
+
user;
|
|
159
|
+
actor;
|
|
160
|
+
emoji;
|
|
65
161
|
event;
|
|
66
162
|
message;
|
|
67
163
|
#http;
|
|
@@ -70,6 +166,9 @@ export class Context {
|
|
|
70
166
|
this.arguments = init.arguments;
|
|
71
167
|
this.chat = init.chat;
|
|
72
168
|
this.sender = init.sender;
|
|
169
|
+
this.user = init.user;
|
|
170
|
+
this.actor = init.actor;
|
|
171
|
+
this.emoji = init.emoji;
|
|
73
172
|
this.event = init.event;
|
|
74
173
|
this.message = init.message;
|
|
75
174
|
this.#http = init.http;
|
|
@@ -77,17 +176,95 @@ export class Context {
|
|
|
77
176
|
/** Build straight from a `command.invoked` event's raw `data`. */
|
|
78
177
|
static fromEvent(event, http) {
|
|
79
178
|
const data = event.data;
|
|
179
|
+
const invokingMessage = asRecord(data['invoking_message']);
|
|
80
180
|
const message = data['message'];
|
|
181
|
+
let resolvedMessage;
|
|
182
|
+
if (invokingMessage) {
|
|
183
|
+
// BA-R42: the invoking message travels with the event as a full object
|
|
184
|
+
// under `invoking_message`. Prefer that.
|
|
185
|
+
resolvedMessage = messageFromWire(invokingMessage);
|
|
186
|
+
}
|
|
187
|
+
else if (typeof message === 'string') {
|
|
188
|
+
// `message` (the bare id string) is UNCHANGED wire compatibility — an
|
|
189
|
+
// old server that has not deployed BA-R42 yet sends only that string,
|
|
190
|
+
// so we fall back to an id-only Message rather than null, keeping a
|
|
191
|
+
// new SDK working against an old server.
|
|
192
|
+
resolvedMessage = { id: message, text: '', sent_at: '', sender: null, reply_to: null };
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
resolvedMessage = null;
|
|
196
|
+
}
|
|
81
197
|
return new Context({
|
|
82
198
|
command: asString(data['command']),
|
|
83
199
|
arguments: asString(data['arguments']),
|
|
84
200
|
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
85
201
|
sender: userFromWire(asRecord(data['sender']) ?? {}),
|
|
202
|
+
user: null,
|
|
203
|
+
actor: null,
|
|
204
|
+
emoji: null,
|
|
86
205
|
event,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
206
|
+
message: resolvedMessage,
|
|
207
|
+
http,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Build from any non-`command.invoked` event `bot.on(type, fn)` registered
|
|
212
|
+
* for — `member.joined`/`member.left`, `bot.added`/`bot.removed`,
|
|
213
|
+
* `reaction.added`, or a type this SDK does not yet know the shape of.
|
|
214
|
+
*
|
|
215
|
+
* For a KNOWN type, the field set is pinned by CONTRACT-V1 §3.1: only the
|
|
216
|
+
* fields that type actually carries are read off `data`, and every other
|
|
217
|
+
* field is forced `null` even if the payload happens to carry a stray one
|
|
218
|
+
* (a `member.joined` frame with a stray `sender` must not populate
|
|
219
|
+
* `ctx.sender` — matches python). For a type this SDK does not recognize,
|
|
220
|
+
* every field is read defensively and opportunistically — there is no
|
|
221
|
+
* contract to pin it to, so whatever the frame happens to carry is
|
|
222
|
+
* surfaced rather than discarded. `chat` itself falls back to an empty one
|
|
223
|
+
* rather than throwing, for both cases.
|
|
224
|
+
*/
|
|
225
|
+
static fromGenericEvent(event, http) {
|
|
226
|
+
const data = event.data;
|
|
227
|
+
const chat = chatFromWire(asRecord(data['chat']) ?? {});
|
|
228
|
+
const known = KNOWN_GENERIC_EVENT_FIELDS[event.type];
|
|
229
|
+
if (known !== undefined) {
|
|
230
|
+
const sender = known.has('sender') ? asRecord(data['sender']) : null;
|
|
231
|
+
const user = known.has('user') ? asRecord(data['user']) : null;
|
|
232
|
+
const actor = known.has('actor') ? asRecord(data['actor']) : null;
|
|
233
|
+
const messageId = known.has('message') ? data['message'] : undefined;
|
|
234
|
+
const emoji = known.has('emoji') ? data['emoji'] : undefined;
|
|
235
|
+
return new Context({
|
|
236
|
+
command: '',
|
|
237
|
+
arguments: '',
|
|
238
|
+
chat,
|
|
239
|
+
sender: sender ? userFromWire(sender) : null,
|
|
240
|
+
user: user ? userFromWire(user) : null,
|
|
241
|
+
actor: actor ? userFromWire(actor) : null,
|
|
242
|
+
emoji: typeof emoji === 'string' ? emoji : null,
|
|
243
|
+
event,
|
|
244
|
+
message: typeof messageId === 'string'
|
|
245
|
+
? { id: messageId, text: '', sent_at: '', sender: null, reply_to: null }
|
|
246
|
+
: null,
|
|
247
|
+
http,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
// Unknown type: opportunistic population, nothing pinned.
|
|
251
|
+
const sender = asRecord(data['sender']);
|
|
252
|
+
const user = asRecord(data['user']);
|
|
253
|
+
const actor = asRecord(data['actor']);
|
|
254
|
+
const messageId = data['message'];
|
|
255
|
+
const emoji = data['emoji'];
|
|
256
|
+
return new Context({
|
|
257
|
+
command: '',
|
|
258
|
+
arguments: '',
|
|
259
|
+
chat,
|
|
260
|
+
sender: sender ? userFromWire(sender) : null,
|
|
261
|
+
user: user ? userFromWire(user) : null,
|
|
262
|
+
actor: actor ? userFromWire(actor) : null,
|
|
263
|
+
emoji: typeof emoji === 'string' ? emoji : null,
|
|
264
|
+
event,
|
|
265
|
+
message: typeof messageId === 'string'
|
|
266
|
+
? { id: messageId, text: '', sent_at: '', sender: null, reply_to: null }
|
|
267
|
+
: null,
|
|
91
268
|
http,
|
|
92
269
|
});
|
|
93
270
|
}
|
|
@@ -100,7 +277,49 @@ export class Context {
|
|
|
100
277
|
* `HttpClient.request` itself.
|
|
101
278
|
*/
|
|
102
279
|
async reply(text) {
|
|
103
|
-
return this.#http.sendMessage(this.chat.id, text, randomUUID(), this.message);
|
|
280
|
+
return this.#http.sendMessage(this.chat.id, text, randomUUID(), this.message?.id ?? null);
|
|
281
|
+
}
|
|
282
|
+
/** `POST /v1/chats/{chat}/typing` — `is_typing` only, no `state` spelling. */
|
|
283
|
+
async typing(isTyping) {
|
|
284
|
+
const id = this.chat.id;
|
|
285
|
+
if (id === '') {
|
|
286
|
+
throw new AurivalError('ctx.typing() needs a chat, and this event has none');
|
|
287
|
+
}
|
|
288
|
+
await this.#http.setTyping(id, isTyping);
|
|
289
|
+
}
|
|
290
|
+
/** Sends `true` on entry, `false` on exit — ALWAYS, including on throw. */
|
|
291
|
+
async withTyping(fn) {
|
|
292
|
+
await this.typing(true);
|
|
293
|
+
try {
|
|
294
|
+
return await fn();
|
|
295
|
+
}
|
|
296
|
+
finally {
|
|
297
|
+
await this.typing(false);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
async edit(message, text) {
|
|
301
|
+
return this.#http.editMessage(messageId(message), text);
|
|
302
|
+
}
|
|
303
|
+
async delete(message) {
|
|
304
|
+
await this.#http.deleteMessage(messageId(message));
|
|
305
|
+
}
|
|
306
|
+
async react(message, emoji) {
|
|
307
|
+
await this.#http.setReaction(messageId(message), emoji);
|
|
308
|
+
}
|
|
309
|
+
async unreact(message, emoji) {
|
|
310
|
+
await this.#http.unsetReaction(messageId(message), emoji);
|
|
311
|
+
}
|
|
312
|
+
async send(chat, text, options = {}) {
|
|
313
|
+
const mentions = options.mentions?.map(mentionEntry);
|
|
314
|
+
return this.#http.sendMessage(chatId(chat), text, randomUUID(), null, mentions);
|
|
315
|
+
}
|
|
316
|
+
async members(chat, options = {}) {
|
|
317
|
+
const resolved = chat !== undefined ? chatId(chat) : this.chat.id;
|
|
318
|
+
if (resolved === '') {
|
|
319
|
+
throw new AurivalError('ctx.members() needs a chat: pass one, or call it where ctx.chat is already set');
|
|
320
|
+
}
|
|
321
|
+
const envelope = await this.#http.listMembers(resolved, options.cursor);
|
|
322
|
+
return memberPageFromEnvelope(envelope);
|
|
104
323
|
}
|
|
105
324
|
}
|
|
106
325
|
//# sourceMappingURL=events.js.map
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqC3C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,QAAQ,GAAG,EAAE;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAUD,MAAM,OAAO,KAAK;IACP,EAAE,CAAS;IACX,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,IAAI,CAA0B;IAEvC,YAAY,IAAe;QACzB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,KAA8B;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,KAAK,CAAC;YACf,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,YAAY,CAAC,CAA0B;IAC9C,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CAAC,CAA0B;IAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IACtC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAC5C,YAAY,EACV,OAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KACvF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,CAA0B;IACjD,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5C,QAAQ,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KACvD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,OAAO;IACT,KAAK,CAAS;IACd,KAAK,CAAmB;IAEjC,YAAY,IAAU;QACpB,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAKD,SAAS,YAAY,CAAC,CAAc;IAClC,IAAI,CAAC,YAAY,OAAO;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC;IACzC,IAAI,OAAQ,CAAsB,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAG,CAAU,CAAC,EAAE,EAAE,CAAC;IACpF,OAAO,EAAE,IAAI,EAAG,CAAsB,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,mFAAmF;AACnF,SAAS,MAAM,CAAC,CAAgB;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,yFAAyF;AACzF,SAAS,SAAS,CAAC,CAAmB;IACpC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAuBD,SAAS,sBAAsB,CAAC,QAAiC;IAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,OAAO;QACL,KAAK;QACL,OAAO;QACP,UAAU,EAAE,OAAO,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KAClE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,0BAA0B,GAAkD;IAChF,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;CAC1D,CAAC;AAkBF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,OAAO;IACT,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,IAAI,CAAO;IACX,MAAM,CAAc;IACpB,IAAI,CAAc;IAClB,KAAK,CAAc;IACnB,KAAK,CAAgB;IACrB,KAAK,CAAQ;IACb,OAAO,CAAiB;IACxB,KAAK,CAAa;IAE3B,YAAY,IAAiB;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,SAAS,CAAC,KAAY,EAAE,IAAgB;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,eAA+B,CAAC;QACpC,IAAI,eAAe,EAAE,CAAC;YACpB,uEAAuE;YACvE,yCAAyC;YACzC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,sEAAsE;YACtE,sEAAsE;YACtE,oEAAoE;YACpE,yCAAyC;YACzC,eAAe,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,OAAO,CAAC;YACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK;YACL,OAAO,EAAE,eAAe;YACxB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAY,EAAE,IAAgB;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,OAAO,IAAI,OAAO,CAAC;gBACjB,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,EAAE;gBACb,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC5C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACtC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzC,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC/C,KAAK;gBACL,OAAO,EACL,OAAO,SAAS,KAAK,QAAQ;oBAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACxE,CAAC,CAAC,IAAI;gBACV,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAC;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,IAAI;YACJ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACtC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACzC,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC/C,KAAK;YACL,OAAO,EACL,OAAO,SAAS,KAAK,QAAQ;gBAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxE,CAAC,CAAC,IAAI;YACV,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,MAAM,CAAC,QAAiB;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,YAAY,CAAC,oDAAoD,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,UAAU,CAAI,EAAoB;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAyB,EAAE,IAAY;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAyB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAyB,EAAE,KAAa;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAyB,EAAE,KAAa;QACpD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAmB,EACnB,IAAY,EACZ,OAAO,GAAiC,EAAE;QAE1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,OAAO,GAAwB,EAAE;QACnE,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,YAAY,CACpB,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
package/dist/http.d.ts
CHANGED
|
@@ -37,7 +37,18 @@ export declare class HttpClient {
|
|
|
37
37
|
* optional on the wire (CONTRACT-V1 §5.0) and a `null` there is a
|
|
38
38
|
* `parameter_invalid` waiting to happen.
|
|
39
39
|
*/
|
|
40
|
-
sendMessage(chat: string, text: string, idempotencyKey: string, replyTo?: string | null
|
|
40
|
+
sendMessage(chat: string, text: string, idempotencyKey: string, replyTo?: string | null, mentions?: Array<{
|
|
41
|
+
user: string;
|
|
42
|
+
}>): Promise<Record<string, unknown>>;
|
|
43
|
+
/** `POST .../typing` body is `{"is_typing": true|false}` — never `state`. */
|
|
44
|
+
setTyping(chat: string, isTyping: boolean): Promise<void>;
|
|
45
|
+
editMessage(message: string, text: string): Promise<Record<string, unknown>>;
|
|
46
|
+
deleteMessage(message: string): Promise<void>;
|
|
47
|
+
/** The emoji is percent-encoded — it travels in the path, not the body. */
|
|
48
|
+
setReaction(message: string, emoji: string): Promise<void>;
|
|
49
|
+
unsetReaction(message: string, emoji: string): Promise<void>;
|
|
50
|
+
/** GET, so no idempotency key — reads are never retried-as-a-write. */
|
|
51
|
+
listMembers(chat: string, cursor?: string): Promise<Record<string, unknown>>;
|
|
41
52
|
syncCommands(bot: string, commands: Array<{
|
|
42
53
|
name: string;
|
|
43
54
|
description: string;
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,YAAY,6BAA6B,CAAC;AAQvD;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAMD,wBAAgB,aAAa,IAAI,MAAM,CAYtC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAwCD,qBAAa,UAAU;;IAIrB,+DAA+D;IAC/D,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAG/B;IAEL,YAAY,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW,EAAE,MAAM,CAAC,EAAE,MAAM,EAIlE;IAED,6DAA6D;IACvD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/http.js
CHANGED
|
@@ -130,6 +130,23 @@ export class HttpClient {
|
|
|
130
130
|
}
|
|
131
131
|
throw new errors.TransportError(detail);
|
|
132
132
|
}
|
|
133
|
+
// 204 + an empty body decodes to `{}` — several new mutating routes
|
|
134
|
+
// (typing, reactions, delete) answer this way. A 204 that (against
|
|
135
|
+
// spec) carries a JSON body decodes it rather than silently dropping
|
|
136
|
+
// it, gating on the body being empty rather than on status alone —
|
|
137
|
+
// mirrors http.py's identical rule (merge-gate senior review). In
|
|
138
|
+
// practice `raw` is ALWAYS '' here: the WHATWG fetch spec forces a
|
|
139
|
+
// null body for every 204/205/304 response, so `resp.text()` above
|
|
140
|
+
// already discarded whatever bytes the server actually sent before
|
|
141
|
+
// this line runs (verified against Node's own `fetch`). This branch
|
|
142
|
+
// stays correct for whatever `raw` it is given regardless — python's
|
|
143
|
+
// http.py reads raw socket bytes and is not subject to this
|
|
144
|
+
// fetch-specific stripping, so the decode path is live there. An empty
|
|
145
|
+
// 200 (or any other non-204 success) is still a ProtocolError: every
|
|
146
|
+
// other status decodes unconditionally, so an empty body only becomes
|
|
147
|
+
// {} through the 204 branch, exactly as before this change.
|
|
148
|
+
if (status === 204)
|
|
149
|
+
return raw === '' ? {} : decodeObject(raw);
|
|
133
150
|
if (status < 400)
|
|
134
151
|
return decodeObject(raw);
|
|
135
152
|
const envelope = decodeObject(raw);
|
|
@@ -172,12 +189,46 @@ export class HttpClient {
|
|
|
172
189
|
* optional on the wire (CONTRACT-V1 §5.0) and a `null` there is a
|
|
173
190
|
* `parameter_invalid` waiting to happen.
|
|
174
191
|
*/
|
|
175
|
-
async sendMessage(chat, text, idempotencyKey, replyTo) {
|
|
192
|
+
async sendMessage(chat, text, idempotencyKey, replyTo, mentions) {
|
|
176
193
|
const body = { chat, text };
|
|
177
194
|
if (replyTo != null && replyTo !== '')
|
|
178
195
|
body['reply_to'] = replyTo;
|
|
196
|
+
if (mentions !== undefined && mentions.length > 0)
|
|
197
|
+
body['mentions'] = mentions;
|
|
179
198
|
return this.request('POST', '/v1/messages', { body, idempotencyKey });
|
|
180
199
|
}
|
|
200
|
+
/** `POST .../typing` body is `{"is_typing": true|false}` — never `state`. */
|
|
201
|
+
async setTyping(chat, isTyping) {
|
|
202
|
+
await this.request('POST', `/v1/chats/${chat}/typing`, {
|
|
203
|
+
body: { is_typing: isTyping },
|
|
204
|
+
idempotencyKey: randomUUID(),
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
async editMessage(message, text) {
|
|
208
|
+
return this.request('PATCH', `/v1/messages/${message}`, {
|
|
209
|
+
body: { text },
|
|
210
|
+
idempotencyKey: randomUUID(),
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
async deleteMessage(message) {
|
|
214
|
+
await this.request('DELETE', `/v1/messages/${message}`, { idempotencyKey: randomUUID() });
|
|
215
|
+
}
|
|
216
|
+
/** The emoji is percent-encoded — it travels in the path, not the body. */
|
|
217
|
+
async setReaction(message, emoji) {
|
|
218
|
+
await this.request('PUT', `/v1/messages/${message}/reactions/${encodeURIComponent(emoji)}`, {
|
|
219
|
+
idempotencyKey: randomUUID(),
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
async unsetReaction(message, emoji) {
|
|
223
|
+
await this.request('DELETE', `/v1/messages/${message}/reactions/${encodeURIComponent(emoji)}`, {
|
|
224
|
+
idempotencyKey: randomUUID(),
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/** GET, so no idempotency key — reads are never retried-as-a-write. */
|
|
228
|
+
async listMembers(chat, cursor) {
|
|
229
|
+
const query = cursor !== undefined && cursor !== '' ? `?cursor=${encodeURIComponent(cursor)}` : '';
|
|
230
|
+
return this.request('GET', `/v1/chats/${chat}/members${query}`);
|
|
231
|
+
}
|
|
181
232
|
async syncCommands(bot, commands) {
|
|
182
233
|
return this.request('PUT', `/v1/bots/${bot}/commands`, {
|
|
183
234
|
body: { commands },
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
* asymmetry: adding an export later is free, removing one is a break.
|
|
21
21
|
*/
|
|
22
22
|
export { Bot } from './bot.js';
|
|
23
|
-
export { APIError, AccessTokenExpired, AccessTokenInvalid, AckUnknownEvent, AssertionExpired, AssertionReplay, AurivalAPIError, AurivalError, AuthenticationError, BadAssertion, BadProof, BadPublicKey, BotLinkNotAllowed, BotPlaygroundOnly, BotSuspended, CODE_CLASSES, DOC_URL_PREFIX, EmptyText, FrameInvalid, FrameTooLarge, IdempotencyKeyInvalid, IdempotencyKeyReused, IdleTimeout, InternalError, InvalidCommandName, InvalidJSON, InvalidRequestError, KeyAlreadyPaired, KeyRevoked, NotFound, PairRateLimited, ParameterInvalid, ParameterMissing, PermissionDeniedError, ProtocolError, RateLimitError, RateLimited, ServerRestarting, SessionSuperseded, SyncRateLimited, TYPE_CLASSES, TextTooLong, TooManyProblems, TransportError, UnknownOperation, UnknownParameter, fromEnvelope, } from './errors.js';
|
|
24
|
-
export { Context, Event } from './events.js';
|
|
25
|
-
export type { Chat, Command, User } from './events.js';
|
|
23
|
+
export { APIError, AccessTokenExpired, AccessTokenInvalid, AckUnknownEvent, AssertionExpired, AssertionReplay, AurivalAPIError, AurivalError, AuthenticationError, BadAssertion, BadProof, BadPublicKey, BotLinkNotAllowed, BotPlaygroundOnly, BotSuspended, CODE_CLASSES, DOC_URL_PREFIX, EmptyText, FrameInvalid, FrameTooLarge, IdempotencyKeyInvalid, IdempotencyKeyReused, IdleTimeout, InternalError, InvalidCommandName, InvalidJSON, InvalidRequestError, KeyAlreadyPaired, KeyRevoked, MentionNotMember, MentionTokenMissing, MessageNotYours, NotFound, PairRateLimited, ParameterInvalid, ParameterMissing, PermissionDeniedError, ProtocolError, RateLimitError, RateLimited, ReactionEmojiTooLong, ServerRestarting, SessionSuperseded, SyncRateLimited, TYPE_CLASSES, TextTooLong, TooManyProblems, TransportError, UnknownOperation, UnknownParameter, fromEnvelope, } from './errors.js';
|
|
24
|
+
export { Context, Event, Mention, mention } from './events.js';
|
|
25
|
+
export type { Chat, Command, MemberPage, Message, MentionLike, User } from './events.js';
|
|
26
26
|
export { BYE_ACTIONS, ByeAction, actionForBye } from './socket.js';
|
|
27
|
-
export declare const version = "0.
|
|
27
|
+
export declare const version = "0.2.0";
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|