simplex-chat 6.5.0-beta.4.1 → 6.5.0-beta.4.3

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.
Files changed (69) hide show
  1. package/README.md +1 -1
  2. package/binding.gyp +19 -4
  3. package/cpp/simplex.cc +426 -0
  4. package/cpp/simplex.h +46 -0
  5. package/dist/index.d.ts +17 -2
  6. package/dist/index.js +18 -3
  7. package/dist/index.js.map +1 -1
  8. package/docs/Namespace.api.md +32 -0
  9. package/docs/Namespace.bot.md +20 -0
  10. package/docs/Namespace.core.md +48 -0
  11. package/docs/Namespace.util.md +25 -0
  12. package/docs/README.md +12 -0
  13. package/docs/api.Class.ChatApi.md +1602 -0
  14. package/docs/api.Class.ChatCommandError.md +205 -0
  15. package/docs/api.Enumeration.ConnReqType.md +27 -0
  16. package/docs/api.Interface.BotAddressSettings.md +60 -0
  17. package/docs/api.TypeAlias.EventSubscriberFunc.md +27 -0
  18. package/docs/api.TypeAlias.EventSubscribers.md +11 -0
  19. package/docs/api.Variable.defaultBotAddressSettings.md +11 -0
  20. package/docs/bot.Function.run.md +21 -0
  21. package/docs/bot.Interface.BotConfig.md +75 -0
  22. package/docs/bot.Interface.BotDbOpts.md +33 -0
  23. package/docs/bot.Interface.BotOptions.md +81 -0
  24. package/docs/core.Class.ChatAPIError.md +205 -0
  25. package/docs/core.Class.ChatInitError.md +205 -0
  26. package/docs/core.DBMigrationError.Interface.ErrorMigration.md +41 -0
  27. package/docs/core.DBMigrationError.Interface.ErrorNotADatabase.md +33 -0
  28. package/docs/core.DBMigrationError.Interface.ErrorSQL.md +41 -0
  29. package/docs/core.DBMigrationError.Interface.InvalidConfirmation.md +25 -0
  30. package/docs/core.DBMigrationError.TypeAlias.Tag.md +11 -0
  31. package/docs/core.Enumeration.MigrationConfirmation.md +43 -0
  32. package/docs/core.Function.chatCloseStore.md +23 -0
  33. package/docs/core.Function.chatDecryptFile.md +31 -0
  34. package/docs/core.Function.chatEncryptFile.md +31 -0
  35. package/docs/core.Function.chatMigrateInit.md +31 -0
  36. package/docs/core.Function.chatReadFile.md +27 -0
  37. package/docs/core.Function.chatRecvMsgWait.md +27 -0
  38. package/docs/core.Function.chatSendCmd.md +27 -0
  39. package/docs/core.Function.chatWriteFile.md +31 -0
  40. package/docs/core.Interface.APIResult.md +31 -0
  41. package/docs/core.Interface.CryptoArgs.md +27 -0
  42. package/docs/core.Interface.UpMigration.md +25 -0
  43. package/docs/core.MTRError.Interface.MTREDifferent.md +33 -0
  44. package/docs/core.MTRError.Interface.MTRENoDown.md +33 -0
  45. package/docs/core.MTRError.TypeAlias.Tag.md +11 -0
  46. package/docs/core.MigrationError.Interface.MEDowngrade.md +33 -0
  47. package/docs/core.MigrationError.Interface.MEUpgrade.md +33 -0
  48. package/docs/core.MigrationError.Interface.MigrationError.md +33 -0
  49. package/docs/core.MigrationError.TypeAlias.Tag.md +11 -0
  50. package/docs/core.Namespace.DBMigrationError.md +18 -0
  51. package/docs/core.Namespace.MTRError.md +16 -0
  52. package/docs/core.Namespace.MigrationError.md +17 -0
  53. package/docs/core.TypeAlias.DBMigrationError.md +11 -0
  54. package/docs/core.TypeAlias.MTRError.md +11 -0
  55. package/docs/core.TypeAlias.MigrationError.md +11 -0
  56. package/docs/util.Function.botAddressSettings.md +21 -0
  57. package/docs/util.Function.chatInfoName.md +21 -0
  58. package/docs/util.Function.chatInfoRef.md +21 -0
  59. package/docs/util.Function.ciBotCommand.md +21 -0
  60. package/docs/util.Function.ciContentText.md +21 -0
  61. package/docs/util.Function.contactAddressStr.md +21 -0
  62. package/docs/util.Function.fromLocalProfile.md +21 -0
  63. package/docs/util.Function.reactionText.md +21 -0
  64. package/docs/util.Function.senderName.md +25 -0
  65. package/docs/util.Interface.BotCommand.md +25 -0
  66. package/examples/squaring-bot-readme.js +17 -0
  67. package/examples/squaring-bot.ts +42 -0
  68. package/package.json +7 -3
  69. package/tsconfig.json +23 -0
