@novasamatech/host-chat 0.8.0-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.
@@ -0,0 +1,235 @@
1
+ export declare const OutgoingStatus: import("scale-ts").Codec<"new" | "sent" | "delivered">;
2
+ export declare const IncomingStatus: import("scale-ts").Codec<"new" | "seen">;
3
+ export declare const LocalStatus: import("scale-ts").Codec<{
4
+ tag: "outgoing";
5
+ value: "new" | "sent" | "delivered";
6
+ } | {
7
+ tag: "incoming";
8
+ value: "new" | "seen";
9
+ }>;
10
+ export declare const LocalMessage: import("scale-ts").Codec<{
11
+ remote: {
12
+ tag: "message";
13
+ value: {
14
+ messageId: string;
15
+ timestamp: bigint;
16
+ versioned: {
17
+ tag: "v1";
18
+ value: {
19
+ tag: "text";
20
+ value: string;
21
+ } | {
22
+ tag: "token";
23
+ value: {
24
+ token: `0x${string}`;
25
+ platform: "Android" | "iOS";
26
+ };
27
+ } | {
28
+ tag: "send";
29
+ value: {
30
+ amount: number | bigint;
31
+ assetId: string | null;
32
+ blockHash: `0x${string}`;
33
+ extrinsicHash: `0x${string}`;
34
+ };
35
+ } | {
36
+ tag: "contactAdded";
37
+ value: undefined;
38
+ } | {
39
+ tag: "reacted";
40
+ value: {
41
+ messageId: string;
42
+ emoji: string;
43
+ };
44
+ } | {
45
+ tag: "reactionRemoved";
46
+ value: {
47
+ messageId: string;
48
+ emoji: string;
49
+ };
50
+ } | {
51
+ tag: "_reserved6";
52
+ value: undefined;
53
+ } | {
54
+ tag: "reply";
55
+ value: {
56
+ messageId: string;
57
+ ownContent: {
58
+ text: string | undefined;
59
+ attachments: {
60
+ tag: "p2pMixnet";
61
+ value: {
62
+ identifier: Uint8Array<ArrayBufferLike>;
63
+ claimTicket: Uint8Array<ArrayBufferLike>;
64
+ meta: {
65
+ tag: "general";
66
+ value: {
67
+ mimeType: string;
68
+ fileSize: number;
69
+ };
70
+ } | {
71
+ tag: "image";
72
+ value: {
73
+ general: {
74
+ mimeType: string;
75
+ fileSize: number;
76
+ };
77
+ width: number;
78
+ height: number;
79
+ };
80
+ } | {
81
+ tag: "video";
82
+ value: {
83
+ general: {
84
+ mimeType: string;
85
+ fileSize: number;
86
+ };
87
+ duration: number;
88
+ };
89
+ };
90
+ };
91
+ }[] | undefined;
92
+ };
93
+ };
94
+ } | {
95
+ tag: "dataChannelOffer";
96
+ value: undefined;
97
+ } | {
98
+ tag: "dataChannelAnswer";
99
+ value: undefined;
100
+ } | {
101
+ tag: "dataChannelCandidates";
102
+ value: undefined;
103
+ } | {
104
+ tag: "_reserved11";
105
+ value: undefined;
106
+ } | {
107
+ tag: "edit";
108
+ value: {
109
+ messageId: string;
110
+ newContent: {
111
+ text: string | undefined;
112
+ attachments: {
113
+ tag: "p2pMixnet";
114
+ value: {
115
+ identifier: Uint8Array<ArrayBufferLike>;
116
+ claimTicket: Uint8Array<ArrayBufferLike>;
117
+ meta: {
118
+ tag: "general";
119
+ value: {
120
+ mimeType: string;
121
+ fileSize: number;
122
+ };
123
+ } | {
124
+ tag: "image";
125
+ value: {
126
+ general: {
127
+ mimeType: string;
128
+ fileSize: number;
129
+ };
130
+ width: number;
131
+ height: number;
132
+ };
133
+ } | {
134
+ tag: "video";
135
+ value: {
136
+ general: {
137
+ mimeType: string;
138
+ fileSize: number;
139
+ };
140
+ duration: number;
141
+ };
142
+ };
143
+ };
144
+ }[] | undefined;
145
+ };
146
+ };
147
+ } | {
148
+ tag: "leftChat";
149
+ value: undefined;
150
+ } | {
151
+ tag: "chatAccepted";
152
+ value: {
153
+ messageId: string;
154
+ };
155
+ } | {
156
+ tag: "richText";
157
+ value: {
158
+ text: string | undefined;
159
+ attachments: {
160
+ tag: "p2pMixnet";
161
+ value: {
162
+ identifier: Uint8Array<ArrayBufferLike>;
163
+ claimTicket: Uint8Array<ArrayBufferLike>;
164
+ meta: {
165
+ tag: "general";
166
+ value: {
167
+ mimeType: string;
168
+ fileSize: number;
169
+ };
170
+ } | {
171
+ tag: "image";
172
+ value: {
173
+ general: {
174
+ mimeType: string;
175
+ fileSize: number;
176
+ };
177
+ width: number;
178
+ height: number;
179
+ };
180
+ } | {
181
+ tag: "video";
182
+ value: {
183
+ general: {
184
+ mimeType: string;
185
+ fileSize: number;
186
+ };
187
+ duration: number;
188
+ };
189
+ };
190
+ };
191
+ }[] | undefined;
192
+ };
193
+ } | {
194
+ tag: "_reserved16";
195
+ value: undefined;
196
+ } | {
197
+ tag: "deviceAdded";
198
+ value: {
199
+ statementAccountId: Uint8Array<ArrayBufferLike>;
200
+ encryptionPublicKey: Uint8Array<ArrayBufferLike>;
201
+ };
202
+ } | {
203
+ tag: "deviceRemoved";
204
+ value: {
205
+ statementAccountId: Uint8Array<ArrayBufferLike>;
206
+ };
207
+ } | {
208
+ tag: "_reserved19";
209
+ value: undefined;
210
+ } | {
211
+ tag: "deviceChatAccepted";
212
+ value: {
213
+ requestId: string;
214
+ device: {
215
+ statementAccountId: Uint8Array<ArrayBufferLike>;
216
+ encryptionPublicKey: Uint8Array<ArrayBufferLike>;
217
+ };
218
+ };
219
+ };
220
+ };
221
+ };
222
+ } | {
223
+ tag: "unsupported";
224
+ value: Uint8Array<ArrayBufferLike>;
225
+ };
226
+ peerId: import("@novasamatech/statement-store").AccountId;
227
+ status: {
228
+ tag: "outgoing";
229
+ value: "new" | "sent" | "delivered";
230
+ } | {
231
+ tag: "incoming";
232
+ value: "new" | "seen";
233
+ };
234
+ order: bigint;
235
+ }>;
@@ -0,0 +1,19 @@
1
+ import { Enum, Status } from '@novasamatech/scale';
2
+ import { AccountIdCodec } from '@novasamatech/statement-store';
3
+ import { Bytes, Struct, u64 } from 'scale-ts';
4
+ import { ChatMessage } from './message.js';
5
+ export const OutgoingStatus = Status('new', 'sent', 'delivered');
6
+ export const IncomingStatus = Status('new', 'seen');
7
+ export const LocalStatus = Enum({
8
+ outgoing: OutgoingStatus,
9
+ incoming: IncomingStatus,
10
+ });
11
+ export const LocalMessage = Struct({
12
+ remote: Enum({
13
+ message: ChatMessage,
14
+ unsupported: Bytes(),
15
+ }),
16
+ peerId: AccountIdCodec,
17
+ status: LocalStatus,
18
+ order: u64,
19
+ });