simplex-chat 0.2.0 → 0.2.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.
package/dist/client.d.ts CHANGED
@@ -45,8 +45,8 @@ export declare class ChatClient {
45
45
  disableAddressAutoAccept(): Promise<void>;
46
46
  apiGetChats(userId: number): Promise<CR.Chat[]>;
47
47
  apiGetChat(chatType: ChatType, chatId: number, pagination?: CC.ChatPagination, search?: string | undefined): Promise<CR.Chat>;
48
- apiSendMessage(chatType: ChatType, chatId: number, message: CC.ComposedMessage): Promise<CR.AChatItem>;
49
- apiSendTextMessage(chatType: ChatType, chatId: number, text: string): Promise<CR.AChatItem>;
48
+ apiSendMessages(chatType: ChatType, chatId: number, messages: CC.ComposedMessage[]): Promise<CR.AChatItem[]>;
49
+ apiSendTextMessage(chatType: ChatType, chatId: number, text: string): Promise<CR.AChatItem[]>;
50
50
  apiUpdateChatItem(chatType: ChatType, chatId: number, chatItemId: CC.ChatItemId, msgContent: CC.MsgContent): Promise<CR.ChatItem>;
51
51
  apiDeleteChatItem(chatType: ChatType, chatId: number, chatItemId: number, deleteMode: CC.DeleteMode): Promise<CR.ChatItem | undefined>;
52
52
  apiCreateLink(): Promise<string>;
package/dist/client.js CHANGED
@@ -133,14 +133,14 @@ class ChatClient {
133
133
  return r.chat;
134
134
  throw new ChatCommandError("error loading chat", r);
135
135
  }
136
- async apiSendMessage(chatType, chatId, message) {
137
- const r = await this.sendChatCommand({ type: "apiSendMessage", chatType, chatId, message });
138
- if (r.type === "newChatItem")
139
- return r.chatItem;
136
+ async apiSendMessages(chatType, chatId, messages) {
137
+ const r = await this.sendChatCommand({ type: "apiSendMessage", chatType, chatId, messages });
138
+ if (r.type === "newChatItems")
139
+ return r.chatItems;
140
140
  throw new ChatCommandError("unexpected response", r);
141
141
  }
142
- apiSendTextMessage(chatType, chatId, text) {
143
- return this.apiSendMessage(chatType, chatId, { msgContent: { type: "text", text } });
142
+ async apiSendTextMessage(chatType, chatId, text) {
143
+ return this.apiSendMessages(chatType, chatId, [{ msgContent: { type: "text", text } }]);
144
144
  }
145
145
  async apiUpdateChatItem(chatType, chatId, chatItemId, msgContent) {
146
146
  const r = await this.sendChatCommand({ type: "apiUpdateChatItem", chatType, chatId, chatItemId, msgContent });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/command.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export type ChatCommand = ShowActiveUser | CreateActiveUser | ListUsers | APISetActiveUser | APIHideUser | APIUnhideUser | APIMuteUser | APIUnmuteUser | APIDeleteUser | StartChat | APIStopChat | SetTempFolder | SetFilesFolder | APISetXFTPConfig | SetIncognito | APIExportArchive | APIImportArchive | APIDeleteStorage | APIGetChats | APIGetChat | APISendMessage | APIUpdateChatItem | APIDeleteChatItem | APIDeleteMemberChatItem | APIChatRead | APIDeleteChat | APIClearChat | APIAcceptContact | APIRejectContact | APIUpdateProfile | APISetContactAlias | APIParseMarkdown | NewGroup | APIAddMember | APIJoinGroup | APIRemoveMember | APILeaveGroup | APIListMembers | APIUpdateGroupProfile | APICreateGroupLink | APIGroupLinkMemberRole | APIDeleteGroupLink | APIGetGroupLink | APIGetUserProtoServers | APISetUserProtoServers | APIContactInfo | APIGroupMemberInfo | APIGetContactCode | APIGetGroupMemberCode | APIVerifyContact | APIVerifyGroupMember | AddContact | Connect | ConnectSimplex | CreateMyAddress | DeleteMyAddress | ShowMyAddress | SetProfileAddress | AddressAutoAccept | APICreateMyAddress | APIDeleteMyAddress | APIShowMyAddress | APISetProfileAddress | APIAddressAutoAccept | ReceiveFile | CancelFile | FileStatus;
2
- type ChatCommandTag = "showActiveUser" | "createActiveUser" | "listUsers" | "apiSetActiveUser" | "setActiveUser" | "apiHideUser" | "apiUnhideUser" | "apiMuteUser" | "apiUnmuteUser" | "apiDeleteUser" | "startChat" | "apiStopChat" | "setTempFolder" | "setFilesFolder" | "apiSetXFTPConfig" | "setIncognito" | "apiExportArchive" | "apiImportArchive" | "apiDeleteStorage" | "apiGetChats" | "apiGetChat" | "apiSendMessage" | "apiUpdateChatItem" | "apiDeleteChatItem" | "apiDeleteMemberChatItem" | "apiChatRead" | "apiDeleteChat" | "apiClearChat" | "apiAcceptContact" | "apiRejectContact" | "apiUpdateProfile" | "apiSetContactAlias" | "apiParseMarkdown" | "newGroup" | "apiAddMember" | "apiJoinGroup" | "apiRemoveMember" | "apiLeaveGroup" | "apiListMembers" | "apiUpdateGroupProfile" | "apiCreateGroupLink" | "apiGroupLinkMemberRole" | "apiDeleteGroupLink" | "apiGetGroupLink" | "apiGetUserProtoServers" | "apiSetUserProtoServers" | "apiContactInfo" | "apiGroupMemberInfo" | "apiGetContactCode" | "apiGetGroupMemberCode" | "apiVerifyContact" | "apiVerifyGroupMember" | "addContact" | "connect" | "connectSimplex" | "createMyAddress" | "deleteMyAddress" | "showMyAddress" | "setProfileAddress" | "addressAutoAccept" | "apiCreateMyAddress" | "apiDeleteMyAddress" | "apiShowMyAddress" | "apiSetProfileAddress" | "apiAddressAutoAccept" | "receiveFile" | "cancelFile" | "fileStatus";
1
+ export type ChatCommand = ShowActiveUser | CreateActiveUser | ListUsers | APISetActiveUser | APIHideUser | APIUnhideUser | APIMuteUser | APIUnmuteUser | APIDeleteUser | StartChat | APIStopChat | SetTempFolder | SetFilesFolder | SetIncognito | APIExportArchive | APIImportArchive | APIDeleteStorage | APIGetChats | APIGetChat | APISendMessage | APIUpdateChatItem | APIDeleteChatItem | APIDeleteMemberChatItem | APIChatRead | APIDeleteChat | APIClearChat | APIAcceptContact | APIRejectContact | APIUpdateProfile | APISetContactAlias | APIParseMarkdown | NewGroup | APIAddMember | APIJoinGroup | APIRemoveMember | APILeaveGroup | APIListMembers | APIUpdateGroupProfile | APICreateGroupLink | APIGroupLinkMemberRole | APIDeleteGroupLink | APIGetGroupLink | APIGetUserProtoServers | APISetUserProtoServers | APIContactInfo | APIGroupMemberInfo | APIGetContactCode | APIGetGroupMemberCode | APIVerifyContact | APIVerifyGroupMember | AddContact | Connect | ConnectSimplex | CreateMyAddress | DeleteMyAddress | ShowMyAddress | SetProfileAddress | AddressAutoAccept | APICreateMyAddress | APIDeleteMyAddress | APIShowMyAddress | APISetProfileAddress | APIAddressAutoAccept | ReceiveFile | CancelFile | FileStatus;
2
+ type ChatCommandTag = "showActiveUser" | "createActiveUser" | "listUsers" | "apiSetActiveUser" | "setActiveUser" | "apiHideUser" | "apiUnhideUser" | "apiMuteUser" | "apiUnmuteUser" | "apiDeleteUser" | "startChat" | "apiStopChat" | "setTempFolder" | "setFilesFolder" | "setIncognito" | "apiExportArchive" | "apiImportArchive" | "apiDeleteStorage" | "apiGetChats" | "apiGetChat" | "apiSendMessage" | "apiUpdateChatItem" | "apiDeleteChatItem" | "apiDeleteMemberChatItem" | "apiChatRead" | "apiDeleteChat" | "apiClearChat" | "apiAcceptContact" | "apiRejectContact" | "apiUpdateProfile" | "apiSetContactAlias" | "apiParseMarkdown" | "newGroup" | "apiAddMember" | "apiJoinGroup" | "apiRemoveMember" | "apiLeaveGroup" | "apiListMembers" | "apiUpdateGroupProfile" | "apiCreateGroupLink" | "apiGroupLinkMemberRole" | "apiDeleteGroupLink" | "apiGetGroupLink" | "apiGetUserProtoServers" | "apiSetUserProtoServers" | "apiContactInfo" | "apiGroupMemberInfo" | "apiGetContactCode" | "apiGetGroupMemberCode" | "apiVerifyContact" | "apiVerifyGroupMember" | "addContact" | "connect" | "connectSimplex" | "createMyAddress" | "deleteMyAddress" | "showMyAddress" | "setProfileAddress" | "addressAutoAccept" | "apiCreateMyAddress" | "apiDeleteMyAddress" | "apiShowMyAddress" | "apiSetProfileAddress" | "apiAddressAutoAccept" | "receiveFile" | "cancelFile" | "fileStatus";
3
3
  interface IChatCommand {
4
4
  type: ChatCommandTag;
5
5
  }
@@ -61,13 +61,6 @@ export interface SetFilesFolder extends IChatCommand {
61
61
  type: "setFilesFolder";
62
62
  filePath: string;
63
63
  }
64
- export interface APISetXFTPConfig extends IChatCommand {
65
- type: "apiSetXFTPConfig";
66
- config?: XFTPFileConfig;
67
- }
68
- export interface XFTPFileConfig {
69
- minFileSize: number;
70
- }
71
64
  export interface SetIncognito extends IChatCommand {
72
65
  type: "setIncognito";
73
66
  incognito: boolean;
@@ -99,7 +92,7 @@ export interface APISendMessage extends IChatCommand {
99
92
  type: "apiSendMessage";
100
93
  chatType: ChatType;
101
94
  chatId: number;
102
- message: ComposedMessage;
95
+ messages: ComposedMessage[];
103
96
  }
104
97
  export interface ComposedMessage {
105
98
  filePath?: string;
package/dist/command.js CHANGED
@@ -53,8 +53,6 @@ function cmdString(cmd) {
53
53
  return `/_temp_folder ${cmd.tempFolder}`;
54
54
  case "setFilesFolder":
55
55
  return `/_files_folder ${cmd.filePath}`;
56
- case "apiSetXFTPConfig":
57
- return `/_xftp ${onOff(cmd.config)}${maybeJSON(cmd.config)}`;
58
56
  case "setIncognito":
59
57
  return `/incognito ${onOff(cmd.incognito)}`;
60
58
  case "apiExportArchive":
@@ -68,7 +66,7 @@ function cmdString(cmd) {
68
66
  case "apiGetChat":
69
67
  return `/_get chat ${cmd.chatType}${cmd.chatId}${paginationStr(cmd.pagination)}`;
70
68
  case "apiSendMessage":
71
- return `/_send ${cmd.chatType}${cmd.chatId} json ${JSON.stringify(cmd.message)}`;
69
+ return `/_send ${cmd.chatType}${cmd.chatId} json ${JSON.stringify(cmd.messages)}`;
72
70
  case "apiUpdateChatItem":
73
71
  return `/_update item ${cmd.chatType}${cmd.chatId} ${cmd.chatItemId} json ${JSON.stringify(cmd.msgContent)}`;
74
72
  case "apiDeleteChatItem":
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ChatItemId, MsgContent, DeleteMode, Profile, GroupMemberRole, LocalProfile, ServerProtocol, ServerCfg } from "./command";
2
- export type ChatResponse = CRActiveUser | CRUsersList | CRChatStarted | CRChatRunning | CRChatStopped | CRApiChats | CRApiChat | CRApiParsedMarkdown | CRUserProtoServers | CRContactInfo | CRGroupMemberInfo | CRNewChatItem | CRChatItemStatusUpdated | CRChatItemUpdated | CRChatItemDeleted | CRMsgIntegrityError | CRCmdOk | CRUserContactLink | CRUserContactLinkUpdated | CRContactRequestRejected | CRUserProfile | CRUserProfileNoChange | CRUserProfileUpdated | CRContactAliasUpdated | CRInvitation | CRSentConfirmation | CRSentInvitation | CRContactUpdated | CRContactsMerged | CRContactDeleted | CRChatCleared | CRUserContactLinkCreated | CRUserContactLinkDeleted | CRReceivedContactRequest | CRAcceptingContactRequest | CRContactAlreadyExists | CRContactRequestAlreadyAccepted | CRContactConnecting | CRContactConnected | CRContactAnotherClient | CRContactSubError | CRContactSubSummary | CRContactsDisconnected | CRContactsSubscribed | CRHostConnected | CRHostDisconnected | CRGroupEmpty | CRMemberSubError | CRMemberSubSummary | CRGroupSubscribed | CRRcvFileAccepted | CRRcvFileAcceptedSndCancelled | CRRcvFileStart | CRRcvFileComplete | CRRcvFileCancelled | CRRcvFileSndCancelled | CRSndFileStart | CRSndFileComplete | CRSndFileCancelled | CRSndFileRcvCancelled | CRSndGroupFileCancelled | CRSndFileSubError | CRRcvFileSubError | CRPendingSubSummary | CRGroupCreated | CRGroupMembers | CRUserAcceptedGroupSent | CRUserDeletedMember | CRSentGroupInvitation | CRLeftMemberUser | CRGroupDeletedUser | CRGroupInvitation | CRReceivedGroupInvitation | CRUserJoinedGroup | CRJoinedGroupMember | CRJoinedGroupMemberConnecting | CRConnectedToGroupMember | CRDeletedMember | CRDeletedMemberUser | CRLeftMember | CRGroupRemoved | CRGroupDeleted | CRGroupUpdated | CRUserContactLinkSubscribed | CRUserContactLinkSubError | CRNewContactConnection | CRContactConnectionDeleted | CRMessageError | CRChatCmdError | CRChatError;
3
- type ChatResponseTag = "activeUser" | "usersList" | "chatStarted" | "chatRunning" | "chatStopped" | "apiChats" | "apiChat" | "apiParsedMarkdown" | "userProtoServers" | "contactInfo" | "groupMemberInfo" | "newChatItem" | "chatItemStatusUpdated" | "chatItemUpdated" | "chatItemDeleted" | "msgIntegrityError" | "cmdOk" | "userContactLink" | "userContactLinkUpdated" | "userContactLinkCreated" | "userContactLinkDeleted" | "contactRequestRejected" | "userProfile" | "userProfileNoChange" | "userProfileUpdated" | "contactAliasUpdated" | "invitation" | "sentConfirmation" | "sentInvitation" | "contactUpdated" | "contactsMerged" | "contactDeleted" | "chatCleared" | "receivedContactRequest" | "acceptingContactRequest" | "contactAlreadyExists" | "contactRequestAlreadyAccepted" | "contactConnecting" | "contactConnected" | "contactAnotherClient" | "contactSubError" | "contactSubSummary" | "contactsDisconnected" | "contactsSubscribed" | "hostConnected" | "hostDisconnected" | "groupEmpty" | "memberSubError" | "memberSubSummary" | "groupSubscribed" | "rcvFileAccepted" | "rcvFileAcceptedSndCancelled" | "rcvFileStart" | "rcvFileComplete" | "rcvFileCancelled" | "rcvFileSndCancelled" | "sndFileStart" | "sndFileComplete" | "sndFileCancelled" | "sndFileRcvCancelled" | "sndGroupFileCancelled" | "fileTransferStatus" | "sndFileSubError" | "rcvFileSubError" | "pendingSubSummary" | "groupCreated" | "groupMembers" | "userAcceptedGroupSent" | "userDeletedMember" | "sentGroupInvitation" | "leftMemberUser" | "groupDeletedUser" | "groupInvitation" | "receivedGroupInvitation" | "userJoinedGroup" | "joinedGroupMember" | "joinedGroupMemberConnecting" | "connectedToGroupMember" | "deletedMember" | "deletedMemberUser" | "leftMember" | "groupRemoved" | "groupDeleted" | "groupUpdated" | "userContactLinkSubscribed" | "userContactLinkSubError" | "newContactConnection" | "contactConnectionDeleted" | "messageError" | "chatCmdError" | "chatError";
2
+ export type ChatResponse = CRActiveUser | CRUsersList | CRChatStarted | CRChatRunning | CRChatStopped | CRApiChats | CRApiChat | CRApiParsedMarkdown | CRUserProtoServers | CRContactInfo | CRGroupMemberInfo | CRNewChatItems | CRChatItemStatusUpdated | CRChatItemUpdated | CRChatItemDeleted | CRMsgIntegrityError | CRCmdOk | CRUserContactLink | CRUserContactLinkUpdated | CRContactRequestRejected | CRUserProfile | CRUserProfileNoChange | CRUserProfileUpdated | CRContactAliasUpdated | CRInvitation | CRSentConfirmation | CRSentInvitation | CRContactUpdated | CRContactsMerged | CRContactDeleted | CRChatCleared | CRUserContactLinkCreated | CRUserContactLinkDeleted | CRReceivedContactRequest | CRAcceptingContactRequest | CRContactAlreadyExists | CRContactRequestAlreadyAccepted | CRContactConnecting | CRContactConnected | CRContactAnotherClient | CRContactSubError | CRContactSubSummary | CRContactsDisconnected | CRContactsSubscribed | CRHostConnected | CRHostDisconnected | CRGroupEmpty | CRMemberSubError | CRMemberSubSummary | CRGroupSubscribed | CRRcvFileAccepted | CRRcvFileAcceptedSndCancelled | CRRcvFileStart | CRRcvFileComplete | CRRcvFileCancelled | CRRcvFileSndCancelled | CRSndFileStart | CRSndFileComplete | CRSndFileCancelled | CRSndFileRcvCancelled | CRSndGroupFileCancelled | CRSndFileSubError | CRRcvFileSubError | CRPendingSubSummary | CRGroupCreated | CRGroupMembers | CRUserAcceptedGroupSent | CRUserDeletedMember | CRSentGroupInvitation | CRLeftMemberUser | CRGroupDeletedUser | CRGroupInvitation | CRReceivedGroupInvitation | CRUserJoinedGroup | CRJoinedGroupMember | CRJoinedGroupMemberConnecting | CRConnectedToGroupMember | CRDeletedMember | CRDeletedMemberUser | CRLeftMember | CRGroupRemoved | CRGroupDeleted | CRGroupUpdated | CRUserContactLinkSubscribed | CRUserContactLinkSubError | CRContactConnectionDeleted | CRMessageError | CRChatCmdError | CRChatError;
3
+ type ChatResponseTag = "activeUser" | "usersList" | "chatStarted" | "chatRunning" | "chatStopped" | "apiChats" | "apiChat" | "apiParsedMarkdown" | "userProtoServers" | "contactInfo" | "groupMemberInfo" | "newChatItems" | "chatItemStatusUpdated" | "chatItemUpdated" | "chatItemDeleted" | "msgIntegrityError" | "cmdOk" | "userContactLink" | "userContactLinkUpdated" | "userContactLinkCreated" | "userContactLinkDeleted" | "contactRequestRejected" | "userProfile" | "userProfileNoChange" | "userProfileUpdated" | "contactAliasUpdated" | "invitation" | "sentConfirmation" | "sentInvitation" | "contactUpdated" | "contactsMerged" | "contactDeleted" | "chatCleared" | "receivedContactRequest" | "acceptingContactRequest" | "contactAlreadyExists" | "contactRequestAlreadyAccepted" | "contactConnecting" | "contactConnected" | "contactAnotherClient" | "contactSubError" | "contactSubSummary" | "contactsDisconnected" | "contactsSubscribed" | "hostConnected" | "hostDisconnected" | "groupEmpty" | "memberSubError" | "memberSubSummary" | "groupSubscribed" | "rcvFileAccepted" | "rcvFileAcceptedSndCancelled" | "rcvFileStart" | "rcvFileComplete" | "rcvFileCancelled" | "rcvFileSndCancelled" | "sndFileStart" | "sndFileComplete" | "sndFileCancelled" | "sndFileRcvCancelled" | "sndGroupFileCancelled" | "fileTransferStatus" | "sndFileSubError" | "rcvFileSubError" | "pendingSubSummary" | "groupCreated" | "groupMembers" | "userAcceptedGroupSent" | "userDeletedMember" | "sentGroupInvitation" | "leftMemberUser" | "groupDeletedUser" | "groupInvitation" | "receivedGroupInvitation" | "userJoinedGroup" | "joinedGroupMember" | "joinedGroupMemberConnecting" | "connectedToGroupMember" | "deletedMember" | "deletedMemberUser" | "leftMember" | "groupRemoved" | "groupDeleted" | "groupUpdated" | "userContactLinkSubscribed" | "userContactLinkSubError" | "newContactConnection" | "contactConnectionDeleted" | "messageError" | "chatCmdError" | "chatError";
4
4
  interface CR {
5
5
  type: ChatResponseTag;
6
6
  }
@@ -54,10 +54,10 @@ export interface CRGroupMemberInfo extends CR {
54
54
  member: GroupMember;
55
55
  connectionStats_?: ConnectionStats;
56
56
  }
57
- export interface CRNewChatItem extends CR {
58
- type: "newChatItem";
57
+ export interface CRNewChatItems extends CR {
58
+ type: "newChatItems";
59
59
  user: User;
60
- chatItem: AChatItem;
60
+ chatItems: AChatItem[];
61
61
  }
62
62
  export interface CRChatItemStatusUpdated extends CR {
63
63
  type: "chatItemStatusUpdated";
@@ -455,11 +455,6 @@ export interface CRUserContactLinkSubError extends CR {
455
455
  type: "userContactLinkSubError";
456
456
  chatError: ChatError;
457
457
  }
458
- export interface CRNewContactConnection extends CR {
459
- type: "newContactConnection";
460
- user: User;
461
- connection: PendingContactConnection;
462
- }
463
458
  export interface CRContactConnectionDeleted extends CR {
464
459
  type: "contactConnectionDeleted";
465
460
  user: User;
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":";;;AAsxBA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,iDAAiC,CAAA;AACnC,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AA4KD,SAAgB,aAAa,CAAC,OAAkB;IAC9C,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,eAAe;YAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA;QAChC,KAAK,eAAe;YAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA;QAChC;YACE,OAAO,SAAS,CAAA;KACnB;AACH,CAAC;AATD,sCASC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":";;;AA+wBA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,iDAAiC,CAAA;AACnC,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AA4KD,SAAgB,aAAa,CAAC,OAAkB;IAC9C,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,eAAe;YAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA;QAChC,KAAK,eAAe;YAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA;QAChC;YACE,OAAO,SAAS,CAAA;KACnB;AACH,CAAC;AATD,sCASC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simplex-chat",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "SimpleX Chat client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,8 +0,0 @@
1
- declare const Ws: {
2
- new (url: string | URL, protocols?: string | string[] | undefined): WebSocket;
3
- prototype: WebSocket;
4
- readonly CLOSED: number;
5
- readonly CLOSING: number;
6
- readonly CONNECTING: number;
7
- readonly OPEN: number;
8
- };
@@ -1,4 +0,0 @@
1
- "use strict";
2
- const Ws = require("isomorphic-ws");
3
- Object.defineProperty(global, "WebSocket", { value: Ws });
4
- //# sourceMappingURL=browser_globals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser_globals.js","sourceRoot":"","sources":["../src/browser_globals.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAqB,CAAA;AAEvD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC,CAAA"}
package/dist/index.mjs DELETED
@@ -1,585 +0,0 @@
1
- class Sem {
2
- constructor(permits) {
3
- this.permits = permits;
4
- this.promises = [];
5
- }
6
- signal() {
7
- this.permits += 1;
8
- if (this.promises.length > 0)
9
- this.promises.pop()();
10
- }
11
- async wait() {
12
- if (this.permits === 0 || this.promises.length > 0) {
13
- await new Promise((r) => this.promises.unshift(r));
14
- }
15
- this.permits -= 1;
16
- }
17
- }
18
- const queueClosed = Symbol();
19
- class ABQueueError extends Error {
20
- }
21
- class ABQueue {
22
- constructor(maxSize) {
23
- this.maxSize = maxSize;
24
- this.queue = [];
25
- this.enqClosed = false;
26
- this.deqClosed = false;
27
- this.enq = new Sem(0);
28
- this.deq = new Sem(maxSize);
29
- }
30
- [Symbol.asyncIterator]() {
31
- return this;
32
- }
33
- enqueue(x) {
34
- return this._enqueue(x);
35
- }
36
- async _enqueue(x) {
37
- if (this.enqClosed)
38
- throw new ABQueueError("enqueue: queue closed");
39
- await this.deq.wait();
40
- this.queue.push(x);
41
- this.enq.signal();
42
- }
43
- async dequeue() {
44
- if (this.deqClosed)
45
- throw new ABQueueError("dequeue: queue closed");
46
- this.deq.signal();
47
- await this.enq.wait();
48
- const x = this.queue.shift();
49
- if (x === queueClosed) {
50
- this.deqClosed = true;
51
- throw new ABQueueError("dequeue: queue closed");
52
- }
53
- return x;
54
- }
55
- async close() {
56
- await this._enqueue(queueClosed);
57
- this.enqClosed = true;
58
- }
59
- async next() {
60
- if (this.deqClosed)
61
- return { done: true };
62
- try {
63
- return { value: await this.dequeue() };
64
- }
65
- catch (e) {
66
- if (e instanceof ABQueueError)
67
- return { done: true };
68
- throw e;
69
- }
70
- }
71
- }
72
-
73
- class TransportError extends Error {
74
- }
75
- class Transport {
76
- constructor(qSize) {
77
- this.queue = new ABQueue(qSize);
78
- }
79
- [Symbol.asyncIterator]() {
80
- return this;
81
- }
82
- async read() {
83
- return this.queue.dequeue();
84
- }
85
- async next() {
86
- return this.queue.next();
87
- }
88
- }
89
- class WSTransport extends Transport {
90
- constructor(sock, timeout, qSize) {
91
- super(qSize);
92
- this.sock = sock;
93
- this.timeout = timeout;
94
- }
95
- static connect(url, timeout, qSize) {
96
- const sock = new WebSocket(url);
97
- const t = new WSTransport(sock, timeout, qSize);
98
- sock.onmessage = async ({ data }) => await t.queue.enqueue(data);
99
- sock.onclose = async () => await t.queue.close();
100
- sock.onerror = () => sock.close();
101
- return withTimeout(timeout, () => new Promise((r) => (sock.onopen = () => r(t))));
102
- }
103
- close() {
104
- this.sock.close();
105
- return Promise.resolve();
106
- }
107
- write(data) {
108
- const buffered = this.sock.bufferedAmount;
109
- this.sock.send(data);
110
- return withTimeout(this.timeout, async () => {
111
- while (this.sock.bufferedAmount > buffered)
112
- await delay();
113
- });
114
- }
115
- async readBinary(size) {
116
- const data = await this.read();
117
- if (typeof data == "string")
118
- throw new TransportError("invalid text block: expected binary");
119
- if (data.byteLength !== size)
120
- throw new TransportError("invalid block size");
121
- return data;
122
- }
123
- }
124
- function withTimeout(ms, action) {
125
- return Promise.race([
126
- action(),
127
- (async () => {
128
- await delay(ms);
129
- throw new Error("timeout");
130
- })(),
131
- ]);
132
- }
133
- class ChatResponseError extends Error {
134
- constructor(message, data) {
135
- super(message);
136
- this.message = message;
137
- this.data = data;
138
- }
139
- }
140
- class ChatTransport extends Transport {
141
- constructor(ws, timeout, qSize) {
142
- super(qSize);
143
- this.ws = ws;
144
- this.timeout = timeout;
145
- }
146
- static async connect(srv, timeout, qSize) {
147
- const ws = await WSTransport.connect(`ws://${srv.host}:${srv.port || "80"}`, timeout, qSize);
148
- const c = new ChatTransport(ws, timeout, qSize);
149
- processWSQueue(c, ws).then(noop, noop);
150
- return c;
151
- }
152
- async close() {
153
- await this.ws.close();
154
- }
155
- async write(cmd) {
156
- return this.ws.write(JSON.stringify(cmd));
157
- }
158
- }
159
- function noop() { }
160
- async function processWSQueue(c, ws) {
161
- var _a;
162
- for await (const data of ws) {
163
- const str = data instanceof Promise ? await data : data;
164
- if (typeof str != "string") {
165
- await c.queue.enqueue(new ChatResponseError("websocket data is not a string"));
166
- continue;
167
- }
168
- let resp;
169
- try {
170
- const data = JSON.parse(str);
171
- if (typeof ((_a = data === null || data === void 0 ? void 0 : data.resp) === null || _a === void 0 ? void 0 : _a.type) == "string") {
172
- resp = data;
173
- }
174
- else {
175
- resp = new ChatResponseError("invalid response format", str);
176
- }
177
- }
178
- catch (err) {
179
- resp = new ChatResponseError(err.message, str);
180
- }
181
- await c.queue.enqueue(resp);
182
- }
183
- await c.queue.close();
184
- }
185
- function delay(ms) {
186
- return new Promise((r) => setTimeout(r, ms));
187
- }
188
-
189
- var ChatType;
190
- (function (ChatType) {
191
- ChatType["CTDirect"] = "@";
192
- ChatType["CTGroup"] = "#";
193
- ChatType["CTContactRequest"] = "<@";
194
- })(ChatType || (ChatType = {}));
195
- var DeleteMode;
196
- (function (DeleteMode) {
197
- DeleteMode["DMBroadcast"] = "broadcast";
198
- DeleteMode["DMInternal"] = "internal";
199
- })(DeleteMode || (DeleteMode = {}));
200
- function cmdString(cmd) {
201
- switch (cmd.type) {
202
- case "showActiveUser":
203
- return "/u";
204
- case "createActiveUser":
205
- return `/u ${JSON.stringify(cmd.profile)}`;
206
- case "startChat":
207
- return "/_start";
208
- case "setFilesFolder":
209
- return `/_files_folder ${cmd.filePath}`;
210
- case "apiGetChats":
211
- return "/_get chats";
212
- case "apiGetChat":
213
- return `/_get chat ${cmd.chatType}${cmd.chatId}${paginationStr(cmd.pagination)}`;
214
- case "apiSendMessage":
215
- return `/_send ${cmd.chatType}${cmd.chatId}${tagged("file", cmd.filePath)}${tagged("quoted", cmd.quotedItem)} json ${JSON.stringify(cmd.msgContent)}`;
216
- case "apiUpdateChatItem":
217
- return `/_update item ${cmd.chatType}${cmd.chatId} ${cmd.chatItemId} json ${JSON.stringify(cmd.msgContent)}`;
218
- case "apiDeleteChatItem":
219
- return `/_delete item ${cmd.chatType}${cmd.chatId} ${cmd.chatItemId} ${cmd.deleteMode}`;
220
- case "apiChatRead":
221
- return `/_read chat ${cmd.chatType}${cmd.chatId} from=${cmd.fromItem} to=${cmd.toItem}`;
222
- case "apiDeleteChat":
223
- return `/_delete ${cmd.chatType}${cmd.chatId}`;
224
- case "apiAcceptContact":
225
- return `/_accept ${cmd.contactReqId}`;
226
- case "apiRejectContact":
227
- return `/_reject ${cmd.contactReqId}`;
228
- case "apiUpdateProfile":
229
- return `/_profile ${JSON.stringify(cmd.profile)}`;
230
- case "apiParseMarkdown":
231
- return `/_parse ${cmd.text}`;
232
- case "getUserSMPServers":
233
- return "/smp_servers";
234
- case "setUserSMPServers":
235
- return `/smp_servers ${cmd.servers.join(",") || "default"}`;
236
- case "addContact":
237
- return "/connect";
238
- case "connect":
239
- return `/connect ${cmd.connReq}`;
240
- case "connectSimplex":
241
- return "/simplex";
242
- case "createMyAddress":
243
- return "/address";
244
- case "deleteMyAddress":
245
- return "/delete_address";
246
- case "showMyAddress":
247
- return "/show_address";
248
- case "addressAutoAccept":
249
- return `/auto_accept ${cmd.enable ? "on" : "off"}`;
250
- }
251
- }
252
- function paginationStr(cp) {
253
- const base = "after" in cp ? ` after=${cp.after}` : "before" in cp ? ` before=${cp.before}` : "";
254
- return base + ` count=${cp.count}`;
255
- }
256
- function tagged(tag, x) {
257
- return x ? ` ${tag}=${x}` : "";
258
- }
259
- var CIDeleteMode;
260
- (function (CIDeleteMode) {
261
- CIDeleteMode["Broadcast"] = "broadcast";
262
- CIDeleteMode["Internal"] = "internal";
263
- })(CIDeleteMode || (CIDeleteMode = {}));
264
-
265
- class ChatCommandError extends Error {
266
- constructor(message, response) {
267
- super(message);
268
- this.message = message;
269
- this.response = response;
270
- }
271
- }
272
- class ChatClient {
273
- constructor(server, config, msgQ, client, transport) {
274
- this.server = server;
275
- this.config = config;
276
- this.msgQ = msgQ;
277
- this.client = client;
278
- this.transport = transport;
279
- this._connected = true;
280
- this.clientCorrId = 0;
281
- this.sentCommands = new Map();
282
- }
283
- static async create(server, cfg, msgQ) {
284
- const transport = await ChatTransport.connect(server, cfg.tcpTimeout, cfg.qSize);
285
- const client = runClient().then(noop, noop);
286
- const c = new ChatClient(server, cfg, msgQ, client, transport);
287
- return c;
288
- async function runClient() {
289
- for await (const t of transport) {
290
- const apiResp = t instanceof Promise ? await t : t;
291
- if (apiResp instanceof ChatResponseError) {
292
- console.log("chat response error: ", apiResp);
293
- }
294
- else {
295
- const { corrId, resp } = apiResp;
296
- if (corrId) {
297
- const req = c.sentCommands.get(corrId);
298
- if (req) {
299
- c.sentCommands.delete(corrId);
300
- if (resp.type == "chatCmdError") {
301
- req.reject(resp);
302
- }
303
- else {
304
- req.resolve(resp);
305
- }
306
- }
307
- else {
308
- // TODO send error to errQ?
309
- console.log("no command sent for chat response: ", apiResp);
310
- }
311
- }
312
- else {
313
- await msgQ.enqueue(resp);
314
- }
315
- }
316
- }
317
- c._connected = false;
318
- }
319
- }
320
- sendChatCommand(command) {
321
- const corrId = ++this.clientCorrId;
322
- const t = { corrId, cmd: cmdString(command) };
323
- this.transport.write(t).then(noop, noop);
324
- return new Promise((resolve, reject) => this.sentCommands.set(corrId, { resolve, reject }));
325
- }
326
- async disconnect() {
327
- await this.transport.close();
328
- await this.client;
329
- }
330
- async getActiveUser() {
331
- const r = await this.sendChatCommand({ type: "showActiveUser" });
332
- switch (r.type) {
333
- case "activeUser":
334
- return r.user;
335
- case "chatCmdError":
336
- if (r.chatError.type == "error" && r.chatError.errorType.type == "noActiveUser")
337
- return undefined;
338
- throw new ChatCommandError("unexpected response error", r);
339
- default:
340
- throw new ChatCommandError("unexpected response", r);
341
- }
342
- }
343
- async createActiveUser(profile) {
344
- const r = await this.sendChatCommand({ type: "createActiveUser", profile });
345
- if (r.type == "activeUser")
346
- return r.user;
347
- throw new ChatCommandError("unexpected response", r);
348
- }
349
- async apiStartChat() {
350
- const r = await this.sendChatCommand({ type: "startChat" });
351
- if (r.type != "chatStarted")
352
- throw new ChatCommandError("unexpected response", r);
353
- }
354
- // func apiGetChats() throws -> [Chat] {
355
- // let r = chatSendCmdSync(.apiGetChats)
356
- // if case let .apiChats(chats) = r { return chats.map { Chat.init($0) } }
357
- // throw r
358
- // }
359
- // func apiGetChat(type: ChatType, id: Int64) throws -> Chat {
360
- // let r = chatSendCmdSync(.apiGetChat(type: type, id: id))
361
- // if case let .apiChat(chat) = r { return Chat.init(chat) }
362
- // throw r
363
- // }
364
- // async sendMessage(type: ChatType, id: number, msg: C.MsgContent)
365
- // func apiSendMessage(type: ChatType, id: Int64, quotedItemId: Int64?, msg: MsgContent) async throws -> ChatItem {
366
- // let chatModel = ChatModel.shared
367
- // let cmd: ChatCommand
368
- // if let itemId = quotedItemId {
369
- // cmd = .apiSendMessageQuote(type: type, id: id, itemId: itemId, msg: msg)
370
- // } else {
371
- // cmd = .apiSendMessage(type: type, id: id, msg: msg)
372
- // }
373
- // let r: ChatResponse
374
- // if type == .direct {
375
- // var cItem: ChatItem!
376
- // let endTask = beginBGTask({ if cItem != nil { chatModel.messageDelivery.removeValue(forKey: cItem.id) } })
377
- // r = await chatSendCmd(cmd, bgTask: false)
378
- // if case let .newChatItem(aChatItem) = r {
379
- // cItem = aChatItem.chatItem
380
- // chatModel.messageDelivery[cItem.id] = endTask
381
- // return cItem
382
- // }
383
- // endTask()
384
- // } else {
385
- // r = await chatSendCmd(cmd, bgDelay: msgDelay)
386
- // if case let .newChatItem(aChatItem) = r {
387
- // return aChatItem.chatItem
388
- // }
389
- // }
390
- // throw r
391
- // }
392
- // func apiUpdateChatItem(type: ChatType, id: Int64, itemId: Int64, msg: MsgContent) async throws -> ChatItem {
393
- // let r = await chatSendCmd(.apiUpdateChatItem(type: type, id: id, itemId: itemId, msg: msg), bgDelay: msgDelay)
394
- // if case let .chatItemUpdated(aChatItem) = r { return aChatItem.chatItem }
395
- // throw r
396
- // }
397
- // func apiDeleteChatItem(type: ChatType, id: Int64, itemId: Int64, mode: CIDeleteMode) async throws -> ChatItem {
398
- // let r = await chatSendCmd(.apiDeleteChatItem(type: type, id: id, itemId: itemId, mode: mode), bgDelay: msgDelay)
399
- // if case let .chatItemDeleted(_, toChatItem) = r { return toChatItem.chatItem }
400
- // throw r
401
- // }
402
- // func getUserSMPServers() throws -> [String] {
403
- // let r = chatSendCmdSync(.getUserSMPServers)
404
- // if case let .userSMPServers(smpServers) = r { return smpServers }
405
- // throw r
406
- // }
407
- // func setUserSMPServers(smpServers: [String]) async throws {
408
- // let r = await chatSendCmd(.setUserSMPServers(smpServers: smpServers))
409
- // if case .cmdOk = r { return }
410
- // throw r
411
- // }
412
- // func apiAddContact() throws -> String {
413
- // let r = chatSendCmdSync(.addContact, bgTask: false)
414
- // if case let .invitation(connReqInvitation) = r { return connReqInvitation }
415
- // throw r
416
- // }
417
- // func apiConnect(connReq: String) async throws -> Bool {
418
- // let r = await chatSendCmd(.connect(connReq: connReq))
419
- // let am = AlertManager.shared
420
- // switch r {
421
- // case .sentConfirmation: return true
422
- // case .sentInvitation: return true
423
- // case let .contactAlreadyExists(contact):
424
- // am.showAlertMsg(
425
- // title: "Contact already exists",
426
- // message: "You are already connected to \(contact.displayName) via this link."
427
- // )
428
- // return false
429
- // case .chatCmdError(.error(.invalidConnReq)):
430
- // am.showAlertMsg(
431
- // title: "Invalid connection link",
432
- // message: "Please check that you used the correct link or ask your contact to send you another one."
433
- // )
434
- // return false
435
- // case .chatCmdError(.errorAgent(.BROKER(.TIMEOUT))):
436
- // am.showAlertMsg(
437
- // title: "Connection timeout",
438
- // message: "Please check your network connection and try again."
439
- // )
440
- // return false
441
- // case .chatCmdError(.errorAgent(.BROKER(.NETWORK))):
442
- // am.showAlertMsg(
443
- // title: "Connection error",
444
- // message: "Please check your network connection and try again."
445
- // )
446
- // return false
447
- // default: throw r
448
- // }
449
- // }
450
- // func apiDeleteChat(type: ChatType, id: Int64) async throws {
451
- // let r = await chatSendCmd(.apiDeleteChat(type: type, id: id), bgTask: false)
452
- // if case .contactDeleted = r { return }
453
- // throw r
454
- // }
455
- // func apiUpdateProfile(profile: Profile) async throws -> Profile? {
456
- // let r = await chatSendCmd(.apiUpdateProfile(profile: profile))
457
- // switch r {
458
- // case .userProfileNoChange: return nil
459
- // case let .userProfileUpdated(_, toProfile): return toProfile
460
- // default: throw r
461
- // }
462
- // }
463
- // func apiParseMarkdown(text: String) throws -> [FormattedText]? {
464
- // let r = chatSendCmdSync(.apiParseMarkdown(text: text))
465
- // if case let .apiParsedMarkdown(formattedText) = r { return formattedText }
466
- // throw r
467
- // }
468
- // func apiCreateUserAddress() async throws -> String {
469
- // let r = await chatSendCmd(.createMyAddress)
470
- // if case let .userContactLinkCreated(connReq) = r { return connReq }
471
- // throw r
472
- // }
473
- // func apiDeleteUserAddress() async throws {
474
- // let r = await chatSendCmd(.deleteMyAddress)
475
- // if case .userContactLinkDeleted = r { return }
476
- // throw r
477
- // }
478
- // func apiGetUserAddress() async throws -> String? {
479
- // let r = await chatSendCmd(.showMyAddress)
480
- // switch r {
481
- // case let .userContactLink(connReq):
482
- // return connReq
483
- // case .chatCmdError(chatError: .errorStore(storeError: .userContactLinkNotFound)):
484
- // return nil
485
- // default: throw r
486
- // }
487
- // }
488
- // func apiAcceptContactRequest(contactReqId: Int64) async throws -> Contact {
489
- // let r = await chatSendCmd(.apiAcceptContact(contactReqId: contactReqId))
490
- // if case let .acceptingContactRequest(contact) = r { return contact }
491
- // throw r
492
- // }
493
- // func apiRejectContactRequest(contactReqId: Int64) async throws {
494
- // let r = await chatSendCmd(.apiRejectContact(contactReqId: contactReqId))
495
- // if case .contactRequestRejected = r { return }
496
- // throw r
497
- // }
498
- // func apiChatRead(type: ChatType, id: Int64, itemRange: (Int64, Int64)) async throws {
499
- // let r = await chatSendCmd(.apiChatRead(type: type, id: id, itemRange: itemRange))
500
- // if case .cmdOk = r { return }
501
- // throw r
502
- // }
503
- // func acceptContactRequest(_ contactRequest: UserContactRequest) async {
504
- // do {
505
- // let contact = try await apiAcceptContactRequest(contactReqId: contactRequest.apiId)
506
- // let chat = Chat(chatInfo: ChatInfo.direct(contact: contact), chatItems: [])
507
- // DispatchQueue.main.async { ChatModel.shared.replaceChat(contactRequest.id, chat) }
508
- // } catch let error {
509
- // logger.error("acceptContactRequest error: \(error.localizedDescription)")
510
- // }
511
- // }
512
- // func rejectContactRequest(_ contactRequest: UserContactRequest) async {
513
- // do {
514
- // try await apiRejectContactRequest(contactReqId: contactRequest.apiId)
515
- // DispatchQueue.main.async { ChatModel.shared.removeChat(contactRequest.id) }
516
- // } catch let error {
517
- // logger.error("rejectContactRequest: \(error.localizedDescription)")
518
- // }
519
- // }
520
- // func markChatRead(_ chat: Chat) async {
521
- // do {
522
- // let minItemId = chat.chatStats.minUnreadItemId
523
- // let itemRange = (minItemId, chat.chatItems.last?.id ?? minItemId)
524
- // let cInfo = chat.chatInfo
525
- // try await apiChatRead(type: cInfo.chatType, id: cInfo.apiId, itemRange: itemRange)
526
- // DispatchQueue.main.async { ChatModel.shared.markChatItemsRead(cInfo) }
527
- // } catch {
528
- // logger.error("markChatRead apiChatRead error: \(error.localizedDescription)")
529
- // }
530
- // }
531
- // func markChatItemRead(_ cInfo: ChatInfo, _ cItem: ChatItem) async {
532
- // do {
533
- // try await apiChatRead(type: cInfo.chatType, id: cInfo.apiId, itemRange: (cItem.id, cItem.id))
534
- // DispatchQueue.main.async { ChatModel.shared.markChatItemRead(cInfo, cItem) }
535
- // } catch {
536
- // logger.error("markChatItemRead apiChatRead error: \(error.localizedDescription)")
537
- // }
538
- // }
539
- // async createSMPQueue(rcvKey: SignKey, rcvPubKey: PublicKey<KeyType.Verify>): Promise<SMP.IDS> {
540
- // const pubKeyStr = new Uint8Array(await C.encodePubKey(rcvPubKey))
541
- // const resp = await this.sendSMPCommand(rcvKey, B.empty, SMP.cNEW(pubKeyStr))
542
- // if (resp.cmd === "IDS") return resp
543
- // throw new Error("unexpected response")
544
- // }
545
- // subscribeSMPQueue(rcvKey: SignKey, queueId: Uint8Array): Promise<void> {
546
- // return this.msgSMPCommand(rcvKey, queueId, SMP.cSUB())
547
- // }
548
- // async secureSMPQueue(rcvKey: SignKey, queueId: Uint8Array, sndPubKey: PublicKey<KeyType.Verify>): Promise<void> {
549
- // const pubKeyStr = new Uint8Array(await C.encodePubKey(sndPubKey))
550
- // return this.okSMPCommand(rcvKey, queueId, SMP.cKEY(pubKeyStr))
551
- // }
552
- // async sendSMPMessage(sndKey: SignKey | undefined, queueId: Uint8Array, msg: Uint8Array): Promise<void> {
553
- // const resp = await this.sendSMPCommand(sndKey, queueId, SMP.cSEND(msg))
554
- // if (resp.cmd !== "OK") throw new Error("unexpected response")
555
- // }
556
- // ackSMPMessage(rcvKey: SignKey, queueId: Uint8Array): Promise<void> {
557
- // return this.msgSMPCommand(rcvKey, queueId, SMP.cACK())
558
- // }
559
- // suspendSMPQueue(rcvKey: SignKey, queueId: Uint8Array): Promise<void> {
560
- // return this.okSMPCommand(rcvKey, queueId, SMP.cOFF())
561
- // }
562
- // deleteSMPQueue(rcvKey: SignKey, queueId: Uint8Array): Promise<void> {
563
- // return this.okSMPCommand(rcvKey, queueId, SMP.cDEL())
564
- // }
565
- // private async msgSMPCommand(rcvKey: SignKey, queueId: Uint8Array, command: SMPCommand<Client>): Promise<void> {
566
- // const resp = await this.sendSMPCommand(rcvKey, queueId, command)
567
- // switch (resp.cmd) {
568
- // case "OK":
569
- // return
570
- // case "MSG":
571
- // return this.msgQ.enqueue({server: this.server, queueId, command: resp})
572
- // default:
573
- // throw new Error("unexpected response")
574
- // }
575
- // }
576
- // private async okChatCommand(command: ChatCommand): Promise<void> {
577
- // const resp = await this.sendChatCommand(command)
578
- // if (resp.type !== "cmdOk") throw new ChatCommandError("unexpected response", resp)
579
- // }
580
- get connected() {
581
- return this._connected;
582
- }
583
- }
584
-
585
- export { ChatClient };