@novasamatech/host-api 0.5.4-9 → 0.5.4

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/helpers.js CHANGED
@@ -20,7 +20,7 @@ export function createRequestId() {
20
20
  }
21
21
  export function extractErrorMessage(err) {
22
22
  if (err instanceof Error) {
23
- return err.toString();
23
+ return err.message;
24
24
  }
25
25
  if (err) {
26
26
  return err.toString();
package/dist/hostApi.js CHANGED
@@ -2,7 +2,7 @@ import { errAsync, fromPromise, okAsync } from 'neverthrow';
2
2
  import { extractErrorMessage } from './helpers.js';
3
3
  import { GenericError } from './protocol/commonCodecs.js';
4
4
  import { CreateProofErr, RequestCredentialsErr } from './protocol/v1/accounts.js';
5
- import { ChatMessagePostingErr, ChatRoomRegistrationErr } from './protocol/v1/chat.js';
5
+ import { ChatBotRegistrationErr, ChatMessagePostingErr, ChatRoomRegistrationErr } from './protocol/v1/chat.js';
6
6
  import { CreateTransactionErr } from './protocol/v1/createTransaction.js';
7
7
  import { HandshakeErr } from './protocol/v1/handshake.js';
8
8
  import { SigningErr } from './protocol/v1/sign.js';
@@ -265,6 +265,24 @@ export function createHostApi(transport) {
265
265
  });
266
266
  });
267
267
  },