@@ -0,0 +1,21 @@
1
+ [**simplex-chat**](README.md)
2
+
3
+ ***
4
+
5
+ [simplex-chat](README.md) / [util](Namespace.util.md) / reactionText
6
+
7
+ # Function: reactionText()
8
+
9
+ > **reactionText**(`reaction`): `string`
10
+
11
+ Defined in: [src/util.ts:89](../src/util.ts#L89)
12
+
13
+ ## Parameters
14
+
15
+ ### reaction
16
+
17
+ `ACIReaction`
18
+
19
+ ## Returns
20
+
21
+ `string`
@@ -0,0 +1,25 @@
1
+ [**simplex-chat**](README.md)
2
+
3
+ ***
4
+
5
+ [simplex-chat](README.md) / [util](Namespace.util.md) / senderName
6
+
7
+ # Function: senderName()
8
+
9
+ > **senderName**(`cInfo`, `chatDir`): `string`
10
+
11
+ Defined in: [src/util.ts:37](../src/util.ts#L37)
12
+
13
+ ## Parameters
14
+
15
+ ### cInfo
16
+
17
+ `ChatInfo`
18
+
19
+ ### chatDir
20
+
21
+ `CIDirection`
22
+
23
+ ## Returns
24
+
25
+ `string`
@@ -0,0 +1,25 @@
1
+ [**simplex-chat**](README.md)
2
+
3
+ ***
4
+
5
+ [simplex-chat](README.md) / [util](Namespace.util.md) / BotCommand
6
+
7
+ # Interface: BotCommand
8
+
9
+ Defined in: [src/util.ts:72](../src/util.ts#L72)
10
+
11
+ ## Properties
12
+
13
+ ### keyword
14
+
15
+ > **keyword**: `string`
16
+
17
+ Defined in: [src/util.ts:73](../src/util.ts#L73)
18
+
19
+ ***
20
+
21
+ ### params
22
+
23
+ > **params**: `string`
24
+
25
+ Defined in: [src/util.ts:74](../src/util.ts#L74)
@@ -0,0 +1,17 @@
1
+ (async () => {
2
+ const {bot} = await import("../dist/index.js")
3
+ const [chat, _user, _address] = await bot.run({
4
+ profile: {displayName: "Squaring bot example", fullName: ""},
5
+ dbOpts: {dbFilePrefix: "./squaring_bot", dbKey: ""},
6
+ options: {
7
+ addressSettings: {welcomeMessage: "If you send me a number, I will calculate its square."},
8
+ },
9
+ onMessage: async (ci, content) => {
10
+ const n = +content.text
11
+ const reply = typeof n === "number" && !isNaN(n)
12
+ ? `${n} * ${n} = ${n * n}`
13
+ : `this is not a number`
14
+ await chat.apiSendTextReply(ci, reply)
15
+ }
16
+ })
17
+ })()
@@ -0,0 +1,42 @@
1
+ import {T} from "@simplex-chat/types"
2
+ import {bot, util} from "../dist"
3
+
4
+ (async () => {
5
+ const welcomeMessage = "Hello! I am a simple squaring bot.\n\nIf you send me a number, I will calculate its square."
6
+ const [chat, _user, _address] = await bot.run({
7
+ profile: {displayName: "Squaring bot example", fullName: ""},
8
+ dbOpts: {dbFilePrefix: "./squaring_bot", dbKey: ""},
9
+ options: {
10
+ addressSettings: {autoAccept: true, welcomeMessage, businessAddress: false},
11
+ commands: [ // commands to show in client UI
12
+ {type: "command", keyword: "help", label: "Send welcome message"},
13
+ {type: "command", keyword: "info", label: "More information (not implemented)"}
14
+ ],
15
+ logContacts: true,
16
+ logNetwork: false
17
+ },
18
+ onMessage: async (ci, content) => {
19
+ const n = +content.text
20
+ const reply = typeof n === "number" && !isNaN(n)
21
+ ? `${n} * ${n} = ${n * n}`
22
+ : `this is not a number`
23
+ await chat.apiSendTextReply(ci, reply)
24
+ },
25
+ onCommands: { // command handlers can be different from commands to be shown in client UI
26
+ "help": async (ci: T.AChatItem, _cmd: util.BotCommand) => {
27
+ await chat.apiSendTextMessage(ci.chatInfo, welcomeMessage)
28
+ },
29
+ // fallback handler that will be called for all other commands
30
+ "": async (ci: T.AChatItem, _cmd: util.BotCommand) => {
31
+ await chat.apiSendTextReply(ci, "This command is not supported")
32
+ }
33
+ },
34
+ // If you use `onMessage` and subscribe to "newChatItems" event, exclude content messages from processing
35
+ // If you use `onCommands` and subscribe to "newChatItems" event, exclude commands from processing
36
+ events: {
37
+ "chatItemReaction": ({added, reaction}) => {
38
+ console.log(`${util.senderName(reaction.chatInfo, reaction.chatReaction.chatDir)} ${added ? "added" : "removed"} reaction ${util.reactionText(reaction)}`)
39
+ }
40
+ },
41
+ })
42
+ })()
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "simplex-chat",
3
- "version": "6.5.0-beta.4.1",
3
+ "version": "6.5.0-beta.4.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
7
- "dist",
8
7
  "src",
9
- "binding.gyp"
8
+ "cpp",
9
+ "dist",
10
+ "binding.gyp",
11
+ "tsconfig.json",
12
+ "docs",
13
+ "examples"
10
14
  ],
11
15
  "scripts": {
12
16
  "preinstall": "node src/download-libs.js",
package/tsconfig.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "include": ["src"],
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "forceConsistentCasingInFileNames": true,
6
+ "lib": ["ES2018"],
7
+ "module": "CommonJS",
8
+ "moduleResolution": "Node",
9
+ "noFallthroughCasesInSwitch": true,
10
+ "noImplicitAny": true,
11
+ "noImplicitReturns": true,
12
+ "noImplicitThis": true,
13
+ "noUnusedLocals": true,
14
+ "noUnusedParameters": true,
15
+ "noEmitOnError": true,
16
+ "outDir": "dist",
17
+ "sourceMap": true,
18
+ "strict": true,
19
+ "strictNullChecks": true,
20
+ "target": "ES2018",
21
+ "types": ["node"]
22
+ }
23
+ }