@wowok/agent-mcp 2.2.13 → 2.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +19 -11
  2. package/dist/index.js +44 -100
  3. package/dist/schema/query/index.js +1 -1
  4. package/dist/schema-query/index.d.ts +29 -0
  5. package/dist/schema-query/index.js +149 -0
  6. package/dist/schemas/account_operation.schema.json +255 -0
  7. package/dist/schemas/guard2file.schema.json +71 -0
  8. package/dist/schemas/index.json +139 -0
  9. package/dist/schemas/local_info_operation.schema.json +142 -0
  10. package/dist/schemas/local_mark_operation.schema.json +119 -0
  11. package/dist/schemas/machineNode2file.schema.json +71 -0
  12. package/dist/schemas/messenger_operation.schema.json +1393 -0
  13. package/dist/schemas/onchain_events.schema.json +113 -0
  14. package/dist/schemas/onchain_operations.schema.json +376 -0
  15. package/dist/schemas/onchain_operations_allocation.schema.json +914 -0
  16. package/dist/schemas/onchain_operations_arbitration.schema.json +1166 -0
  17. package/dist/schemas/onchain_operations_contact.schema.json +853 -0
  18. package/dist/schemas/onchain_operations_demand.schema.json +984 -0
  19. package/dist/schemas/onchain_operations_gen_passport.schema.json +1141 -0
  20. package/dist/schemas/onchain_operations_guard.schema.json +713 -0
  21. package/dist/schemas/onchain_operations_machine.schema.json +1347 -0
  22. package/dist/schemas/onchain_operations_order.schema.json +830 -0
  23. package/dist/schemas/onchain_operations_payment.schema.json +717 -0
  24. package/dist/schemas/onchain_operations_permission.schema.json +1088 -0
  25. package/dist/schemas/onchain_operations_personal.schema.json +1282 -0
  26. package/dist/schemas/onchain_operations_progress.schema.json +751 -0
  27. package/dist/schemas/onchain_operations_repository.schema.json +1572 -0
  28. package/dist/schemas/onchain_operations_reward.schema.json +955 -0
  29. package/dist/schemas/onchain_operations_service.schema.json +1411 -0
  30. package/dist/schemas/onchain_operations_treasury.schema.json +1155 -0
  31. package/dist/schemas/onchain_table_data.schema.json +35 -0
  32. package/dist/schemas/query_toolkit.schema.json +32 -0
  33. package/dist/schemas/schema_query.schema.json +33 -0
  34. package/dist/schemas/wip_file.schema.json +27 -0
  35. package/dist/schemas/wowok_buildin_info.schema.json +487 -0
  36. package/package.json +7 -5
  37. package/dist/docs/index.d.ts +0 -3
  38. package/dist/docs/index.js +0 -2
  39. package/dist/docs/loader.d.ts +0 -12
  40. package/dist/docs/loader.js +0 -177
  41. package/dist/docs/search.d.ts +0 -17
  42. package/dist/docs/search.js +0 -325
  43. package/dist/docs/types.d.ts +0 -55
  44. package/dist/docs/types.js +0 -1
  45. package/docs/README.md +0 -249
  46. package/docs/WIP.md +0 -388
  47. package/docs/WTS.md +0 -536
  48. package/docs/docs/account.md +0 -914
  49. package/docs/docs/allocation.md +0 -635
  50. package/docs/docs/arbitration.md +0 -1804
  51. package/docs/docs/arbitration_state_machine.md +0 -270
  52. package/docs/docs/contact.md +0 -709
  53. package/docs/docs/demand.md +0 -948
  54. package/docs/docs/guard.md +0 -1465
  55. package/docs/docs/localinfo.md +0 -432
  56. package/docs/docs/localmark.md +0 -583
  57. package/docs/docs/machine.md +0 -2490
  58. package/docs/docs/messenger.md +0 -2098
  59. package/docs/docs/onchain_events.md +0 -267
  60. package/docs/docs/order.md +0 -1001
  61. package/docs/docs/payment.md +0 -512
  62. package/docs/docs/permission.md +0 -1438
  63. package/docs/docs/personal.md +0 -742
  64. package/docs/docs/progress.md +0 -1748
  65. package/docs/docs/query.md +0 -467
  66. package/docs/docs/repository.md +0 -1043
  67. package/docs/docs/reward.md +0 -833
  68. package/docs/docs/service.md +0 -2130
  69. package/docs/docs/stage-01-introduction.md +0 -243
  70. package/docs/docs/stage-02-trust.md +0 -302
  71. package/docs/docs/stage-03-collaboration.md +0 -337
  72. package/docs/docs/stage-04-transaction.md +0 -277
  73. package/docs/docs/stage-05-business.md +0 -151
  74. package/docs/docs/stage-06-personal.md +0 -203
  75. package/docs/docs/stage-07-query.md +0 -572
  76. package/docs/docs/stage-08-examples.md +0 -184
  77. package/docs/docs/treasury.md +0 -1149
  78. package/docs/docs/wowok_buildin_info.md +0 -740
  79. package/docs/examples/Insurance/Insurance.md +0 -594
  80. package/docs/examples/Insurance/Insurance_TestResults.md +0 -481
  81. package/docs/examples/Insurance/insurance_complete_guard_v1.json +0 -50
  82. package/docs/examples/MyShop/MyShop.md +0 -1353
  83. package/docs/examples/MyShop/MyShop_TestResults.md +0 -1003
  84. package/docs/examples/MyShop_Advanced/MyShop_Advanced.md +0 -1898
  85. package/docs/examples/MyShop_Advanced/MyShop_Advanced_MerchantSystem_TestResults.md +0 -1297
  86. package/docs/examples/MyShop_Advanced/MyShop_Advanced_OrderFlow_TestResults.md +0 -743
  87. package/docs/examples/MyShop_Advanced/machine_nodes.json +0 -222
  88. package/docs/examples/ThreeBody_Signature/ThreeBody_Signature.md +0 -776
  89. package/docs/examples/ThreeBody_Signature/ThreeBody_Signature_TestResults.md +0 -599
  90. package/docs/examples/Travel/Travel.md +0 -1157
  91. package/docs/examples/Travel/Travel_TestResults.md +0 -743
  92. package/docs/examples/Travel/calc-weather-timestamps.js +0 -8
  93. package/docs/examples/Travel/travel_machine_v2_export.json +0 -104
  94. package/docs/examples/Travel/weather_check_guard_v1.json +0 -51
  95. package/docs/skills/WOWOK.md +0 -650
  96. package/docs/skills/onchain_operations/_common.md +0 -406
  97. package/docs/skills/onchain_operations/_index.md +0 -196
  98. package/docs/skills/onchain_operations/allocation.md +0 -28
  99. package/docs/skills/onchain_operations/arbitration.md +0 -106
  100. package/docs/skills/onchain_operations/contact.md +0 -40
  101. package/docs/skills/onchain_operations/demand.md +0 -53
  102. package/docs/skills/onchain_operations/gen_passport.md +0 -23
  103. package/docs/skills/onchain_operations/guard.md +0 -56
  104. package/docs/skills/onchain_operations/machine.md +0 -89
  105. package/docs/skills/onchain_operations/order.md +0 -56
  106. package/docs/skills/onchain_operations/payment.md +0 -24
  107. package/docs/skills/onchain_operations/permission.md +0 -68
  108. package/docs/skills/onchain_operations/personal.md +0 -58
  109. package/docs/skills/onchain_operations/progress.md +0 -38
  110. package/docs/skills/onchain_operations/repository.md +0 -70
  111. package/docs/skills/onchain_operations/reward.md +0 -38
  112. package/docs/skills/onchain_operations/service.md +0 -78
  113. package/docs/skills/onchain_operations/treasury.md +0 -68
  114. package/docs/skills/schema-account_operation.md +0 -402
  115. package/docs/skills/schema-guard2file.md +0 -153
  116. package/docs/skills/schema-local_info_operation.md +0 -160
  117. package/docs/skills/schema-local_mark_operation.md +0 -148
  118. package/docs/skills/schema-machineNode2file.md +0 -155
  119. package/docs/skills/schema-messenger_operation.md +0 -547
  120. package/docs/skills/schema-onchain_events.md +0 -201
  121. package/docs/skills/schema-onchain_table_data.md +0 -334
  122. package/docs/skills/schema-query_toolkit.md +0 -395
  123. package/docs/skills/schema-wip_file.md +0 -240
  124. package/docs/skills/schema-wowok_buildin_info.md +0 -296
  125. package/docs/wip-examples/three_body.html +0 -57
  126. package/docs/wip-examples/three_body.wip +0 -30
