simplex-chat 0.3.0 → 6.5.0-beta.4.1

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 (51) hide show
  1. package/README.md +67 -22
  2. package/binding.gyp +35 -0
  3. package/dist/api.d.ts +371 -0
  4. package/dist/api.js +774 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/bot.d.ts +31 -0
  7. package/dist/bot.js +189 -0
  8. package/dist/bot.js.map +1 -0
  9. package/dist/core.d.ts +128 -0
  10. package/dist/core.js +121 -0
  11. package/dist/core.js.map +1 -0
  12. package/dist/index.d.ts +4 -2
  13. package/dist/index.js +5 -4
  14. package/dist/index.js.map +1 -1
  15. package/dist/simplex.d.ts +10 -0
  16. package/dist/simplex.js +1 -0
  17. package/dist/util.d.ts +15 -0
  18. package/dist/util.js +91 -0
  19. package/dist/util.js.map +1 -0
  20. package/package.json +32 -48
  21. package/src/api.ts +834 -0
  22. package/src/bot.ts +216 -0
  23. package/src/core.ts +210 -0
  24. package/src/download-libs.js +224 -0
  25. package/src/index.ts +22 -0
  26. package/src/simplex.d.ts +10 -0
  27. package/src/simplex.js +1 -0
  28. package/src/util.ts +92 -0
  29. package/dist/client.d.ts +0 -61
  30. package/dist/client.js +0 -271
  31. package/dist/client.js.map +0 -1
  32. package/dist/command.d.ts +0 -408
  33. package/dist/command.js +0 -184
  34. package/dist/command.js.map +0 -1
  35. package/dist/index-web.d.ts +0 -1
  36. package/dist/index-web.js +0 -6
  37. package/dist/index-web.js.map +0 -1
  38. package/dist/index.bundle.js +0 -11
  39. package/dist/queue.d.ts +0 -24
  40. package/dist/queue.js +0 -77
  41. package/dist/queue.js.map +0 -1
  42. package/dist/response.d.ts +0 -754
  43. package/dist/response.js +0 -21
  44. package/dist/response.js.map +0 -1
  45. package/dist/test.html +0 -7
  46. package/dist/transport.d.ts +0 -54
  47. package/dist/transport.js +0 -131
  48. package/dist/transport.js.map +0 -1
  49. package/dist/websocket.d.ts +0 -8
  50. package/dist/websocket.js +0 -4
  51. package/dist/websocket.js.map +0 -1