268
+ chatRegisterBot(payload) {
269
+ const response = fromPromise(transport.request('chat_register_bot', payload), e => ({
270
+ tag: payload.tag,
271
+ value: new ChatBotRegistrationErr.Unknown({ reason: extractErrorMessage(e) }),
272
+ }));
273
+ return response.andThen(response => {
274
+ if (response.value.success) {
275
+ return okAsync({
276
+ tag: response.tag,
277
+ value: response.value.value,
278
+ });
279
+ }
280
+ return errAsync({
281
+ tag: response.tag,
282
+ value: response.value.value,
283
+ });
284
+ });
285
+ },
268
286
  chatPostMessage(payload) {
269
287
  const response = fromPromise(transport.request('chat_post_message', payload), e => ({
270
288
  tag: payload.tag,
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export { assertEnumVariant, enumValue, fromHex, isEnumVariant, resultErr, result
13
13
  export { GenericError } from './protocol/commonCodecs.js';
14
14
  export { CreateTransactionErr, VersionedPublicTxPayload } from './protocol/v1/createTransaction.js';
15
15
  export { Account, AccountId, CreateProofErr, ProductAccountId, RequestCredentialsErr, RingLocation, } from './protocol/v1/accounts.js';
16
- export { ChatActionPayload, ChatMessageContent, ChatMessagePostingErr, ChatRoom, ChatRoomRegistrationErr, ChatRoomRegistrationResult, ReceivedChatAction, } from './protocol/v1/chat.js';
16
+ export { ChatActionPayload, ChatBotRegistrationErr, ChatBotRegistrationStatus, ChatMessageContent, ChatMessagePostingErr, ChatRoom, ChatRoomRegistrationErr, ChatRoomRegistrationResult, ChatRoomRegistrationStatus, ReceivedChatAction, } from './protocol/v1/chat.js';
17
17
  export { HandshakeErr } from './protocol/v1/handshake.js';
18
18
  export { SigningErr } from './protocol/v1/sign.js';
19
19
  export { SignedStatement, Statement, StatementProofErr, Topic } from './protocol/v1/statementStore.js';
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ export { assertEnumVariant, enumValue, fromHex, isEnumVariant, resultErr, result
8
8
  export { GenericError } from './protocol/commonCodecs.js';
9
9
  export { CreateTransactionErr, VersionedPublicTxPayload } from './protocol/v1/createTransaction.js';
10
10
  export { Account, AccountId, CreateProofErr, ProductAccountId, RequestCredentialsErr, RingLocation, } from './protocol/v1/accounts.js';
11
- export { ChatActionPayload, ChatMessageContent, ChatMessagePostingErr, ChatRoom, ChatRoomRegistrationErr, ChatRoomRegistrationResult, ReceivedChatAction, } from './protocol/v1/chat.js';
11
+ export { ChatActionPayload, ChatBotRegistrationErr, ChatBotRegistrationStatus, ChatMessageContent, ChatMessagePostingErr, ChatRoom, ChatRoomRegistrationErr, ChatRoomRegistrationResult, ChatRoomRegistrationStatus, ReceivedChatAction, } from './protocol/v1/chat.js';
12
12
  export { HandshakeErr } from './protocol/v1/handshake.js';
13
13
  export { SigningErr } from './protocol/v1/sign.js';
14
14
  export { SignedStatement, Statement, StatementProofErr, Topic } from './protocol/v1/statementStore.js';
@@ -1,14 +1,5 @@
1
1
  import type { EnumCodec } from '@novasamatech/scale';
2
2
  import type { Codec } from 'scale-ts';
3
- import { AccountCreateProofV1_request, AccountCreateProofV1_response, AccountGetAliasV1_request, AccountGetAliasV1_response, AccountGetV1_request, AccountGetV1_response, GetNonProductAccountsV1_request, GetNonProductAccountsV1_response } from './v1/accounts.js';
4
- import { ChatActionSubscribeV1_receive, ChatActionSubscribeV1_start, ChatCreateRoomV1_request, ChatCreateRoomV1_response, ChatListSubscribeV1_receive, ChatListSubscribeV1_start, ChatPostMessageV1_request, ChatPostMessageV1_response } from './v1/chat.js';
5
- import { CreateTransactionV1_request, CreateTransactionV1_response, CreateTransactionWithNonProductAccountV1_request, CreateTransactionWithNonProductAccountV1_response } from './v1/createTransaction.js';
6
- import { FeatureV1_request, FeatureV1_response } from './v1/feature.js';
7
- import { HandshakeV1_request, HandshakeV1_response } from './v1/handshake.js';
8
- import { JsonRpcMessageSendV1_request, JsonRpcMessageSendV1_response, JsonRpcMessageSubscribeV1_receive, JsonRpcMessageSubscribeV1_start } from './v1/jsonRpc.js';
9
- import { SignPayloadV1_request, SignPayloadV1_response, SignRawV1_request, SignRawV1_response } from './v1/sign.js';
10
- import { StatementStoreCreateProofV1_request, StatementStoreCreateProofV1_response, StatementStoreQueryV1_request, StatementStoreQueryV1_response, StatementStoreSubmitV1_request, StatementStoreSubmitV1_response, StatementStoreSubscribeV1_receive, StatementStoreSubscribeV1_start } from './v1/statementStore.js';
11
- import { StorageClearV1_request, StorageClearV1_response, StorageReadV1_request, StorageReadV1_response, StorageWriteV1_request, StorageWriteV1_response } from './v1/storage.js';
12
3
  export type VersionedArguments = Record<string, [Codec<any>, Codec<any>]>;
13
4
  type InferVersionedArgument<EnumValues extends VersionedArguments, N extends number> = {
14
5
  [V in keyof EnumValues]: EnumValues[V][N];
@@ -23,79 +14,446 @@ export type VersionedProtocolSubscription<T extends VersionedArguments = Version
23
14
  start: EnumCodec<InferVersionedArgument<T, 0>>;
24
15
  receive: EnumCodec<InferVersionedArgument<T, 1>>;
25
16
  };
26
- export type HostApiProtocol = {
27
- handshake: VersionedProtocolRequest<{
28
- v1: [typeof HandshakeV1_request, typeof HandshakeV1_response];
17
+ export type HostApiProtocol = typeof hostApiProtocol;
18
+ export declare const hostApiProtocol: {
19
+ readonly handshake: VersionedProtocolRequest<{
20
+ readonly v1: [Codec<number>, Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
21
+ reason: string;
22
+ }, "HandshakeErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "HandshakeErr::Timeout"> | import("@novasamatech/scale").CodecError<undefined, "HandshakeErr::UnsupportedProtocolVersion">>>];
29
23
  }>;
30
- feature: VersionedProtocolRequest<{
31
- v1: [typeof FeatureV1_request, typeof FeatureV1_response];
24
+ readonly feature: VersionedProtocolRequest<{
25
+ readonly v1: [Codec<{
26
+ tag: "Chain";
27
+ value: `0x${string}`;
28
+ }>, Codec<import("scale-ts").ResultPayload<boolean, import("@novasamatech/scale").CodecError<{
29
+ reason: string;
30
+ }, "GenericError">>>];
32
31
  }>;
33
- local_storage_read: VersionedProtocolRequest<{
34
- v1: [typeof StorageReadV1_request, typeof StorageReadV1_response];
32
+ readonly local_storage_read: VersionedProtocolRequest<{
33
+ readonly v1: [Codec<string>, Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike> | undefined, import("@novasamatech/scale").CodecError<{
34
+ reason: string;
35
+ }, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>];
35
36
  }>;
36
- local_storage_write: VersionedProtocolRequest<{
37
- v1: [typeof StorageWriteV1_request, typeof StorageWriteV1_response];
37
+ readonly local_storage_write: VersionedProtocolRequest<{
38
+ readonly v1: [Codec<[string, Uint8Array<ArrayBufferLike>]>, Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
39
+ reason: string;
40
+ }, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>];
38
41
  }>;
39
- local_storage_clear: VersionedProtocolRequest<{
40
- v1: [typeof StorageClearV1_request, typeof StorageClearV1_response];
42
+ readonly local_storage_clear: VersionedProtocolRequest<{
43
+ readonly v1: [Codec<string>, Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
44
+ reason: string;
45
+ }, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>];
41
46
  }>;
42
- account_get: VersionedProtocolRequest<{
43
- v1: [typeof AccountGetV1_request, typeof AccountGetV1_response];
47
+ readonly account_get: VersionedProtocolRequest<{
48
+ readonly v1: [Codec<[string, number]>, Codec<import("scale-ts").ResultPayload<{
49
+ publicKey: Uint8Array<ArrayBufferLike>;
50
+ name: string | undefined;
51
+ }, import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
52
+ reason: string;
53
+ }, "RequestCredentialsErr::Unknown">>>];
44
54
  }>;
45
- account_get_alias: VersionedProtocolRequest<{
46
- v1: [typeof AccountGetAliasV1_request, typeof AccountGetAliasV1_response];
55
+ readonly account_get_alias: VersionedProtocolRequest<{
56
+ readonly v1: [Codec<[string, number]>, Codec<import("scale-ts").ResultPayload<{
57
+ context: Uint8Array<ArrayBufferLike>;
58
+ alias: Uint8Array<ArrayBufferLike>;
59
+ }, import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
60
+ reason: string;
61
+ }, "RequestCredentialsErr::Unknown">>>];
47
62
  }>;
48
- account_create_proof: VersionedProtocolRequest<{
49
- v1: [typeof AccountCreateProofV1_request, typeof AccountCreateProofV1_response];
63
+ readonly account_create_proof: VersionedProtocolRequest<{
64
+ readonly v1: [Codec<[[string, number], {
65
+ genesisHash: `0x${string}`;
66
+ ringRootHash: `0x${string}`;
67
+ hints: {
68
+ palletInstance: number | undefined;
69
+ } | undefined;
70
+ }, Uint8Array<ArrayBufferLike>]>, Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateProofErr::Rejected"> | import("@novasamatech/scale").CodecError<{
71
+ reason: string;
72
+ }, "CreateProofErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "CreateProofErr::RingNotFound">>>];
50
73
  }>;
51
- get_non_product_accounts: VersionedProtocolRequest<{
52
- v1: [typeof GetNonProductAccountsV1_request, typeof GetNonProductAccountsV1_response];
74
+ readonly get_non_product_accounts: VersionedProtocolRequest<{
75
+ readonly v1: [Codec<undefined>, Codec<import("scale-ts").ResultPayload<{
76
+ publicKey: Uint8Array<ArrayBufferLike>;
77
+ name: string | undefined;
78
+ }[], import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
79
+ reason: string;
80
+ }, "RequestCredentialsErr::Unknown">>>];
53
81
  }>;
54
- create_transaction: VersionedProtocolRequest<{
55
- v1: [typeof CreateTransactionV1_request, typeof CreateTransactionV1_response];
82
+ readonly create_transaction: VersionedProtocolRequest<{
83
+ readonly v1: [Codec<[[string, number], import("./v1/createTransaction.js").TxPayloadV1Public]>, Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
84
+ reason: string;
85
+ }, "CreateTransactionErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::FailedToDecode"> | import("@novasamatech/scale").CodecError<string, "CreateTransactionErr::NotSupported">>>];
56
86
  }>;
57
- create_transaction_with_non_product_account: VersionedProtocolRequest<{
58
- v1: [
59
- typeof CreateTransactionWithNonProductAccountV1_request,
60
- typeof CreateTransactionWithNonProductAccountV1_response
61
- ];
87
+ readonly create_transaction_with_non_product_account: VersionedProtocolRequest<{
88
+ readonly v1: [Codec<import("./v1/createTransaction.js").TxPayloadV1Public>, Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
89
+ reason: string;
90
+ }, "CreateTransactionErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::FailedToDecode"> | import("@novasamatech/scale").CodecError<string, "CreateTransactionErr::NotSupported">>>];
62
91
  }>;
63
- sign_raw: VersionedProtocolRequest<{
64
- v1: [typeof SignRawV1_request, typeof SignRawV1_response];
92
+ readonly sign_raw: VersionedProtocolRequest<{
93
+ readonly v1: [Codec<{
94
+ address: string;
95
+ data: {
96
+ tag: "Bytes";
97
+ value: Uint8Array<ArrayBufferLike>;
98
+ } | {
99
+ tag: "Payload";
100
+ value: string;
101
+ };
102
+ }>, Codec<import("scale-ts").ResultPayload<{
103
+ signature: `0x${string}`;
104
+ signedTransaction: `0x${string}` | undefined;
105
+ }, import("@novasamatech/scale").CodecError<undefined, "SigningErr::Rejected"> | import("@novasamatech/scale").CodecError<{
106
+ reason: string;
107
+ }, "SigningErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::FailedToDecode">>>];
65
108
  }>;
66
- sign_payload: VersionedProtocolRequest<{
67
- v1: [typeof SignPayloadV1_request, typeof SignPayloadV1_response];
109
+ readonly sign_payload: VersionedProtocolRequest<{
110
+ readonly v1: [Codec<{
111
+ address: string;
112
+ blockHash: `0x${string}`;
113
+ blockNumber: `0x${string}`;
114
+ era: `0x${string}`;
115
+ genesisHash: `0x${string}`;
116
+ method: `0x${string}`;
117
+ nonce: `0x${string}`;
118
+ specVersion: `0x${string}`;
119
+ tip: `0x${string}`;
120
+ transactionVersion: `0x${string}`;
121
+ signedExtensions: string[];
122
+ version: number;
123
+ assetId: `0x${string}` | undefined;
124
+ metadataHash: `0x${string}` | undefined;
125
+ mode: number | undefined;
126
+ withSignedTransaction: boolean | undefined;
127
+ }>, Codec<import("scale-ts").ResultPayload<{
128
+ signature: `0x${string}`;
129
+ signedTransaction: `0x${string}` | undefined;
130
+ }, import("@novasamatech/scale").CodecError<undefined, "SigningErr::Rejected"> | import("@novasamatech/scale").CodecError<{
131
+ reason: string;
132
+ }, "SigningErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::FailedToDecode">>>];
68
133
  }>;
69
- chat_create_room: VersionedProtocolRequest<{
70
- v1: [typeof ChatCreateRoomV1_request, typeof ChatCreateRoomV1_response];
134
+ readonly chat_create_room: VersionedProtocolRequest<{
135
+ readonly v1: [Codec<{
136
+ roomId: string;
137
+ name: string;
138
+ icon: string;
139
+ }>, Codec<import("scale-ts").ResultPayload<{
140
+ status: "New" | "Exists";
141
+ }, import("@novasamatech/scale").CodecError<{
142
+ reason: string;
143
+ }, "ChatRoomRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatRoomRegistrationErr::PermissionDenied">>>];
71
144
  }>;
72
- chat_list_subscribe: VersionedProtocolSubscription<{
73
- v1: [typeof ChatListSubscribeV1_start, typeof ChatListSubscribeV1_receive];
145
+ readonly chat_register_bot: VersionedProtocolRequest<{
146
+ readonly v1: [Codec<{
147
+ botId: string;
148
+ name: string;
149
+ icon: string;
150
+ }>, Codec<import("scale-ts").ResultPayload<{
151
+ status: "New" | "Exists";
152
+ }, import("@novasamatech/scale").CodecError<{
153
+ reason: string;
154
+ }, "ChatBotRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatBotRegistrationErr::PermissionDenied">>>];
74
155
  }>;
75
- chat_post_message: VersionedProtocolRequest<{
76
- v1: [typeof ChatPostMessageV1_request, typeof ChatPostMessageV1_response];
156
+ readonly chat_list_subscribe: VersionedProtocolSubscription<{
157
+ readonly v1: [Codec<undefined>, Codec<{
158
+ roomId: string;
159
+ participatingAs: "RoomHost" | "Bot";
160
+ }[]>];
77
161
  }>;
78
- chat_action_subscribe: VersionedProtocolSubscription<{
79
- v1: [typeof ChatActionSubscribeV1_start, typeof ChatActionSubscribeV1_receive];
162
+ readonly chat_post_message: VersionedProtocolRequest<{
163
+ readonly v1: [Codec<{
164
+ roomId: string;
165
+ payload: {
166
+ tag: "Text";
167
+ value: string;
168
+ } | {
169
+ tag: "RichText";
170
+ value: {
171
+ text: string | undefined;
172
+ media: {
173
+ url: string;
174
+ }[];
175
+ };
176
+ } | {
177
+ tag: "Actions";
178
+ value: {
179
+ text: string | undefined;
180
+ actions: {
181
+ actionId: string;
182
+ title: string;
183
+ }[];
184
+ layout: "Column" | "Grid";
185
+ };
186
+ } | {
187
+ tag: "File";
188
+ value: {
189
+ url: string;
190
+ fileName: string;
191
+ mimeType: string;
192
+ sizeBytes: bigint;
193
+ text: string | undefined;
194
+ };
195
+ } | {
196
+ tag: "Reaction";
197
+ value: {
198
+ messageId: string;
199
+ emoji: string;
200
+ };
201
+ } | {
202
+ tag: "ReactionRemoved";
203
+ value: {
204
+ messageId: string;
205
+ emoji: string;
206
+ };
207
+ };
208
+ }>, Codec<import("scale-ts").ResultPayload<{
209
+ messageId: string;
210
+ }, import("@novasamatech/scale").CodecError<{
211
+ reason: string;
212
+ }, "ChatMessagePostingErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatMessagePostingErr::MessageTooLarge">>>];
80
213
  }>;
81
- statement_store_query: VersionedProtocolRequest<{
82
- v1: [typeof StatementStoreQueryV1_request, typeof StatementStoreQueryV1_response];
214
+ readonly chat_action_subscribe: VersionedProtocolSubscription<{
215
+ readonly v1: [Codec<undefined>, Codec<{
216
+ roomId: string;
217
+ peer: string;
218
+ payload: {
219
+ tag: "MessagePosted";
220
+ value: {
221
+ tag: "Text";
222
+ value: string;
223
+ } | {
224
+ tag: "RichText";
225
+ value: {
226
+ text: string | undefined;
227
+ media: {
228
+ url: string;
229
+ }[];
230
+ };
231
+ } | {
232
+ tag: "Actions";
233
+ value: {
234
+ text: string | undefined;
235
+ actions: {
236
+ actionId: string;
237
+ title: string;
238
+ }[];
239
+ layout: "Column" | "Grid";
240
+ };
241
+ } | {
242
+ tag: "File";
243
+ value: {
244
+ url: string;
245
+ fileName: string;
246
+ mimeType: string;
247
+ sizeBytes: bigint;
248
+ text: string | undefined;
249
+ };
250
+ } | {
251
+ tag: "Reaction";
252
+ value: {
253
+ messageId: string;
254
+ emoji: string;
255
+ };
256
+ } | {
257
+ tag: "ReactionRemoved";
258
+ value: {
259
+ messageId: string;
260
+ emoji: string;
261
+ };
262
+ };
263
+ } | {
264
+ tag: "ActionTriggered";
265
+ value: {
266
+ messageId: string;
267
+ actionId: string;
268
+ payload: Uint8Array<ArrayBufferLike> | undefined;
269
+ };
270
+ } | {
271
+ tag: "Command";
272
+ value: {
273
+ command: string;
274
+ payload: string;
275
+ };
276
+ };
277
+ }>];
83
278
  }>;
84
- statement_store_subscribe: VersionedProtocolSubscription<{
85
- v1: [typeof StatementStoreSubscribeV1_start, typeof StatementStoreSubscribeV1_receive];
279
+ readonly statement_store_query: VersionedProtocolRequest<{
280
+ readonly v1: [Codec<Uint8Array<ArrayBufferLike>[]>, Codec<import("scale-ts").ResultPayload<{
281
+ proof: {
282
+ tag: "Sr25519";
283
+ value: {
284
+ signature: Uint8Array<ArrayBufferLike>;
285
+ signer: Uint8Array<ArrayBufferLike>;
286
+ };
287
+ } | {
288
+ tag: "Ed25519";
289
+ value: {
290
+ signature: Uint8Array<ArrayBufferLike>;
291
+ signer: Uint8Array<ArrayBufferLike>;
292
+ };
293
+ } | {
294
+ tag: "Ecdsa";
295
+ value: {
296
+ signature: Uint8Array<ArrayBufferLike>;
297
+ signer: Uint8Array<ArrayBufferLike>;
298
+ };
299
+ } | {
300
+ tag: "OnChain";
301
+ value: {
302
+ who: Uint8Array<ArrayBufferLike>;
303
+ blockHash: Uint8Array<ArrayBufferLike>;
304
+ event: bigint;
305
+ };
306
+ };
307
+ decryptionKey: Uint8Array<ArrayBufferLike> | undefined;
308
+ priority: number | undefined;
309
+ channel: Uint8Array<ArrayBufferLike> | undefined;
310
+ topics: Uint8Array<ArrayBufferLike>[];
311
+ data: Uint8Array<ArrayBufferLike> | undefined;
312
+ }[], import("@novasamatech/scale").CodecError<{
313
+ reason: string;
314
+ }, "GenericError">>>];
86
315
  }>;
87
- statement_store_create_proof: VersionedProtocolRequest<{
88
- v1: [typeof StatementStoreCreateProofV1_request, typeof StatementStoreCreateProofV1_response];
316
+ readonly statement_store_subscribe: VersionedProtocolSubscription<{
317
+ readonly v1: [Codec<Uint8Array<ArrayBufferLike>[]>, Codec<{
318
+ proof: {
319
+ tag: "Sr25519";
320
+ value: {
321
+ signature: Uint8Array<ArrayBufferLike>;
322
+ signer: Uint8Array<ArrayBufferLike>;
323
+ };
324
+ } | {
325
+ tag: "Ed25519";
326
+ value: {
327
+ signature: Uint8Array<ArrayBufferLike>;
328
+ signer: Uint8Array<ArrayBufferLike>;
329
+ };
330
+ } | {
331
+ tag: "Ecdsa";
332
+ value: {
333
+ signature: Uint8Array<ArrayBufferLike>;
334
+ signer: Uint8Array<ArrayBufferLike>;
335
+ };
336
+ } | {
337
+ tag: "OnChain";
338
+ value: {
339
+ who: Uint8Array<ArrayBufferLike>;
340
+ blockHash: Uint8Array<ArrayBufferLike>;
341
+ event: bigint;
342
+ };
343
+ };
344
+ decryptionKey: Uint8Array<ArrayBufferLike> | undefined;
345
+ priority: number | undefined;
346
+ channel: Uint8Array<ArrayBufferLike> | undefined;
347
+ topics: Uint8Array<ArrayBufferLike>[];
348
+ data: Uint8Array<ArrayBufferLike> | undefined;
349
+ }[]>];
89
350
  }>;
90
- statement_store_submit: VersionedProtocolRequest<{
91
- v1: [typeof StatementStoreSubmitV1_request, typeof StatementStoreSubmitV1_response];
351
+ readonly statement_store_create_proof: VersionedProtocolRequest<{
352
+ readonly v1: [Codec<[[string, number], {
353
+ proof: {
354
+ tag: "Sr25519";
355
+ value: {
356
+ signature: Uint8Array<ArrayBufferLike>;
357
+ signer: Uint8Array<ArrayBufferLike>;
358
+ };
359
+ } | {
360
+ tag: "Ed25519";
361
+ value: {
362
+ signature: Uint8Array<ArrayBufferLike>;
363
+ signer: Uint8Array<ArrayBufferLike>;
364
+ };
365
+ } | {
366
+ tag: "Ecdsa";
367
+ value: {
368
+ signature: Uint8Array<ArrayBufferLike>;
369
+ signer: Uint8Array<ArrayBufferLike>;
370
+ };
371
+ } | {
372
+ tag: "OnChain";
373
+ value: {
374
+ who: Uint8Array<ArrayBufferLike>;
375
+ blockHash: Uint8Array<ArrayBufferLike>;
376
+ event: bigint;
377
+ };
378
+ } | undefined;
379
+ decryptionKey: Uint8Array<ArrayBufferLike> | undefined;
380
+ priority: number | undefined;
381
+ channel: Uint8Array<ArrayBufferLike> | undefined;
382
+ topics: Uint8Array<ArrayBufferLike>[];
383
+ data: Uint8Array<ArrayBufferLike> | undefined;
384
+ }]>, Codec<import("scale-ts").ResultPayload<{
385
+ tag: "Sr25519";
386
+ value: {
387
+ signature: Uint8Array<ArrayBufferLike>;
388
+ signer: Uint8Array<ArrayBufferLike>;
389
+ };
390
+ } | {
391
+ tag: "Ed25519";
392
+ value: {
393
+ signature: Uint8Array<ArrayBufferLike>;
394
+ signer: Uint8Array<ArrayBufferLike>;
395
+ };
396
+ } | {
397
+ tag: "Ecdsa";
398
+ value: {
399
+ signature: Uint8Array<ArrayBufferLike>;
400
+ signer: Uint8Array<ArrayBufferLike>;
401
+ };
402
+ } | {
403
+ tag: "OnChain";
404
+ value: {
405
+ who: Uint8Array<ArrayBufferLike>;
406
+ blockHash: Uint8Array<ArrayBufferLike>;
407
+ event: bigint;
408
+ };
409
+ }, import("@novasamatech/scale").CodecError<{
410
+ reason: string;
411
+ }, "StatementProofErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StatementProofErr::UnableToSign"> | import("@novasamatech/scale").CodecError<undefined, "StatementProofErr::UnknownAccount">>>];
92
412
  }>;
93
- jsonrpc_message_send: VersionedProtocolRequest<{
94
- v1: [typeof JsonRpcMessageSendV1_request, typeof JsonRpcMessageSendV1_response];
413
+ readonly statement_store_submit: VersionedProtocolRequest<{
414
+ readonly v1: [Codec<{
415
+ proof: {
416
+ tag: "Sr25519";
417
+ value: {
418
+ signature: Uint8Array<ArrayBufferLike>;
419
+ signer: Uint8Array<ArrayBufferLike>;
420
+ };
421
+ } | {
422
+ tag: "Ed25519";
423
+ value: {
424
+ signature: Uint8Array<ArrayBufferLike>;
425
+ signer: Uint8Array<ArrayBufferLike>;
426
+ };
427
+ } | {
428
+ tag: "Ecdsa";
429
+ value: {
430
+ signature: Uint8Array<ArrayBufferLike>;
431
+ signer: Uint8Array<ArrayBufferLike>;
432
+ };
433
+ } | {
434
+ tag: "OnChain";
435
+ value: {
436
+ who: Uint8Array<ArrayBufferLike>;
437
+ blockHash: Uint8Array<ArrayBufferLike>;
438
+ event: bigint;
439
+ };
440
+ };
441
+ decryptionKey: Uint8Array<ArrayBufferLike> | undefined;
442
+ priority: number | undefined;
443
+ channel: Uint8Array<ArrayBufferLike> | undefined;
444
+ topics: Uint8Array<ArrayBufferLike>[];
445
+ data: Uint8Array<ArrayBufferLike> | undefined;
446
+ }>, Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
447
+ reason: string;
448
+ }, "GenericError">>>];
95
449
  }>;
96
- jsonrpc_message_subscribe: VersionedProtocolSubscription<{
97
- v1: [typeof JsonRpcMessageSubscribeV1_start, typeof JsonRpcMessageSubscribeV1_receive];
450
+ readonly jsonrpc_message_send: VersionedProtocolRequest<{
451
+ readonly v1: [Codec<[`0x${string}`, string]>, Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
452
+ reason: string;
453
+ }, "GenericError">>>];
454
+ }>;
455
+ readonly jsonrpc_message_subscribe: VersionedProtocolSubscription<{
456
+ readonly v1: [Codec<`0x${string}`>, Codec<string>];
98
457
  }>;
99
458
  };
100
- export declare const hostApiProtocol: HostApiProtocol;
101
459
  export {};
@@ -1,6 +1,6 @@
1
1
  import { Enum } from '@novasamatech/scale';
2
2
  import { AccountCreateProofV1_request, AccountCreateProofV1_response, AccountGetAliasV1_request, AccountGetAliasV1_response, AccountGetV1_request, AccountGetV1_response, GetNonProductAccountsV1_request, GetNonProductAccountsV1_response, } from './v1/accounts.js';
3
- import { ChatActionSubscribeV1_receive, ChatActionSubscribeV1_start, ChatCreateRoomV1_request, ChatCreateRoomV1_response, ChatListSubscribeV1_receive, ChatListSubscribeV1_start, ChatPostMessageV1_request, ChatPostMessageV1_response, } from './v1/chat.js';
3
+ import { ChatActionSubscribeV1_receive, ChatActionSubscribeV1_start, ChatCreateRoomV1_request, ChatCreateRoomV1_response, ChatListSubscribeV1_receive, ChatListSubscribeV1_start, ChatPostMessageV1_request, ChatPostMessageV1_response, ChatRegisterBotV1_request, ChatRegisterBotV1_response, } from './v1/chat.js';
4
4
  import { CreateTransactionV1_request, CreateTransactionV1_response, CreateTransactionWithNonProductAccountV1_request, CreateTransactionWithNonProductAccountV1_response, } from './v1/createTransaction.js';
5
5
  import { FeatureV1_request, FeatureV1_response } from './v1/feature.js';
6
6
  import { HandshakeV1_request, HandshakeV1_response } from './v1/handshake.js';
@@ -73,6 +73,9 @@ export const hostApiProtocol = {
73
73
  chat_create_room: versionedRequest({
74
74
  v1: [ChatCreateRoomV1_request, ChatCreateRoomV1_response],
75
75
  }),
76
+ chat_register_bot: versionedRequest({
77
+ v1: [ChatRegisterBotV1_request, ChatRegisterBotV1_response],
78
+ }),
76
79
  chat_list_subscribe: versionedSubscription({
77
80
  v1: [ChatListSubscribeV1_start, ChatListSubscribeV1_receive],
78
81
  }),
@@ -10,58 +10,58 @@ type HostApiPayloadFields = UnionToIntersection<{
10
10
  }[keyof HostApiProtocol]>;
11
11
  export type MessagePayloadSchema = CodecType<EnumCodec<HostApiPayloadFields>>;
12
12
  export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumCodec<{
13
- v1: Codec<number>;
13
+ readonly v1: Codec<number>;
14
14
  }>> & Record<"handshake_response", EnumCodec<{
15
- v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
15
+ readonly v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
16
16
  reason: string;
17
17
  }, "HandshakeErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "HandshakeErr::Timeout"> | import("@novasamatech/scale").CodecError<undefined, "HandshakeErr::UnsupportedProtocolVersion">>>;
18
18
  }>> & Record<"feature_request", EnumCodec<{
19
- v1: Codec<{
19
+ readonly v1: Codec<{
20
20
  tag: "Chain";
21
21
  value: `0x${string}`;
22
22
  }>;
23
23
  }>> & Record<"feature_response", EnumCodec<{
24
- v1: Codec<import("scale-ts").ResultPayload<boolean, import("@novasamatech/scale").CodecError<{
24
+ readonly v1: Codec<import("scale-ts").ResultPayload<boolean, import("@novasamatech/scale").CodecError<{
25
25
  reason: string;
26
26
  }, "GenericError">>>;
27
27
  }>> & Record<"local_storage_read_request", EnumCodec<{
28
- v1: Codec<string>;
28
+ readonly v1: Codec<string>;
29
29
  }>> & Record<"local_storage_read_response", EnumCodec<{
30
- v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike> | undefined, import("@novasamatech/scale").CodecError<{
30
+ readonly v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike> | undefined, import("@novasamatech/scale").CodecError<{
31
31
  reason: string;
32
32
  }, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>;
33
33
  }>> & Record<"local_storage_write_request", EnumCodec<{
34
- v1: Codec<[string, Uint8Array<ArrayBufferLike>]>;
34
+ readonly v1: Codec<[string, Uint8Array<ArrayBufferLike>]>;
35
35
  }>> & Record<"local_storage_write_response", EnumCodec<{
36
- v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
36
+ readonly v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
37
37
  reason: string;
38
38
  }, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>;
39
39
  }>> & Record<"local_storage_clear_request", EnumCodec<{
40
- v1: Codec<string>;
40
+ readonly v1: Codec<string>;
41
41
  }>> & Record<"local_storage_clear_response", EnumCodec<{
42
- v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
42
+ readonly v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
43
43
  reason: string;
44
44
  }, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>;
45
45
  }>> & Record<"account_get_request", EnumCodec<{
46
- v1: Codec<[string, number]>;
46
+ readonly v1: Codec<[string, number]>;
47
47
  }>> & Record<"account_get_response", EnumCodec<{
48
- v1: Codec<import("scale-ts").ResultPayload<{
48
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
49
49
  publicKey: Uint8Array<ArrayBufferLike>;
50
50
  name: string | undefined;
51
51
  }, import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
52
52
  reason: string;
53
53
  }, "RequestCredentialsErr::Unknown">>>;
54
54
  }>> & Record<"account_get_alias_request", EnumCodec<{
55
- v1: Codec<[string, number]>;
55
+ readonly v1: Codec<[string, number]>;
56
56
  }>> & Record<"account_get_alias_response", EnumCodec<{
57
- v1: Codec<import("scale-ts").ResultPayload<{
57
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
58
58
  context: Uint8Array<ArrayBufferLike>;
59
59
  alias: Uint8Array<ArrayBufferLike>;
60
60
  }, import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
61
61
  reason: string;
62
62
  }, "RequestCredentialsErr::Unknown">>>;
63
63
  }>> & Record<"account_create_proof_request", EnumCodec<{
64
- v1: Codec<[[string, number], {
64
+ readonly v1: Codec<[[string, number], {
65
65
  genesisHash: `0x${string}`;
66
66
  ringRootHash: `0x${string}`;
67
67
  hints: {
@@ -69,32 +69,32 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
69
69
  } | undefined;
70
70
  }, Uint8Array<ArrayBufferLike>]>;
71
71
  }>> & Record<"account_create_proof_response", EnumCodec<{
72
- v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateProofErr::Rejected"> | import("@novasamatech/scale").CodecError<{
72
+ readonly v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateProofErr::Rejected"> | import("@novasamatech/scale").CodecError<{
73
73
  reason: string;
74
74
  }, "CreateProofErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "CreateProofErr::RingNotFound">>>;
75
75
  }>> & Record<"get_non_product_accounts_request", EnumCodec<{
76
- v1: Codec<undefined>;
76
+ readonly v1: Codec<undefined>;
77
77
  }>> & Record<"get_non_product_accounts_response", EnumCodec<{
78
- v1: Codec<import("scale-ts").ResultPayload<{
78
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
79
79
  publicKey: Uint8Array<ArrayBufferLike>;
80
80
  name: string | undefined;
81
81
  }[], import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
82
82
  reason: string;
83
83
  }, "RequestCredentialsErr::Unknown">>>;
84
84
  }>> & Record<"create_transaction_request", EnumCodec<{
85
- v1: Codec<[[string, number], import("./v1/createTransaction.js").TxPayloadV1Public]>;
85
+ readonly v1: Codec<[[string, number], import("./v1/createTransaction.js").TxPayloadV1Public]>;
86
86
  }>> & Record<"create_transaction_response", EnumCodec<{
87
- v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
87
+ readonly v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
88
88
  reason: string;
89
89
  }, "CreateTransactionErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::FailedToDecode"> | import("@novasamatech/scale").CodecError<string, "CreateTransactionErr::NotSupported">>>;
90
90
  }>> & Record<"create_transaction_with_non_product_account_request", EnumCodec<{
91
- v1: Codec<import("./v1/createTransaction.js").TxPayloadV1Public>;
91
+ readonly v1: Codec<import("./v1/createTransaction.js").TxPayloadV1Public>;
92
92
  }>> & Record<"create_transaction_with_non_product_account_response", EnumCodec<{
93
- v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
93
+ readonly v1: Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
94
94
  reason: string;
95
95
  }, "CreateTransactionErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "CreateTransactionErr::FailedToDecode"> | import("@novasamatech/scale").CodecError<string, "CreateTransactionErr::NotSupported">>>;
96
96
  }>> & Record<"sign_raw_request", EnumCodec<{
97
- v1: Codec<{
97
+ readonly v1: Codec<{
98
98
  address: string;
99
99
  data: {
100
100
  tag: "Bytes";
@@ -105,14 +105,14 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
105
105
  };
106
106
  }>;
107
107
  }>> & Record<"sign_raw_response", EnumCodec<{
108
- v1: Codec<import("scale-ts").ResultPayload<{
108
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
109
109
  signature: `0x${string}`;
110
110
  signedTransaction: `0x${string}` | undefined;
111
111
  }, import("@novasamatech/scale").CodecError<undefined, "SigningErr::Rejected"> | import("@novasamatech/scale").CodecError<{
112
112
  reason: string;
113
113
  }, "SigningErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::FailedToDecode">>>;
114
114
  }>> & Record<"sign_payload_request", EnumCodec<{
115
- v1: Codec<{
115
+ readonly v1: Codec<{
116
116
  address: string;
117
117
  blockHash: `0x${string}`;
118
118
  blockNumber: `0x${string}`;
@@ -131,33 +131,45 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
131
131
  withSignedTransaction: boolean | undefined;
132
132
  }>;
133
133
  }>> & Record<"sign_payload_response", EnumCodec<{
134
- v1: Codec<import("scale-ts").ResultPayload<{
134
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
135
135
  signature: `0x${string}`;
136
136
  signedTransaction: `0x${string}` | undefined;
137
137
  }, import("@novasamatech/scale").CodecError<undefined, "SigningErr::Rejected"> | import("@novasamatech/scale").CodecError<{
138
138
  reason: string;
139
139
  }, "SigningErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::PermissionDenied"> | import("@novasamatech/scale").CodecError<undefined, "SigningErr::FailedToDecode">>>;
140
140
  }>> & Record<"chat_create_room_request", EnumCodec<{
141
- v1: Codec<{
141
+ readonly v1: Codec<{
142
142
  roomId: string;
143
143
  name: string;
144
144
  icon: string;
145
145
  }>;
146
146
  }>> & Record<"chat_create_room_response", EnumCodec<{
147
- v1: Codec<import("scale-ts").ResultPayload<{
147
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
148
148
  status: "New" | "Exists";
149
149
  }, import("@novasamatech/scale").CodecError<{
150
150
  reason: string;
151
151
  }, "ChatRoomRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatRoomRegistrationErr::PermissionDenied">>>;
152
+ }>> & Record<"chat_register_bot_request", EnumCodec<{
153
+ readonly v1: Codec<{
154
+ botId: string;
155
+ name: string;
156
+ icon: string;
157
+ }>;
158
+ }>> & Record<"chat_register_bot_response", EnumCodec<{
159
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
160
+ status: "New" | "Exists";
161
+ }, import("@novasamatech/scale").CodecError<{
162
+ reason: string;
163
+ }, "ChatBotRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatBotRegistrationErr::PermissionDenied">>>;
152
164
  }>> & Record<"chat_list_subscribe_start", EnumCodec<{
153
- v1: Codec<undefined>;
165
+ readonly v1: Codec<undefined>;
154
166
  }>> & Record<"chat_list_subscribe_receive", EnumCodec<{
155
- v1: Codec<{
167
+ readonly v1: Codec<{
156
168
  roomId: string;
157
169
  participatingAs: "RoomHost" | "Bot";
158
170
  }[]>;
159
171
  }>> & Record<"chat_list_subscribe_interrupt", Codec<undefined>> & Record<"chat_list_subscribe_stop", Codec<undefined>> & Record<"chat_post_message_request", EnumCodec<{
160
- v1: Codec<{
172
+ readonly v1: Codec<{
161
173
  roomId: string;
162
174
  payload: {
163
175
  tag: "Text";
@@ -204,15 +216,15 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
204
216
  };
205
217
  }>;
206
218
  }>> & Record<"chat_post_message_response", EnumCodec<{
207
- v1: Codec<import("scale-ts").ResultPayload<{
219
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
208
220
  messageId: string;
209
221
  }, import("@novasamatech/scale").CodecError<{
210
222
  reason: string;
211
223
  }, "ChatMessagePostingErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatMessagePostingErr::MessageTooLarge">>>;
212
224
  }>> & Record<"chat_action_subscribe_start", EnumCodec<{
213
- v1: Codec<undefined>;
225
+ readonly v1: Codec<undefined>;
214
226
  }>> & Record<"chat_action_subscribe_receive", EnumCodec<{
215
- v1: Codec<{
227
+ readonly v1: Codec<{
216
228
  roomId: string;
217
229
  peer: string;
218
230
  payload: {
@@ -265,6 +277,7 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
265
277
  value: {
266
278
  messageId: string;
267
279
  actionId: string;
280
+ payload: Uint8Array<ArrayBufferLike> | undefined;
268
281
  };
269
282
  } | {
270
283
  tag: "Command";
@@ -275,9 +288,9 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
275
288
  };
276
289
  }>;
277
290
  }>> & Record<"chat_action_subscribe_interrupt", Codec<undefined>> & Record<"chat_action_subscribe_stop", Codec<undefined>> & Record<"statement_store_query_request", EnumCodec<{
278
- v1: Codec<Uint8Array<ArrayBufferLike>[]>;
291
+ readonly v1: Codec<Uint8Array<ArrayBufferLike>[]>;
279
292
  }>> & Record<"statement_store_query_response", EnumCodec<{
280
- v1: Codec<import("scale-ts").ResultPayload<{
293
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
281
294
  proof: {
282
295
  tag: "Sr25519";
283
296
  value: {
@@ -313,9 +326,9 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
313
326
  reason: string;
314
327
  }, "GenericError">>>;
315
328
  }>> & Record<"statement_store_subscribe_start", EnumCodec<{
316
- v1: Codec<Uint8Array<ArrayBufferLike>[]>;
329
+ readonly v1: Codec<Uint8Array<ArrayBufferLike>[]>;
317
330
  }>> & Record<"statement_store_subscribe_receive", EnumCodec<{
318
- v1: Codec<{
331
+ readonly v1: Codec<{
319
332
  proof: {
320
333
  tag: "Sr25519";
321
334
  value: {
@@ -349,7 +362,7 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
349
362
  data: Uint8Array<ArrayBufferLike> | undefined;
350
363
  }[]>;
351
364
  }>> & Record<"statement_store_subscribe_interrupt", Codec<undefined>> & Record<"statement_store_subscribe_stop", Codec<undefined>> & Record<"statement_store_create_proof_request", EnumCodec<{
352
- v1: Codec<[[string, number], {
365
+ readonly v1: Codec<[[string, number], {
353
366
  proof: {
354
367
  tag: "Sr25519";
355
368
  value: {
@@ -383,7 +396,7 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
383
396
  data: Uint8Array<ArrayBufferLike> | undefined;
384
397
  }]>;
385
398
  }>> & Record<"statement_store_create_proof_response", EnumCodec<{
386
- v1: Codec<import("scale-ts").ResultPayload<{
399
+ readonly v1: Codec<import("scale-ts").ResultPayload<{
387
400
  tag: "Sr25519";
388
401
  value: {
389
402
  signature: Uint8Array<ArrayBufferLike>;
@@ -412,7 +425,7 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
412
425
  reason: string;
413
426
  }, "StatementProofErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StatementProofErr::UnableToSign"> | import("@novasamatech/scale").CodecError<undefined, "StatementProofErr::UnknownAccount">>>;
414
427
  }>> & Record<"statement_store_submit_request", EnumCodec<{
415
- v1: Codec<{
428
+ readonly v1: Codec<{
416
429
  proof: {
417
430
  tag: "Sr25519";
418
431
  value: {
@@ -446,19 +459,19 @@ export declare const MessagePayload: EnumCodec<Record<"handshake_request", EnumC
446
459
  data: Uint8Array<ArrayBufferLike> | undefined;
447
460
  }>;
448
461
  }>> & Record<"statement_store_submit_response", EnumCodec<{
449
- v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
462
+ readonly v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
450
463
  reason: string;
451
464
  }, "GenericError">>>;
452
465
  }>> & Record<"jsonrpc_message_send_request", EnumCodec<{
453
- v1: Codec<[`0x${string}`, string]>;
466
+ readonly v1: Codec<[`0x${string}`, string]>;
454
467
  }>> & Record<"jsonrpc_message_send_response", EnumCodec<{
455
- v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
468
+ readonly v1: Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
456
469
  reason: string;
457
470
  }, "GenericError">>>;
458
471
  }>> & Record<"jsonrpc_message_subscribe_start", EnumCodec<{
459
- v1: Codec<`0x${string}`>;
472
+ readonly v1: Codec<`0x${string}`>;
460
473
  }>> & Record<"jsonrpc_message_subscribe_receive", EnumCodec<{
461
- v1: Codec<string>;
474
+ readonly v1: Codec<string>;
462
475
  }>> & Record<"jsonrpc_message_subscribe_interrupt", Codec<undefined>> & Record<"jsonrpc_message_subscribe_stop", Codec<undefined>>>;
463
476
  export declare const Message: Codec<{
464
477
  requestId: string;
@@ -714,6 +727,26 @@ export declare const Message: Codec<{
714
727
  reason: string;
715
728
  }, "ChatRoomRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatRoomRegistrationErr::PermissionDenied">>;
716
729
  };
730
+ } | {
731
+ tag: "chat_register_bot_request";
732
+ value: {
733
+ tag: "v1";
734
+ value: {
735
+ botId: string;
736
+ name: string;
737
+ icon: string;
738
+ };
739
+ };
740
+ } | {
741
+ tag: "chat_register_bot_response";
742
+ value: {
743
+ tag: "v1";
744
+ value: import("scale-ts").ResultPayload<{
745
+ status: "New" | "Exists";
746
+ }, import("@novasamatech/scale").CodecError<{
747
+ reason: string;
748
+ }, "ChatBotRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatBotRegistrationErr::PermissionDenied">>;
749
+ };
717
750
  } | {
718
751
  tag: "chat_list_subscribe_start";
719
752
  value: {
@@ -859,6 +892,7 @@ export declare const Message: Codec<{
859
892
  value: {
860
893
  messageId: string;
861
894
  actionId: string;
895
+ payload: Uint8Array<ArrayBufferLike> | undefined;
862
896
  };
863
897
  } | {
864
898
  tag: "Command";
@@ -56,16 +56,20 @@ export declare const ChatBotRequest: import("scale-ts").Codec<{
56
56
  name: string;
57
57
  icon: string;
58
58
  }>;
59
- export declare const ChatCreateBotV1_request: import("scale-ts").Codec<{
59
+ export declare const ChatBotRegistrationStatus: import("scale-ts").Codec<"New" | "Exists">;
60
+ export declare const ChatBotRegistrationResult: import("scale-ts").Codec<{
61
+ status: "New" | "Exists";
62
+ }>;
63
+ export declare const ChatRegisterBotV1_request: import("scale-ts").Codec<{
60
64
  botId: string;
61
65
  name: string;
62
66
  icon: string;
63
67
  }>;
64
- export declare const ChatCreateBotV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
68
+ export declare const ChatRegisterBotV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
65
69
  status: "New" | "Exists";
66
70
  }, import("@novasamatech/scale").CodecError<{
67
71
  reason: string;
68
- }, "ChatRoomRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatRoomRegistrationErr::PermissionDenied">>>;
72
+ }, "ChatBotRegistrationErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChatBotRegistrationErr::PermissionDenied">>>;
69
73
  export declare const ChatRoomParticipation: import("scale-ts").Codec<"RoomHost" | "Bot">;
70
74
  export declare const ChatRoom: import("scale-ts").Codec<{
71
75
  roomId: string;
@@ -226,6 +230,7 @@ export declare const ChatPostMessageV1_response: import("scale-ts").Codec<import
226
230
  export declare const ActionTrigger: import("scale-ts").Codec<{
227
231
  messageId: string;
228
232
  actionId: string;
233
+ payload: Uint8Array<ArrayBufferLike> | undefined;
229
234
  }>;
230
235
  export declare const ChatCommand: import("scale-ts").Codec<{
231
236
  command: string;
@@ -281,6 +286,7 @@ export declare const ChatActionPayload: import("scale-ts").Codec<{
281
286
  value: {
282
287
  messageId: string;
283
288
  actionId: string;
289
+ payload: Uint8Array<ArrayBufferLike> | undefined;
284
290
  };
285
291
  } | {
286
292
  tag: "Command";
@@ -342,6 +348,7 @@ export declare const ReceivedChatAction: import("scale-ts").Codec<{
342
348
  value: {
343
349
  messageId: string;
344
350
  actionId: string;
351
+ payload: Uint8Array<ArrayBufferLike> | undefined;
345
352
  };
346
353
  } | {
347
354
  tag: "Command";
@@ -405,6 +412,7 @@ export declare const ChatActionSubscribeV1_receive: import("scale-ts").Codec<{
405
412
  value: {
406
413
  messageId: string;
407
414
  actionId: string;
415
+ payload: Uint8Array<ArrayBufferLike> | undefined;
408
416
  };
409
417
  } | {
410
418
  tag: "Command";
@@ -1,5 +1,5 @@
1
1
  import { Enum, ErrEnum, Status } from '@novasamatech/scale';
2
- import { Option, Result, Struct, Vector, _void, str, u64 } from 'scale-ts';
2
+ import { Bytes, Option, Result, Struct, Vector, _void, str, u64 } from 'scale-ts';
3
3
  import { GenericErr } from '../commonCodecs.js';
4
4
  // room registration
5
5
  export const ChatRoomRegistrationErr = ErrEnum('ChatRoomRegistrationErr', {
@@ -27,8 +27,12 @@ export const ChatBotRequest = Struct({
27
27
  name: str,
28
28
  icon: str, // URL or base64-encoded image for contact
29
29
  });
30
- export const ChatCreateBotV1_request = ChatBotRequest;
31
- export const ChatCreateBotV1_response = Result(ChatRoomRegistrationResult, ChatRoomRegistrationErr);
30
+ export const ChatBotRegistrationStatus = Status('New', 'Exists');
31
+ export const ChatBotRegistrationResult = Struct({
32
+ status: ChatBotRegistrationStatus,
33
+ });
34
+ export const ChatRegisterBotV1_request = ChatBotRequest;
35
+ export const ChatRegisterBotV1_response = Result(ChatBotRegistrationResult, ChatBotRegistrationErr);
32
36
  // receiving rooms
33
37
  export const ChatRoomParticipation = Status('RoomHost', 'Bot');
34
38
  export const ChatRoom = Struct({
@@ -91,6 +95,7 @@ export const ChatPostMessageV1_response = Result(ChatPostMessageResult, ChatMess
91
95
  export const ActionTrigger = Struct({
92
96
  messageId: str,
93
97
  actionId: str,
98
+ payload: Option(Bytes()),
94
99
  });
95
100
  export const ChatCommand = Struct({
96
101
  command: str,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@novasamatech/host-api",
3
3
  "type": "module",
4
- "version": "0.5.4-9",
4
+ "version": "0.5.4",
5
5
  "description": "Host API: transport implementation for host - product integration.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -21,7 +21,7 @@
21
21
  "README.md"
22
22
  ],
23
23
  "dependencies": {
24
- "@novasamatech/scale": "0.5.4-9",
24
+ "@novasamatech/scale": "0.5.4",
25
25
  "@polkadot-api/utils": "^0.2.0",
26
26
  "nanoevents": "9.1.0",
27
27
  "nanoid": "5.1.6",