simplex-chat 0.3.0 → 6.5.0-beta.10
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 +107 -22
- package/binding.gyp +50 -0
- package/cpp/simplex.cc +426 -0
- package/cpp/simplex.h +46 -0
- package/dist/api.d.ts +423 -0
- package/dist/api.js +857 -0
- package/dist/api.js.map +1 -0
- package/dist/bot.d.ts +29 -0
- package/dist/bot.js +189 -0
- package/dist/bot.js.map +1 -0
- package/dist/core.d.ts +128 -0
- package/dist/core.js +121 -0
- package/dist/core.js.map +1 -0
- package/dist/index.d.ts +19 -2
- package/dist/index.js +20 -4
- package/dist/index.js.map +1 -1
- package/dist/simplex.d.ts +10 -0
- package/dist/simplex.js +1 -0
- package/dist/util.d.ts +15 -0
- package/dist/util.js +91 -0
- package/dist/util.js.map +1 -0
- package/docs/Namespace.api.md +33 -0
- package/docs/Namespace.bot.md +23 -0
- package/docs/Namespace.core.md +48 -0
- package/docs/Namespace.util.md +25 -0
- package/docs/README.md +12 -0
- package/docs/api.Class.ChatApi.md +1752 -0
- package/docs/api.Class.ChatCommandError.md +205 -0
- package/docs/api.Enumeration.ConnReqType.md +27 -0
- package/docs/api.Interface.BotAddressSettings.md +60 -0
- package/docs/api.TypeAlias.DbConfig.md +64 -0
- package/docs/api.TypeAlias.EventSubscriberFunc.md +27 -0
- package/docs/api.TypeAlias.EventSubscribers.md +11 -0
- package/docs/api.Variable.defaultBotAddressSettings.md +11 -0
- package/docs/bot.Function.run.md +21 -0
- package/docs/bot.Interface.BotConfig.md +75 -0
- package/docs/bot.Interface.BotOptions.md +81 -0
- package/docs/bot.TypeAlias.BotDbOpts.md +17 -0
- package/docs/core.Class.ChatAPIError.md +205 -0
- package/docs/core.Class.ChatInitError.md +205 -0
- package/docs/core.DBMigrationError.Interface.ErrorMigration.md +41 -0
- package/docs/core.DBMigrationError.Interface.ErrorNotADatabase.md +33 -0
- package/docs/core.DBMigrationError.Interface.ErrorSQL.md +41 -0
- package/docs/core.DBMigrationError.Interface.InvalidConfirmation.md +25 -0
- package/docs/core.DBMigrationError.TypeAlias.Tag.md +11 -0
- package/docs/core.Enumeration.MigrationConfirmation.md +43 -0
- package/docs/core.Function.chatCloseStore.md +23 -0
- package/docs/core.Function.chatDecryptFile.md +31 -0
- package/docs/core.Function.chatEncryptFile.md +31 -0
- package/docs/core.Function.chatMigrateInit.md +31 -0
- package/docs/core.Function.chatReadFile.md +27 -0
- package/docs/core.Function.chatRecvMsgWait.md +27 -0
- package/docs/core.Function.chatSendCmd.md +27 -0
- package/docs/core.Function.chatWriteFile.md +31 -0
- package/docs/core.Interface.APIResult.md +31 -0
- package/docs/core.Interface.CryptoArgs.md +27 -0
- package/docs/core.Interface.UpMigration.md +25 -0
- package/docs/core.MTRError.Interface.MTREDifferent.md +33 -0
- package/docs/core.MTRError.Interface.MTRENoDown.md +33 -0
- package/docs/core.MTRError.TypeAlias.Tag.md +11 -0
- package/docs/core.MigrationError.Interface.MEDowngrade.md +33 -0
- package/docs/core.MigrationError.Interface.MEUpgrade.md +33 -0
- package/docs/core.MigrationError.Interface.MigrationError.md +33 -0
- package/docs/core.MigrationError.TypeAlias.Tag.md +11 -0
- package/docs/core.Namespace.DBMigrationError.md +18 -0
- package/docs/core.Namespace.MTRError.md +16 -0
- package/docs/core.Namespace.MigrationError.md +17 -0
- package/docs/core.TypeAlias.DBMigrationError.md +11 -0
- package/docs/core.TypeAlias.MTRError.md +11 -0
- package/docs/core.TypeAlias.MigrationError.md +11 -0
- package/docs/util.Function.botAddressSettings.md +21 -0
- package/docs/util.Function.chatInfoName.md +21 -0
- package/docs/util.Function.chatInfoRef.md +21 -0
- package/docs/util.Function.ciBotCommand.md +21 -0
- package/docs/util.Function.ciContentText.md +21 -0
- package/docs/util.Function.contactAddressStr.md +21 -0
- package/docs/util.Function.fromLocalProfile.md +21 -0
- package/docs/util.Function.reactionText.md +21 -0
- package/docs/util.Function.senderName.md +25 -0
- package/docs/util.Interface.BotCommand.md +25 -0
- package/examples/squaring-bot-pg.js +21 -0
- package/examples/squaring-bot-readme.js +17 -0
- package/examples/squaring-bot.ts +42 -0
- package/package.json +36 -48
- package/src/api.ts +939 -0
- package/src/bot.ts +214 -0
- package/src/core.ts +210 -0
- package/src/download-libs.js +239 -0
- package/src/index.ts +22 -0
- package/src/simplex.d.ts +10 -0
- package/src/simplex.js +1 -0
- package/src/util.ts +92 -0
- package/tsconfig.json +23 -0
- package/dist/client.d.ts +0 -61
- package/dist/client.js +0 -271
- package/dist/client.js.map +0 -1
- package/dist/command.d.ts +0 -408
- package/dist/command.js +0 -184
- package/dist/command.js.map +0 -1
- package/dist/index-web.d.ts +0 -1
- package/dist/index-web.js +0 -6
- package/dist/index-web.js.map +0 -1
- package/dist/index.bundle.js +0 -11
- package/dist/queue.d.ts +0 -24
- package/dist/queue.js +0 -77
- package/dist/queue.js.map +0 -1
- package/dist/response.d.ts +0 -754
- package/dist/response.js +0 -21
- package/dist/response.js.map +0 -1
- package/dist/test.html +0 -7
- package/dist/transport.d.ts +0 -54
- package/dist/transport.js +0 -131
- package/dist/transport.js.map +0 -1
- package/dist/websocket.d.ts +0 -8
- package/dist/websocket.js +0 -4
- package/dist/websocket.js.map +0 -1
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/bot.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { T } from "@simplex-chat/types";
|
|
2
|
+
import * as api from "./api";
|
|
3
|
+
import * as core from "./core";
|
|
4
|
+
import * as util from "./util";
|
|
5
|
+
export type BotDbOpts = api.DbConfig & {
|
|
6
|
+
confirmMigrations?: core.MigrationConfirmation;
|
|
7
|
+
};
|
|
8
|
+
export interface BotOptions {
|
|
9
|
+
createAddress?: boolean;
|
|
10
|
+
updateAddress?: boolean;
|
|
11
|
+
updateProfile?: boolean;
|
|
12
|
+
addressSettings?: api.BotAddressSettings;
|
|
13
|
+
allowFiles?: boolean;
|
|
14
|
+
commands?: T.ChatBotCommand[];
|
|
15
|
+
useBotProfile?: boolean;
|
|
16
|
+
logContacts?: boolean;
|
|
17
|
+
logNetwork?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface BotConfig {
|
|
20
|
+
profile: T.Profile;
|
|
21
|
+
dbOpts: BotDbOpts;
|
|
22
|
+
options: BotOptions;
|
|
23
|
+
onMessage?: (chatItem: T.AChatItem, content: T.MsgContent) => void | Promise<void>;
|
|
24
|
+
onCommands?: {
|
|
25
|
+
[K in string]?: ((chatItem: T.AChatItem, command: util.BotCommand) => void | Promise<void>);
|
|
26
|
+
};
|
|
27
|
+
events?: api.EventSubscribers;
|
|
28
|
+
}
|
|
29
|
+
export declare function run({ profile, dbOpts, options, onMessage, onCommands, events }: BotConfig): Promise<[api.ChatApi, T.User, T.UserContactLink | undefined]>;
|
package/dist/bot.js
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.run = run;
|
|
4
|
+
const types_1 = require("@simplex-chat/types");
|
|
5
|
+
const api = require("./api");
|
|
6
|
+
const core = require("./core");
|
|
7
|
+
const util = require("./util");
|
|
8
|
+
const equal = require("fast-deep-equal");
|
|
9
|
+
const defaultOpts = {
|
|
10
|
+
createAddress: true,
|
|
11
|
+
updateAddress: true,
|
|
12
|
+
updateProfile: true,
|
|
13
|
+
addressSettings: api.defaultBotAddressSettings,
|
|
14
|
+
allowFiles: false,
|
|
15
|
+
commands: [],
|
|
16
|
+
useBotProfile: true,
|
|
17
|
+
logContacts: true,
|
|
18
|
+
logNetwork: false
|
|
19
|
+
};
|
|
20
|
+
async function run({ profile, dbOpts, options = defaultOpts, onMessage, onCommands = {}, events = {} }) {
|
|
21
|
+
const bot = await api.ChatApi.init(dbOpts, dbOpts.confirmMigrations || core.MigrationConfirmation.YesUp);
|
|
22
|
+
const opts = fullOptions(options);
|
|
23
|
+
if (onMessage)
|
|
24
|
+
subscribeMessages(bot, onMessage);
|
|
25
|
+
if (Object.keys(onCommands).length > 0)
|
|
26
|
+
subscribeCommands(bot, onCommands);
|
|
27
|
+
if (Object.keys(events).length > 0)
|
|
28
|
+
bot.on(events);
|
|
29
|
+
subscribeLogEvents(bot, opts);
|
|
30
|
+
const botProfile = mkBotProfile(profile, opts);
|
|
31
|
+
const user = await createBotUser(bot, botProfile);
|
|
32
|
+
await bot.startChat();
|
|
33
|
+
const address = await createOrUpdateAddress(bot, user, opts);
|
|
34
|
+
if (address) {
|
|
35
|
+
const addressLink = util.contactAddressStr(address.connLinkContact);
|
|
36
|
+
console.log(`Bot address: ${addressLink}`);
|
|
37
|
+
if (opts.useBotProfile)
|
|
38
|
+
botProfile.contactLink = addressLink;
|
|
39
|
+
}
|
|
40
|
+
await updateBotUserProfile(bot, user, botProfile, opts);
|
|
41
|
+
return [bot, user, address];
|
|
42
|
+
}
|
|
43
|
+
function fullOptions(options) {
|
|
44
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
45
|
+
const opts = {
|
|
46
|
+
createAddress: (_a = options.createAddress) !== null && _a !== void 0 ? _a : defaultOpts.createAddress,
|
|
47
|
+
updateAddress: (_b = options.updateAddress) !== null && _b !== void 0 ? _b : defaultOpts.updateAddress,
|
|
48
|
+
updateProfile: (_c = options.updateProfile) !== null && _c !== void 0 ? _c : defaultOpts.updateProfile,
|
|
49
|
+
addressSettings: (_d = options.addressSettings) !== null && _d !== void 0 ? _d : defaultOpts.addressSettings,
|
|
50
|
+
allowFiles: (_e = options.allowFiles) !== null && _e !== void 0 ? _e : defaultOpts.allowFiles,
|
|
51
|
+
commands: (_f = options.commands) !== null && _f !== void 0 ? _f : defaultOpts.commands,
|
|
52
|
+
useBotProfile: (_g = options.useBotProfile) !== null && _g !== void 0 ? _g : defaultOpts.useBotProfile,
|
|
53
|
+
logContacts: (_h = options.logContacts) !== null && _h !== void 0 ? _h : defaultOpts.logContacts,
|
|
54
|
+
logNetwork: (_j = options.logNetwork) !== null && _j !== void 0 ? _j : defaultOpts.logNetwork
|
|
55
|
+
};
|
|
56
|
+
const welcomeMessage = (_k = opts.addressSettings.welcomeMessage) !== null && _k !== void 0 ? _k : defaultOpts.addressSettings.welcomeMessage;
|
|
57
|
+
opts.addressSettings = {
|
|
58
|
+
autoAccept: (_l = opts.addressSettings.autoAccept) !== null && _l !== void 0 ? _l : defaultOpts.addressSettings.autoAccept,
|
|
59
|
+
welcomeMessage: typeof welcomeMessage === "string" ? { type: "text", text: welcomeMessage } : welcomeMessage,
|
|
60
|
+
businessAddress: (_m = opts.addressSettings.businessAddress) !== null && _m !== void 0 ? _m : defaultOpts.addressSettings.businessAddress
|
|
61
|
+
};
|
|
62
|
+
return opts;
|
|
63
|
+
}
|
|
64
|
+
function mkBotProfile(profile, opts) {
|
|
65
|
+
if (opts.useBotProfile) {
|
|
66
|
+
const prefs = profile.preferences || {};
|
|
67
|
+
if (prefs.files || prefs.calls || prefs.voice || prefs.commands) {
|
|
68
|
+
console.log("Option useBotProfile is enabled and profile preferences used for files, calls, voice or commands, exiting");
|
|
69
|
+
process.exit();
|
|
70
|
+
}
|
|
71
|
+
prefs.files = { allow: opts.allowFiles ? types_1.T.FeatureAllowed.Yes : types_1.T.FeatureAllowed.No };
|
|
72
|
+
prefs.calls = { allow: types_1.T.FeatureAllowed.No };
|
|
73
|
+
prefs.voice = { allow: types_1.T.FeatureAllowed.No };
|
|
74
|
+
prefs.commands = opts.commands;
|
|
75
|
+
profile.preferences = prefs;
|
|
76
|
+
profile.peerType = types_1.T.ChatPeerType.Bot;
|
|
77
|
+
}
|
|
78
|
+
else if (opts.commands.length > 0) {
|
|
79
|
+
console.log("Option useBotProfile is disabled and commands are passed, exiting");
|
|
80
|
+
process.exit();
|
|
81
|
+
}
|
|
82
|
+
return profile;
|
|
83
|
+
}
|
|
84
|
+
function subscribeMessages(bot, onMessage) {
|
|
85
|
+
bot.on("newChatItems", async ({ chatItems }) => {
|
|
86
|
+
for (const ci of chatItems) {
|
|
87
|
+
if (ci.chatItem.content.type === "rcvMsgContent") {
|
|
88
|
+
try {
|
|
89
|
+
const p = onMessage(ci, ci.chatItem.content.msgContent);
|
|
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) {
|
|
103
|
+
const cmd = util.ciBotCommand(ci.chatItem);
|
|
104
|
+
if (cmd) {
|
|
105
|
+
const cmdFunc = commands[cmd.keyword] || commands[""];
|
|
106
|
+
if (cmdFunc) {
|
|
107
|
+
try {
|
|
108
|
+
const p = cmdFunc(ci, cmd);
|
|
109
|
+
if (p instanceof Promise)
|
|
110
|
+
await p;
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
console.log(`${cmd} command processing error`, e);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function subscribeLogEvents(bot, opts) {
|
|
121
|
+
if (opts.logContacts) {
|
|
122
|
+
bot.on({
|
|
123
|
+
"contactConnected": ({ contact }) => console.log(`${contact.profile.displayName} connected`),
|
|
124
|
+
"contactDeletedByContact": ({ contact }) => console.log(`${contact.profile.displayName} deleted connection with bot`)
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (opts.logNetwork) {
|
|
128
|
+
bot.on({
|
|
129
|
+
"hostConnected": ({ transportHost }) => console.log(`connected server ${transportHost}`),
|
|
130
|
+
"hostDisconnected": ({ transportHost }) => console.log(`diconnected server ${transportHost}`),
|
|
131
|
+
"subscriptionStatus": ({ subscriptionStatus, connections }) => console.log(`${connections.length} subscription(s) ${subscriptionStatus.type}`)
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async function createBotUser(bot, profile) {
|
|
136
|
+
let user = await bot.apiGetActiveUser();
|
|
137
|
+
if (!user) {
|
|
138
|
+
console.log("No active user in database, creating...");
|
|
139
|
+
user = await bot.apiCreateActiveUser(profile);
|
|
140
|
+
}
|
|
141
|
+
console.log("Bot user: ", user.profile.displayName);
|
|
142
|
+
return user;
|
|
143
|
+
}
|
|
144
|
+
async function createOrUpdateAddress(bot, user, opts) {
|
|
145
|
+
const { userId } = user;
|
|
146
|
+
let address = await bot.apiGetUserAddress(userId);
|
|
147
|
+
if (!address) {
|
|
148
|
+
if (opts.createAddress) {
|
|
149
|
+
console.log("Bot has no address, creating...");
|
|
150
|
+
await bot.apiCreateUserAddress(userId);
|
|
151
|
+
address = await bot.apiGetUserAddress(userId);
|
|
152
|
+
if (!address) {
|
|
153
|
+
console.log("Failed reading created user address, exiting");
|
|
154
|
+
process.exit();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
console.log("Warning: bot has no address");
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
const addressSettings = opts.addressSettings || defaultOpts.addressSettings;
|
|
163
|
+
if (!equal(util.botAddressSettings(address), addressSettings)) {
|
|
164
|
+
if (opts.updateAddress) {
|
|
165
|
+
console.log("Bot address settings changed, updating...");
|
|
166
|
+
await bot.apiSetAddressSettings(userId, addressSettings);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
console.log("Bot address settings changed");
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return address;
|
|
173
|
+
}
|
|
174
|
+
async function updateBotUserProfile(bot, user, profile, opts) {
|
|
175
|
+
const { userId } = user;
|
|
176
|
+
if (!equal(util.fromLocalProfile(user.profile), profile)) {
|
|
177
|
+
if (opts.updateProfile) {
|
|
178
|
+
console.log("Bot profile changed, updating...");
|
|
179
|
+
const summary = await bot.apiUpdateProfile(userId, profile);
|
|
180
|
+
console.log(summary
|
|
181
|
+
? `Bot profile updated: ${summary.updateSuccesses} updated contact(s), ${summary.updateFailures} failed contact update(s).`
|
|
182
|
+
: "Unexpected: profile did not change!");
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
console.log("Bot profile changed");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=bot.js.map
|
package/dist/bot.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { ChatEvent, ChatResponse, T } from "@simplex-chat/types";
|
|
2
|
+
/**
|
|
3
|
+
* Initialize chat controller
|
|
4
|
+
*/
|
|
5
|
+
export declare function chatMigrateInit(dbPath: string, dbKey: string, confirm: MigrationConfirmation): Promise<bigint>;
|
|
6
|
+
/**
|
|
7
|
+
* Close chat store
|
|
8
|
+
*/
|
|
9
|
+
export declare function chatCloseStore(ctrl: bigint): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Send chat command as string
|
|
12
|
+
*/
|
|
13
|
+
export declare function chatSendCmd(ctrl: bigint, cmd: string): Promise<ChatResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Receive chat event
|
|
16
|
+
*/
|
|
17
|
+
export declare function chatRecvMsgWait(ctrl: bigint, wait: number): Promise<ChatEvent | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* Write buffer to encrypted file
|
|
20
|
+
*/
|
|
21
|
+
export declare function chatWriteFile(ctrl: bigint, path: string, buffer: ArrayBuffer): Promise<CryptoArgs>;
|
|
22
|
+
/**
|
|
23
|
+
* Read buffer from encrypted file
|
|
24
|
+
*/
|
|
25
|
+
export declare function chatReadFile(path: string, { fileKey, fileNonce }: CryptoArgs): Promise<ArrayBuffer>;
|
|
26
|
+
/**
|
|
27
|
+
* Encrypt file
|
|
28
|
+
*/
|
|
29
|
+
export declare function chatEncryptFile(ctrl: bigint, fromPath: string, toPath: string): Promise<CryptoArgs>;
|
|
30
|
+
/**
|
|
31
|
+
* Decrypt file
|
|
32
|
+
*/
|
|
33
|
+
export declare function chatDecryptFile(fromPath: string, { fileKey, fileNonce }: CryptoArgs, toPath: string): Promise<void>;
|
|
34
|
+
export interface APIResult<R> {
|
|
35
|
+
result?: R;
|
|
36
|
+
error?: T.ChatError;
|
|
37
|
+
}
|
|
38
|
+
export declare class ChatAPIError extends Error {
|
|
39
|
+
message: string;
|
|
40
|
+
chatError: T.ChatError | undefined;
|
|
41
|
+
constructor(message: string, chatError?: T.ChatError | undefined);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Migration confirmation mode
|
|
45
|
+
*/
|
|
46
|
+
export declare enum MigrationConfirmation {
|
|
47
|
+
YesUp = "yesUp",
|
|
48
|
+
YesUpDown = "yesUpDown",
|
|
49
|
+
Console = "console",
|
|
50
|
+
Error = "error"
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* File encryption key and nonce
|
|
54
|
+
*/
|
|
55
|
+
export interface CryptoArgs {
|
|
56
|
+
fileKey: string;
|
|
57
|
+
fileNonce: string;
|
|
58
|
+
}
|
|
59
|
+
export declare class ChatInitError extends Error {
|
|
60
|
+
message: string;
|
|
61
|
+
dbMigrationError: DBMigrationError;
|
|
62
|
+
constructor(message: string, dbMigrationError: DBMigrationError);
|
|
63
|
+
}
|
|
64
|
+
export type DBMigrationError = DBMigrationError.InvalidConfirmation | DBMigrationError.ErrorNotADatabase | DBMigrationError.ErrorMigration | DBMigrationError.ErrorSQL;
|
|
65
|
+
export declare namespace DBMigrationError {
|
|
66
|
+
export type Tag = "invalidConfirmation" | "errorNotADatabase" | "errorMigration" | "errorSQL";
|
|
67
|
+
interface Interface {
|
|
68
|
+
type: Tag;
|
|
69
|
+
}
|
|
70
|
+
export interface InvalidConfirmation extends Interface {
|
|
71
|
+
type: "invalidConfirmation";
|
|
72
|
+
}
|
|
73
|
+
export interface ErrorNotADatabase extends Interface {
|
|
74
|
+
type: "errorNotADatabase";
|
|
75
|
+
dbFile: string;
|
|
76
|
+
}
|
|
77
|
+
export interface ErrorMigration extends Interface {
|
|
78
|
+
type: "errorMigration";
|
|
79
|
+
dbFile: string;
|
|
80
|
+
migrationError: MigrationError;
|
|
81
|
+
}
|
|
82
|
+
export interface ErrorSQL extends Interface {
|
|
83
|
+
type: "errorSQL";
|
|
84
|
+
dbFile: string;
|
|
85
|
+
migrationSQLError: string;
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
88
|
+
}
|
|
89
|
+
export type MigrationError = MigrationError.MEUpgrade | MigrationError.MEDowngrade | MigrationError.MigrationError;
|
|
90
|
+
export declare namespace MigrationError {
|
|
91
|
+
export type Tag = "upgrade" | "downgrade" | "migrationError";
|
|
92
|
+
interface Interface {
|
|
93
|
+
type: Tag;
|
|
94
|
+
}
|
|
95
|
+
export interface MEUpgrade extends Interface {
|
|
96
|
+
type: "upgrade";
|
|
97
|
+
upMigrations: UpMigration;
|
|
98
|
+
}
|
|
99
|
+
export interface MEDowngrade extends Interface {
|
|
100
|
+
type: "downgrade";
|
|
101
|
+
downMigrations: string[];
|
|
102
|
+
}
|
|
103
|
+
export interface MigrationError extends Interface {
|
|
104
|
+
type: "migrationError";
|
|
105
|
+
mtrError: MTRError;
|
|
106
|
+
}
|
|
107
|
+
export {};
|
|
108
|
+
}
|
|
109
|
+
export interface UpMigration {
|
|
110
|
+
upName: string;
|
|
111
|
+
withDown: boolean;
|
|
112
|
+
}
|
|
113
|
+
export type MTRError = MTRError.MTRENoDown | MTRError.MTREDifferent;
|
|
114
|
+
export declare namespace MTRError {
|
|
115
|
+
export type Tag = "noDown" | "different";
|
|
116
|
+
interface Interface {
|
|
117
|
+
type: Tag;
|
|
118
|
+
}
|
|
119
|
+
export interface MTRENoDown extends Interface {
|
|
120
|
+
type: "noDown";
|
|
121
|
+
upMigrations: UpMigration;
|
|
122
|
+
}
|
|
123
|
+
export interface MTREDifferent extends Interface {
|
|
124
|
+
type: "different";
|
|
125
|
+
downMigrations: string[];
|
|
126
|
+
}
|
|
127
|
+
export {};
|
|
128
|
+
}
|
package/dist/core.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatInitError = exports.MigrationConfirmation = exports.ChatAPIError = void 0;
|
|
4
|
+
exports.chatMigrateInit = chatMigrateInit;
|
|
5
|
+
exports.chatCloseStore = chatCloseStore;
|
|
6
|
+
exports.chatSendCmd = chatSendCmd;
|
|
7
|
+
exports.chatRecvMsgWait = chatRecvMsgWait;
|
|
8
|
+
exports.chatWriteFile = chatWriteFile;
|
|
9
|
+
exports.chatReadFile = chatReadFile;
|
|
10
|
+
exports.chatEncryptFile = chatEncryptFile;
|
|
11
|
+
exports.chatDecryptFile = chatDecryptFile;
|
|
12
|
+
const simplex = require("./simplex");
|
|
13
|
+
/**
|
|
14
|
+
* Initialize chat controller
|
|
15
|
+
*/
|
|
16
|
+
async function chatMigrateInit(dbPath, dbKey, confirm) {
|
|
17
|
+
const [ctrl, res] = await simplex.chat_migrate_init(dbPath, dbKey, confirm);
|
|
18
|
+
const json = JSON.parse(res);
|
|
19
|
+
if (json.type === 'ok')
|
|
20
|
+
return ctrl;
|
|
21
|
+
throw new ChatInitError("Database or migration error (see dbMigrationError property)", json);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Close chat store
|
|
25
|
+
*/
|
|
26
|
+
async function chatCloseStore(ctrl) {
|
|
27
|
+
const res = await simplex.chat_close_store(ctrl);
|
|
28
|
+
if (res !== "")
|
|
29
|
+
throw new Error(res);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Send chat command as string
|
|
33
|
+
*/
|
|
34
|
+
async function chatSendCmd(ctrl, cmd) {
|
|
35
|
+
const res = await simplex.chat_send_cmd(ctrl, cmd);
|
|
36
|
+
const json = JSON.parse(res);
|
|
37
|
+
// console.log(cmd.slice(0, 16), json.result?.type || json.error)
|
|
38
|
+
if (typeof json.result === 'object')
|
|
39
|
+
return json.result;
|
|
40
|
+
if (typeof json.error === 'object')
|
|
41
|
+
throw new ChatAPIError("Chat command error (see chatError property)", json.error);
|
|
42
|
+
throw new ChatAPIError("Invalid chat command result");
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Receive chat event
|
|
46
|
+
*/
|
|
47
|
+
async function chatRecvMsgWait(ctrl, wait) {
|
|
48
|
+
const res = await simplex.chat_recv_msg_wait(ctrl, wait);
|
|
49
|
+
if (res === "")
|
|
50
|
+
return undefined;
|
|
51
|
+
const json = JSON.parse(res);
|
|
52
|
+
// if (json.result) console.log("event", json.result.type)
|
|
53
|
+
if (typeof json.result === 'object')
|
|
54
|
+
return json.result;
|
|
55
|
+
if (typeof json.error === 'object')
|
|
56
|
+
throw new ChatAPIError("Chat event error (see chatError property)", json.error);
|
|
57
|
+
throw new ChatAPIError("Invalid chat event");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Write buffer to encrypted file
|
|
61
|
+
*/
|
|
62
|
+
async function chatWriteFile(ctrl, path, buffer) {
|
|
63
|
+
const res = await simplex.chat_write_file(ctrl, path, buffer);
|
|
64
|
+
return cryptoArgsResult(res);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Read buffer from encrypted file
|
|
68
|
+
*/
|
|
69
|
+
async function chatReadFile(path, { fileKey, fileNonce }) {
|
|
70
|
+
return await simplex.chat_read_file(path, fileKey, fileNonce);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Encrypt file
|
|
74
|
+
*/
|
|
75
|
+
async function chatEncryptFile(ctrl, fromPath, toPath) {
|
|
76
|
+
const res = await simplex.chat_encrypt_file(ctrl, fromPath, toPath);
|
|
77
|
+
return cryptoArgsResult(res);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Decrypt file
|
|
81
|
+
*/
|
|
82
|
+
async function chatDecryptFile(fromPath, { fileKey, fileNonce }, toPath) {
|
|
83
|
+
const res = await simplex.chat_decrypt_file(fromPath, fileKey, fileNonce, toPath);
|
|
84
|
+
if (res !== "")
|
|
85
|
+
throw new Error(res);
|
|
86
|
+
}
|
|
87
|
+
function cryptoArgsResult(res) {
|
|
88
|
+
const json = JSON.parse(res);
|
|
89
|
+
switch (json.type) {
|
|
90
|
+
case "result": return json.cryptoArgs;
|
|
91
|
+
case "error": throw Error(json.writeError);
|
|
92
|
+
default: throw Error("unexpected chat_write_file result: " + res);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
class ChatAPIError extends Error {
|
|
96
|
+
constructor(message, chatError = undefined) {
|
|
97
|
+
super(message);
|
|
98
|
+
this.message = message;
|
|
99
|
+
this.chatError = chatError;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.ChatAPIError = ChatAPIError;
|
|
103
|
+
/**
|
|
104
|
+
* Migration confirmation mode
|
|
105
|
+
*/
|
|
106
|
+
var MigrationConfirmation;
|
|
107
|
+
(function (MigrationConfirmation) {
|
|
108
|
+
MigrationConfirmation["YesUp"] = "yesUp";
|
|
109
|
+
MigrationConfirmation["YesUpDown"] = "yesUpDown";
|
|
110
|
+
MigrationConfirmation["Console"] = "console";
|
|
111
|
+
MigrationConfirmation["Error"] = "error";
|
|
112
|
+
})(MigrationConfirmation || (exports.MigrationConfirmation = MigrationConfirmation = {}));
|
|
113
|
+
class ChatInitError extends Error {
|
|
114
|
+
constructor(message, dbMigrationError) {
|
|
115
|
+
super(message);
|
|
116
|
+
this.message = message;
|
|
117
|
+
this.dbMigrationError = dbMigrationError;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.ChatInitError = ChatInitError;
|
|
121
|
+
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A simple declarative API to run a chat-bot with a single function call.
|
|
3
|
+
* It automates creating and updating of the bot profile, address and bot commands shown in the app UI.
|
|
4
|
+
*/
|
|
5
|
+
export * as bot from "./bot";
|
|
6
|
+
/**
|
|
7
|
+
* An API to send chat commands and receive chat events to/from chat core.
|
|
8
|
+
* You need to use it in bot event handlers, and for any other use cases.
|
|
9
|
+
*/
|
|
10
|
+
export * as api from "./api";
|
|
11
|
+
/**
|
|
12
|
+
* A low level API to the core library - the same that is used in desktop clients.
|
|
13
|
+
* You are unlikely to ever need to use this module directly.
|
|
14
|
+
*/
|
|
15
|
+
export * as core from "./core";
|
|
16
|
+
/**
|
|
17
|
+
* Useful functions for chat events and types.
|
|
18
|
+
*/
|
|
19
|
+
export * as util from "./util";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.util = exports.core = exports.api = exports.bot = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A simple declarative API to run a chat-bot with a single function call.
|
|
6
|
+
* It automates creating and updating of the bot profile, address and bot commands shown in the app UI.
|
|
7
|
+
*/
|
|
8
|
+
exports.bot = require("./bot");
|
|
9
|
+
/**
|
|
10
|
+
* An API to send chat commands and receive chat events to/from chat core.
|
|
11
|
+
* You need to use it in bot event handlers, and for any other use cases.
|
|
12
|
+
*/
|
|
13
|
+
exports.api = require("./api");
|
|
14
|
+
/**
|
|
15
|
+
* A low level API to the core library - the same that is used in desktop clients.
|
|
16
|
+
* You are unlikely to ever need to use this module directly.
|
|
17
|
+
*/
|
|
18
|
+
exports.core = require("./core");
|
|
19
|
+
/**
|
|
20
|
+
* Useful functions for chat events and types.
|
|
21
|
+
*/
|
|
22
|
+
exports.util = require("./util");
|
|
7
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+BAA4B;AAE5B;;;GAGG;AACH,+BAA4B;AAE5B;;;GAGG;AACH,iCAA8B;AAE9B;;GAEG;AACH,iCAA8B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// These functions are defined in CPP add-on ../cpp/simplex.cc
|
|
2
|
+
|
|
3
|
+
export function chat_migrate_init(dbPath: string, dbKey: string, confirm: string): Promise<[bigint, string]>
|
|
4
|
+
export function chat_close_store(ctrl: bigint): Promise<string>
|
|
5
|
+
export function chat_send_cmd(ctrl: bigint, cmd: string): Promise<string>
|
|
6
|
+
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<ArrayBuffer>
|
|
9
|
+
export function chat_encrypt_file(ctrl: bigint, fromPath: string, toPath: string): Promise<string>
|
|
10
|
+
export function chat_decrypt_file(fromPath: string, key: string, nonce: string, toPath: string): Promise<string>
|
package/dist/simplex.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../build/Release/simplex")
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { T } from "@simplex-chat/types";
|
|
2
|
+
import { BotAddressSettings } from "./api";
|
|
3
|
+
export declare function chatInfoRef(cInfo: T.ChatInfo): T.ChatRef | undefined;
|
|
4
|
+
export declare function chatInfoName(cInfo: T.ChatInfo): string;
|
|
5
|
+
export declare function senderName(cInfo: T.ChatInfo, chatDir: T.CIDirection): string;
|
|
6
|
+
export declare function contactAddressStr(link: T.CreatedConnLink): string;
|
|
7
|
+
export declare function botAddressSettings({ addressSettings }: T.UserContactLink): BotAddressSettings;
|
|
8
|
+
export declare function fromLocalProfile({ displayName, fullName, shortDescr, image, contactLink, preferences, peerType }: T.LocalProfile): T.Profile;
|
|
9
|
+
export declare function ciContentText({ content }: T.ChatItem): string | undefined;
|
|
10
|
+
export interface BotCommand {
|
|
11
|
+
keyword: string;
|
|
12
|
+
params: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function ciBotCommand(chatItem: T.ChatItem): BotCommand | undefined;
|
|
15
|
+
export declare function reactionText(reaction: T.ACIReaction): string;
|