package/dist/util.js ADDED
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chatInfoRef = chatInfoRef;
4
+ exports.chatInfoName = chatInfoName;
5
+ exports.senderName = senderName;
6
+ exports.contactAddressStr = contactAddressStr;
7
+ exports.botAddressSettings = botAddressSettings;
8
+ exports.fromLocalProfile = fromLocalProfile;
9
+ exports.ciContentText = ciContentText;
10
+ exports.ciBotCommand = ciBotCommand;
11
+ exports.reactionText = reactionText;
12
+ const types_1 = require("@simplex-chat/types");
13
+ function chatInfoRef(cInfo) {
14
+ var _a, _b;
15
+ switch (cInfo.type) {
16
+ case types_1.T.ChatType.Direct: return { chatType: types_1.T.ChatType.Direct, chatId: cInfo.contact.contactId };
17
+ case types_1.T.ChatType.Group: {
18
+ const chatScope = ((_a = cInfo.groupChatScope) === null || _a === void 0 ? void 0 : _a.type) == "memberSupport"
19
+ ? { type: "memberSupport", groupMemberId_: (_b = cInfo.groupChatScope.groupMember_) === null || _b === void 0 ? void 0 : _b.groupMemberId }
20
+ : undefined;
21
+ return { chatType: types_1.T.ChatType.Group, chatId: cInfo.groupInfo.groupId, chatScope };
22
+ }
23
+ default: return undefined;
24
+ }
25
+ }
26
+ function chatInfoName(cInfo) {
27
+ switch (cInfo.type) {
28
+ case "direct": return `@${cInfo.contact.profile.displayName}`;
29
+ case "group": {
30
+ const scope = cInfo.groupChatScope;
31
+ const scopeName = (scope === null || scope === void 0 ? void 0 : scope.type) === "memberSupport"
32
+ ? `(support${scope.groupMember_ ? ` ${scope.groupMember_.memberProfile.displayName}` : ""})`
33
+ : "";
34
+ return `#${cInfo.groupInfo.groupProfile.displayName}${scopeName}`;
35
+ }
36
+ case "local": return "private notes";
37
+ case "contactRequest": return `request from @${cInfo.contactRequest.profile.displayName}`;
38
+ case "contactConnection": {
39
+ const alias = cInfo.contactConnection.localAlias;
40
+ return `pending connection${alias ? ` (@${alias})` : ""}`;
41
+ }
42
+ }
43
+ }
44
+ function senderName(cInfo, chatDir) {
45
+ const sender = chatDir.type === "groupRcv"
46
+ ? ` @${chatDir.groupMember.memberProfile.displayName}`
47
+ : "";
48
+ return chatInfoName(cInfo) + sender;
49
+ }
50
+ function contactAddressStr(link) {
51
+ return link.connShortLink || link.connFullLink;
52
+ }
53
+ function botAddressSettings({ addressSettings }) {
54
+ return {
55
+ autoAccept: addressSettings.autoAccept ? true : false,
56
+ welcomeMessage: addressSettings.autoReply,
57
+ businessAddress: addressSettings.businessAddress
58
+ };
59
+ }
60
+ function fromLocalProfile({ displayName, fullName, shortDescr, image, contactLink, preferences, peerType }) {
61
+ const profile = { displayName, fullName, shortDescr, image, contactLink, preferences, peerType };
62
+ for (const key in profile) {
63
+ if (typeof profile[key] === "undefined")
64
+ delete profile[key];
65
+ }
66
+ return profile;
67
+ }
68
+ function ciContentText({ content }) {
69
+ switch (content.type) {
70
+ case "sndMsgContent": return content.msgContent.text;
71
+ case "rcvMsgContent": return content.msgContent.text;
72
+ default: return undefined;
73
+ }
74
+ }
75
+ // returns command (without /) and trimmed parameters
76
+ function ciBotCommand(chatItem) {
77
+ var _a;
78
+ const msg = (_a = ciContentText(chatItem)) === null || _a === void 0 ? void 0 : _a.trim();
79
+ if (msg) {
80
+ const r = msg.match(/\/([^\s]+)(.*)/);
81
+ if (r && r.length >= 3) {
82
+ return { keyword: r[1], params: r[2].trim() };
83
+ }
84
+ }
85
+ return undefined;
86
+ }
87
+ function reactionText(reaction) {
88
+ const r = reaction.chatReaction;
89
+ return r.reaction.type === "emoji" ? r.reaction.emoji : r.reaction.tag;
90
+ }
91
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,70 +1,54 @@
1
1
  {
2
2
  "name": "simplex-chat",
3
- "version": "0.3.0",
4
- "description": "SimpleX Chat client",
3
+ "version": "6.5.0-beta.4.1",
5
4
  "main": "dist/index.js",
6
5
  "types": "dist/index.d.ts",
7
6
  "files": [
8
- "dist"
7
+ "dist",
8
+ "src",
9
+ "binding.gyp"
9
10
  ],
10
- "publishConfig": {
11
- "access": "public",
12
- "registry": "https://registry.npmjs.org/"
13
- },
14
11
  "scripts": {
15
- "test": "npm run prettier:check && npm run eslint && jest --coverage",
16
- "build": "npm run prettier:write && npm run eslint && tsc && ./copy && npm run bundle",
17
- "bundle": "rollup dist/index-web.js --file dist/index.bundle.js --format umd --name simplex",
18
- "eslint": "eslint --ext .ts ./src/**/*.ts",
19
- "prettier:write": "prettier --write './**/*.{json,yaml,js,ts}'",
20
- "prettier:check": "prettier --list-different './**/*.{json,yaml,js,ts}'"
12
+ "preinstall": "node src/download-libs.js",
13
+ "install": "node-gyp configure; node-gyp rebuild --release",
14
+ "install-tools": "npm install -g node-gyp",
15
+ "configure": "node-gyp configure; mkdir libs 2> /dev/null | true",
16
+ "build": "node-gyp rebuild && tsc && cp ./src/simplex.* ./dist",
17
+ "run": "node src/index.js",
18
+ "build-run": "node-gyp build && node src/index.js",
19
+ "test": "jest",
20
+ "docs": "typedoc"
21
+ },
22
+ "dependencies": {
23
+ "@simplex-chat/types": "^0.3.0",
24
+ "extract-zip": "^2.0.1",
25
+ "fast-deep-equal": "^3.1.3",
26
+ "node-addon-api": "^8.5.0"
27
+ },
28
+ "devDependencies": {
29
+ "@types/jest": "^30.0.0",
30
+ "@types/node": "^25.0.5",
31
+ "jest": "^30.2.0",
32
+ "ts-jest": "^29.4.6",
33
+ "typedoc": "^0.28.15",
34
+ "typedoc-plugin-markdown": "^4.9.0",
35
+ "typescript": "^5.9.3"
21
36
  },
22
37
  "repository": {
23
38
  "type": "git",
24
- "url": "git+https://github.com/simplex-chat/simplex-chat.git",
25
- "directory": "/packages/simplex-chat-client/typescript"
39
+ "url": "git+https://github.com/simplex-chat/simplex-chat.git"
26
40
  },
27
41
  "keywords": [
28
- "simplex",
29
42
  "messenger",
30
43
  "chat",
31
44
  "privacy",
32
- "security",
33
- "bots",
34
- "websockets"
45
+ "security"
35
46
  ],
36
47
  "author": "SimpleX Chat",
37
48
  "license": "AGPL-3.0",
38
49
  "bugs": {
39
50
  "url": "https://github.com/simplex-chat/simplex-chat/issues"
40
51
  },
41
- "homepage": "https://github.com/simplex-chat/simplex-chat/packages/simplex-chat-client/typescript#readme",
42
- "dependencies": {
43
- "isomorphic-ws": "^4.0.1"
44
- },
45
- "devDependencies": {
46
- "@simplex-chat/types": "^0.1.0",
47
- "@types/jest": "^27.5.1",
48
- "@types/node": "^18.11.18",
49
- "@typescript-eslint/eslint-plugin": "^5.23.0",
50
- "@typescript-eslint/parser": "^5.23.0",
51
- "eslint": "^8.15.0",
52
- "eslint-config-prettier": "^8.5.0",
53
- "husky": "^7.0.4",
54
- "jest": "^28.1.0",
55
- "lint-staged": "^12.3.8",
56
- "prettier": "^2.6.2",
57
- "rollup": "^2.72.1",
58
- "ts-jest": "^28.0.2",
59
- "ts-node": "^10.7.0",
60
- "typescript": "^4.9.3"
61
- },
62
- "husky": {
63
- "hooks": {
64
- "pre-commit": "lint-staged"
65
- }
66
- },
67
- "lint-staged": {
68
- "**/*": "prettier --write --ignore-unknown"
69
- }
52
+ "homepage": "https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-nodejs#readme",
53
+ "description": "SimpleX Chat Node.js library for chat bots"
70
54
  }