@@ -0,0 +1,1393 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://wowok.net/schemas/messenger_operation.json",
4
+ "title": "Messenger Operations",
5
+ "description": "WoWok encrypted messenger operations",
6
+ "$ref": "#/definitions/messenger_operation",
7
+ "definitions": {
8
+ "messenger_operation": {
9
+ "anyOf": [
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "operation": {
14
+ "type": "string",
15
+ "const": "watch_conversations"
16
+ },
17
+ "filter": {
18
+ "type": "object",
19
+ "properties": {
20
+ "account": {
21
+ "type": "string",
22
+ "description": "Account name or address to query conversations for. If not specified, uses default account"
23
+ },
24
+ "unreadOnly": {
25
+ "type": "boolean",
26
+ "description": "If true, only return conversations with unread messages (unreadCount > 0). Useful for quickly finding conversations needing attention"
27
+ },
28
+ "startTime": {
29
+ "type": "number",
30
+ "description": "Start timestamp (ms) for filtering conversations by lastMessageAt. Only returns conversations where lastMessageAt >= this value"
31
+ },
32
+ "endTime": {
33
+ "type": "number",
34
+ "description": "End timestamp (ms) for filtering conversations by lastMessageAt. Only returns conversations where lastMessageAt <= this value"
35
+ },
36
+ "previewMessageCount": {
37
+ "type": "number",
38
+ "description": "Number of preview messages to include for each conversation (default: 2). Set to 0 to disable preview messages. If > 0, preview messages are automatically included"
39
+ },
40
+ "sortBy": {
41
+ "type": "string",
42
+ "enum": [
43
+ "lastMessageAt",
44
+ "unreadCount",
45
+ "messageCount"
46
+ ],
47
+ "description": "Sort conversations by: 'lastMessageAt' = most recent activity first, 'unreadCount' = most unread messages first, 'messageCount' = most total messages first"
48
+ },
49
+ "sortOrder": {
50
+ "type": "string",
51
+ "enum": [
52
+ "asc",
53
+ "desc"
54
+ ],
55
+ "description": "Sort order: 'asc' = ascending (oldest/smallest first), 'desc' = descending (newest/largest first). Default is 'desc' for time-based sorting"
56
+ },
57
+ "skipAutoMarkViewed": {
58
+ "type": "boolean",
59
+ "description": "If true, preview messages will NOT be automatically marked as viewed when retrieved. Default is false, meaning preview messages are auto-marked as viewed"
60
+ }
61
+ },
62
+ "additionalProperties": false,
63
+ "description": "Conversations filter options - use unreadOnly to find conversations with unread messages, previewMessageCount to control message previews (default 2), and sortBy/sortOrder to customize sorting"
64
+ }
65
+ },
66
+ "required": [
67
+ "operation"
68
+ ],
69
+ "additionalProperties": false
70
+ },
71
+ {
72
+ "type": "object",
73
+ "properties": {
74
+ "operation": {
75
+ "type": "string",
76
+ "const": "send_message"
77
+ },
78
+ "from": {
79
+ "type": "string",
80
+ "description": "Sender account name or address. If not specified, uses default account"
81
+ },
82
+ "to": {
83
+ "anyOf": [
84
+ {
85
+ "type": "string",
86
+ "description": "Account name, address (0x...), or mark name. When using string format, local marks are searched first. EXAMPLE: 'alice' - searches local marks first, then global; EXAMPLE: '0x1234...' - uses address directly"
87
+ },
88
+ {
89
+ "type": "object",
90
+ "properties": {
91
+ "name_or_address": {
92
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
93
+ "description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
94
+ },
95
+ "local_mark_first": {
96
+ "type": "boolean",
97
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks"
98
+ }
99
+ },
100
+ "additionalProperties": false,
101
+ "description": "Account or address lookup object. Use this to specify which account to use for an operation. EXAMPLE: { name_or_address: 'testor2' } - looks up account by name; EXAMPLE: { name_or_address: '0x1234...' } - uses address directly; If name_or_address is empty string '', uses the default local account."
102
+ }
103
+ ],
104
+ "description": "Recipient address or account name - can be a string (name/address) or full object"
105
+ },
106
+ "content": {
107
+ "type": "string",
108
+ "maxLength": 10000,
109
+ "description": "Message content text"
110
+ },
111
+ "options": {
112
+ "type": "object",
113
+ "properties": {
114
+ "guardAddress": {
115
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
116
+ "description": "Guard address"
117
+ },
118
+ "passportAddress": {
119
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
120
+ "description": "Passport address"
121
+ },
122
+ "force": {
123
+ "type": "boolean",
124
+ "description": "Force send even if there are pending Guard messages"
125
+ },
126
+ "new_messenger_name": {
127
+ "type": "string",
128
+ "description": "New messenger name for recipient"
129
+ }
130
+ },
131
+ "additionalProperties": false,
132
+ "description": "Optional message settings"
133
+ }
134
+ },
135
+ "required": [
136
+ "operation",
137
+ "to",
138
+ "content"
139
+ ],
140
+ "additionalProperties": false
141
+ },
142
+ {
143
+ "type": "object",
144
+ "properties": {
145
+ "operation": {
146
+ "type": "string",
147
+ "const": "send_file"
148
+ },
149
+ "from": {
150
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
151
+ "description": "Sender account name or address. If not specified, uses default account"
152
+ },
153
+ "to": {
154
+ "anyOf": [
155
+ {
156
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
157
+ },
158
+ {
159
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
160
+ }
161
+ ],
162
+ "description": "Recipient address or account name - can be a string (name/address) or full object"
163
+ },
164
+ "filePath": {
165
+ "type": "string",
166
+ "description": "Local file path to send. File will be compressed as ZIP before sending"
167
+ },
168
+ "options": {
169
+ "type": "object",
170
+ "properties": {
171
+ "fileName": {
172
+ "type": "string",
173
+ "description": "Custom file name"
174
+ },
175
+ "contentType": {
176
+ "type": "string",
177
+ "enum": [
178
+ "wts",
179
+ "wip",
180
+ "zip"
181
+ ],
182
+ "description": "Content type hint"
183
+ },
184
+ "guardAddress": {
185
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
186
+ "description": "Guard address"
187
+ },
188
+ "passportAddress": {
189
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
190
+ "description": "Passport address"
191
+ },
192
+ "force": {
193
+ "type": "boolean",
194
+ "description": "Force send even if there are pending Guard messages"
195
+ },
196
+ "new_messenger_name": {
197
+ "type": "string",
198
+ "description": "New messenger name for recipient"
199
+ }
200
+ },
201
+ "additionalProperties": false,
202
+ "description": "Optional file sending settings"
203
+ }
204
+ },
205
+ "required": [
206
+ "operation",
207
+ "to",
208
+ "filePath"
209
+ ],
210
+ "additionalProperties": false
211
+ },
212
+ {
213
+ "type": "object",
214
+ "properties": {
215
+ "operation": {
216
+ "type": "string",
217
+ "const": "watch_messages"
218
+ },
219
+ "filter": {
220
+ "type": "object",
221
+ "properties": {
222
+ "account": {
223
+ "type": "string",
224
+ "description": "Account to filter messages for"
225
+ },
226
+ "direction": {
227
+ "type": "string",
228
+ "enum": [
229
+ "sent",
230
+ "received"
231
+ ],
232
+ "description": "Filter by message direction"
233
+ },
234
+ "status": {
235
+ "type": "string",
236
+ "enum": [
237
+ "pending",
238
+ "confirmed",
239
+ "read",
240
+ "failed",
241
+ "rejected",
242
+ "decrypted",
243
+ "decrypt_failed"
244
+ ],
245
+ "description": "Filter by message status"
246
+ },
247
+ "peerAddress": {
248
+ "anyOf": [
249
+ {
250
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
251
+ },
252
+ {
253
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
254
+ }
255
+ ],
256
+ "description": "Filter by peer address - can be a string (name/address) or full object"
257
+ },
258
+ "msgType": {
259
+ "type": "number",
260
+ "enum": [
261
+ 1,
262
+ 3
263
+ ],
264
+ "description": "Filter by message type"
265
+ },
266
+ "contentType": {
267
+ "type": "string",
268
+ "enum": [
269
+ "text",
270
+ "zip",
271
+ "wts",
272
+ "wip"
273
+ ],
274
+ "description": "Filter by content type"
275
+ },
276
+ "decryptedOnly": {
277
+ "type": "boolean",
278
+ "description": "Only return decrypted messages"
279
+ },
280
+ "confirmedOnly": {
281
+ "type": "boolean",
282
+ "description": "Only return confirmed messages"
283
+ },
284
+ "keyword": {
285
+ "type": "string",
286
+ "description": "Search keyword in plaintext"
287
+ },
288
+ "sortOrder": {
289
+ "type": "string",
290
+ "enum": [
291
+ "asc",
292
+ "desc"
293
+ ],
294
+ "description": "Sort order: asc or desc"
295
+ },
296
+ "limit": {
297
+ "type": "number",
298
+ "description": "Return limit"
299
+ },
300
+ "offset": {
301
+ "type": "number",
302
+ "description": "Pagination offset"
303
+ },
304
+ "timeField": {
305
+ "type": "string",
306
+ "enum": [
307
+ "createdAt",
308
+ "receivedAt",
309
+ "serverTimestamp"
310
+ ],
311
+ "description": "Time field for time filtering"
312
+ },
313
+ "startTime": {
314
+ "type": "number",
315
+ "description": "Start timestamp (ms)"
316
+ },
317
+ "endTime": {
318
+ "type": "number",
319
+ "description": "End timestamp (ms)"
320
+ },
321
+ "createdAtStart": {
322
+ "type": "number",
323
+ "description": "Created at start time"
324
+ },
325
+ "createdAtEnd": {
326
+ "type": "number",
327
+ "description": "Created at end time"
328
+ },
329
+ "receivedAtStart": {
330
+ "type": "number",
331
+ "description": "Received at start time"
332
+ },
333
+ "receivedAtEnd": {
334
+ "type": "number",
335
+ "description": "Received at end time"
336
+ },
337
+ "serverTimestampStart": {
338
+ "type": "number",
339
+ "description": "Server timestamp start time"
340
+ },
341
+ "serverTimestampEnd": {
342
+ "type": "number",
343
+ "description": "Server timestamp end time"
344
+ },
345
+ "arkConfirmedOnly": {
346
+ "type": "boolean",
347
+ "description": "Only return ARK confirmed messages"
348
+ },
349
+ "arkTimestampStart": {
350
+ "type": "number",
351
+ "description": "ARK timestamp start"
352
+ },
353
+ "arkTimestampEnd": {
354
+ "type": "number",
355
+ "description": "ARK timestamp end"
356
+ },
357
+ "proofedOnly": {
358
+ "type": "boolean",
359
+ "description": "Only return messages with proof"
360
+ },
361
+ "hasLastReceivedIndexOnly": {
362
+ "type": "boolean",
363
+ "description": "Only return messages with lastReceivedLeafIndex"
364
+ },
365
+ "lastReceivedIndexMin": {
366
+ "type": "number",
367
+ "description": "Min lastReceivedLeafIndex"
368
+ },
369
+ "lastReceivedIndexMax": {
370
+ "type": "number",
371
+ "description": "Max lastReceivedLeafIndex"
372
+ },
373
+ "listFilterMode": {
374
+ "type": "string",
375
+ "enum": [
376
+ "friends",
377
+ "guard",
378
+ "stranger",
379
+ "any"
380
+ ],
381
+ "description": "List filter mode: 'friends' = only messages from friends list, 'guard' = only messages from Guard list, 'stranger' = only messages from strangers (not in friends/guard lists), 'any' = no filtering (default)"
382
+ },
383
+ "customListFilter": {
384
+ "type": "object",
385
+ "properties": {
386
+ "includeAddresses": {
387
+ "type": "array",
388
+ "items": {
389
+ "type": "string"
390
+ },
391
+ "description": "Include addresses - only return messages from these addresses (highest priority)"
392
+ },
393
+ "excludeAddresses": {
394
+ "type": "array",
395
+ "items": {
396
+ "type": "string"
397
+ },
398
+ "description": "Exclude addresses - exclude messages from these addresses"
399
+ },
400
+ "relation": {
401
+ "type": "string",
402
+ "enum": [
403
+ "union",
404
+ "intersection"
405
+ ],
406
+ "description": "Address list relation: 'union' = combine lists as union, 'intersection' = combine lists as intersection"
407
+ }
408
+ },
409
+ "additionalProperties": false,
410
+ "description": "Custom list filter for advanced address-based filtering, works in combination with listFilterMode"
411
+ },
412
+ "viewed": {
413
+ "type": "boolean",
414
+ "description": "Filter by viewed status: true = only viewed messages, false = only unviewed messages. A message is considered 'viewed' if viewedAt field exists. Only applicable to received messages"
415
+ },
416
+ "viewedAtStart": {
417
+ "type": "number",
418
+ "description": "Filter by viewed timestamp start (inclusive). Only returns messages where viewedAt >= this value. Useful for finding recently viewed messages"
419
+ },
420
+ "viewedAtEnd": {
421
+ "type": "number",
422
+ "description": "Filter by viewed timestamp end (inclusive). Only returns messages where viewedAt <= this value. Useful for finding messages viewed before a certain time"
423
+ },
424
+ "skipAutoMarkViewed": {
425
+ "type": "boolean",
426
+ "description": "If true, messages returned by this query will NOT be automatically marked as viewed. Default is false, meaning messages are auto-marked as viewed when retrieved through watch_messages"
427
+ }
428
+ },
429
+ "additionalProperties": false,
430
+ "description": "Message filter options"
431
+ }
432
+ },
433
+ "required": [
434
+ "operation"
435
+ ],
436
+ "additionalProperties": false
437
+ },
438
+ {
439
+ "type": "object",
440
+ "properties": {
441
+ "operation": {
442
+ "type": "string",
443
+ "const": "extract_zip_messages"
444
+ },
445
+ "account": {
446
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
447
+ "description": "Account name or address. If not specified, uses default account"
448
+ },
449
+ "messages": {
450
+ "type": "array",
451
+ "items": {
452
+ "anyOf": [
453
+ {
454
+ "type": "string"
455
+ },
456
+ {
457
+ "type": "object",
458
+ "properties": {
459
+ "messageId": {
460
+ "type": "string",
461
+ "description": "Message ID"
462
+ },
463
+ "fromAddress": {
464
+ "type": "string",
465
+ "description": "Sender address"
466
+ },
467
+ "toAddress": {
468
+ "type": "string",
469
+ "description": "Recipient address"
470
+ },
471
+ "plaintextHash": {
472
+ "type": "string",
473
+ "description": "Plaintext hash"
474
+ },
475
+ "plaintext": {
476
+ "type": "string",
477
+ "description": "Decrypted plaintext (optional)"
478
+ },
479
+ "guardAddress": {
480
+ "type": "string",
481
+ "description": "Guard address"
482
+ },
483
+ "passportAddress": {
484
+ "type": "string",
485
+ "description": "Passport address"
486
+ },
487
+ "lastReceivedLeafIndex": {
488
+ "type": "number",
489
+ "description": "Last received leaf index"
490
+ },
491
+ "direction": {
492
+ "type": "string",
493
+ "enum": [
494
+ "sent",
495
+ "received"
496
+ ],
497
+ "description": "Message direction"
498
+ },
499
+ "status": {
500
+ "type": "string",
501
+ "enum": [
502
+ "pending",
503
+ "confirmed",
504
+ "read",
505
+ "failed",
506
+ "rejected",
507
+ "decrypted",
508
+ "decrypt_failed"
509
+ ],
510
+ "description": "Message status"
511
+ },
512
+ "msgType": {
513
+ "type": "number",
514
+ "enum": [
515
+ 1,
516
+ 3
517
+ ],
518
+ "description": "Message type"
519
+ },
520
+ "leafIndex": {
521
+ "type": "number",
522
+ "description": "Leaf index"
523
+ },
524
+ "prevRoot": {
525
+ "type": "string",
526
+ "description": "Previous Merkle Root"
527
+ },
528
+ "newRoot": {
529
+ "type": "string",
530
+ "description": "Current Merkle Root"
531
+ },
532
+ "serverSignature": {
533
+ "type": "string",
534
+ "description": "Server signature"
535
+ },
536
+ "serverTimestamp": {
537
+ "type": "number",
538
+ "description": "Server confirmation timestamp"
539
+ },
540
+ "serverPublicKey": {
541
+ "type": "string",
542
+ "description": "Server public key"
543
+ },
544
+ "arkConfirmed": {
545
+ "type": "object",
546
+ "properties": {
547
+ "recipient": {
548
+ "type": "string",
549
+ "description": "Recipient address"
550
+ },
551
+ "recipientPublicKey": {
552
+ "type": "string",
553
+ "description": "Recipient public key"
554
+ },
555
+ "signature": {
556
+ "type": "string",
557
+ "description": "Recipient signature"
558
+ },
559
+ "timestamp": {
560
+ "type": "number",
561
+ "description": "ARK confirmation time"
562
+ }
563
+ },
564
+ "required": [
565
+ "recipient",
566
+ "recipientPublicKey",
567
+ "signature",
568
+ "timestamp"
569
+ ],
570
+ "additionalProperties": false,
571
+ "description": "ARK confirmation"
572
+ },
573
+ "createdAt": {
574
+ "type": "number",
575
+ "description": "Message creation time (client)"
576
+ },
577
+ "receivedAt": {
578
+ "type": "number",
579
+ "description": "Local reception time"
580
+ },
581
+ "zipMetadata": {
582
+ "type": "object",
583
+ "properties": {
584
+ "fileName": {
585
+ "type": "string",
586
+ "description": "ZIP filename"
587
+ },
588
+ "fileSize": {
589
+ "type": "number",
590
+ "description": "File size in bytes"
591
+ },
592
+ "fileHash": {
593
+ "type": "string",
594
+ "description": "File SHA256 hash"
595
+ },
596
+ "contentType": {
597
+ "type": "string",
598
+ "enum": [
599
+ "text",
600
+ "zip",
601
+ "wts",
602
+ "wip"
603
+ ],
604
+ "description": "Content type"
605
+ },
606
+ "localCachePath": {
607
+ "type": "string",
608
+ "description": "Local cache path"
609
+ },
610
+ "downloadedAt": {
611
+ "type": "number",
612
+ "description": "Download timestamp"
613
+ }
614
+ },
615
+ "required": [
616
+ "fileName",
617
+ "fileSize",
618
+ "fileHash",
619
+ "contentType"
620
+ ],
621
+ "additionalProperties": false,
622
+ "description": "ZIP file metadata"
623
+ },
624
+ "proof": {
625
+ "type": "string",
626
+ "description": "On-chain proof object address"
627
+ },
628
+ "decryptError": {
629
+ "type": "string",
630
+ "description": "Decryption failure reason"
631
+ },
632
+ "decryptAttempts": {
633
+ "type": "number",
634
+ "description": "Number of decryption attempts"
635
+ },
636
+ "lastDecryptAttemptAt": {
637
+ "type": "number",
638
+ "description": "Last decryption attempt timestamp"
639
+ },
640
+ "viewedAt": {
641
+ "type": "number",
642
+ "description": "Timestamp when the current user viewed this message (local storage). If present, indicates the message has been viewed by the user. Only applicable to received messages (direction === 'received')"
643
+ }
644
+ },
645
+ "required": [
646
+ "messageId",
647
+ "fromAddress",
648
+ "toAddress",
649
+ "plaintextHash",
650
+ "direction",
651
+ "status",
652
+ "msgType",
653
+ "createdAt"
654
+ ],
655
+ "additionalProperties": false,
656
+ "description": "Message object"
657
+ }
658
+ ]
659
+ },
660
+ "description": "Array of message objects or message IDs to extract"
661
+ },
662
+ "outputDir": {
663
+ "type": "string",
664
+ "description": "Output directory path for extracted files"
665
+ }
666
+ },
667
+ "required": [
668
+ "operation",
669
+ "messages",
670
+ "outputDir"
671
+ ],
672
+ "additionalProperties": false
673
+ },
674
+ {
675
+ "type": "object",
676
+ "properties": {
677
+ "operation": {
678
+ "type": "string",
679
+ "const": "generate_wts"
680
+ },
681
+ "params": {
682
+ "type": "object",
683
+ "properties": {
684
+ "myAccount": {
685
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
686
+ "description": "My account name or address (string)"
687
+ },
688
+ "peerAccount": {
689
+ "anyOf": [
690
+ {
691
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
692
+ },
693
+ {
694
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
695
+ }
696
+ ],
697
+ "description": "Peer account name or address - can be a string (name/address) or full object"
698
+ },
699
+ "range": {
700
+ "anyOf": [
701
+ {
702
+ "type": "object",
703
+ "properties": {
704
+ "type": {
705
+ "type": "string",
706
+ "const": "time"
707
+ },
708
+ "start": {
709
+ "type": "number"
710
+ },
711
+ "end": {
712
+ "type": "number"
713
+ }
714
+ },
715
+ "required": [
716
+ "type",
717
+ "start",
718
+ "end"
719
+ ],
720
+ "additionalProperties": false
721
+ },
722
+ {
723
+ "type": "object",
724
+ "properties": {
725
+ "type": {
726
+ "type": "string",
727
+ "const": "messageId"
728
+ },
729
+ "start": {
730
+ "type": "string"
731
+ },
732
+ "end": {
733
+ "type": "string"
734
+ }
735
+ },
736
+ "required": [
737
+ "type",
738
+ "start",
739
+ "end"
740
+ ],
741
+ "additionalProperties": false
742
+ },
743
+ {
744
+ "type": "object",
745
+ "properties": {
746
+ "type": {
747
+ "type": "string",
748
+ "const": "seqIndex"
749
+ },
750
+ "start": {
751
+ "type": "number"
752
+ },
753
+ "end": {
754
+ "type": "number"
755
+ }
756
+ },
757
+ "required": [
758
+ "type",
759
+ "start",
760
+ "end"
761
+ ],
762
+ "additionalProperties": false
763
+ }
764
+ ],
765
+ "description": "Range filter parameters"
766
+ },
767
+ "excludePlaintext": {
768
+ "type": "boolean",
769
+ "description": "Whether to exclude plaintext"
770
+ },
771
+ "outputDir": {
772
+ "type": "string",
773
+ "description": "Output directory path"
774
+ }
775
+ },
776
+ "required": [
777
+ "myAccount",
778
+ "peerAccount",
779
+ "outputDir"
780
+ ],
781
+ "additionalProperties": false,
782
+ "description": "WTS generation parameters"
783
+ }
784
+ },
785
+ "required": [
786
+ "operation",
787
+ "params"
788
+ ],
789
+ "additionalProperties": false
790
+ },
791
+ {
792
+ "type": "object",
793
+ "properties": {
794
+ "operation": {
795
+ "type": "string",
796
+ "const": "verify_wts"
797
+ },
798
+ "wtsFilePath": {
799
+ "type": "string",
800
+ "description": "WTS file path to verify"
801
+ }
802
+ },
803
+ "required": [
804
+ "operation",
805
+ "wtsFilePath"
806
+ ],
807
+ "additionalProperties": false
808
+ },
809
+ {
810
+ "type": "object",
811
+ "properties": {
812
+ "operation": {
813
+ "type": "string",
814
+ "const": "sign_wts"
815
+ },
816
+ "wtsFilePath": {
817
+ "type": "string",
818
+ "description": "WTS file path to sign"
819
+ },
820
+ "account": {
821
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
822
+ "description": "Account name or address to sign with. If not specified, uses default account"
823
+ },
824
+ "outputPath": {
825
+ "type": "string",
826
+ "description": "Output file path. If not specified, saves to signed_*.wts"
827
+ }
828
+ },
829
+ "required": [
830
+ "operation",
831
+ "wtsFilePath"
832
+ ],
833
+ "additionalProperties": false
834
+ },
835
+ {
836
+ "type": "object",
837
+ "properties": {
838
+ "operation": {
839
+ "type": "string",
840
+ "const": "wts2html"
841
+ },
842
+ "wtsPath": {
843
+ "type": "string",
844
+ "description": "WTS file path or directory to convert"
845
+ },
846
+ "options": {
847
+ "type": "object",
848
+ "properties": {
849
+ "title": {
850
+ "type": "string",
851
+ "description": "HTML document title"
852
+ },
853
+ "theme": {
854
+ "type": "string",
855
+ "enum": [
856
+ "light",
857
+ "dark"
858
+ ],
859
+ "description": "HTML theme"
860
+ },
861
+ "outputPath": {
862
+ "type": "string",
863
+ "description": "Output file path"
864
+ }
865
+ },
866
+ "additionalProperties": false,
867
+ "description": "Conversion options"
868
+ }
869
+ },
870
+ "required": [
871
+ "operation",
872
+ "wtsPath"
873
+ ],
874
+ "additionalProperties": false
875
+ },
876
+ {
877
+ "type": "object",
878
+ "properties": {
879
+ "operation": {
880
+ "type": "string",
881
+ "const": "proof_message"
882
+ },
883
+ "account": {
884
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
885
+ "description": "Account name or address. If not specified, uses default account"
886
+ },
887
+ "messageId": {
888
+ "type": "string",
889
+ "description": "Message ID to proof on-chain"
890
+ },
891
+ "network": {
892
+ "type": "string",
893
+ "enum": [
894
+ "localnet",
895
+ "testnet"
896
+ ],
897
+ "description": "Network to use for on-chain proof"
898
+ }
899
+ },
900
+ "required": [
901
+ "operation",
902
+ "messageId"
903
+ ],
904
+ "additionalProperties": false
905
+ },
906
+ {
907
+ "type": "object",
908
+ "properties": {
909
+ "operation": {
910
+ "type": "string",
911
+ "const": "blacklist"
912
+ },
913
+ "account": {
914
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
915
+ "description": "Account name or address. If not specified, uses default account"
916
+ },
917
+ "blacklist": {
918
+ "anyOf": [
919
+ {
920
+ "type": "object",
921
+ "properties": {
922
+ "op": {
923
+ "type": "string",
924
+ "const": "add"
925
+ },
926
+ "users": {
927
+ "anyOf": [
928
+ {
929
+ "type": "array",
930
+ "items": {
931
+ "type": "string"
932
+ },
933
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry"
934
+ },
935
+ {
936
+ "type": "object",
937
+ "properties": {
938
+ "entities": {
939
+ "type": "array",
940
+ "items": {
941
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
942
+ }
943
+ },
944
+ "check_all_founded": {
945
+ "type": "boolean",
946
+ "description": "Whether to check all entities are found, if true, all entities must be found (abort and throw exception if any ID not found); if false, only return found IDs"
947
+ }
948
+ },
949
+ "required": [
950
+ "entities"
951
+ ],
952
+ "additionalProperties": false,
953
+ "description": "Used to batch find account or object IDs by name"
954
+ }
955
+ ],
956
+ "description": "Users to add to blacklist - can be array of strings (names/addresses) or full object"
957
+ }
958
+ },
959
+ "required": [
960
+ "op",
961
+ "users"
962
+ ],
963
+ "additionalProperties": false
964
+ },
965
+ {
966
+ "type": "object",
967
+ "properties": {
968
+ "op": {
969
+ "type": "string",
970
+ "const": "remove"
971
+ },
972
+ "users": {
973
+ "anyOf": [
974
+ {
975
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
976
+ },
977
+ {
978
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
979
+ }
980
+ ],
981
+ "description": "Users to remove from blacklist - can be array of strings (names/addresses) or full object"
982
+ }
983
+ },
984
+ "required": [
985
+ "op",
986
+ "users"
987
+ ],
988
+ "additionalProperties": false
989
+ },
990
+ {
991
+ "type": "object",
992
+ "properties": {
993
+ "op": {
994
+ "type": "string",
995
+ "const": "clear"
996
+ }
997
+ },
998
+ "required": [
999
+ "op"
1000
+ ],
1001
+ "additionalProperties": false
1002
+ },
1003
+ {
1004
+ "type": "object",
1005
+ "properties": {
1006
+ "op": {
1007
+ "type": "string",
1008
+ "const": "get"
1009
+ }
1010
+ },
1011
+ "required": [
1012
+ "op"
1013
+ ],
1014
+ "additionalProperties": false
1015
+ },
1016
+ {
1017
+ "type": "object",
1018
+ "properties": {
1019
+ "op": {
1020
+ "type": "string",
1021
+ "const": "exist"
1022
+ },
1023
+ "users": {
1024
+ "anyOf": [
1025
+ {
1026
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1027
+ },
1028
+ {
1029
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1030
+ }
1031
+ ],
1032
+ "description": "Users to check existence - can be array of strings (names/addresses) or full object"
1033
+ }
1034
+ },
1035
+ "required": [
1036
+ "op",
1037
+ "users"
1038
+ ],
1039
+ "additionalProperties": false
1040
+ }
1041
+ ],
1042
+ "description": "Blacklist management operation"
1043
+ }
1044
+ },
1045
+ "required": [
1046
+ "operation",
1047
+ "blacklist"
1048
+ ],
1049
+ "additionalProperties": false
1050
+ },
1051
+ {
1052
+ "type": "object",
1053
+ "properties": {
1054
+ "operation": {
1055
+ "type": "string",
1056
+ "const": "friendslist"
1057
+ },
1058
+ "account": {
1059
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1060
+ "description": "Account name or address. If not specified, uses default account"
1061
+ },
1062
+ "friendslist": {
1063
+ "anyOf": [
1064
+ {
1065
+ "type": "object",
1066
+ "properties": {
1067
+ "op": {
1068
+ "type": "string",
1069
+ "const": "add"
1070
+ },
1071
+ "users": {
1072
+ "anyOf": [
1073
+ {
1074
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1075
+ },
1076
+ {
1077
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1078
+ }
1079
+ ],
1080
+ "description": "Users to add to friends list - can be array of strings (names/addresses) or full object"
1081
+ }
1082
+ },
1083
+ "required": [
1084
+ "op",
1085
+ "users"
1086
+ ],
1087
+ "additionalProperties": false
1088
+ },
1089
+ {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "op": {
1093
+ "type": "string",
1094
+ "const": "remove"
1095
+ },
1096
+ "users": {
1097
+ "anyOf": [
1098
+ {
1099
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1100
+ },
1101
+ {
1102
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1103
+ }
1104
+ ],
1105
+ "description": "Users to remove from friends list - can be array of strings (names/addresses) or full object"
1106
+ }
1107
+ },
1108
+ "required": [
1109
+ "op",
1110
+ "users"
1111
+ ],
1112
+ "additionalProperties": false
1113
+ },
1114
+ {
1115
+ "type": "object",
1116
+ "properties": {
1117
+ "op": {
1118
+ "type": "string",
1119
+ "const": "clear"
1120
+ }
1121
+ },
1122
+ "required": [
1123
+ "op"
1124
+ ],
1125
+ "additionalProperties": false
1126
+ },
1127
+ {
1128
+ "type": "object",
1129
+ "properties": {
1130
+ "op": {
1131
+ "type": "string",
1132
+ "const": "get"
1133
+ }
1134
+ },
1135
+ "required": [
1136
+ "op"
1137
+ ],
1138
+ "additionalProperties": false
1139
+ },
1140
+ {
1141
+ "type": "object",
1142
+ "properties": {
1143
+ "op": {
1144
+ "type": "string",
1145
+ "const": "exist"
1146
+ },
1147
+ "users": {
1148
+ "anyOf": [
1149
+ {
1150
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1151
+ },
1152
+ {
1153
+ "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1154
+ }
1155
+ ],
1156
+ "description": "Users to check existence - can be array of strings (names/addresses) or full object"
1157
+ }
1158
+ },
1159
+ "required": [
1160
+ "op",
1161
+ "users"
1162
+ ],
1163
+ "additionalProperties": false
1164
+ }
1165
+ ],
1166
+ "description": "Friends list management operation"
1167
+ }
1168
+ },
1169
+ "required": [
1170
+ "operation",
1171
+ "friendslist"
1172
+ ],
1173
+ "additionalProperties": false
1174
+ },
1175
+ {
1176
+ "type": "object",
1177
+ "properties": {
1178
+ "operation": {
1179
+ "type": "string",
1180
+ "const": "guardlist"
1181
+ },
1182
+ "account": {
1183
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1184
+ "description": "Account name or address. If not specified, uses default account"
1185
+ },
1186
+ "guardlist": {
1187
+ "anyOf": [
1188
+ {
1189
+ "type": "object",
1190
+ "properties": {
1191
+ "op": {
1192
+ "type": "string",
1193
+ "const": "add"
1194
+ },
1195
+ "guards": {
1196
+ "type": "array",
1197
+ "items": {
1198
+ "type": "object",
1199
+ "properties": {
1200
+ "guard": {
1201
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1202
+ "description": "Guard address or name"
1203
+ },
1204
+ "passportValiditySeconds": {
1205
+ "type": "number",
1206
+ "minimum": 10,
1207
+ "maximum": 315360000,
1208
+ "description": "Passport validity in seconds (10s to 10 years)"
1209
+ }
1210
+ },
1211
+ "required": [
1212
+ "guard",
1213
+ "passportValiditySeconds"
1214
+ ],
1215
+ "additionalProperties": false,
1216
+ "description": "Guard parameter"
1217
+ },
1218
+ "minItems": 1,
1219
+ "maxItems": 10,
1220
+ "description": "Guards to add to guard list"
1221
+ }
1222
+ },
1223
+ "required": [
1224
+ "op",
1225
+ "guards"
1226
+ ],
1227
+ "additionalProperties": false
1228
+ },
1229
+ {
1230
+ "type": "object",
1231
+ "properties": {
1232
+ "op": {
1233
+ "type": "string",
1234
+ "const": "remove"
1235
+ },
1236
+ "guards": {
1237
+ "type": "array",
1238
+ "items": {
1239
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from"
1240
+ },
1241
+ "minItems": 1,
1242
+ "maxItems": 10,
1243
+ "description": "Guard addresses to remove from guard list"
1244
+ }
1245
+ },
1246
+ "required": [
1247
+ "op",
1248
+ "guards"
1249
+ ],
1250
+ "additionalProperties": false
1251
+ },
1252
+ {
1253
+ "type": "object",
1254
+ "properties": {
1255
+ "op": {
1256
+ "type": "string",
1257
+ "const": "get"
1258
+ }
1259
+ },
1260
+ "required": [
1261
+ "op"
1262
+ ],
1263
+ "additionalProperties": false
1264
+ }
1265
+ ],
1266
+ "description": "Guard list management operation"
1267
+ }
1268
+ },
1269
+ "required": [
1270
+ "operation",
1271
+ "guardlist"
1272
+ ],
1273
+ "additionalProperties": false
1274
+ },
1275
+ {
1276
+ "type": "object",
1277
+ "properties": {
1278
+ "operation": {
1279
+ "type": "string",
1280
+ "const": "settings"
1281
+ },
1282
+ "account": {
1283
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1284
+ "description": "Account name or address. If not specified, uses default account"
1285
+ },
1286
+ "settings": {
1287
+ "anyOf": [
1288
+ {
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "op": {
1292
+ "type": "string",
1293
+ "const": "get"
1294
+ }
1295
+ },
1296
+ "required": [
1297
+ "op"
1298
+ ],
1299
+ "additionalProperties": false
1300
+ },
1301
+ {
1302
+ "type": "object",
1303
+ "properties": {
1304
+ "op": {
1305
+ "type": "string",
1306
+ "const": "set"
1307
+ },
1308
+ "allowStrangerMessages": {
1309
+ "type": "boolean",
1310
+ "description": "Allow messages from strangers"
1311
+ },
1312
+ "maxInboxSize": {
1313
+ "type": "number",
1314
+ "minimum": 1,
1315
+ "description": "Maximum inbox size"
1316
+ }
1317
+ },
1318
+ "required": [
1319
+ "op"
1320
+ ],
1321
+ "additionalProperties": false
1322
+ }
1323
+ ],
1324
+ "description": "Settings management operation"
1325
+ }
1326
+ },
1327
+ "required": [
1328
+ "operation",
1329
+ "settings"
1330
+ ],
1331
+ "additionalProperties": false
1332
+ },
1333
+ {
1334
+ "type": "object",
1335
+ "properties": {
1336
+ "operation": {
1337
+ "type": "string",
1338
+ "const": "mark_messages_as_viewed"
1339
+ },
1340
+ "account": {
1341
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1342
+ "description": "Account name or address. If not specified, uses default account"
1343
+ },
1344
+ "messageIds": {
1345
+ "type": "array",
1346
+ "items": {
1347
+ "type": "string"
1348
+ },
1349
+ "minItems": 1,
1350
+ "maxItems": 1000,
1351
+ "description": "Array of message IDs to mark as viewed (1-1000 messages). Only messages belonging to this account will be marked"
1352
+ }
1353
+ },
1354
+ "required": [
1355
+ "operation",
1356
+ "messageIds"
1357
+ ],
1358
+ "additionalProperties": false
1359
+ },
1360
+ {
1361
+ "type": "object",
1362
+ "properties": {
1363
+ "operation": {
1364
+ "type": "string",
1365
+ "const": "mark_conversation_as_viewed"
1366
+ },
1367
+ "account": {
1368
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1369
+ "description": "Account name or address. If not specified, uses default account"
1370
+ },
1371
+ "peerAddress": {
1372
+ "anyOf": [
1373
+ {
1374
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
1375
+ },
1376
+ {
1377
+ "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
1378
+ }
1379
+ ],
1380
+ "description": "Peer address or account name - can be a string (name/address) or full object. All unviewed received messages from this peer will be marked as viewed"
1381
+ }
1382
+ },
1383
+ "required": [
1384
+ "operation",
1385
+ "peerAddress"
1386
+ ],
1387
+ "additionalProperties": false
1388
+ }
1389
+ ],
1390
+ "description": "Messenger operation input schema"
1391
+ }
1392
+ }
1393
+ }