@towns-protocol/bot 0.0.260

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bot.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.test.d.ts","sourceRoot":"","sources":["../src/bot.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,420 @@
1
+ /* eslint-disable no-console */
2
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
+ import { Client, makeBaseProvider, makeRiverConfig, makeRiverProvider, makeRiverRpcClient, makeSignerContext, MockEntitlementsDelegate, RiverDbManager, waitFor, } from '@towns-protocol/sdk';
4
+ import { describe, it, expect, beforeAll } from 'vitest';
5
+ import { Bot as SyncAgentTest, AppRegistryService, getAppRegistryUrl } from '@towns-protocol/sdk';
6
+ import { bin_fromHexString, bin_toBase64 } from '@towns-protocol/dlog';
7
+ import { makeTownsBot } from './bot';
8
+ import { ethers } from 'ethers';
9
+ import { AppPrivateDataSchema, ForwardSettingValue } from '@towns-protocol/proto';
10
+ import { toBinary, create } from '@bufbuild/protobuf';
11
+ import { AppRegistryDapp, ETH_ADDRESS, Permission, SpaceAddressFromSpaceId, SpaceDapp, } from '@towns-protocol/web3';
12
+ import { createServer } from 'node:http2';
13
+ import { serve } from '@hono/node-server';
14
+ const WEBHOOK_URL = `https://localhost:${process.env.BOT_PORT}/webhook`;
15
+ describe('Bot', { sequential: true }, () => {
16
+ const riverConfig = makeRiverConfig();
17
+ const bob = new SyncAgentTest(undefined, riverConfig);
18
+ const appRegistryDapp = new AppRegistryDapp(riverConfig.base.chainConfig, makeBaseProvider(riverConfig));
19
+ const spaceDapp = new SpaceDapp(riverConfig.base.chainConfig, makeBaseProvider(riverConfig));
20
+ let bobClient;
21
+ const alice = new SyncAgentTest(undefined, riverConfig);
22
+ let aliceClient;
23
+ const BOB_USERNAME = 'bob';
24
+ const BOB_DISPLAY_NAME = 'im_bob';
25
+ let bot;
26
+ let spaceId;
27
+ let channelId;
28
+ let botWallet;
29
+ let botClientAddress;
30
+ let appPrivateDataBase64;
31
+ let jwtSecretBase64;
32
+ let appRegistryRpcClient;
33
+ let appAddress;
34
+ let bobDefaultChannel;
35
+ beforeAll(async () => {
36
+ await shouldInitializeBotOwner();
37
+ await shouldMintBot();
38
+ await shouldInstallBotInSpace();
39
+ await shouldRegisterBotInAppRegistry();
40
+ await shouldRunBotServerAndRegisterWebhook();
41
+ });
42
+ const setForwardSetting = async (forwardSetting) => {
43
+ await appRegistryRpcClient.setAppSettings({
44
+ appId: bin_fromHexString(botClientAddress),
45
+ settings: { forwardSetting },
46
+ });
47
+ };
48
+ const shouldInitializeBotOwner = async () => {
49
+ await Promise.all([bob.fundWallet(), alice.fundWallet()]);
50
+ bobClient = await bob.makeSyncAgent();
51
+ aliceClient = await alice.makeSyncAgent();
52
+ await Promise.all([bobClient.start(), aliceClient.start()]);
53
+ const { spaceId: spaceId_, defaultChannelId } = await bobClient.spaces.createSpace({ spaceName: 'bobs-space' }, bob.signer);
54
+ spaceId = spaceId_;
55
+ channelId = defaultChannelId;
56
+ bobDefaultChannel = bobClient.spaces.getSpace(spaceId).getChannel(channelId);
57
+ await bobDefaultChannel.members.myself.setUsername(BOB_USERNAME);
58
+ await bobDefaultChannel.members.myself.setDisplayName(BOB_DISPLAY_NAME);
59
+ expect(spaceId).toBeDefined();
60
+ expect(channelId).toBeDefined();
61
+ };
62
+ const shouldMintBot = async () => {
63
+ botWallet = ethers.Wallet.createRandom();
64
+ botClientAddress = botWallet.address;
65
+ const tx = await appRegistryDapp.createApp(bob.signer, 'bot-witness-of-infinity', [...Object.values(Permission)], // all permissions
66
+ botClientAddress, ethers.utils.parseEther('0.01').toBigInt(), 31536000n);
67
+ const receipt = await tx.wait();
68
+ const { app: address } = appRegistryDapp.getCreateAppEvent(receipt);
69
+ expect(address).toBeDefined();
70
+ appAddress = address;
71
+ };
72
+ const shouldInstallBotInSpace = async () => {
73
+ const space = spaceDapp.getSpace(spaceId);
74
+ if (!space) {
75
+ throw new Error('Space not found');
76
+ }
77
+ // this adds the bot to the space (onchain)
78
+ const tx = await appRegistryDapp.installApp(bob.signer, appAddress, SpaceAddressFromSpaceId(spaceId), ethers.utils.parseEther('0.02').toBigInt());
79
+ const receipt = await tx.wait();
80
+ expect(receipt.status).toBe(1);
81
+ const installedApps = await space.AppAccount.read.getInstalledApps();
82
+ expect(installedApps).toContain(appAddress);
83
+ const delegateWallet = ethers.Wallet.createRandom();
84
+ const signerContext = await makeSignerContext(botWallet, delegateWallet);
85
+ const rpcClient = await makeRiverRpcClient(makeRiverProvider(riverConfig), riverConfig.river.chainConfig);
86
+ const cryptoStore = RiverDbManager.getCryptoDb(appAddress);
87
+ const botClient = new Client(signerContext, rpcClient, cryptoStore, new MockEntitlementsDelegate());
88
+ await expect(botClient.initializeUser({ appAddress })).resolves.toBeDefined();
89
+ await bobClient.riverConnection.call((client) => client.joinUser(spaceId, botClient.userId));
90
+ await bobClient.riverConnection.call((client) => client.joinUser(channelId, botClient.userId));
91
+ const addResult = await botClient.uploadDeviceKeys();
92
+ expect(addResult).toBeDefined();
93
+ expect(addResult.error).toBeUndefined();
94
+ const exportedDevice = await botClient.cryptoBackend?.exportDevice();
95
+ expect(exportedDevice).toBeDefined();
96
+ appPrivateDataBase64 = bin_toBase64(toBinary(AppPrivateDataSchema, create(AppPrivateDataSchema, {
97
+ privateKey: botWallet.privateKey,
98
+ encryptionDevice: exportedDevice,
99
+ })));
100
+ expect(appPrivateDataBase64).toBeDefined();
101
+ };
102
+ const shouldRegisterBotInAppRegistry = async () => {
103
+ const { appRegistryRpcClient: rpcClient } = await AppRegistryService.authenticateWithSigner(bob.userId, bob.signer, getAppRegistryUrl(process.env.RIVER_ENV));
104
+ appRegistryRpcClient = rpcClient;
105
+ const { hs256SharedSecret } = await appRegistryRpcClient.register({
106
+ appId: bin_fromHexString(botClientAddress),
107
+ appOwnerId: bin_fromHexString(bob.userId),
108
+ });
109
+ jwtSecretBase64 = bin_toBase64(hs256SharedSecret);
110
+ expect(jwtSecretBase64).toBeDefined();
111
+ };
112
+ const shouldRunBotServerAndRegisterWebhook = async () => {
113
+ bot = await makeTownsBot(appPrivateDataBase64, jwtSecretBase64, process.env.RIVER_ENV);
114
+ expect(bot).toBeDefined();
115
+ expect(bot.botId).toBe(botClientAddress);
116
+ const { fetch } = await bot.start();
117
+ serve({
118
+ port: Number(process.env.BOT_PORT),
119
+ fetch,
120
+ createServer,
121
+ });
122
+ await appRegistryRpcClient.registerWebhook({
123
+ appId: bin_fromHexString(botClientAddress),
124
+ webhookUrl: WEBHOOK_URL,
125
+ });
126
+ // Verify webhook registration
127
+ const { isRegistered, validResponse } = await appRegistryRpcClient.getStatus({
128
+ appId: bin_fromHexString(botClientAddress),
129
+ });
130
+ expect(isRegistered).toBe(true);
131
+ expect(validResponse).toBe(true);
132
+ // await bobClient.riverConnection.call((client) =>
133
+ // client.debugForceMakeMiniblock(channelId, { forceSnapshot: true }),
134
+ // )
135
+ };
136
+ it('should receive a message forwarded', async () => {
137
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
138
+ let receivedMessages = [];
139
+ bot.onMessage((_h, e) => {
140
+ receivedMessages.push(e);
141
+ });
142
+ const TEST_MESSAGE = 'Hello bot!';
143
+ const { eventId } = await bobDefaultChannel.sendMessage(TEST_MESSAGE);
144
+ await waitFor(() => receivedMessages.length > 0, { timeoutMS: 15_000 });
145
+ const event = receivedMessages.find((x) => x.eventId === eventId);
146
+ expect(event?.message).toBe(TEST_MESSAGE);
147
+ expect(event?.isDm).toBe(false);
148
+ expect(event?.isGdm).toBe(false);
149
+ receivedMessages = [];
150
+ });
151
+ it('should not receive messages when forwarding is set to no messages', async () => {
152
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_NO_MESSAGES);
153
+ const receivedMessages = [];
154
+ bot.onMessage((_h, e) => {
155
+ receivedMessages.push(e);
156
+ });
157
+ const TEST_MESSAGE = 'This message should not be forwarded';
158
+ await bobDefaultChannel.sendMessage(TEST_MESSAGE);
159
+ await new Promise((resolve) => setTimeout(resolve, 2500));
160
+ expect(receivedMessages).toHaveLength(0);
161
+ });
162
+ it('should receive channel join event when carol joins the channel if bot is listening to channel join events', async () => {
163
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
164
+ const receivedChannelJoinEvents = [];
165
+ bot.onChannelJoin((_h, e) => {
166
+ receivedChannelJoinEvents.push(e);
167
+ });
168
+ await aliceClient.spaces.joinSpace(spaceId, alice.signer);
169
+ await waitFor(() => receivedChannelJoinEvents.length > 0);
170
+ expect(receivedChannelJoinEvents.find((x) => x.userId === alice.userId)).toBeDefined();
171
+ });
172
+ // TODO: re-enable the following two tests when the app registry contract behavior is verified
173
+ // and it is deployed on all environments, so we can re-enable the app registry contract check
174
+ // on GDM/DM creation.
175
+ it.skip('SHOULD NOT receive dm messages', { fails: true }, async () => {
176
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
177
+ const receivedMessages = [];
178
+ bot.onMessage((_h, e) => {
179
+ receivedMessages.push(e);
180
+ });
181
+ const TEST_MESSAGE = 'hii bot';
182
+ const { streamId } = await bobClient.dms.createDM(bot.botId);
183
+ const dm = bobClient.dms.getDm(streamId);
184
+ const { eventId } = await dm.sendMessage(TEST_MESSAGE);
185
+ await waitFor(() => expect(receivedMessages.length).toBeGreaterThan(0));
186
+ const event = receivedMessages.find((x) => x.eventId === eventId);
187
+ expect(event?.isDm).toBe(true);
188
+ expect(event?.isGdm).toBe(false);
189
+ expect(event?.message).toBe(TEST_MESSAGE);
190
+ });
191
+ it.skip('SHOULD NOT receive gdm messages', { fails: true }, async () => {
192
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
193
+ const receivedMessages = [];
194
+ bot.onMessage((_h, e) => {
195
+ receivedMessages.push(e);
196
+ });
197
+ const TEST_MESSAGE = 'hii bot';
198
+ const { streamId } = await bobClient.gdms.createGDM([alice.userId, bot.botId]);
199
+ const gdm = bobClient.gdms.getGdm(streamId);
200
+ const { eventId } = await gdm.sendMessage(TEST_MESSAGE);
201
+ await waitFor(() => expect(receivedMessages.length).toBeGreaterThan(0));
202
+ const event = receivedMessages.find((x) => x.eventId === eventId);
203
+ expect(event?.isGdm).toBe(true);
204
+ expect(event?.isDm).toBe(false);
205
+ expect(event?.message).toBe(TEST_MESSAGE);
206
+ });
207
+ // TODO: not planned for now
208
+ it.skip('should be able to get user data', async () => {
209
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
210
+ const userData = [];
211
+ bot.onMessage(async (h, e) => {
212
+ const data = await h.getUserData(e.channelId, e.userId);
213
+ if (data) {
214
+ userData.push(data);
215
+ }
216
+ });
217
+ const vitalikEnsAddress = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
218
+ const azukiNft = {
219
+ chainId: 1,
220
+ contractAddress: '0xed5af388653567af2f388e6224dc7c4b3241c544',
221
+ tokenId: '3280',
222
+ };
223
+ await bobDefaultChannel.members.myself.setEnsAddress(vitalikEnsAddress);
224
+ await bobDefaultChannel.members.myself.setNft(azukiNft);
225
+ await bobDefaultChannel.sendMessage('Hello');
226
+ await waitFor(() => userData.length > 0);
227
+ const data = userData.find((x) => x.userId === bob.userId);
228
+ expect(data?.displayName).toBe(BOB_DISPLAY_NAME);
229
+ expect(data?.username).toBe(BOB_USERNAME);
230
+ expect(data?.ensAddress?.toLowerCase()).toBe(vitalikEnsAddress.toLowerCase());
231
+ expect(data?.userId).toBe(bob.userId);
232
+ expect(data?.nft).toEqual(azukiNft);
233
+ });
234
+ it('onMessageEdit should be triggered when a message is edited', async () => {
235
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
236
+ const receivedEditEvents = [];
237
+ bot.onMessageEdit((_h, e) => {
238
+ receivedEditEvents.push(e);
239
+ });
240
+ const originalMessage = 'Original message to delete';
241
+ const editedMessage = 'Edited message content';
242
+ const { eventId: originalMessageId } = await bobDefaultChannel.sendMessage(originalMessage);
243
+ await bobDefaultChannel.editMessage(originalMessageId, editedMessage);
244
+ await waitFor(() => receivedEditEvents.length > 0);
245
+ const editEvent = receivedEditEvents.find((e) => e.refEventId === originalMessageId);
246
+ expect(editEvent).toBeDefined();
247
+ expect(editEvent?.message).toBe(editedMessage);
248
+ });
249
+ it('onThreadMessage should be triggered when a message is sent in a thread', async () => {
250
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
251
+ const receivedThreadMessages = [];
252
+ bot.onThreadMessage((_h, e) => {
253
+ receivedThreadMessages.push(e);
254
+ });
255
+ const initialMessage = 'Starting a thread';
256
+ const threadReply = 'Replying in thread';
257
+ const { eventId: initialMessageId } = await bobDefaultChannel.sendMessage(initialMessage);
258
+ const { eventId: replyEventId } = await bobDefaultChannel.sendMessage(threadReply, {
259
+ threadId: initialMessageId,
260
+ });
261
+ await waitFor(() => receivedThreadMessages.length > 0);
262
+ const threadEvent = receivedThreadMessages.find((e) => e.eventId === replyEventId);
263
+ expect(threadEvent).toBeDefined();
264
+ expect(threadEvent?.message).toBe(threadReply);
265
+ expect(threadEvent?.userId).toBe(bob.userId);
266
+ expect(threadEvent?.threadId).toBe(initialMessageId);
267
+ });
268
+ it('onMentioned should be triggered when a bot is mentioned', async () => {
269
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
270
+ const receivedMentionedEvents = [];
271
+ bot.onMentioned((_h, e) => {
272
+ receivedMentionedEvents.push(e);
273
+ });
274
+ const TEST_MESSAGE = 'Hello @bot';
275
+ const { eventId } = await bobDefaultChannel.sendMessage(TEST_MESSAGE, {
276
+ mentions: [
277
+ {
278
+ userId: bot.botId,
279
+ displayName: bot.botId,
280
+ mentionBehavior: { case: undefined, value: undefined },
281
+ },
282
+ ],
283
+ });
284
+ await waitFor(() => receivedMentionedEvents.length > 0);
285
+ expect(receivedMentionedEvents.find((x) => x.eventId === eventId)).toBeDefined();
286
+ });
287
+ it('onMentioned should NOT BE triggered when someone else is mentioned', async () => {
288
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
289
+ const receivedMentionedEvents = [];
290
+ bot.onMentioned((_h, e) => {
291
+ receivedMentionedEvents.push(e);
292
+ });
293
+ const TEST_MESSAGE = 'Hello @alice';
294
+ const { eventId } = await bobDefaultChannel.sendMessage(TEST_MESSAGE, {
295
+ mentions: [
296
+ {
297
+ userId: alice.userId,
298
+ displayName: 'alice',
299
+ mentionBehavior: { case: undefined, value: undefined },
300
+ },
301
+ ],
302
+ });
303
+ await new Promise((resolve) => setTimeout(resolve, 1000));
304
+ expect(receivedMentionedEvents.find((x) => x.eventId === eventId)).toBeUndefined();
305
+ });
306
+ it('onReaction should be triggered when a reaction is added', async () => {
307
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
308
+ const receivedReactionEvents = [];
309
+ bot.onReaction((_h, e) => {
310
+ receivedReactionEvents.push(e);
311
+ });
312
+ const { eventId: messageId } = await bobClient.spaces
313
+ .getSpace(spaceId)
314
+ .getChannel(channelId)
315
+ .sendMessage('Hello');
316
+ const { eventId: reactionId } = await bobDefaultChannel.sendReaction(messageId, '👍');
317
+ await waitFor(() => receivedReactionEvents.length > 0);
318
+ expect(receivedReactionEvents.find((x) => x.eventId === reactionId)).toBeDefined();
319
+ expect(receivedReactionEvents.find((x) => x.reaction === '👍')).toBeDefined();
320
+ expect(receivedReactionEvents.find((x) => x.messageId === messageId)).toBeDefined();
321
+ expect(receivedReactionEvents.find((x) => x.userId === bob.userId)).toBeDefined();
322
+ });
323
+ it('onRedaction should be triggered when a message is redacted', async () => {
324
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
325
+ const receivedRedactionEvents = [];
326
+ bot.onRedaction((_h, e) => {
327
+ receivedRedactionEvents.push(e);
328
+ });
329
+ const { eventId: messageId } = await bobDefaultChannel.sendMessage('Hello');
330
+ const { eventId: redactionId } = await bobDefaultChannel.redact(messageId);
331
+ await waitFor(() => receivedRedactionEvents.length > 0);
332
+ expect(receivedRedactionEvents.find((x) => x.eventId === redactionId)).toBeDefined();
333
+ });
334
+ it.skip('onReply should be triggered when a message is replied to', async () => {
335
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS);
336
+ const receivedReplyEvents = [];
337
+ bot.onReply((_h, e) => {
338
+ receivedReplyEvents.push(e);
339
+ });
340
+ const { eventId: messageId } = await bot.sendMessage(channelId, 'hii');
341
+ const { eventId: replyEventId } = await bobDefaultChannel.sendMessage('hi back', {
342
+ replyId: messageId,
343
+ });
344
+ await waitFor(() => receivedReplyEvents.length > 0);
345
+ expect(receivedReplyEvents.find((x) => x.eventId === replyEventId)).toBeDefined();
346
+ });
347
+ // TODO: I couldnt get onTip to work somehow
348
+ // ConnectError: [failed_precondition] AddEvent: (62:DOWNSTREAM_NETWORK_ERROR)
349
+ // <base 0: unavailable: AddEvent: (14:UNAVAILABLE) Forwarding disabled by request header
350
+ // nodeAddress = 0x9CfBCA75Bc64E67Ff415C60367A78DC110BC9239
351
+ // nodeUrl =
352
+ // handler = AddEvent
353
+ // elapsed = 8.350417ms
354
+ // streamId = a898546bf3b74bb84457ead94fc0d89e64b837c7740000000000000000000000
355
+ // >>base 0 end
356
+ // nodeAddress = 0xC0C4e900678EcA2d9C17d7771351BDf7a225Ca1d
357
+ // nodeUrl =
358
+ // handler = AddEvent
359
+ // elapsed = 9.889292ms
360
+ // streamId = a898546bf3b74bb84457ead94fc0d89e64b837c7740000000000000000000000
361
+ it.skip('onTip should be triggered wfhen a tip is received', async () => {
362
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
363
+ const receivedTipEvents = [];
364
+ bot.onTip((_h, e) => {
365
+ receivedTipEvents.push(e);
366
+ });
367
+ const { eventId: messageId } = await bot.sendMessage(channelId, 'hii');
368
+ await bobDefaultChannel.sendTip(messageId, {
369
+ amount: ethers.utils.parseUnits('0.1').toBigInt(),
370
+ currency: ETH_ADDRESS,
371
+ chainId: 1,
372
+ receiver: bot.botId,
373
+ }, bob.signer);
374
+ await waitFor(() => receivedTipEvents.length > 0);
375
+ expect(receivedTipEvents.find((x) => x.eventId === messageId)).toBeDefined();
376
+ });
377
+ it('onEventRevoke (FORWARD_SETTING_ALL_MESSAGES) should be triggered when a message is revoked', async () => {
378
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
379
+ const receivedEventRevokeEvents = [];
380
+ bot.onEventRevoke((_h, e) => {
381
+ receivedEventRevokeEvents.push(e);
382
+ });
383
+ const { eventId: messageId } = await bot.sendMessage(channelId, 'hii');
384
+ await bobDefaultChannel.adminRedact(messageId);
385
+ await waitFor(() => receivedEventRevokeEvents.length > 0);
386
+ expect(receivedEventRevokeEvents.find((x) => x.refEventId === messageId)).toBeDefined();
387
+ });
388
+ it.fails('onEventRevoke (FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS) should be triggered when a message that mentions the bot is revoked', async () => {
389
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_MENTIONS_REPLIES_REACTIONS);
390
+ const receivedEventRevokeEvents = [];
391
+ bot.onEventRevoke((_h, e) => {
392
+ receivedEventRevokeEvents.push(e);
393
+ });
394
+ const { eventId: messageId } = await bobDefaultChannel.sendMessage('hii @bot', {
395
+ mentions: [
396
+ {
397
+ userId: bot.botId,
398
+ displayName: bot.botId,
399
+ mentionBehavior: { case: undefined, value: undefined },
400
+ },
401
+ ],
402
+ });
403
+ await bobDefaultChannel.adminRedact(messageId);
404
+ await waitFor(() => receivedEventRevokeEvents.length > 0);
405
+ expect(receivedEventRevokeEvents.find((x) => x.refEventId === messageId)).toBeDefined();
406
+ });
407
+ it('never receive message from a uninstalled app', async () => {
408
+ await appRegistryDapp.uninstallApp(bob.signer, appAddress, SpaceAddressFromSpaceId(spaceId));
409
+ await setForwardSetting(ForwardSettingValue.FORWARD_SETTING_ALL_MESSAGES);
410
+ const receivedMentionedEvents = [];
411
+ bot.onMentioned((_h, e) => {
412
+ receivedMentionedEvents.push(e);
413
+ });
414
+ const TEST_MESSAGE = 'wont be received';
415
+ const { eventId } = await bobDefaultChannel.sendMessage(TEST_MESSAGE);
416
+ await expect(waitFor(() => receivedMentionedEvents.length > 0)).rejects.toThrow();
417
+ expect(receivedMentionedEvents.find((x) => x.eventId === eventId)).toBeUndefined();
418
+ });
419
+ });
420
+ //# sourceMappingURL=bot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.test.js","sourceRoot":"","sources":["../src/bot.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './bot';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './bot';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@towns-protocol/bot",
3
+ "version": "0.0.260",
4
+ "packageManager": "yarn@3.8.0",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "clean": "rm -rf dist",
14
+ "lint": "yarn eslint --format unix ./src --max-warnings=0",
15
+ "lint:fix": "yarn lint --fix",
16
+ "typecheck": "tsc --noEmit",
17
+ "watch": "tsc --watch",
18
+ "test": "vitest",
19
+ "test:ci:multi:ent": "vitest run",
20
+ "test:watch": "vitest --watch"
21
+ },
22
+ "dependencies": {
23
+ "@bufbuild/protobuf": "^2.2.2",
24
+ "@connectrpc/connect-node": "^2.0.0",
25
+ "@towns-protocol/dlog": "^0.0.260",
26
+ "@towns-protocol/encryption": "^0.0.260",
27
+ "@towns-protocol/proto": "^0.0.260",
28
+ "@towns-protocol/sdk": "^0.0.260",
29
+ "@towns-protocol/sdk-crypto": "^0.0.260",
30
+ "@towns-protocol/web3": "^0.0.260",
31
+ "ethers": "^5.7.2",
32
+ "fake-indexeddb": "^4.0.1",
33
+ "hono": "^4.7.11",
34
+ "jsonwebtoken": "^9.0.2",
35
+ "typed-emitter": "^2.1.0",
36
+ "viem": "^2.29.3"
37
+ },
38
+ "devDependencies": {
39
+ "@types/jsonwebtoken": "^9.0.9",
40
+ "@types/node": "^20.14.8",
41
+ "@typescript-eslint/eslint-plugin": "^8.29.0",
42
+ "@typescript-eslint/parser": "^8.29.0",
43
+ "eslint": "^8.57.1",
44
+ "eslint-import-resolver-typescript": "^4.3.2",
45
+ "eslint-plugin-import-x": "^4.10.2",
46
+ "eslint-plugin-tsdoc": "^0.3.0",
47
+ "typescript": "^5.8.2",
48
+ "vitest": "^3.2.3"
49
+ },
50
+ "files": [
51
+ "/dist"
52
+ ],
53
+ "gitHead": "96b5f62e15b03e630ec54a8676be341a5c3777c6"
54
+ }