simplex-chat 7.1.0-beta.4 → 7.1.0-beta.4.2
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 +4 -2
- package/dist/api.d.ts +72 -8
- package/dist/api.js +142 -26
- package/dist/api.js.map +1 -1
- package/dist/bot.d.ts +8 -6
- package/dist/bot.js +17 -34
- package/dist/bot.js.map +1 -1
- package/dist/core.d.ts +11 -7
- package/dist/core.js +5 -2
- package/dist/core.js.map +1 -1
- package/dist/simplex.d.ts +3 -2
- package/dist/util.js +1 -1
- package/dist/util.js.map +1 -1
- package/docs/api.TypeAlias.EventSubscriberFunc.md +5 -1
- package/docs/bot.Function.subscribeChatItems.md +1 -1
- package/docs/bot.Interface.BotConfig.md +6 -2
- package/examples/squaring-bot-readme.js +2 -2
- package/examples/squaring-bot.ts +4 -4
- package/package.json +1 -1
- package/src/api.ts +15 -4
- package/src/bot.ts +30 -11
- package/src/util.ts +2 -2
package/README.md
CHANGED
|
@@ -24,13 +24,13 @@ Simple bot that replies with squares of numbers you send to it:
|
|
|
24
24
|
const {bot} = await import("simplex-chat")
|
|
25
25
|
// if you are running from this GitHub repo:
|
|
26
26
|
// const {bot} = await import("../dist/index.js")
|
|
27
|
-
|
|
27
|
+
await bot.run({
|
|
28
28
|
profile: {displayName: "Squaring bot example", fullName: ""},
|
|
29
29
|
dbOpts: {type: "sqlite", filePrefix: "./squaring_bot"},
|
|
30
30
|
options: {
|
|
31
31
|
addressSettings: {welcomeMessage: "Send a number, I will square it.",
|
|
32
32
|
},
|
|
33
|
-
onMessage: async (ci, content) => {
|
|
33
|
+
onMessage: async (ci, content, chat) => {
|
|
34
34
|
const n = +content.text
|
|
35
35
|
const reply = typeof n === "number" && !isNaN(n)
|
|
36
36
|
? `${n} * ${n} = ${n * n}`
|
|
@@ -62,6 +62,8 @@ There is an example with more options in [./examples/squaring-bot.ts](./examples
|
|
|
62
62
|
|
|
63
63
|
You can run it with: `npx ts-node ./examples/squaring-bot.ts`
|
|
64
64
|
|
|
65
|
+
A larger example, with a business address and commands as keys: [SimpleX Calculator](../../apps/simplex-calculator-bot/).
|
|
66
|
+
|
|
65
67
|
## PostgreSQL backend
|
|
66
68
|
|
|
67
69
|
By default, the package uses SQLite. To use PostgreSQL instead:
|
package/dist/api.d.ts
CHANGED
|
@@ -37,10 +37,31 @@ export interface BotAddressSettings {
|
|
|
37
37
|
export declare const defaultBotAddressSettings: BotAddressSettings;
|
|
38
38
|
export type EventSubscriberFunc<K extends CEvt.Tag> = (event: ChatEvent & {
|
|
39
39
|
type: K;
|
|
40
|
-
}) => void | Promise<void>;
|
|
40
|
+
}, chat: ChatApi) => void | Promise<void>;
|
|
41
41
|
export type EventSubscribers = {
|
|
42
42
|
[K in CEvt.Tag]?: EventSubscriberFunc<K>;
|
|
43
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Database configuration. The native library is built against exactly one
|
|
46
|
+
* backend (see `simplex_backend` / `SIMPLEX_BACKEND` at install time); this
|
|
47
|
+
* type makes the caller state which one they are targeting so field names
|
|
48
|
+
* can't lie about their meaning.
|
|
49
|
+
*/
|
|
50
|
+
export type DbConfig = {
|
|
51
|
+
/** SQLite backend (default). */
|
|
52
|
+
type: "sqlite";
|
|
53
|
+
/** File prefix — two schema files are named `<prefix>_chat.db` and `<prefix>_agent.db`. */
|
|
54
|
+
filePrefix: string;
|
|
55
|
+
/** Optional SQLCipher encryption key. Empty/omitted = unencrypted. */
|
|
56
|
+
encryptionKey?: string;
|
|
57
|
+
} | {
|
|
58
|
+
/** PostgreSQL backend (Linux x86_64 only, libpq5 required). */
|
|
59
|
+
type: "postgres";
|
|
60
|
+
/** Schema prefix used to namespace tables. Defaults to `"simplex_v1"` when omitted. */
|
|
61
|
+
schemaPrefix?: string;
|
|
62
|
+
/** PostgreSQL connection string (e.g. `postgres://user:pass@host/db`). */
|
|
63
|
+
connectionString: string;
|
|
64
|
+
};
|
|
44
65
|
/**
|
|
45
66
|
* Main API class for interacting with the chat core library.
|
|
46
67
|
*/
|
|
@@ -53,26 +74,28 @@ export declare class ChatApi {
|
|
|
53
74
|
private constructor();
|
|
54
75
|
/**
|
|
55
76
|
* Initializes the ChatApi.
|
|
56
|
-
* @param {
|
|
57
|
-
* @param {string} [dbKey=""] - Database encryption key.
|
|
77
|
+
* @param {DbConfig} db - Database configuration (sqlite or postgres).
|
|
58
78
|
* @param {core.MigrationConfirmation} [confirm=core.MigrationConfirmation.YesUp] - Migration confirmation mode.
|
|
79
|
+
* @param {number} [queueSize] - Size of internal queues, the core default is used when omitted.
|
|
59
80
|
*/
|
|
60
|
-
static init(
|
|
81
|
+
static init(db: DbConfig, confirm?: core.MigrationConfirmation, queueSize?: number): Promise<ChatApi>;
|
|
61
82
|
/**
|
|
62
83
|
* Start chat controller. Must be called with the existing user profile.
|
|
63
84
|
*/
|
|
64
85
|
startChat(): Promise<void>;
|
|
65
86
|
/**
|
|
66
87
|
* Stop chat controller.
|
|
67
|
-
*
|
|
88
|
+
* `close` calls it before closing the database.
|
|
68
89
|
* Usually doesn't need to be called in chat bots.
|
|
69
90
|
*/
|
|
70
91
|
stopChat(): Promise<void>;
|
|
71
92
|
/**
|
|
72
|
-
*
|
|
93
|
+
* Stop chat controller and close chat database.
|
|
94
|
+
* The database is not closed if stopping fails.
|
|
73
95
|
* Usually doesn't need to be called in chat bots.
|
|
74
96
|
*/
|
|
75
97
|
close(): Promise<void>;
|
|
98
|
+
private stopEventsLoop;
|
|
76
99
|
private runEventsLoop;
|
|
77
100
|
/**
|
|
78
101
|
* Subscribe multiple event handlers at once.
|
|
@@ -205,7 +228,7 @@ export declare class ChatApi {
|
|
|
205
228
|
* Add/remove message reaction.
|
|
206
229
|
* Network usage: background.
|
|
207
230
|
*/
|
|
208
|
-
apiChatItemReaction(chatType: T.ChatType, chatId: number, chatItemId: number, add: boolean, reaction: T.MsgReaction): Promise<T.
|
|
231
|
+
apiChatItemReaction(chatType: T.ChatType, chatId: number, chatItemId: number, add: boolean, reaction: T.MsgReaction): Promise<T.ACIReaction>;
|
|
209
232
|
/**
|
|
210
233
|
* Receive file.
|
|
211
234
|
* Network usage: no.
|
|
@@ -301,7 +324,7 @@ export declare class ChatApi {
|
|
|
301
324
|
* Connect via prepared SimpleX link. The link can be 1-time invitation link, contact address or group link
|
|
302
325
|
* Network usage: interactive.
|
|
303
326
|
*/
|
|
304
|
-
apiConnect(userId: number, incognito: boolean, preparedLink
|
|
327
|
+
apiConnect(userId: number, incognito: boolean, preparedLink: T.CreatedConnLink): Promise<ConnReqType>;
|
|
305
328
|
/**
|
|
306
329
|
* Connect via SimpleX link as string in the active user profile.
|
|
307
330
|
* Network usage: interactive.
|
|
@@ -328,11 +351,40 @@ export declare class ChatApi {
|
|
|
328
351
|
* Network usage: no.
|
|
329
352
|
*/
|
|
330
353
|
apiListGroups(userId: number, contactId?: number, search?: string): Promise<T.GroupInfo[]>;
|
|
354
|
+
/**
|
|
355
|
+
* Get chat previews (paginated).
|
|
356
|
+
* Network usage: no.
|
|
357
|
+
*
|
|
358
|
+
* Prefer this over apiListContacts / apiListGroups for any scan: those
|
|
359
|
+
* methods load every record into memory in a single response and will fail
|
|
360
|
+
* on large databases.
|
|
361
|
+
*/
|
|
362
|
+
apiGetChats(userId: number, pagination: T.PaginationByTime, query?: T.ChatListQuery, pendingConnections?: boolean): Promise<T.AChat[]>;
|
|
331
363
|
/**
|
|
332
364
|
* Delete chat.
|
|
333
365
|
* Network usage: background.
|
|
334
366
|
*/
|
|
335
367
|
apiDeleteChat(chatType: T.ChatType, chatId: number, deleteMode?: T.ChatDeleteMode): Promise<void>;
|
|
368
|
+
/**
|
|
369
|
+
* Set group custom data.
|
|
370
|
+
* Network usage: no.
|
|
371
|
+
*/
|
|
372
|
+
apiSetGroupCustomData(groupId: number, customData?: object): Promise<void>;
|
|
373
|
+
/**
|
|
374
|
+
* Set contact custom data.
|
|
375
|
+
* Network usage: no.
|
|
376
|
+
*/
|
|
377
|
+
apiSetContactCustomData(contactId: number, customData?: object): Promise<void>;
|
|
378
|
+
/**
|
|
379
|
+
* Set auto-accept member contacts.
|
|
380
|
+
* Network usage: no.
|
|
381
|
+
*/
|
|
382
|
+
apiSetAutoAcceptMemberContacts(userId: number, onOff: boolean): Promise<void>;
|
|
383
|
+
/**
|
|
384
|
+
* Get chat items.
|
|
385
|
+
* Network usage: no.
|
|
386
|
+
*/
|
|
387
|
+
apiGetChat(chatType: T.ChatType, chatId: number, count: number): Promise<any>;
|
|
336
388
|
/**
|
|
337
389
|
* Get active user profile
|
|
338
390
|
* Network usage: no.
|
|
@@ -368,4 +420,16 @@ export declare class ChatApi {
|
|
|
368
420
|
* Network usage: background.
|
|
369
421
|
*/
|
|
370
422
|
apiSetContactPrefs(contactId: number, preferences: T.Preferences): Promise<void>;
|
|
423
|
+
/**
|
|
424
|
+
* Create a direct message contact with a group member.
|
|
425
|
+
* Returns the created contact.
|
|
426
|
+
* Network usage: interactive.
|
|
427
|
+
*/
|
|
428
|
+
apiCreateMemberContact(groupId: number, groupMemberId: number): Promise<T.Contact>;
|
|
429
|
+
/**
|
|
430
|
+
* Send a direct message invitation to a group member contact.
|
|
431
|
+
* The contact must have been created with {@link apiCreateMemberContact}.
|
|
432
|
+
* Network usage: interactive.
|
|
433
|
+
*/
|
|
434
|
+
apiSendMemberContactInvitation(contactId: number, message?: T.MsgContent | string): Promise<T.Contact>;
|
|
371
435
|
}
|
package/dist/api.js
CHANGED
|
@@ -26,6 +26,17 @@ exports.defaultBotAddressSettings = {
|
|
|
26
26
|
welcomeMessage: undefined,
|
|
27
27
|
businessAddress: false
|
|
28
28
|
};
|
|
29
|
+
function dbConfigToMigrateArgs(db) {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
switch (db.type) {
|
|
32
|
+
case "sqlite":
|
|
33
|
+
return [db.filePrefix, (_a = db.encryptionKey) !== null && _a !== void 0 ? _a : ""];
|
|
34
|
+
case "postgres":
|
|
35
|
+
return [(_b = db.schemaPrefix) !== null && _b !== void 0 ? _b : "", db.connectionString];
|
|
36
|
+
default:
|
|
37
|
+
throw new Error(`Invalid DbConfig: ${JSON.stringify(db)}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
29
40
|
/**
|
|
30
41
|
* Main API class for interacting with the chat core library.
|
|
31
42
|
*/
|
|
@@ -39,50 +50,64 @@ class ChatApi {
|
|
|
39
50
|
}
|
|
40
51
|
/**
|
|
41
52
|
* Initializes the ChatApi.
|
|
42
|
-
* @param {
|
|
43
|
-
* @param {string} [dbKey=""] - Database encryption key.
|
|
53
|
+
* @param {DbConfig} db - Database configuration (sqlite or postgres).
|
|
44
54
|
* @param {core.MigrationConfirmation} [confirm=core.MigrationConfirmation.YesUp] - Migration confirmation mode.
|
|
55
|
+
* @param {number} [queueSize] - Size of internal queues, the core default is used when omitted.
|
|
45
56
|
*/
|
|
46
|
-
static async init(
|
|
47
|
-
const
|
|
57
|
+
static async init(db, confirm = core.MigrationConfirmation.YesUp, queueSize) {
|
|
58
|
+
const [path, key] = dbConfigToMigrateArgs(db);
|
|
59
|
+
const ctrl = await core.chatMigrateInit(path, key, confirm, queueSize);
|
|
48
60
|
return new ChatApi(ctrl);
|
|
49
61
|
}
|
|
50
62
|
/**
|
|
51
63
|
* Start chat controller. Must be called with the existing user profile.
|
|
52
64
|
*/
|
|
53
65
|
async startChat() {
|
|
66
|
+
if (this.eventsLoop)
|
|
67
|
+
throw new Error("chat already started");
|
|
68
|
+
const ctrl = this.ctrl;
|
|
54
69
|
this.receiveEvents = true;
|
|
55
70
|
this.eventsLoop = this.runEventsLoop();
|
|
56
|
-
|
|
71
|
+
let r;
|
|
72
|
+
try {
|
|
73
|
+
r = await core.chatSendCmd(ctrl, types_1.CC.StartChat.cmdString({ mainApp: true, enableSndFiles: true, serviceRequests: false }));
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
await this.stopEventsLoop();
|
|
77
|
+
throw e;
|
|
78
|
+
}
|
|
57
79
|
if (r.type !== "chatStarted" && r.type !== "chatRunning") {
|
|
80
|
+
await this.stopEventsLoop();
|
|
58
81
|
throw new ChatCommandError("error starting chat", r);
|
|
59
82
|
}
|
|
60
83
|
}
|
|
61
84
|
/**
|
|
62
85
|
* Stop chat controller.
|
|
63
|
-
*
|
|
86
|
+
* `close` calls it before closing the database.
|
|
64
87
|
* Usually doesn't need to be called in chat bots.
|
|
65
88
|
*/
|
|
66
89
|
async stopChat() {
|
|
67
90
|
const r = await this.sendChatCmd("/_stop");
|
|
68
91
|
if (r.type !== "chatStopped")
|
|
69
|
-
throw new ChatCommandError("error
|
|
70
|
-
this.
|
|
71
|
-
if (this.eventsLoop)
|
|
72
|
-
await this.eventsLoop;
|
|
73
|
-
this.eventsLoop = undefined;
|
|
92
|
+
throw new ChatCommandError("error stopping chat", r);
|
|
93
|
+
await this.stopEventsLoop();
|
|
74
94
|
}
|
|
75
95
|
/**
|
|
76
|
-
*
|
|
96
|
+
* Stop chat controller and close chat database.
|
|
97
|
+
* The database is not closed if stopping fails.
|
|
77
98
|
* Usually doesn't need to be called in chat bots.
|
|
78
99
|
*/
|
|
79
100
|
async close() {
|
|
101
|
+
// a running controller keeps using the database connections that closing frees
|
|
102
|
+
await this.stopChat();
|
|
103
|
+
await core.chatCloseStore(this.ctrl);
|
|
104
|
+
this.ctrl_ = undefined;
|
|
105
|
+
}
|
|
106
|
+
async stopEventsLoop() {
|
|
80
107
|
this.receiveEvents = false;
|
|
81
108
|
if (this.eventsLoop)
|
|
82
109
|
await this.eventsLoop;
|
|
83
110
|
this.eventsLoop = undefined;
|
|
84
|
-
await core.chatCloseStore(this.ctrl);
|
|
85
|
-
this.ctrl_ = undefined;
|
|
86
111
|
}
|
|
87
112
|
async runEventsLoop() {
|
|
88
113
|
while (this.receiveEvents) {
|
|
@@ -94,7 +119,7 @@ class ChatApi {
|
|
|
94
119
|
if (subs) {
|
|
95
120
|
for (const { subscriber, once } of [...subs]) {
|
|
96
121
|
try {
|
|
97
|
-
const p = subscriber(event);
|
|
122
|
+
const p = subscriber(event, this);
|
|
98
123
|
if (p instanceof Promise)
|
|
99
124
|
await p;
|
|
100
125
|
}
|
|
@@ -107,7 +132,7 @@ class ChatApi {
|
|
|
107
132
|
}
|
|
108
133
|
for (const r of [...this.receivers]) {
|
|
109
134
|
try {
|
|
110
|
-
const p = r(event);
|
|
135
|
+
const p = r(event, this);
|
|
111
136
|
if (p instanceof Promise)
|
|
112
137
|
await p;
|
|
113
138
|
}
|
|
@@ -259,7 +284,7 @@ class ChatApi {
|
|
|
259
284
|
async sendChatCmd(cmd) {
|
|
260
285
|
return await core.chatSendCmd(this.ctrl, cmd);
|
|
261
286
|
}
|
|
262
|
-
async recvChatEvent(wait =
|
|
287
|
+
async recvChatEvent(wait = 500000) {
|
|
263
288
|
return await core.chatRecvMsgWait(this.ctrl, wait);
|
|
264
289
|
}
|
|
265
290
|
/**
|
|
@@ -311,8 +336,10 @@ class ChatApi {
|
|
|
311
336
|
switch (r.type) {
|
|
312
337
|
case "userProfileUpdated":
|
|
313
338
|
return r.updateSummary;
|
|
339
|
+
case "userProfileNoChange":
|
|
340
|
+
return { updateSuccesses: 0, updateFailures: 0, changedContacts: [] };
|
|
314
341
|
default:
|
|
315
|
-
throw new ChatCommandError("error
|
|
342
|
+
throw new ChatCommandError("error setting profile address", r);
|
|
316
343
|
}
|
|
317
344
|
}
|
|
318
345
|
/**
|
|
@@ -346,7 +373,8 @@ class ChatApi {
|
|
|
346
373
|
const r = await this.sendChatCmd(types_1.CC.APISendMessages.cmdString({
|
|
347
374
|
sendRef,
|
|
348
375
|
composedMessages: messages,
|
|
349
|
-
liveMessage
|
|
376
|
+
liveMessage,
|
|
377
|
+
signMessages: false
|
|
350
378
|
}));
|
|
351
379
|
if (r.type === "newChatItems")
|
|
352
380
|
return r.chatItems;
|
|
@@ -377,7 +405,7 @@ class ChatApi {
|
|
|
377
405
|
liveMessage,
|
|
378
406
|
updatedMessage: { msgContent, mentions: {} },
|
|
379
407
|
}));
|
|
380
|
-
if (r.type === "chatItemUpdated")
|
|
408
|
+
if (r.type === "chatItemUpdated" || r.type === "chatItemNotChanged")
|
|
381
409
|
return r.chatItem.chatItem;
|
|
382
410
|
throw new ChatCommandError("error updating chat item", r);
|
|
383
411
|
}
|
|
@@ -407,8 +435,8 @@ class ChatApi {
|
|
|
407
435
|
*/
|
|
408
436
|
async apiChatItemReaction(chatType, chatId, chatItemId, add, reaction) {
|
|
409
437
|
const r = await this.sendChatCmd(types_1.CC.APIChatItemReaction.cmdString({ chatRef: { chatType, chatId }, chatItemId, add, reaction }));
|
|
410
|
-
if (r.type === "
|
|
411
|
-
return r.
|
|
438
|
+
if (r.type === "chatItemReaction")
|
|
439
|
+
return r.reaction;
|
|
412
440
|
throw new ChatCommandError("error setting item reaction", r);
|
|
413
441
|
}
|
|
414
442
|
/**
|
|
@@ -419,6 +447,8 @@ class ChatApi {
|
|
|
419
447
|
const r = await this.sendChatCmd(types_1.CC.ReceiveFile.cmdString({ fileId, userApprovedRelays: true }));
|
|
420
448
|
if (r.type === "rcvFileAccepted")
|
|
421
449
|
return r.chatItem;
|
|
450
|
+
if (r.type === "rcvFileAcceptedSndCancelled")
|
|
451
|
+
throw new ChatCommandError("file cancelled by sender", r);
|
|
422
452
|
throw new ChatCommandError("error receiving file", r);
|
|
423
453
|
}
|
|
424
454
|
/**
|
|
@@ -592,7 +622,7 @@ class ChatApi {
|
|
|
592
622
|
* Network usage: interactive.
|
|
593
623
|
*/
|
|
594
624
|
async apiConnectPlan(userId, connectionLink) {
|
|
595
|
-
const r = await this.sendChatCmd(types_1.CC.APIConnectPlan.cmdString({ userId, connectionLink }));
|
|
625
|
+
const r = await this.sendChatCmd(types_1.CC.APIConnectPlan.cmdString({ userId, connectTarget: connectionLink, resolveMode: types_1.T.PlanResolveMode.Unknown }));
|
|
596
626
|
if (r.type === "connectionPlan")
|
|
597
627
|
return [r.connectionPlan, r.connLink];
|
|
598
628
|
throw new ChatCommandError("error getting connect plan", r);
|
|
@@ -610,7 +640,7 @@ class ChatApi {
|
|
|
610
640
|
* Network usage: interactive.
|
|
611
641
|
*/
|
|
612
642
|
async apiConnectActiveUser(connLink) {
|
|
613
|
-
const r = await this.sendChatCmd(types_1.CC.Connect.cmdString({ incognito: false,
|
|
643
|
+
const r = await this.sendChatCmd(types_1.CC.Connect.cmdString({ incognito: false, connTarget_: connLink }));
|
|
614
644
|
return this.handleConnectResult(r);
|
|
615
645
|
}
|
|
616
646
|
handleConnectResult(r) {
|
|
@@ -640,7 +670,7 @@ class ChatApi {
|
|
|
640
670
|
* Network usage: no.
|
|
641
671
|
*/
|
|
642
672
|
async apiRejectContactRequest(contactReqId) {
|
|
643
|
-
const r = await this.sendChatCmd(types_1.CC.APIRejectContact.cmdString({ contactReqId }));
|
|
673
|
+
const r = await this.sendChatCmd(types_1.CC.APIRejectContact.cmdString({ contactReqId, notify: false }));
|
|
644
674
|
if (r.type === "contactRequestRejected")
|
|
645
675
|
return;
|
|
646
676
|
throw new ChatCommandError("error rejecting contact request", r);
|
|
@@ -665,6 +695,20 @@ class ChatApi {
|
|
|
665
695
|
return r.groups;
|
|
666
696
|
throw new ChatCommandError("error listing groups", r);
|
|
667
697
|
}
|
|
698
|
+
/**
|
|
699
|
+
* Get chat previews (paginated).
|
|
700
|
+
* Network usage: no.
|
|
701
|
+
*
|
|
702
|
+
* Prefer this over apiListContacts / apiListGroups for any scan: those
|
|
703
|
+
* methods load every record into memory in a single response and will fail
|
|
704
|
+
* on large databases.
|
|
705
|
+
*/
|
|
706
|
+
async apiGetChats(userId, pagination, query = { type: "filters", favorite: false, unread: false }, pendingConnections = false) {
|
|
707
|
+
const r = await this.sendChatCmd(types_1.CC.APIGetChats.cmdString({ userId, pendingConnections, pagination, query }));
|
|
708
|
+
if (r.type === "apiChats")
|
|
709
|
+
return r.chats;
|
|
710
|
+
throw new ChatCommandError("error getting chats", r);
|
|
711
|
+
}
|
|
668
712
|
/**
|
|
669
713
|
* Delete chat.
|
|
670
714
|
* Network usage: background.
|
|
@@ -683,6 +727,47 @@ class ChatApi {
|
|
|
683
727
|
}
|
|
684
728
|
throw new ChatCommandError("error deleting chat", r);
|
|
685
729
|
}
|
|
730
|
+
/**
|
|
731
|
+
* Set group custom data.
|
|
732
|
+
* Network usage: no.
|
|
733
|
+
*/
|
|
734
|
+
async apiSetGroupCustomData(groupId, customData) {
|
|
735
|
+
const r = await this.sendChatCmd(types_1.CC.APISetGroupCustomData.cmdString({ groupId, customData }));
|
|
736
|
+
if (r.type === "cmdOk")
|
|
737
|
+
return;
|
|
738
|
+
throw new ChatCommandError("error setting group custom data", r);
|
|
739
|
+
}
|
|
740
|
+
/**
|
|
741
|
+
* Set contact custom data.
|
|
742
|
+
* Network usage: no.
|
|
743
|
+
*/
|
|
744
|
+
async apiSetContactCustomData(contactId, customData) {
|
|
745
|
+
const r = await this.sendChatCmd(types_1.CC.APISetContactCustomData.cmdString({ contactId, customData }));
|
|
746
|
+
if (r.type === "cmdOk")
|
|
747
|
+
return;
|
|
748
|
+
throw new ChatCommandError("error setting contact custom data", r);
|
|
749
|
+
}
|
|
750
|
+
/**
|
|
751
|
+
* Set auto-accept member contacts.
|
|
752
|
+
* Network usage: no.
|
|
753
|
+
*/
|
|
754
|
+
async apiSetAutoAcceptMemberContacts(userId, onOff) {
|
|
755
|
+
const r = await this.sendChatCmd(types_1.CC.APISetUserAutoAcceptMemberContacts.cmdString({ userId, onOff }));
|
|
756
|
+
if (r.type === "cmdOk")
|
|
757
|
+
return;
|
|
758
|
+
throw new ChatCommandError("error setting auto-accept member contacts", r);
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Get chat items.
|
|
762
|
+
* Network usage: no.
|
|
763
|
+
*/
|
|
764
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
765
|
+
async apiGetChat(chatType, chatId, count) {
|
|
766
|
+
const r = await this.sendChatCmd(`/_get chat ${types_1.T.ChatType.cmdString(chatType)}${chatId} count=${count}`);
|
|
767
|
+
if (r.type === "apiChat")
|
|
768
|
+
return r.chat;
|
|
769
|
+
throw new ChatCommandError("error getting chat", r);
|
|
770
|
+
}
|
|
686
771
|
/**
|
|
687
772
|
* Get active user profile
|
|
688
773
|
* Network usage: no.
|
|
@@ -710,7 +795,7 @@ class ChatApi {
|
|
|
710
795
|
* Network usage: no.
|
|
711
796
|
*/
|
|
712
797
|
async apiCreateActiveUser(profile) {
|
|
713
|
-
const r = await this.sendChatCmd(types_1.CC.CreateActiveUser.cmdString({ newUser: { profile, pastTimestamp: false } }));
|
|
798
|
+
const r = await this.sendChatCmd(types_1.CC.CreateActiveUser.cmdString({ newUser: { profile, pastTimestamp: false, userChatRelay: false, clientService: false } }));
|
|
714
799
|
if (r.type === "activeUser")
|
|
715
800
|
return r.user;
|
|
716
801
|
throw new ChatCommandError("unexpected response", r);
|
|
@@ -769,6 +854,37 @@ class ChatApi {
|
|
|
769
854
|
if (r.type !== "contactPrefsUpdated")
|
|
770
855
|
throw new ChatCommandError("error setting contact prefs", r);
|
|
771
856
|
}
|
|
857
|
+
/**
|
|
858
|
+
* Create a direct message contact with a group member.
|
|
859
|
+
* Returns the created contact.
|
|
860
|
+
* Network usage: interactive.
|
|
861
|
+
*/
|
|
862
|
+
async apiCreateMemberContact(groupId, groupMemberId) {
|
|
863
|
+
const r = await this.sendChatCmd(`/_create member contact #${groupId} ${groupMemberId}`);
|
|
864
|
+
if (r.type === "newMemberContact")
|
|
865
|
+
return r.contact;
|
|
866
|
+
throw new ChatCommandError("error creating member contact", r);
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Send a direct message invitation to a group member contact.
|
|
870
|
+
* The contact must have been created with {@link apiCreateMemberContact}.
|
|
871
|
+
* Network usage: interactive.
|
|
872
|
+
*/
|
|
873
|
+
async apiSendMemberContactInvitation(contactId, message) {
|
|
874
|
+
let cmd = `/_invite member contact @${contactId}`;
|
|
875
|
+
if (message !== undefined) {
|
|
876
|
+
if (typeof message === "string") {
|
|
877
|
+
cmd += ` text ${message}`;
|
|
878
|
+
}
|
|
879
|
+
else {
|
|
880
|
+
cmd += ` json ${JSON.stringify(message)}`;
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
const r = await this.sendChatCmd(cmd);
|
|
884
|
+
if (r.type === "newMemberContactSentInv")
|
|
885
|
+
return r.contact;
|
|
886
|
+
throw new ChatCommandError("error sending member contact invitation", r);
|
|
887
|
+
}
|
|
772
888
|
}
|
|
773
889
|
exports.ChatApi = ChatApi;
|
|
774
890
|
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AACxE,+BAA8B;AAC9B,+BAA8B;AAE9B,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAmB,OAAe,EAAS,QAAsB;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAA;QADG,YAAO,GAAP,OAAO,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAc;IAEjE,CAAC;CACF;AAJD,4CAIC;AAED;;;GAGG;AACH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AA0BY,QAAA,yBAAyB,GAAuB;IAC3D,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,KAAK;CACvB,CAAA;AAmCD,SAAS,qBAAqB,CAAC,EAAY;;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAA,EAAE,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAA;QAChD,KAAK,UAAU;YACb,OAAO,CAAC,MAAA,EAAE,CAAC,YAAY,mCAAI,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAA;QACrD;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAkB,CAAC,EAAE,CAAC,CAAA;IAC9E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAa,OAAO;IAMlB,YAA8B,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;QAL/C,kBAAa,GAAG,KAAK,CAAA;QACrB,eAAU,GAA8B,SAAS,CAAA;QACjD,gBAAW,GAA6C,EAAE,CAAA;QAC1D,cAAS,GAAoC,EAAE,CAAA;IAEG,CAAC;IAE3D;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,EAAY,EACZ,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAC1C,SAAkB;QAElB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,IAAI,CAAe,CAAA;QACnB,IAAI,CAAC;YACH,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QACzH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC3B,MAAM,CAAC,CAAA;QACT,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC3B,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;YAAE,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;QAClF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,+EAA+E;QAC/E,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACrB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;gBACxC,IAAI,CAAC,KAAK;oBAAE,SAAQ;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACzC,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;wBAC3C,IAAI,CAAC;4BACH,MAAM,CAAC,GAAI,UAAqD,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;4BAC7E,IAAI,CAAC,YAAY,OAAO;gCAAE,MAAM,CAAC,CAAA;wBACnC,CAAC;wBAAC,OAAM,CAAC,EAAE,CAAC;4BACV,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC,CAAA;wBACxD,CAAC;wBACD,IAAI,IAAI;4BAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,UAAoD,CAAC,CAAA;oBACtF,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;wBACxB,IAAI,CAAC,YAAY,OAAO;4BAAE,MAAM,CAAC,CAAA;oBACnC,CAAC;oBAAC,OAAM,CAAC,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC,CAAA;oBACxD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAM,GAAG,EAAE,CAAC;gBACZ,MAAM,CAAC,GAAG,GAAwB,CAAA;gBAClC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAgBD,EAAE,CAAqB,MAA4B,EAAE,UAAmC;QACtF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAA4D,CAAA;YACtG,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC/C,IAAI,UAAU;oBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,GAAG,CAAqB,KAAQ,EAAE,UAAkC,EAAE,OAAgB,KAAK;QACjG,MAAM,IAAI,GAAyB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5F,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;YAAE,MAAM,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAA;QAC/G,IAAI,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAA;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAuC;QAC3C,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC;YAAE,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAChG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAqB,KAAQ,EAAE,UAAkC;QACnE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAUD,IAAI,CACF,KAAQ,EACR,YAA8E,SAAS,EAAE,qBAAqB;IAC9G,UAAkB,CAAC,CAAC,qCAAqC;;QAEzD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,GAAG,SAAS,CAAA;YACnB,SAAS,GAAG,SAAS,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,GAAG,IAAI,CAAA;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC7B,CAAC,CAAA;YACD,MAAM,UAAU,GAA2B,KAAK,EAAE,GAA0B,EAAE,EAAE;gBAC9E,IAAI,IAAI;oBAAE,OAAM;gBAChB,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;4BAAE,OAAM;oBAAC,CAAC;oBACnC,OAAM,CAAC,EAAE,CAAC;wBAAC,OAAO,EAAE,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAAC,OAAM;oBAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC1B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,OAAO,EAAE,CAAC;oBAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAqB,KAAQ,EAAE,aAAiD,SAAS;QAC1F,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAA;gBAC1D,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAsD,SAAS;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;;YAChD,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,MAAO;QACxC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAA;QAC3E,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB;YAAE,OAAO,CAAC,CAAC,eAAe,CAAA;QACjE,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAA;QAC3E,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB;YAAE,OAAM;QAC/C,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;;QACpC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAA;YACzE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAA;gBAC5C,OAAO,CAAC,CAAC,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAU,CAAA;YACpB,IAAI,CAAA,MAAA,CAAC,CAAC,SAAS,0CAAE,IAAI,MAAK,YAAY,IAAI,CAAA,MAAA,CAAC,CAAC,SAAS,CAAC,UAAU,0CAAE,IAAI,MAAK,yBAAyB;gBAAE,OAAO,SAAS,CAAA;YACtH,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,MAAe;QACxD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC,CAAA;QACrF,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,oBAAoB;gBACvB,OAAO,CAAC,CAAC,aAAa,CAAA;YACxB,KAAK,qBAAqB;gBACxB,OAAO,EAAC,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAC,CAAA;YACrE;gBACE,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,EAAC,UAAU,EAAE,cAAc,EAAE,eAAe,EAAqB;QAC3G,MAAM,SAAS,GAAG,cAAc,IAAI,iCAAyB,CAAC,cAAc,CAAA;QAC5E,MAAM,QAAQ,GAAsB;YAClC,UAAU,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,SAAS;YACjI,SAAS,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,SAAS;YACtF,eAAe,EAAE,eAAe,IAAI,iCAAyB,CAAC,eAAe,IAAI,KAAK;SACvF,CAAA;QACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;QACxF,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC,8CAA8C,EAAE,CAAC,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,IAAmD,EAAE,QAA6B,EAAE,WAAW,GAAG,KAAK;QAC3H,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACnB,CAAC,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAC;YACtC,CAAC,CAAC,UAAU,IAAI,IAAI;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAC9E,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAC9B,UAAE,CAAC,eAAe,CAAC,SAAS,CAAC;YAC3B,OAAO;YACP,gBAAgB,EAAE,QAAQ;YAC1B,WAAW;YACX,YAAY,EAAE,KAAK;SACpB,CAAC,CACH,CAAA;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC,SAAS,CAAA;QACjD,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAmD,EAAE,IAAY,EAAE,SAAkB;QAC5G,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAC,CAAC,CAAC,CAAA;IAChH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAqB,EAAE,IAAY;QACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACxF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAoB,EAAE,MAAc,EAAE,UAAkB,EAAE,UAAwB,EAAE,WAAkB;QAC5H,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAC9B,UAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC7B,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC;YAC3B,UAAU;YACV,WAAW;YACX,cAAc,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAC;SAC3C,CAAC,CACH,CAAA;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAA;QAC/F,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,QAAoB,EACpB,MAAc,EACd,WAAqB,EACrB,UAA0B;QAE1B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QACxH,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,CAAC,CAAC,iBAAiB,CAAA;QAC7D,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,OAAe,EAAE,WAAqB;QAClE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC,CAAA;QAC9F,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,CAAC,CAAC,iBAAiB,CAAA;QAC7D,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAAoB,EACpB,MAAc,EACd,UAAkB,EAClB,GAAY,EACZ,QAAuB;QAEvB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;QAC5H,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,CAAC,CAAC,QAAQ,CAAA;QACpD,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;QAC9F,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,CAAC,CAAC,QAAQ,CAAA;QACnD,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B;YAAE,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;QACvG,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAM;QAC1E,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,SAAiB,EAAE,UAA6B;QAClF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB;YAAE,OAAO,CAAC,CAAC,MAAM,CAAA;QACrD,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB;YAAE,OAAO,CAAC,CAAC,SAAS,CAAA;QAC1D,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,aAAqB,EAAE,UAA6B;QACzF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QACpG,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,CAAC,CAAC,MAAM,CAAA;QAChD,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,cAAwB,EAAE,UAA6B;QAC9F,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QACpG,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAM;QACxC,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAe,EAAE,cAAwB,EAAE,OAAgB;QACrF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;QACxG,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B;YAAE,OAAM;QACjD,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,SAAmB,EAAE,YAAY,GAAG,KAAK;QAC/E,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAC,CAAC,CAAC,CAAA;QACnH,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,OAAO,CAAC,CAAC,OAAO,CAAA;QACrD,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,CAAC,CAAC,SAAS,CAAA;QACnD,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;QACrD,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,YAA4B;QAC5D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QACpG,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC,SAAS,CAAA;QACjD,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAe,EAAE,YAA4B;QACvE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC,OAAO,CAAA;QAC/C,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,UAA6B;QACrE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QACxF,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAA;YACxC,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAA;QAChD,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAAC,OAAe,EAAE,UAA6B;QAC5E,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QAC5F,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;IACnG,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAA;QACzE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,CAAC,CAAC,SAAS,CAAA;QAC9C,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;QAClE,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAA;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QACxF,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAA;YACjC,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAA;QAChD,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,cAAsB;QACzD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,SAAC,CAAC,eAAe,CAAC,OAAO,EAAC,CAAC,CAAC,CAAA;QAC9I,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;QACtE,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,SAAkB,EAAE,YAA+B;QAClF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAC,CAAC,CAAC,CAAA;QAC3G,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;QACjG,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IAEO,mBAAmB,CAAC,CAAe;QACzC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,kBAAkB;gBACrB,OAAO,WAAW,CAAC,UAAU,CAAA;YAC/B,KAAK,gBAAgB;gBACnB,OAAO,WAAW,CAAC,OAAO,CAAA;YAC5B,KAAK,sBAAsB;gBACzB,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;YACzD;gBACE,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,YAAoB;QAChD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,YAAY,EAAC,CAAC,CAAC,CAAA;QAC/E,IAAI,CAAC,CAAC,IAAI,KAAK,yBAAyB;YAAE,OAAO,CAAC,CAAC,OAAO,CAAA;QAC1D,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,YAAoB;QAChD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAC9F,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB;YAAE,OAAM;QAC/C,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC,QAAQ,CAAA;QAChD,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,SAAkB,EAAE,MAAe;QACrE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC,CAAC,CAAA;QACrG,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC,MAAM,CAAA;QAC5C,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CACf,MAAc,EACd,UAA8B,EAC9B,QAAyB,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,EAC1E,kBAAkB,GAAG,KAAK;QAE1B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAC3G,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,CAAC,CAAC,KAAK,CAAA;QACzC,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,QAAoB,EAAE,MAAc,EAAE,aAA+B,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC;QACnH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,cAAc,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QACvH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,SAAC,CAAC,QAAQ,CAAC,MAAM;gBACpB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAM;gBACvC,MAAK;YACP,KAAK,SAAC,CAAC,QAAQ,CAAC,KAAK;gBACnB,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;oBAAE,OAAM;gBACzC,MAAK;QACT,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAe,EAAE,UAAmB;QAC9D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QAC3F,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAM;QAC9B,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,SAAiB,EAAE,UAAmB;QAClE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC,CAAA;QAC/F,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAM;QAC9B,MAAM,IAAI,gBAAgB,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,8BAA8B,CAAC,MAAc,EAAE,KAAc;QACjE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,kCAAkC,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAClG,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAM;QAC9B,MAAM,IAAI,gBAAgB,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED;;;OAGG;IACH,8DAA8D;IAC9D,KAAK,CAAC,UAAU,CAAC,QAAoB,EAAE,MAAc,EAAE,KAAa;QAClE,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,SAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,UAAU,KAAK,EAAE,CAAC,CAAA;QAC7G,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,IAAI,CAAA;QACvC,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;;QACpB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;YACjE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,YAAY;oBACf,OAAO,CAAC,CAAC,IAAI,CAAA;gBACf;oBACE,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAwB,CAAA;YAClC,IAAI,CAAA,MAAA,CAAC,CAAC,SAAS,0CAAE,IAAI,MAAK,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,SAAS,CAAA;YACpG,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAmB;QAC3C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,EAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC,EAAC,CAAC,CAAC,CAAA;QACvJ,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,CAAC,CAAC,KAAK,CAAA;QAC1C,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAgB;QACrD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;QAClF,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,YAAqB,EAAE,OAAgB;QACzE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAM;QAC9B,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAkB;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;QAClF,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,qBAAqB;gBACxB,OAAO,SAAS,CAAA;YAClB,KAAK,oBAAoB;gBACvB,OAAO,CAAC,CAAC,aAAa,CAAA;YACxB;gBACE,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,WAA0B;QACpE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC,CAAA;QAC3F,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB;YAAE,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IACpG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,aAAqB;QACjE,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,OAAO,IAAI,aAAa,EAAE,CAAC,CAAA;QAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,CAAC,CAAC,OAAO,CAAA;QACnD,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,8BAA8B,CAAC,SAAiB,EAAE,OAA+B;QACrF,IAAI,GAAG,GAAG,4BAA4B,SAAS,EAAE,CAAA;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,GAAG,IAAI,SAAS,OAAO,EAAE,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAA;YAC3C,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,yBAAyB;YAAE,OAAO,CAAC,CAAC,OAAO,CAAA;QAC1D,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;CACF;AAh3BD,0BAg3BC"}
|
package/dist/bot.d.ts
CHANGED
|
@@ -2,11 +2,10 @@ import { T } from "@simplex-chat/types";
|
|
|
2
2
|
import * as api from "./api";
|
|
3
3
|
import * as core from "./core";
|
|
4
4
|
import * as util from "./util";
|
|
5
|
-
export
|
|
6
|
-
dbFilePrefix: string;
|
|
7
|
-
dbKey?: string;
|
|
5
|
+
export type BotDbOpts = api.DbConfig & {
|
|
8
6
|
confirmMigrations?: core.MigrationConfirmation;
|
|
9
|
-
|
|
7
|
+
queueSize?: number;
|
|
8
|
+
};
|
|
10
9
|
export interface BotOptions {
|
|
11
10
|
createAddress?: boolean;
|
|
12
11
|
updateAddress?: boolean;
|
|
@@ -22,10 +21,13 @@ export interface BotConfig {
|
|
|
22
21
|
profile: T.Profile;
|
|
23
22
|
dbOpts: BotDbOpts;
|
|
24
23
|
options: BotOptions;
|
|
25
|
-
onMessage?: (chatItem: T.AChatItem, content: T.MsgContent) => void | Promise<void>;
|
|
24
|
+
onMessage?: (chatItem: T.AChatItem, content: T.MsgContent, chat: api.ChatApi) => void | Promise<void>;
|
|
26
25
|
onCommands?: {
|
|
27
|
-
[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand) => void | Promise<void>);
|
|
26
|
+
[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand, chat: api.ChatApi) => void | Promise<void>);
|
|
28
27
|
};
|
|
29
28
|
events?: api.EventSubscribers;
|
|
30
29
|
}
|
|
31
30
|
export declare function run({ profile, dbOpts, options, onMessage, onCommands, events }: BotConfig): Promise<[api.ChatApi, T.User, T.UserContactLink | undefined]>;
|
|
31
|
+
export declare function subscribeChatItems(bot: api.ChatApi, onMessage: ((chatItem: T.AChatItem, content: T.MsgContent, chat: api.ChatApi) => void | Promise<void>) | undefined, commands: {
|
|
32
|
+
[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand, chat: api.ChatApi) => void | Promise<void>);
|
|
33
|
+
}): void;
|
package/dist/bot.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.run = run;
|
|
4
|
+
exports.subscribeChatItems = subscribeChatItems;
|
|
4
5
|
const types_1 = require("@simplex-chat/types");
|
|
5
6
|
const api = require("./api");
|
|
6
7
|
const core = require("./core");
|
|
@@ -18,12 +19,10 @@ const defaultOpts = {
|
|
|
18
19
|
logNetwork: false
|
|
19
20
|
};
|
|
20
21
|
async function run({ profile, dbOpts, options = defaultOpts, onMessage, onCommands = {}, events = {} }) {
|
|
21
|
-
const bot = await api.ChatApi.init(dbOpts
|
|
22
|
+
const bot = await api.ChatApi.init(dbOpts, dbOpts.confirmMigrations || core.MigrationConfirmation.YesUp, dbOpts.queueSize);
|
|
22
23
|
const opts = fullOptions(options);
|
|
23
|
-
if (onMessage)
|
|
24
|
-
|
|
25
|
-
if (Object.keys(onCommands).length > 0)
|
|
26
|
-
subscribeCommands(bot, onCommands);
|
|
24
|
+
if (onMessage || Object.keys(onCommands).length > 0)
|
|
25
|
+
subscribeChatItems(bot, onMessage, onCommands);
|
|
27
26
|
if (Object.keys(events).length > 0)
|
|
28
27
|
bot.on(events);
|
|
29
28
|
subscribeLogEvents(bot, opts);
|
|
@@ -81,38 +80,22 @@ function mkBotProfile(profile, opts) {
|
|
|
81
80
|
}
|
|
82
81
|
return profile;
|
|
83
82
|
}
|
|
84
|
-
function
|
|
83
|
+
function subscribeChatItems(bot, onMessage, commands) {
|
|
85
84
|
bot.on("newChatItems", async ({ chatItems }) => {
|
|
86
85
|
for (const ci of chatItems) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (p instanceof Promise)
|
|
91
|
-
await p;
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
94
|
-
console.log("message processing error", e);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
function subscribeCommands(bot, commands) {
|
|
101
|
-
bot.on("newChatItems", async (evt) => {
|
|
102
|
-
for (const ci of evt.chatItems) {
|
|
86
|
+
const content = ci.chatItem.content;
|
|
87
|
+
if (content.type !== "rcvMsgContent")
|
|
88
|
+
continue;
|
|
103
89
|
const cmd = util.ciBotCommand(ci.chatItem);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (cmdFunc)
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
console.log(`${cmd} command processing error`, e);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
90
|
+
const cmdFunc = cmd && (commands[cmd.keyword] || commands[""]);
|
|
91
|
+
try {
|
|
92
|
+
if (cmd && cmdFunc)
|
|
93
|
+
await cmdFunc(ci, cmd, bot);
|
|
94
|
+
else if (onMessage)
|
|
95
|
+
await onMessage(ci, content.msgContent, bot);
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
console.log(cmd && cmdFunc ? `${cmd.keyword} command processing error` : "message processing error", e);
|
|
116
99
|
}
|
|
117
100
|
}
|
|
118
101
|
});
|
package/dist/bot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ChatEvent, ChatResponse, T } from "@simplex-chat/types";
|
|
2
2
|
/**
|
|
3
3
|
* Initialize chat controller
|
|
4
|
+
* @param {number} [queueSize] - Size of internal queues, the core default is used when omitted.
|
|
4
5
|
*/
|
|
5
|
-
export declare function chatMigrateInit(dbPath: string, dbKey: string, confirm: MigrationConfirmation): Promise<bigint>;
|
|
6
|
+
export declare function chatMigrateInit(dbPath: string, dbKey: string, confirm: MigrationConfirmation, queueSize?: number): Promise<bigint>;
|
|
6
7
|
/**
|
|
7
8
|
* Close chat store
|
|
8
9
|
*/
|
|
@@ -18,11 +19,11 @@ export declare function chatRecvMsgWait(ctrl: bigint, wait: number): Promise<Cha
|
|
|
18
19
|
/**
|
|
19
20
|
* Write buffer to encrypted file
|
|
20
21
|
*/
|
|
21
|
-
export declare function chatWriteFile(ctrl: bigint, path: string, buffer: ArrayBuffer): Promise<CryptoArgs>;
|
|
22
|
+
export declare function chatWriteFile(ctrl: bigint, path: string, buffer: ArrayBuffer | Uint8Array): Promise<CryptoArgs>;
|
|
22
23
|
/**
|
|
23
24
|
* Read buffer from encrypted file
|
|
24
25
|
*/
|
|
25
|
-
export declare function chatReadFile(path: string, { fileKey, fileNonce }: CryptoArgs): Promise<
|
|
26
|
+
export declare function chatReadFile(path: string, { fileKey, fileNonce }: CryptoArgs): Promise<Buffer>;
|
|
26
27
|
/**
|
|
27
28
|
* Encrypt file
|
|
28
29
|
*/
|
|
@@ -61,15 +62,18 @@ export declare class ChatInitError extends Error {
|
|
|
61
62
|
dbMigrationError: DBMigrationError;
|
|
62
63
|
constructor(message: string, dbMigrationError: DBMigrationError);
|
|
63
64
|
}
|
|
64
|
-
export type DBMigrationError = DBMigrationError.InvalidConfirmation | DBMigrationError.ErrorNotADatabase | DBMigrationError.ErrorMigration | DBMigrationError.ErrorSQL;
|
|
65
|
+
export type DBMigrationError = DBMigrationError.InvalidConfirmation | DBMigrationError.InvalidQueueSize | DBMigrationError.ErrorNotADatabase | DBMigrationError.ErrorMigration | DBMigrationError.ErrorSQL;
|
|
65
66
|
export declare namespace DBMigrationError {
|
|
66
|
-
export type Tag = "invalidConfirmation" | "errorNotADatabase" | "errorMigration" | "errorSQL";
|
|
67
|
+
export type Tag = "invalidConfirmation" | "invalidQueueSize" | "errorNotADatabase" | "errorMigration" | "errorSQL";
|
|
67
68
|
interface Interface {
|
|
68
69
|
type: Tag;
|
|
69
70
|
}
|
|
70
71
|
export interface InvalidConfirmation extends Interface {
|
|
71
72
|
type: "invalidConfirmation";
|
|
72
73
|
}
|
|
74
|
+
export interface InvalidQueueSize extends Interface {
|
|
75
|
+
type: "invalidQueueSize";
|
|
76
|
+
}
|
|
73
77
|
export interface ErrorNotADatabase extends Interface {
|
|
74
78
|
type: "errorNotADatabase";
|
|
75
79
|
dbFile: string;
|
|
@@ -94,7 +98,7 @@ export declare namespace MigrationError {
|
|
|
94
98
|
}
|
|
95
99
|
export interface MEUpgrade extends Interface {
|
|
96
100
|
type: "upgrade";
|
|
97
|
-
upMigrations: UpMigration;
|
|
101
|
+
upMigrations: UpMigration[];
|
|
98
102
|
}
|
|
99
103
|
export interface MEDowngrade extends Interface {
|
|
100
104
|
type: "downgrade";
|
|
@@ -118,7 +122,7 @@ export declare namespace MTRError {
|
|
|
118
122
|
}
|
|
119
123
|
export interface MTRENoDown extends Interface {
|
|
120
124
|
type: "noDown";
|
|
121
|
-
|
|
125
|
+
dbMigrations: string[];
|
|
122
126
|
}
|
|
123
127
|
export interface MTREDifferent extends Interface {
|
|
124
128
|
type: "different";
|
package/dist/core.js
CHANGED
|
@@ -12,9 +12,12 @@ exports.chatDecryptFile = chatDecryptFile;
|
|
|
12
12
|
const simplex = require("./simplex");
|
|
13
13
|
/**
|
|
14
14
|
* Initialize chat controller
|
|
15
|
+
* @param {number} [queueSize] - Size of internal queues, the core default is used when omitted.
|
|
15
16
|
*/
|
|
16
|
-
async function chatMigrateInit(dbPath, dbKey, confirm) {
|
|
17
|
-
const [ctrl, res] =
|
|
17
|
+
async function chatMigrateInit(dbPath, dbKey, confirm, queueSize) {
|
|
18
|
+
const [ctrl, res] = queueSize === undefined
|
|
19
|
+
? await simplex.chat_migrate_init(dbPath, dbKey, confirm)
|
|
20
|
+
: await simplex.chat_migrate_init_queue(dbPath, dbKey, confirm, queueSize);
|
|
18
21
|
const json = JSON.parse(res);
|
|
19
22
|
if (json.type === 'ok')
|
|
20
23
|
return ctrl;
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/simplex.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// These functions are defined in CPP add-on ../cpp/simplex.cc
|
|
2
2
|
|
|
3
3
|
export function chat_migrate_init(dbPath: string, dbKey: string, confirm: string): Promise<[bigint, string]>
|
|
4
|
+
export function chat_migrate_init_queue(dbPath: string, dbKey: string, confirm: string, queueSize: number): Promise<[bigint, string]>
|
|
4
5
|
export function chat_close_store(ctrl: bigint): Promise<string>
|
|
5
6
|
export function chat_send_cmd(ctrl: bigint, cmd: string): Promise<string>
|
|
6
7
|
export function chat_recv_msg_wait(ctrl: bigint, wait: number): Promise<string>
|
|
7
|
-
export function chat_write_file(ctrl: bigint, path: string, buffer: ArrayBuffer): Promise<string>
|
|
8
|
-
export function chat_read_file(path: string, key: string, nonce: string): Promise<
|
|
8
|
+
export function chat_write_file(ctrl: bigint, path: string, buffer: ArrayBuffer | Uint8Array): Promise<string>
|
|
9
|
+
export function chat_read_file(path: string, key: string, nonce: string): Promise<Buffer>
|
|
9
10
|
export function chat_encrypt_file(ctrl: bigint, fromPath: string, toPath: string): Promise<string>
|
|
10
11
|
export function chat_decrypt_file(fromPath: string, key: string, nonce: string, toPath: string): Promise<string>
|
package/dist/util.js
CHANGED
|
@@ -77,7 +77,7 @@ function ciBotCommand(chatItem) {
|
|
|
77
77
|
var _a;
|
|
78
78
|
const msg = (_a = ciContentText(chatItem)) === null || _a === void 0 ? void 0 : _a.trim();
|
|
79
79
|
if (msg) {
|
|
80
|
-
const r = msg.match(
|
|
80
|
+
const r = msg.match(/^\/([^\s]+)([\s\S]*)/);
|
|
81
81
|
if (r && r.length >= 3) {
|
|
82
82
|
return { keyword: r[1], params: r[2].trim() };
|
|
83
83
|
}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Type Alias: EventSubscriberFunc\<K\>
|
|
8
8
|
|
|
9
|
-
> **EventSubscriberFunc**\<`K`\> = (`event`) => `void` \| `Promise`\<`void`\>
|
|
9
|
+
> **EventSubscriberFunc**\<`K`\> = (`event`, `chat`) => `void` \| `Promise`\<`void`\>
|
|
10
10
|
|
|
11
11
|
Defined in: [src/api.ts:50](../src/api.ts#L50)
|
|
12
12
|
|
|
@@ -22,6 +22,10 @@ Defined in: [src/api.ts:50](../src/api.ts#L50)
|
|
|
22
22
|
|
|
23
23
|
`ChatEvent` & `object`
|
|
24
24
|
|
|
25
|
+
### chat
|
|
26
|
+
|
|
27
|
+
[`ChatApi`](api.Class.ChatApi.md)
|
|
28
|
+
|
|
25
29
|
## Returns
|
|
26
30
|
|
|
27
31
|
`void` \| `Promise`\<`void`\>
|
|
@@ -34,13 +34,13 @@ Defined in: [src/bot.ts:42](../src/bot.ts#L42)
|
|
|
34
34
|
|
|
35
35
|
#### Index Signature
|
|
36
36
|
|
|
37
|
-
\[`key`: `string`\]: ((`chatItem`, `command`) => `void` \| `Promise`\<`void`\>) \| `undefined`
|
|
37
|
+
\[`key`: `string`\]: ((`chatItem`, `command`, `chat`) => `void` \| `Promise`\<`void`\>) \| `undefined`
|
|
38
38
|
|
|
39
39
|
***
|
|
40
40
|
|
|
41
41
|
### onMessage?
|
|
42
42
|
|
|
43
|
-
> `optional` **onMessage?**: (`chatItem`, `content`) => `void` \| `Promise`\<`void`\>
|
|
43
|
+
> `optional` **onMessage?**: (`chatItem`, `content`, `chat`) => `void` \| `Promise`\<`void`\>
|
|
44
44
|
|
|
45
45
|
Defined in: [src/bot.ts:40](../src/bot.ts#L40)
|
|
46
46
|
|
|
@@ -54,6 +54,10 @@ Defined in: [src/bot.ts:40](../src/bot.ts#L40)
|
|
|
54
54
|
|
|
55
55
|
`MsgContent`
|
|
56
56
|
|
|
57
|
+
##### chat
|
|
58
|
+
|
|
59
|
+
[`ChatApi`](api.Class.ChatApi.md)
|
|
60
|
+
|
|
57
61
|
#### Returns
|
|
58
62
|
|
|
59
63
|
`void` \| `Promise`\<`void`\>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
(async () => {
|
|
2
2
|
const {bot} = await import("../dist/index.js")
|
|
3
|
-
|
|
3
|
+
await bot.run({
|
|
4
4
|
profile: {displayName: "Squaring bot example", fullName: ""},
|
|
5
5
|
dbOpts: {type: "sqlite", filePrefix: "./squaring_bot"},
|
|
6
6
|
options: {
|
|
7
7
|
addressSettings: {welcomeMessage: "Send a number, I will square it."},
|
|
8
8
|
},
|
|
9
|
-
onMessage: async (ci, content) => {
|
|
9
|
+
onMessage: async (ci, content, chat) => {
|
|
10
10
|
const n = +content.text
|
|
11
11
|
const reply = typeof n === "number" && !isNaN(n)
|
|
12
12
|
? `${n} * ${n} = ${n * n}`
|
package/examples/squaring-bot.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {bot, util} from "../dist"
|
|
|
3
3
|
|
|
4
4
|
(async () => {
|
|
5
5
|
const welcomeMessage = "Hello! I am a simple squaring bot.\n\nIf you send me a number, I will calculate its square."
|
|
6
|
-
|
|
6
|
+
await bot.run({
|
|
7
7
|
profile: {displayName: "Squaring bot example", fullName: ""},
|
|
8
8
|
dbOpts: {type: "sqlite", filePrefix: "./squaring_bot"},
|
|
9
9
|
options: {
|
|
@@ -15,7 +15,7 @@ import {bot, util} from "../dist"
|
|
|
15
15
|
logContacts: true,
|
|
16
16
|
logNetwork: false
|
|
17
17
|
},
|
|
18
|
-
onMessage: async (ci, content) => {
|
|
18
|
+
onMessage: async (ci, content, chat) => {
|
|
19
19
|
const n = +content.text
|
|
20
20
|
const reply = typeof n === "number" && !isNaN(n)
|
|
21
21
|
? `${n} * ${n} = ${n * n}`
|
|
@@ -23,11 +23,11 @@ import {bot, util} from "../dist"
|
|
|
23
23
|
await chat.apiSendTextReply(ci, reply)
|
|
24
24
|
},
|
|
25
25
|
onCommands: { // command handlers can be different from commands to be shown in client UI
|
|
26
|
-
"help": async (ci: T.AChatItem, _cmd: util.BotCommand) => {
|
|
26
|
+
"help": async (ci: T.AChatItem, _cmd: util.BotCommand, chat) => {
|
|
27
27
|
await chat.apiSendTextMessage(ci.chatInfo, welcomeMessage)
|
|
28
28
|
},
|
|
29
29
|
// fallback handler that will be called for all other commands
|
|
30
|
-
"": async (ci: T.AChatItem, _cmd: util.BotCommand) => {
|
|
30
|
+
"": async (ci: T.AChatItem, _cmd: util.BotCommand, chat) => {
|
|
31
31
|
await chat.apiSendTextReply(ci, "This command is not supported")
|
|
32
32
|
}
|
|
33
33
|
},
|
package/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -47,7 +47,7 @@ export const defaultBotAddressSettings: BotAddressSettings = {
|
|
|
47
47
|
businessAddress: false
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
export type EventSubscriberFunc<K extends CEvt.Tag> = (event: ChatEvent & {type: K}) => void | Promise<void>
|
|
50
|
+
export type EventSubscriberFunc<K extends CEvt.Tag> = (event: ChatEvent & {type: K}, chat: ChatApi) => void | Promise<void>
|
|
51
51
|
|
|
52
52
|
export type EventSubscribers = {[K in CEvt.Tag]?: EventSubscriberFunc<K>}
|
|
53
53
|
|
|
@@ -177,7 +177,7 @@ export class ChatApi {
|
|
|
177
177
|
if (subs) {
|
|
178
178
|
for (const {subscriber, once} of [...subs]) {
|
|
179
179
|
try {
|
|
180
|
-
const p = (subscriber as EventSubscriberFunc<typeof event.type>)(event)
|
|
180
|
+
const p = (subscriber as EventSubscriberFunc<typeof event.type>)(event, this)
|
|
181
181
|
if (p instanceof Promise) await p
|
|
182
182
|
} catch(e) {
|
|
183
183
|
console.log(`${event.type} event processing error`, e)
|
|
@@ -187,7 +187,7 @@ export class ChatApi {
|
|
|
187
187
|
}
|
|
188
188
|
for (const r of [...this.receivers]) {
|
|
189
189
|
try {
|
|
190
|
-
const p = r(event)
|
|
190
|
+
const p = r(event, this)
|
|
191
191
|
if (p instanceof Promise) await p
|
|
192
192
|
} catch(e) {
|
|
193
193
|
console.log(`${event.type} event processing error`, e)
|
|
@@ -422,7 +422,18 @@ export class ChatApi {
|
|
|
422
422
|
const r = await this.sendChatCmd(CC.APISetAddressSettings.cmdString({userId, settings}))
|
|
423
423
|
if (r.type !== "userContactLinkUpdated") {
|
|
424
424
|
throw new ChatCommandError("error changing user contact address settings", r)
|
|
425
|
-
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
async apiSetUserDomain(userId: number, simplexDomain?: string): Promise<T.User> {
|
|
429
|
+
const r = await this.sendChatCmd(CC.APISetUserDomain.cmdString({userId, simplexDomain}))
|
|
430
|
+
switch (r.type) {
|
|
431
|
+
case "userProfileUpdated":
|
|
432
|
+
case "userProfileNoChange":
|
|
433
|
+
return r.user
|
|
434
|
+
default:
|
|
435
|
+
throw new ChatCommandError("error setting SimpleX name", r)
|
|
436
|
+
}
|
|
426
437
|
}
|
|
427
438
|
|
|
428
439
|
/**
|
package/src/bot.ts
CHANGED
|
@@ -35,17 +35,18 @@ const defaultOpts: Required<BotOptions> = {
|
|
|
35
35
|
|
|
36
36
|
export interface BotConfig {
|
|
37
37
|
profile: T.Profile,
|
|
38
|
+
simplexName?: string,
|
|
38
39
|
dbOpts: BotDbOpts,
|
|
39
40
|
options: BotOptions,
|
|
40
|
-
onMessage?: (chatItem: T.AChatItem, content: T.MsgContent) => void | Promise<void>,
|
|
41
|
+
onMessage?: (chatItem: T.AChatItem, content: T.MsgContent, chat: api.ChatApi) => void | Promise<void>,
|
|
41
42
|
// command handlers can be different from commands to be shown in client UI
|
|
42
|
-
onCommands?: {[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand) => void | Promise<void>)},
|
|
43
|
+
onCommands?: {[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand, chat: api.ChatApi) => void | Promise<void>)},
|
|
43
44
|
// If you use `onMessage` and to subscribe "newChatItems" event, exclude content messages from processing
|
|
44
45
|
// If you use `onCommands` and to subscribe "newChatItems" event, exclude commands from processing
|
|
45
46
|
events?: api.EventSubscribers
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
export async function run({profile, dbOpts, options = defaultOpts, onMessage, onCommands = {}, events = {}}: BotConfig): Promise<[api.ChatApi, T.User, T.UserContactLink | undefined]> {
|
|
49
|
+
export async function run({profile, simplexName, dbOpts, options = defaultOpts, onMessage, onCommands = {}, events = {}}: BotConfig): Promise<[api.ChatApi, T.User, T.UserContactLink | undefined]> {
|
|
49
50
|
const bot = await api.ChatApi.init(dbOpts, dbOpts.confirmMigrations || core.MigrationConfirmation.YesUp, dbOpts.queueSize)
|
|
50
51
|
const opts = fullOptions(options)
|
|
51
52
|
if (onMessage || Object.keys(onCommands).length > 0) subscribeChatItems(bot, onMessage, onCommands)
|
|
@@ -60,7 +61,8 @@ export async function run({profile, dbOpts, options = defaultOpts, onMessage, on
|
|
|
60
61
|
console.log(`Bot address: ${addressLink}`)
|
|
61
62
|
if (opts.useBotProfile) botProfile.contactLink = addressLink
|
|
62
63
|
}
|
|
63
|
-
await
|
|
64
|
+
const namedUser = await updateBotSimplexName(bot, user, simplexName, opts)
|
|
65
|
+
await updateBotUserProfile(bot, namedUser, botProfile, opts)
|
|
64
66
|
return [bot, user, address]
|
|
65
67
|
}
|
|
66
68
|
|
|
@@ -107,8 +109,8 @@ function mkBotProfile(profile: T.Profile, opts: Required<BotOptions>): T.Profile
|
|
|
107
109
|
|
|
108
110
|
export function subscribeChatItems(
|
|
109
111
|
bot: api.ChatApi,
|
|
110
|
-
onMessage: ((chatItem: T.AChatItem, content: T.MsgContent) => void | Promise<void>) | undefined,
|
|
111
|
-
commands: {[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand) => void | Promise<void>)}
|
|
112
|
+
onMessage: ((chatItem: T.AChatItem, content: T.MsgContent, chat: api.ChatApi) => void | Promise<void>) | undefined,
|
|
113
|
+
commands: {[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand, chat: api.ChatApi) => void | Promise<void>)}
|
|
112
114
|
) {
|
|
113
115
|
bot.on("newChatItems", async ({chatItems}) => {
|
|
114
116
|
for (const ci of chatItems) {
|
|
@@ -117,8 +119,8 @@ export function subscribeChatItems(
|
|
|
117
119
|
const cmd = util.ciBotCommand(ci.chatItem)
|
|
118
120
|
const cmdFunc = cmd && (commands[cmd.keyword] || commands[""])
|
|
119
121
|
try {
|
|
120
|
-
if (cmd && cmdFunc) await cmdFunc(ci, cmd)
|
|
121
|
-
else if (onMessage) await onMessage(ci, content.msgContent)
|
|
122
|
+
if (cmd && cmdFunc) await cmdFunc(ci, cmd, bot)
|
|
123
|
+
else if (onMessage) await onMessage(ci, content.msgContent, bot)
|
|
122
124
|
} catch (e) {
|
|
123
125
|
console.log(cmd && cmdFunc ? `${cmd.keyword} command processing error` : "message processing error", e)
|
|
124
126
|
}
|
|
@@ -180,15 +182,32 @@ async function createOrUpdateAddress(bot: api.ChatApi, user: T.User, opts: Requi
|
|
|
180
182
|
}
|
|
181
183
|
}
|
|
182
184
|
|
|
183
|
-
return address
|
|
185
|
+
return address
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
async function updateBotSimplexName(bot: api.ChatApi, user: T.User, simplexName: string | undefined, opts: Required<BotOptions>): Promise<T.User> {
|
|
189
|
+
const name = simplexName?.toLowerCase()
|
|
190
|
+
if (user.profile.contactDomain?.domain === name) return user
|
|
191
|
+
if (!opts.updateAddress) {
|
|
192
|
+
console.log("Bot SimpleX name changed")
|
|
193
|
+
return user
|
|
194
|
+
}
|
|
195
|
+
console.log("Bot SimpleX name changed, updating...")
|
|
196
|
+
try {
|
|
197
|
+
return await bot.apiSetUserDomain(user.userId, name)
|
|
198
|
+
} catch (e) {
|
|
199
|
+
console.log("Error updating bot SimpleX name", e)
|
|
200
|
+
return user
|
|
201
|
+
}
|
|
184
202
|
}
|
|
185
203
|
|
|
186
204
|
async function updateBotUserProfile(bot: api.ChatApi, user: T.User, profile: T.Profile, opts: Required<BotOptions>): Promise<void> {
|
|
187
205
|
const {userId} = user
|
|
188
|
-
|
|
206
|
+
const {contactDomain, ...currentProfile} = util.fromLocalProfile(user.profile)
|
|
207
|
+
if (!equal(currentProfile, profile)) {
|
|
189
208
|
if (opts.updateProfile) {
|
|
190
209
|
console.log("Bot profile changed, updating...")
|
|
191
|
-
const summary = await bot.apiUpdateProfile(userId, profile)
|
|
210
|
+
const summary = await bot.apiUpdateProfile(userId, {...profile, contactDomain})
|
|
192
211
|
console.log(
|
|
193
212
|
summary
|
|
194
213
|
? `Bot profile updated: ${summary.updateSuccesses} updated contact(s), ${summary.updateFailures} failed contact update(s).`
|
package/src/util.ts
CHANGED
|
@@ -53,8 +53,8 @@ export function botAddressSettings({addressSettings}: T.UserContactLink): BotAdd
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
export function fromLocalProfile({displayName, fullName, shortDescr, image, contactLink, preferences, peerType}: T.LocalProfile): T.Profile {
|
|
57
|
-
const profile = {displayName, fullName, shortDescr, image, contactLink, preferences, peerType}
|
|
56
|
+
export function fromLocalProfile({displayName, fullName, shortDescr, image, contactLink, preferences, peerType, contactDomain}: T.LocalProfile): T.Profile {
|
|
57
|
+
const profile = {displayName, fullName, shortDescr, image, contactLink, preferences, peerType, contactDomain: contactDomain && {domain: contactDomain.domain}}
|
|
58
58
|
for (const key in profile) {
|
|
59
59
|
if (typeof (profile as any)[key] === "undefined") delete (profile as any)[key]
|
|
60
60
|
}
|