@wowok/agent-mcp 2.7.1 → 2.7.3

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 (597) hide show
  1. package/dist/config/index.js +1 -1
  2. package/dist/config/runtime.js +1 -238
  3. package/dist/customer/account-events.d.ts +32 -0
  4. package/dist/customer/account-events.js +1 -0
  5. package/dist/customer/customer-advice.d.ts +1 -0
  6. package/dist/customer/customer-advice.js +1 -130
  7. package/dist/customer/index.js +1 -11
  8. package/dist/customer/industry-risks.js +1 -438
  9. package/dist/customer/info-puzzle.js +1 -681
  10. package/dist/customer/order-monitor.js +1 -328
  11. package/dist/customer/order-strategy.d.ts +1 -1
  12. package/dist/customer/order-strategy.js +1 -373
  13. package/dist/customer/post-purchase.js +1 -351
  14. package/dist/customer/preorder-compare.js +1 -34
  15. package/dist/customer/reminder-system.d.ts +2 -0
  16. package/dist/customer/reminder-system.js +1 -316
  17. package/dist/customer/risk-assessment.d.ts +1 -0
  18. package/dist/customer/risk-assessment.js +1 -397
  19. package/dist/customer/types.d.ts +2 -0
  20. package/dist/customer/types.js +1 -13
  21. package/dist/customer/user-preferences.js +1 -460
  22. package/dist/evaluation/arbitration-game.d.ts +9 -2
  23. package/dist/evaluation/arbitration-game.js +1 -48
  24. package/dist/evaluation/builtins/arbitration-score.d.ts +41 -0
  25. package/dist/evaluation/builtins/arbitration-score.js +1 -0
  26. package/dist/evaluation/builtins/demand-match.js +1 -153
  27. package/dist/evaluation/builtins/index.d.ts +1 -0
  28. package/dist/evaluation/builtins/index.js +1 -10
  29. package/dist/evaluation/builtins/service-risk.js +1 -55
  30. package/dist/evaluation/capability.js +1 -13
  31. package/dist/evaluation/category-match-rules.d.ts +30 -0
  32. package/dist/evaluation/category-match-rules.js +1 -0
  33. package/dist/evaluation/composer.js +1 -40
  34. package/dist/evaluation/engine.js +1 -175
  35. package/dist/evaluation/extract.js +1 -115
  36. package/dist/evaluation/game-strategy.d.ts +27 -0
  37. package/dist/evaluation/game-strategy.js +1 -0
  38. package/dist/evaluation/gap.js +1 -100
  39. package/dist/evaluation/index.d.ts +2 -0
  40. package/dist/evaluation/index.js +1 -11
  41. package/dist/evaluation/location-match.d.ts +42 -0
  42. package/dist/evaluation/location-match.js +1 -0
  43. package/dist/evaluation/node-game.d.ts +31 -3
  44. package/dist/evaluation/node-game.js +1 -57
  45. package/dist/evaluation/path-reasoning.d.ts +35 -0
  46. package/dist/evaluation/path-reasoning.js +1 -0
  47. package/dist/evaluation/region.d.ts +6 -0
  48. package/dist/evaluation/region.js +1 -36
  49. package/dist/evaluation/types.d.ts +18 -0
  50. package/dist/evaluation/types.js +1 -1
  51. package/dist/evaluation/user-injection.js +1 -27
  52. package/dist/experience/experience-reuse.js +1 -103
  53. package/dist/experience/index.js +1 -5
  54. package/dist/experience/intent-distill.js +1 -83
  55. package/dist/experience/realtime-feedback.js +1 -94
  56. package/dist/experience/types.js +1 -1
  57. package/dist/experience/user-profile.d.ts +1 -1
  58. package/dist/experience/user-profile.js +1 -171
  59. package/dist/extensions/business-modules.js +1 -287
  60. package/dist/extensions/capability-manifest.js +1 -781
  61. package/dist/extensions/constraint-registry.js +1 -198
  62. package/dist/extensions/index.d.ts +6 -0
  63. package/dist/extensions/index.js +1 -6
  64. package/dist/extensions/industry-layers.d.ts +75 -0
  65. package/dist/extensions/industry-layers.js +1 -0
  66. package/dist/extensions/industry-pack.d.ts +105 -0
  67. package/dist/extensions/industry-pack.js +1 -0
  68. package/dist/extensions/metric-registry.js +1 -257
  69. package/dist/extensions/mode-evaluator.d.ts +1 -1
  70. package/dist/extensions/mode-evaluator.js +1 -170
  71. package/dist/extensions/modes.js +1 -499
  72. package/dist/extensions/registry.d.ts +1 -0
  73. package/dist/extensions/registry.js +1 -717
  74. package/dist/extensions/types.js +1 -1
  75. package/dist/graph/base.d.ts +8 -0
  76. package/dist/graph/base.js +1 -0
  77. package/dist/harness/auto-escalation.js +1 -68
  78. package/dist/harness/checkpoint.js +1 -129
  79. package/dist/harness/index.d.ts +1 -0
  80. package/dist/harness/index.js +1 -78
  81. package/dist/harness/plan.d.ts +2 -0
  82. package/dist/harness/plan.js +1 -315
  83. package/dist/harness/recover.d.ts +1 -1
  84. package/dist/harness/recover.js +1 -139
  85. package/dist/harness/types.d.ts +2 -3
  86. package/dist/harness/types.js +1 -1
  87. package/dist/harness/verify.js +1 -237
  88. package/dist/index.js +1 -273
  89. package/dist/intent/enrich.js +1 -67
  90. package/dist/intent/index.js +1 -60
  91. package/dist/intent/matcher.js +1 -81
  92. package/dist/intent/store.js +1 -55
  93. package/dist/intent/types.js +1 -10
  94. package/dist/knowledge/acquisition-flywheel.js +1 -192
  95. package/dist/knowledge/allocation-confirm.js +1 -534
  96. package/dist/knowledge/allocation-context.js +1 -249
  97. package/dist/knowledge/allocation-ledger.js +1 -463
  98. package/dist/knowledge/allocation-puzzle.js +1 -298
  99. package/dist/knowledge/allocation-risk.js +1 -568
  100. package/dist/knowledge/allocation-templates.js +1 -970
  101. package/dist/knowledge/allocation-translation.js +1 -585
  102. package/dist/knowledge/anti-cheat.d.ts +37 -0
  103. package/dist/knowledge/anti-cheat.js +1 -0
  104. package/dist/knowledge/arb-confirm.d.ts +28 -0
  105. package/dist/knowledge/arb-confirm.js +1 -0
  106. package/dist/knowledge/arb-risk.js +1 -210
  107. package/dist/knowledge/arb-translation.d.ts +48 -0
  108. package/dist/knowledge/arb-translation.js +1 -0
  109. package/dist/knowledge/arbitration-confirm.js +1 -559
  110. package/dist/knowledge/arbitration-context.js +1 -505
  111. package/dist/knowledge/arbitration-ledger.js +1 -521
  112. package/dist/knowledge/arbitration-puzzle.js +1 -304
  113. package/dist/knowledge/arbitration-risk.js +1 -423
  114. package/dist/knowledge/arbitration-templates.js +1 -276
  115. package/dist/knowledge/arbitration-translation.js +1 -487
  116. package/dist/knowledge/audit-rules.js +1 -141
  117. package/dist/knowledge/bridge-confirm.d.ts +26 -0
  118. package/dist/knowledge/bridge-confirm.js +1 -0
  119. package/dist/knowledge/bridge-risk.js +1 -263
  120. package/dist/knowledge/bridge-translation.d.ts +37 -0
  121. package/dist/knowledge/bridge-translation.js +1 -0
  122. package/dist/knowledge/contact-confirm.d.ts +27 -0
  123. package/dist/knowledge/contact-confirm.js +1 -0
  124. package/dist/knowledge/contact-risk.js +1 -200
  125. package/dist/knowledge/contact-templates.js +1 -60
  126. package/dist/knowledge/contact-translation.d.ts +39 -0
  127. package/dist/knowledge/contact-translation.js +1 -0
  128. package/dist/knowledge/demand-confirm.js +1 -206
  129. package/dist/knowledge/demand-context.d.ts +17 -0
  130. package/dist/knowledge/demand-context.js +1 -0
  131. package/dist/knowledge/demand-ledger.d.ts +26 -0
  132. package/dist/knowledge/demand-ledger.js +1 -0
  133. package/dist/knowledge/demand-matching.js +1 -132
  134. package/dist/knowledge/demand-puzzle.d.ts +29 -0
  135. package/dist/knowledge/demand-puzzle.js +1 -0
  136. package/dist/knowledge/demand-risk.js +1 -240
  137. package/dist/knowledge/demand-templates.d.ts +12 -0
  138. package/dist/knowledge/demand-templates.js +1 -0
  139. package/dist/knowledge/demand-translation.js +1 -354
  140. package/dist/knowledge/deployment-scanner.js +1 -823
  141. package/dist/knowledge/dynamic-pricing.js +1 -87
  142. package/dist/knowledge/evidence-review.d.ts +12 -0
  143. package/dist/knowledge/evidence-review.js +1 -0
  144. package/dist/knowledge/examples-scanner-cli.js +1 -26
  145. package/dist/knowledge/examples-scanner.js +1 -843
  146. package/dist/knowledge/flywheel-loop.d.ts +0 -1
  147. package/dist/knowledge/flywheel-loop.js +1 -404
  148. package/dist/knowledge/fund-layer.js +1 -973
  149. package/dist/knowledge/glossary.js +1 -211
  150. package/dist/knowledge/guard-confirm.js +1 -406
  151. package/dist/knowledge/guard-context.js +1 -287
  152. package/dist/knowledge/guard-design-patterns.js +1 -360
  153. package/dist/knowledge/guard-ledger.js +1 -260
  154. package/dist/knowledge/guard-lint.js +1 -670
  155. package/dist/knowledge/guard-migration.d.ts +1 -1
  156. package/dist/knowledge/guard-migration.js +1 -228
  157. package/dist/knowledge/guard-puzzle.js +1 -805
  158. package/dist/knowledge/guard-render.js +1 -700
  159. package/dist/knowledge/guard-risk.js +1 -1879
  160. package/dist/knowledge/guard-submission-prompt.js +1 -171
  161. package/dist/knowledge/guard-templates.js +1 -1105
  162. package/dist/knowledge/guard-translation.js +1 -1119
  163. package/dist/knowledge/index.d.ts +71 -3
  164. package/dist/knowledge/index.js +1 -436
  165. package/dist/knowledge/industry-evolution.js +1 -323
  166. package/dist/knowledge/industry-generalizer.js +1 -381
  167. package/dist/knowledge/industry-registry.js +1 -174
  168. package/dist/knowledge/intent-metrics.d.ts +4 -3
  169. package/dist/knowledge/intent-metrics.js +1 -566
  170. package/dist/knowledge/machine-confirm.js +1 -559
  171. package/dist/knowledge/machine-context.js +1 -833
  172. package/dist/knowledge/machine-ledger.js +1 -338
  173. package/dist/knowledge/machine-puzzle.js +1 -494
  174. package/dist/knowledge/machine-render.js +1 -565
  175. package/dist/knowledge/machine-risk.js +1 -669
  176. package/dist/knowledge/machine-templates.js +1 -1597
  177. package/dist/knowledge/machine-topology.js +1 -234
  178. package/dist/knowledge/machine-translation.js +1 -513
  179. package/dist/knowledge/market-metrics.d.ts +12 -0
  180. package/dist/knowledge/market-metrics.js +1 -0
  181. package/dist/knowledge/market-operations.d.ts +46 -0
  182. package/dist/knowledge/market-operations.js +1 -0
  183. package/dist/knowledge/mcp-schema-audit-cli.js +1 -45
  184. package/dist/knowledge/mcp-schema-audit.d.ts +22 -22
  185. package/dist/knowledge/mcp-schema-audit.js +1 -777
  186. package/dist/knowledge/onchain-constants.js +1 -35
  187. package/dist/knowledge/order-confirm.js +1 -573
  188. package/dist/knowledge/order-context.js +1 -390
  189. package/dist/knowledge/order-ledger.js +1 -341
  190. package/dist/knowledge/order-puzzle.js +1 -255
  191. package/dist/knowledge/order-risk.js +1 -653
  192. package/dist/knowledge/order-templates.js +1 -368
  193. package/dist/knowledge/order-translation.js +1 -550
  194. package/dist/knowledge/overrides-loader.js +1 -65
  195. package/dist/knowledge/passport-confirm.js +1 -531
  196. package/dist/knowledge/passport-context.js +1 -306
  197. package/dist/knowledge/passport-ledger.js +1 -282
  198. package/dist/knowledge/passport-puzzle.js +1 -333
  199. package/dist/knowledge/passport-risk.js +1 -450
  200. package/dist/knowledge/passport-templates.js +1 -568
  201. package/dist/knowledge/passport-translation.js +1 -516
  202. package/dist/knowledge/payment-confirm.d.ts +26 -0
  203. package/dist/knowledge/payment-confirm.js +1 -0
  204. package/dist/knowledge/payment-risk.js +1 -249
  205. package/dist/knowledge/payment-translation.d.ts +37 -0
  206. package/dist/knowledge/payment-translation.js +1 -0
  207. package/dist/knowledge/permission-confirm.js +1 -426
  208. package/dist/knowledge/permission-context.js +1 -224
  209. package/dist/knowledge/permission-ledger.d.ts +11 -0
  210. package/dist/knowledge/permission-ledger.js +1 -403
  211. package/dist/knowledge/permission-puzzle.js +1 -173
  212. package/dist/knowledge/permission-risk.js +1 -411
  213. package/dist/knowledge/permission-templates.js +1 -234
  214. package/dist/knowledge/permission-translation.js +1 -350
  215. package/dist/knowledge/personal-confirm.d.ts +29 -0
  216. package/dist/knowledge/personal-confirm.js +1 -0
  217. package/dist/knowledge/personal-risk.js +1 -212
  218. package/dist/knowledge/personal-translation.d.ts +37 -0
  219. package/dist/knowledge/personal-translation.js +1 -0
  220. package/dist/knowledge/process-model.d.ts +1 -11
  221. package/dist/knowledge/process-model.js +1 -160
  222. package/dist/knowledge/progress-confirm.js +1 -456
  223. package/dist/knowledge/progress-context.js +1 -452
  224. package/dist/knowledge/progress-ledger.js +1 -330
  225. package/dist/knowledge/progress-puzzle.js +1 -219
  226. package/dist/knowledge/progress-risk.js +1 -461
  227. package/dist/knowledge/progress-templates.js +1 -228
  228. package/dist/knowledge/progress-translation.js +1 -405
  229. package/dist/knowledge/proof-confirm.js +1 -187
  230. package/dist/knowledge/proof-context.d.ts +17 -0
  231. package/dist/knowledge/proof-context.js +1 -0
  232. package/dist/knowledge/proof-ledger.d.ts +34 -0
  233. package/dist/knowledge/proof-ledger.js +1 -0
  234. package/dist/knowledge/proof-puzzle.d.ts +35 -0
  235. package/dist/knowledge/proof-puzzle.js +1 -0
  236. package/dist/knowledge/proof-risk.js +1 -207
  237. package/dist/knowledge/proof-templates.d.ts +22 -0
  238. package/dist/knowledge/proof-templates.js +1 -0
  239. package/dist/knowledge/proof-translation.js +1 -283
  240. package/dist/knowledge/registrar-confirm.d.ts +26 -0
  241. package/dist/knowledge/registrar-confirm.js +1 -0
  242. package/dist/knowledge/registrar-risk.js +1 -217
  243. package/dist/knowledge/registrar-translation.d.ts +37 -0
  244. package/dist/knowledge/registrar-translation.js +1 -0
  245. package/dist/knowledge/repository-confirm.js +1 -286
  246. package/dist/knowledge/repository-context.d.ts +12 -0
  247. package/dist/knowledge/repository-context.js +1 -0
  248. package/dist/knowledge/repository-ledger.d.ts +25 -0
  249. package/dist/knowledge/repository-ledger.js +1 -0
  250. package/dist/knowledge/repository-puzzle.d.ts +30 -0
  251. package/dist/knowledge/repository-puzzle.js +1 -0
  252. package/dist/knowledge/repository-risk.js +1 -373
  253. package/dist/knowledge/repository-templates.d.ts +14 -0
  254. package/dist/knowledge/repository-templates.js +1 -0
  255. package/dist/knowledge/repository-translation.js +1 -445
  256. package/dist/knowledge/reputation-rules.js +1 -99
  257. package/dist/knowledge/resource-confirm.d.ts +25 -0
  258. package/dist/knowledge/resource-confirm.js +1 -0
  259. package/dist/knowledge/resource-risk.js +1 -157
  260. package/dist/knowledge/resource-translation.d.ts +37 -0
  261. package/dist/knowledge/resource-translation.js +1 -0
  262. package/dist/knowledge/reward-confirm.js +1 -526
  263. package/dist/knowledge/reward-context.d.ts +2 -2
  264. package/dist/knowledge/reward-context.js +1 -504
  265. package/dist/knowledge/reward-ledger.js +1 -502
  266. package/dist/knowledge/reward-puzzle.js +1 -300
  267. package/dist/knowledge/reward-risk.js +1 -627
  268. package/dist/knowledge/reward-templates.js +1 -197
  269. package/dist/knowledge/reward-translation.js +1 -501
  270. package/dist/knowledge/safety-rules.d.ts +1 -0
  271. package/dist/knowledge/safety-rules.js +1 -404
  272. package/dist/knowledge/scenario-modes.js +1 -321
  273. package/dist/knowledge/service-confirm.js +1 -807
  274. package/dist/knowledge/service-context.js +1 -403
  275. package/dist/knowledge/service-ledger.js +1 -609
  276. package/dist/knowledge/service-puzzle.js +1 -236
  277. package/dist/knowledge/service-risk.d.ts +1 -1
  278. package/dist/knowledge/service-risk.js +1 -651
  279. package/dist/knowledge/service-templates.js +1 -456
  280. package/dist/knowledge/service-translation.js +1 -622
  281. package/dist/knowledge/template-registry.js +1 -353
  282. package/dist/knowledge/tool-constraints.js +1 -195
  283. package/dist/knowledge/tools-reference.js +1 -178
  284. package/dist/knowledge/treasury-confirm.js +1 -512
  285. package/dist/knowledge/treasury-context.js +1 -363
  286. package/dist/knowledge/treasury-ledger.js +1 -300
  287. package/dist/knowledge/treasury-puzzle.js +1 -216
  288. package/dist/knowledge/treasury-risk.js +1 -440
  289. package/dist/knowledge/treasury-templates.js +1 -358
  290. package/dist/knowledge/treasury-translation.js +1 -498
  291. package/dist/knowledge/trust-metrics.js +1 -198
  292. package/dist/knowledge/universal-template.d.ts +22 -0
  293. package/dist/knowledge/universal-template.js +1 -0
  294. package/dist/knowledge/util-confirm.d.ts +24 -0
  295. package/dist/knowledge/util-confirm.js +1 -0
  296. package/dist/knowledge/util-risk.js +1 -135
  297. package/dist/knowledge/util-translation.d.ts +38 -0
  298. package/dist/knowledge/util-translation.js +1 -0
  299. package/dist/knowledge/workflow-guidance.d.ts +116 -0
  300. package/dist/knowledge/workflow-guidance.js +1 -0
  301. package/dist/loop-engineering/aggregate.js +1 -132
  302. package/dist/loop-engineering/context-collect.js +1 -83
  303. package/dist/loop-engineering/diagnose.js +1 -273
  304. package/dist/loop-engineering/improve.js +1 -405
  305. package/dist/loop-engineering/index.js +1 -4
  306. package/dist/loop-engineering/pipeline.js +1 -56
  307. package/dist/mode-market/index.js +1 -3
  308. package/dist/mode-market/registry.js +1 -124
  309. package/dist/mode-market/review.js +1 -214
  310. package/dist/mode-market/submission.js +1 -85
  311. package/dist/participation/collaborator-interest.d.ts +23 -0
  312. package/dist/participation/collaborator-interest.js +1 -0
  313. package/dist/participation/customer-interest.d.ts +25 -0
  314. package/dist/participation/customer-interest.js +1 -0
  315. package/dist/participation/employee-kpi.d.ts +25 -0
  316. package/dist/participation/employee-kpi.js +1 -0
  317. package/dist/participation/employee-store.d.ts +16 -0
  318. package/dist/participation/employee-store.js +1 -0
  319. package/dist/participation/index.d.ts +2 -0
  320. package/dist/participation/index.js +1 -0
  321. package/dist/participation/merchant-interest.js +1 -100
  322. package/dist/participation/radar-core.d.ts +13 -3
  323. package/dist/participation/radar-core.js +1 -269
  324. package/dist/participation/supplier-interest.d.ts +25 -0
  325. package/dist/participation/supplier-interest.js +1 -0
  326. package/dist/persona/analyzer.js +1 -66
  327. package/dist/persona/bridge.js +1 -86
  328. package/dist/persona/defaults.js +1 -195
  329. package/dist/persona/experience-bridge.js +1 -23
  330. package/dist/persona/index.d.ts +9 -2
  331. package/dist/persona/index.js +1 -71
  332. package/dist/persona/local-region.d.ts +20 -0
  333. package/dist/persona/local-region.js +1 -0
  334. package/dist/persona/model.js +1 -111
  335. package/dist/persona/overrides.d.ts +10 -0
  336. package/dist/persona/overrides.js +1 -0
  337. package/dist/persona/pack-personae.d.ts +11 -0
  338. package/dist/persona/pack-personae.js +1 -0
  339. package/dist/persona/store.js +1 -62
  340. package/dist/persona/strategy-intent.d.ts +20 -0
  341. package/dist/persona/strategy-intent.js +1 -0
  342. package/dist/persona/types.d.ts +6 -2
  343. package/dist/persona/types.js +1 -5
  344. package/dist/project/business-puzzle.d.ts +1 -1
  345. package/dist/project/business-puzzle.js +1 -383
  346. package/dist/project/context-assembly.js +1 -254
  347. package/dist/project/deployment-bridge.js +1 -120
  348. package/dist/project/deployment-doc.js +1 -1126
  349. package/dist/project/edit-planner.js +1 -1342
  350. package/dist/project/evaluation.d.ts +37 -1
  351. package/dist/project/evaluation.js +1 -2011
  352. package/dist/project/game-theory.js +1 -177
  353. package/dist/project/graph-builder.js +1 -656
  354. package/dist/project/graph.d.ts +3 -6
  355. package/dist/project/graph.js +1 -340
  356. package/dist/project/handlers.d.ts +33 -2
  357. package/dist/project/handlers.js +1 -1784
  358. package/dist/project/index.d.ts +2 -0
  359. package/dist/project/index.js +1 -301
  360. package/dist/project/intent-analyzer.js +1 -149
  361. package/dist/project/machine-nodes.js +1 -36
  362. package/dist/project/merchant-guide.d.ts +19 -0
  363. package/dist/project/merchant-guide.js +1 -264
  364. package/dist/project/migration.js +1 -125
  365. package/dist/project/mode-actions.js +1 -309
  366. package/dist/project/namespace.js +1 -206
  367. package/dist/project/participation-radar.js +1 -428
  368. package/dist/project/pipeline-actions.js +1 -109
  369. package/dist/project/project-store.js +1 -422
  370. package/dist/project/query.js +1 -153
  371. package/dist/project/reverse-mapping.d.ts +34 -0
  372. package/dist/project/reverse-mapping.js +1 -0
  373. package/dist/project/risk-aggregator.js +1 -295
  374. package/dist/project/rollback-policy.js +1 -290
  375. package/dist/project/semantic-assembler.js +1 -345
  376. package/dist/project/semantic-graph.d.ts +3 -5
  377. package/dist/project/semantic-graph.js +1 -292
  378. package/dist/project/stage-gate.js +1 -369
  379. package/dist/project/substep-trace.js +1 -332
  380. package/dist/project/task-tracker.js +1 -78
  381. package/dist/project/workflow-design-assessment.d.ts +24 -0
  382. package/dist/project/workflow-design-assessment.js +1 -0
  383. package/dist/role/derivation.d.ts +18 -0
  384. package/dist/role/derivation.js +1 -0
  385. package/dist/role/index.d.ts +5 -0
  386. package/dist/role/index.js +1 -0
  387. package/dist/role/model.d.ts +8 -0
  388. package/dist/role/model.js +1 -0
  389. package/dist/role/resolution.d.ts +11 -0
  390. package/dist/role/resolution.js +1 -0
  391. package/dist/role/types.d.ts +11 -0
  392. package/dist/role/types.js +1 -0
  393. package/dist/rules.js +1 -52
  394. package/dist/safety/confirm-gate.d.ts +1 -1
  395. package/dist/safety/confirm-gate.js +1 -88
  396. package/dist/safety/index.js +1 -3
  397. package/dist/safety/preview.js +1 -52
  398. package/dist/schema/call/allocation.d.ts +186 -1385
  399. package/dist/schema/call/allocation.js +1 -34
  400. package/dist/schema/call/arbitration.d.ts +272 -1871
  401. package/dist/schema/call/arbitration.js +1 -113
  402. package/dist/schema/call/base.d.ts +1831 -9076
  403. package/dist/schema/call/base.js +1 -370
  404. package/dist/schema/call/bridge.d.ts +911 -3171
  405. package/dist/schema/call/bridge.js +1 -458
  406. package/dist/schema/call/contact.d.ts +135 -931
  407. package/dist/schema/call/contact.js +1 -37
  408. package/dist/schema/call/demand.d.ts +164 -1194
  409. package/dist/schema/call/demand.js +1 -47
  410. package/dist/schema/call/guard.d.ts +298 -1140
  411. package/dist/schema/call/guard.js +1 -161
  412. package/dist/schema/call/handler.js +1 -322
  413. package/dist/schema/call/index.js +1 -20
  414. package/dist/schema/call/machine.d.ts +459 -5403
  415. package/dist/schema/call/machine.js +1 -193
  416. package/dist/schema/call/order.d.ts +137 -844
  417. package/dist/schema/call/order.js +1 -35
  418. package/dist/schema/call/payment.d.ts +74 -561
  419. package/dist/schema/call/payment.js +1 -37
  420. package/dist/schema/call/permission-handler.js +1 -54
  421. package/dist/schema/call/permission.d.ts +335 -2791
  422. package/dist/schema/call/permission.js +1 -105
  423. package/dist/schema/call/personal.d.ts +227 -1814
  424. package/dist/schema/call/personal.js +1 -78
  425. package/dist/schema/call/progress.d.ts +140 -843
  426. package/dist/schema/call/progress.js +1 -47
  427. package/dist/schema/call/proof.d.ts +42 -258
  428. package/dist/schema/call/proof.js +1 -33
  429. package/dist/schema/call/repository.d.ts +324 -2222
  430. package/dist/schema/call/repository.js +1 -77
  431. package/dist/schema/call/reward.d.ts +153 -1183
  432. package/dist/schema/call/reward.js +1 -30
  433. package/dist/schema/call/semantic.js +1 -1679
  434. package/dist/schema/call/service.d.ts +376 -3431
  435. package/dist/schema/call/service.js +1 -184
  436. package/dist/schema/call/treasury.d.ts +252 -2158
  437. package/dist/schema/call/treasury.js +1 -71
  438. package/dist/schema/common/index.d.ts +222 -697
  439. package/dist/schema/common/index.js +1 -407
  440. package/dist/schema/config/index.d.ts +18 -161
  441. package/dist/schema/config/index.js +1 -68
  442. package/dist/schema/employee/index.d.ts +99 -0
  443. package/dist/schema/employee/index.js +1 -0
  444. package/dist/schema/evaluation/index.d.ts +1062 -3748
  445. package/dist/schema/evaluation/index.js +1 -356
  446. package/dist/schema/index.d.ts +3 -0
  447. package/dist/schema/index.js +1 -17
  448. package/dist/schema/industry-pack/index.d.ts +132 -0
  449. package/dist/schema/industry-pack/index.js +1 -0
  450. package/dist/schema/intent-radar/index.d.ts +92 -245
  451. package/dist/schema/intent-radar/index.js +1 -89
  452. package/dist/schema/local/index.d.ts +2045 -18080
  453. package/dist/schema/local/index.js +1 -927
  454. package/dist/schema/local/wip.d.ts +61 -651
  455. package/dist/schema/local/wip.js +1 -187
  456. package/dist/schema/messenger/index.d.ts +949 -5557
  457. package/dist/schema/messenger/index.js +1 -475
  458. package/dist/schema/operations.d.ts +2969 -26518
  459. package/dist/schema/operations.js +1 -520
  460. package/dist/schema/persona/index.d.ts +469 -1820
  461. package/dist/schema/persona/index.js +1 -148
  462. package/dist/schema/project/index.d.ts +1027 -8408
  463. package/dist/schema/project/index.js +1 -2057
  464. package/dist/schema/query/index.d.ts +12041 -75261
  465. package/dist/schema/query/index.js +1 -1646
  466. package/dist/schema/schema-query/index.d.ts +35 -98
  467. package/dist/schema/schema-query/index.js +1 -104
  468. package/dist/schema/schema-version.js +1 -76
  469. package/dist/schema/task-status.d.ts +26 -132
  470. package/dist/schema/task-status.js +1 -36
  471. package/dist/schema/trust/index.d.ts +194 -1290
  472. package/dist/schema/trust/index.js +1 -314
  473. package/dist/schema/utils/guard-parser.js +1 -419
  474. package/dist/schema/utils/guard-query-utils.js +1 -46
  475. package/dist/schema/utils/node-parser.js +1 -369
  476. package/dist/schema/utils/object-type-utils.js +1 -35
  477. package/dist/schema/utils/permission-index-utils.js +1 -7
  478. package/dist/schema/utils/permission-machine-check.js +1 -121
  479. package/dist/schema/utils/skills-recommendation.d.ts +1 -0
  480. package/dist/schema/utils/skills-recommendation.js +1 -77
  481. package/dist/schema/workspace/index.d.ts +69 -0
  482. package/dist/schema/workspace/index.js +1 -0
  483. package/dist/schema-query-impl/index.js +1 -0
  484. package/dist/schemas/account_operation.output.json +3147 -1652
  485. package/dist/schemas/account_operation.schema.json +225 -218
  486. package/dist/schemas/bridge_operation.output.json +1168 -650
  487. package/dist/schemas/bridge_operation.schema.json +736 -504
  488. package/dist/schemas/config_operation.output.json +185 -179
  489. package/dist/schemas/config_operation.schema.json +21 -26
  490. package/dist/schemas/employee_operation.output.json +207 -0
  491. package/dist/schemas/employee_operation.schema.json +176 -0
  492. package/dist/schemas/evaluation_operation.output.json +2329 -557
  493. package/dist/schemas/evaluation_operation.schema.json +2939 -720
  494. package/dist/schemas/guard2file.output.json +58 -64
  495. package/dist/schemas/guard2file.schema.json +79 -81
  496. package/dist/schemas/index.json +29 -11
  497. package/dist/schemas/industry_pack_operation.output.json +594 -0
  498. package/dist/schemas/industry_pack_operation.schema.json +55 -0
  499. package/dist/schemas/intent_radar.output.json +275 -200
  500. package/dist/schemas/intent_radar.schema.json +124 -123
  501. package/dist/schemas/local_info_operation.output.json +1174 -657
  502. package/dist/schemas/local_info_operation.schema.json +119 -125
  503. package/dist/schemas/local_mark_operation.output.json +1239 -689
  504. package/dist/schemas/local_mark_operation.schema.json +91 -96
  505. package/dist/schemas/machineNode2file.output.json +63 -69
  506. package/dist/schemas/machineNode2file.schema.json +79 -81
  507. package/dist/schemas/messenger_operation.output.json +2722 -1528
  508. package/dist/schemas/messenger_operation.schema.json +1482 -1264
  509. package/dist/schemas/onchain_events.output.json +2590 -975
  510. package/dist/schemas/onchain_events.schema.json +117 -99
  511. package/dist/schemas/onchain_operations.output.json +3957 -2309
  512. package/dist/schemas/onchain_operations.schema.json +20799 -9285
  513. package/dist/schemas/onchain_operations_allocation.schema.json +172 -108
  514. package/dist/schemas/onchain_operations_arbitration.schema.json +233 -146
  515. package/dist/schemas/onchain_operations_contact.schema.json +129 -90
  516. package/dist/schemas/onchain_operations_demand.schema.json +170 -112
  517. package/dist/schemas/onchain_operations_gen_passport.schema.json +61 -646
  518. package/dist/schemas/onchain_operations_gen_proof.schema.json +40 -172
  519. package/dist/schemas/onchain_operations_guard.schema.json +3765 -294
  520. package/dist/schemas/onchain_operations_machine.schema.json +537 -164
  521. package/dist/schemas/onchain_operations_order.schema.json +126 -96
  522. package/dist/schemas/onchain_operations_payment.schema.json +82 -67
  523. package/dist/schemas/onchain_operations_permission.schema.json +331 -93
  524. package/dist/schemas/onchain_operations_personal.schema.json +636 -96
  525. package/dist/schemas/onchain_operations_progress.schema.json +125 -92
  526. package/dist/schemas/onchain_operations_proof.schema.json +76 -69
  527. package/dist/schemas/onchain_operations_repository.schema.json +636 -249
  528. package/dist/schemas/onchain_operations_reward.schema.json +218 -108
  529. package/dist/schemas/onchain_operations_service.schema.json +679 -221
  530. package/dist/schemas/onchain_operations_treasury.schema.json +401 -135
  531. package/dist/schemas/onchain_table_data.output.json +6018 -2430
  532. package/dist/schemas/onchain_table_data.schema.json +544 -430
  533. package/dist/schemas/persona_operation.output.json +1568 -265
  534. package/dist/schemas/persona_operation.schema.json +346 -202
  535. package/dist/schemas/project_operation.output.json +6957 -5147
  536. package/dist/schemas/project_operation.schema.json +1050 -1020
  537. package/dist/schemas/query_task_status.output.json +195 -99
  538. package/dist/schemas/query_task_status.schema.json +12 -18
  539. package/dist/schemas/query_toolkit.output.json +18870 -14566
  540. package/dist/schemas/query_toolkit.schema.json +614 -522
  541. package/dist/schemas/schema_query.output.json +127 -129
  542. package/dist/schemas/schema_query.schema.json +64 -69
  543. package/dist/schemas/trust_score.output.json +678 -587
  544. package/dist/schemas/trust_score.schema.json +289 -277
  545. package/dist/schemas/wip_file.output.json +116 -124
  546. package/dist/schemas/wip_file.schema.json +142 -143
  547. package/dist/schemas/workspace_operation.output.json +277 -0
  548. package/dist/schemas/workspace_operation.schema.json +45 -0
  549. package/dist/schemas/wowok_buildin_info.output.json +1693 -723
  550. package/dist/schemas/wowok_buildin_info.schema.json +576 -512
  551. package/dist/telemetry/index.js +1 -112
  552. package/dist/telemetry/redact.js +1 -23
  553. package/dist/telemetry/storage.js +1 -80
  554. package/dist/tools/handlers/bridge.d.ts +8 -1
  555. package/dist/tools/handlers/bridge.js +1 -1
  556. package/dist/tools/handlers/config.js +1 -74
  557. package/dist/tools/handlers/employee.d.ts +2 -0
  558. package/dist/tools/handlers/employee.js +1 -0
  559. package/dist/tools/handlers/evaluation.js +1 -123
  560. package/dist/tools/handlers/file-export.js +1 -90
  561. package/dist/tools/handlers/industry-pack.d.ts +2 -0
  562. package/dist/tools/handlers/industry-pack.js +1 -0
  563. package/dist/tools/handlers/intent-radar.js +1 -76
  564. package/dist/tools/handlers/local.js +1 -53
  565. package/dist/tools/handlers/messenger.js +1 -188
  566. package/dist/tools/handlers/onchain.js +1 -1180
  567. package/dist/tools/handlers/persona.js +1 -89
  568. package/dist/tools/handlers/project.js +1 -211
  569. package/dist/tools/handlers/query.js +1 -434
  570. package/dist/tools/handlers/schema-query.js +1 -176
  571. package/dist/tools/handlers/task-status.js +1 -26
  572. package/dist/tools/handlers/trust.js +1 -380
  573. package/dist/tools/handlers/wip.js +1 -90
  574. package/dist/tools/handlers/workspace.d.ts +2 -0
  575. package/dist/tools/handlers/workspace.js +1 -0
  576. package/dist/tools/index.d.ts +2 -1
  577. package/dist/tools/index.js +1 -1382
  578. package/dist/tools/retry.js +1 -85
  579. package/dist/tools/rules-hook.d.ts +1 -1
  580. package/dist/tools/rules-hook.js +1 -23
  581. package/dist/tools/shared.d.ts +1 -1
  582. package/dist/tools/shared.js +1 -130
  583. package/dist/tools/types.d.ts +2 -1
  584. package/dist/tools/types.js +1 -1
  585. package/dist/tools/upgrade-check.d.ts +19 -0
  586. package/dist/tools/upgrade-check.js +1 -0
  587. package/dist/tools/wip-deploy-assist.js +1 -306
  588. package/dist/tools/wrap.js +1 -500
  589. package/package.json +7 -6
  590. package/dist/knowledge/arbitration-trust.d.ts +0 -24
  591. package/dist/knowledge/arbitration-trust.js +0 -117
  592. package/dist/schema/call/bridge-handler.d.ts +0 -8
  593. package/dist/schema/call/bridge-handler.js +0 -265
  594. package/dist/schema/sync-layer4.d.ts +0 -21
  595. package/dist/schema/sync-layer4.js +0 -286
  596. package/dist/schema-query/index.js +0 -810
  597. /package/dist/{schema-query → schema-query-impl}/index.d.ts +0 -0
@@ -2,1446 +2,1664 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://wowok.net/schemas/messenger_operation.json",
4
4
  "title": "Messenger Operations",
5
- "description": "WoWok encrypted messenger operations",
6
- "$ref": "#/definitions/messenger_operation",
7
- "definitions": {
8
- "messenger_operation": {
9
- "anyOf": [
10
- {
5
+ "description": "Messenger operation input schema. PREREQUISITE: an account must ENABLE messenger before sending/receiving. There is NO 'enable' operation in this tool — enable via account_operation {messenger: {enabled: true, name_or_account: '<account>'}}, or implicitly via send_message/send_file with options.enable_messenger: true. Use proof_message to anchor a message's WTS proof on-chain (creates a Proof object consumable by Guards via proof.signer/proof.time queries).",
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "properties": {
10
+ "operation": {
11
+ "type": "string",
12
+ "const": "watch_conversations"
13
+ },
14
+ "filter": {
15
+ "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",
11
16
  "type": "object",
12
17
  "properties": {
13
- "operation": {
18
+ "account": {
19
+ "description": "Account name or address to query conversations for. If not specified, uses default account",
20
+ "type": "string"
21
+ },
22
+ "unreadOnly": {
23
+ "description": "If true, only return conversations with unread messages (unreadCount > 0). Useful for quickly finding conversations needing attention",
24
+ "type": "boolean"
25
+ },
26
+ "startTime": {
27
+ "description": "Start timestamp (ms) for filtering conversations by lastMessageAt. Only returns conversations where lastMessageAt >= this value",
28
+ "type": "number"
29
+ },
30
+ "endTime": {
31
+ "description": "End timestamp (ms) for filtering conversations by lastMessageAt. Only returns conversations where lastMessageAt <= this value",
32
+ "type": "number"
33
+ },
34
+ "previewMessageCount": {
35
+ "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",
36
+ "type": "number"
37
+ },
38
+ "sortBy": {
39
+ "description": "Sort conversations by: 'lastMessageAt' = most recent activity first, 'unreadCount' = most unread messages first, 'messageCount' = most total messages first",
40
+ "type": "string",
41
+ "enum": [
42
+ "lastMessageAt",
43
+ "unreadCount",
44
+ "messageCount"
45
+ ]
46
+ },
47
+ "sortOrder": {
48
+ "description": "Sort order: 'asc' = ascending (oldest/smallest first), 'desc' = descending (newest/largest first). Default is 'desc' for time-based sorting",
14
49
  "type": "string",
15
- "const": "watch_conversations"
50
+ "enum": [
51
+ "asc",
52
+ "desc"
53
+ ]
54
+ },
55
+ "skipAutoMarkViewed": {
56
+ "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",
57
+ "type": "boolean"
58
+ }
59
+ },
60
+ "additionalProperties": false
61
+ }
62
+ },
63
+ "required": [
64
+ "operation"
65
+ ],
66
+ "additionalProperties": false
67
+ },
68
+ {
69
+ "type": "object",
70
+ "properties": {
71
+ "operation": {
72
+ "type": "string",
73
+ "const": "send_message"
74
+ },
75
+ "from": {
76
+ "description": "Sender account name or address. If not specified, uses default account",
77
+ "type": "string"
78
+ },
79
+ "to": {
80
+ "anyOf": [
81
+ {
82
+ "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: '0x2...' (64 hex chars) - uses address directly; EXAMPLE: '' - uses the default local account"
16
83
  },
17
- "filter": {
84
+ {
18
85
  "type": "object",
19
86
  "properties": {
20
- "account": {
87
+ "name_or_address": {
21
88
  "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"
89
+ "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)."
35
90
  },
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": {
91
+ "local_mark_first": {
92
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
93
+ "type": "boolean"
94
+ }
95
+ },
96
+ "additionalProperties": false,
97
+ "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."
98
+ }
99
+ ],
100
+ "description": "Recipient address or account name - can be a string (name/address) or full object"
101
+ },
102
+ "content": {
103
+ "type": "string",
104
+ "maxLength": 10240,
105
+ "description": "Message content text (max 10240 bytes)"
106
+ },
107
+ "options": {
108
+ "description": "Optional message settings",
109
+ "type": "object",
110
+ "properties": {
111
+ "guardAddress": {
112
+ "description": "Guard address. REQUIRED when sending Guard-verified messages",
113
+ "type": "string"
114
+ },
115
+ "passportAddress": {
116
+ "description": "Passport address. REQUIRED when sending Guard-verified messages",
117
+ "type": "string"
118
+ },
119
+ "force": {
120
+ "description": "Force send even if there are pending Guard messages",
121
+ "type": "boolean"
122
+ },
123
+ "enable_messenger": {
124
+ "description": "Auto-enable messenger for the sender account if not already enabled",
125
+ "type": "boolean"
126
+ },
127
+ "network": {
128
+ "description": "Target network for Guard verification (e.g., testnet, mainnet). REQUIRED when guardAddress and passportAddress are provided — Guard messages and regular messages are independent data systems on different networks",
129
+ "type": "string",
130
+ "enum": [
131
+ "localnet",
132
+ "testnet",
133
+ "mainnet"
134
+ ]
135
+ },
136
+ "replyTo": {
137
+ "description": "Quote/reply to a previous message in the SAME conversation. The messageId MUST exist in local storage for the current conversation, otherwise sending fails",
138
+ "type": "object",
139
+ "properties": {
140
+ "messageId": {
41
141
  "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": {
142
+ "description": "Replied-to message ID (unique within the conversation)"
143
+ }
144
+ },
145
+ "required": [
146
+ "messageId"
147
+ ],
148
+ "additionalProperties": false
149
+ }
150
+ },
151
+ "additionalProperties": false
152
+ }
153
+ },
154
+ "required": [
155
+ "operation",
156
+ "to",
157
+ "content"
158
+ ],
159
+ "additionalProperties": false
160
+ },
161
+ {
162
+ "type": "object",
163
+ "properties": {
164
+ "operation": {
165
+ "type": "string",
166
+ "const": "send_file"
167
+ },
168
+ "from": {
169
+ "description": "Sender account name or address. If not specified, uses default account",
170
+ "type": "string"
171
+ },
172
+ "to": {
173
+ "anyOf": [
174
+ {
175
+ "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: '0x2...' (64 hex chars) - uses address directly; EXAMPLE: '' - uses the default local account"
176
+ },
177
+ {
178
+ "type": "object",
179
+ "properties": {
180
+ "name_or_address": {
50
181
  "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"
182
+ "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)."
56
183
  },
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"
184
+ "local_mark_first": {
185
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
186
+ "type": "boolean"
60
187
  }
61
188
  },
62
189
  "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"
190
+ "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."
64
191
  }
65
- },
66
- "required": [
67
- "operation"
68
192
  ],
193
+ "description": "Recipient address or account name - can be a string (name/address) or full object"
194
+ },
195
+ "filePath": {
196
+ "type": "string",
197
+ "description": "Local file path to send. File will be compressed as ZIP before sending"
198
+ },
199
+ "options": {
200
+ "description": "Optional file sending settings",
201
+ "type": "object",
202
+ "properties": {
203
+ "fileName": {
204
+ "description": "Custom file name",
205
+ "type": "string"
206
+ },
207
+ "contentType": {
208
+ "description": "Content type hint",
209
+ "type": "string",
210
+ "enum": [
211
+ "wts",
212
+ "wip",
213
+ "zip"
214
+ ]
215
+ },
216
+ "guardAddress": {
217
+ "description": "Guard address. REQUIRED when sending Guard-verified files",
218
+ "type": "string"
219
+ },
220
+ "passportAddress": {
221
+ "description": "Passport address. REQUIRED when sending Guard-verified files",
222
+ "type": "string"
223
+ },
224
+ "force": {
225
+ "description": "Force send even if there are pending Guard messages",
226
+ "type": "boolean"
227
+ },
228
+ "enable_messenger": {
229
+ "description": "Auto-enable messenger for the sender account if not already enabled",
230
+ "type": "boolean"
231
+ },
232
+ "network": {
233
+ "description": "Target network for Guard verification (e.g., testnet, mainnet). REQUIRED when guardAddress and passportAddress are provided — Guard messages and regular messages are independent data systems on different networks",
234
+ "type": "string",
235
+ "enum": [
236
+ "localnet",
237
+ "testnet",
238
+ "mainnet"
239
+ ]
240
+ }
241
+ },
69
242
  "additionalProperties": false
243
+ }
244
+ },
245
+ "required": [
246
+ "operation",
247
+ "to",
248
+ "filePath"
249
+ ],
250
+ "additionalProperties": false
251
+ },
252
+ {
253
+ "type": "object",
254
+ "properties": {
255
+ "operation": {
256
+ "type": "string",
257
+ "const": "watch_messages"
70
258
  },
71
- {
259
+ "filter": {
260
+ "description": "Message filter options",
72
261
  "type": "object",
73
262
  "properties": {
74
- "operation": {
263
+ "account": {
264
+ "description": "Account to filter messages for",
265
+ "type": "string"
266
+ },
267
+ "direction": {
268
+ "description": "Filter by message direction",
75
269
  "type": "string",
76
- "const": "send_message"
270
+ "enum": [
271
+ "sent",
272
+ "received"
273
+ ]
77
274
  },
78
- "from": {
275
+ "status": {
276
+ "description": "Filter by message status",
79
277
  "type": "string",
80
- "description": "Sender account name or address. If not specified, uses default account"
278
+ "enum": [
279
+ "pending",
280
+ "confirmed",
281
+ "read",
282
+ "failed",
283
+ "rejected",
284
+ "decrypted",
285
+ "decrypt_failed"
286
+ ]
81
287
  },
82
- "to": {
288
+ "peerAddress": {
289
+ "description": "Filter by peer address - can be a string (name/address) or full object",
83
290
  "anyOf": [
84
291
  {
85
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
86
292
  "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: '0x2...' (64 hex chars) - uses address directly; EXAMPLE: '' - uses the default local account"
87
293
  },
88
294
  {
89
295
  "type": "object",
90
296
  "properties": {
91
297
  "name_or_address": {
92
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
298
+ "type": "string",
93
299
  "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
300
  },
95
301
  "local_mark_first": {
96
- "type": "boolean",
97
- "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks"
302
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
303
+ "type": "boolean"
98
304
  }
99
305
  },
100
306
  "additionalProperties": false,
101
307
  "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
308
  }
103
- ],
104
- "description": "Recipient address or account name - can be a string (name/address) or full object"
309
+ ]
310
+ },
311
+ "msgType": {
312
+ "description": "Filter by message type",
313
+ "anyOf": [
314
+ {
315
+ "type": "number",
316
+ "const": 1
317
+ },
318
+ {
319
+ "type": "number",
320
+ "const": 3
321
+ }
322
+ ]
323
+ },
324
+ "contentType": {
325
+ "description": "Filter by content type",
326
+ "type": "string",
327
+ "enum": [
328
+ "text",
329
+ "zip",
330
+ "wts",
331
+ "wip"
332
+ ]
333
+ },
334
+ "decryptedOnly": {
335
+ "description": "Only return decrypted messages",
336
+ "type": "boolean"
337
+ },
338
+ "confirmedOnly": {
339
+ "description": "Only return confirmed messages",
340
+ "type": "boolean"
341
+ },
342
+ "keyword": {
343
+ "description": "Search keyword in plaintext",
344
+ "type": "string"
345
+ },
346
+ "sortOrder": {
347
+ "description": "Sort order: asc or desc",
348
+ "type": "string",
349
+ "enum": [
350
+ "asc",
351
+ "desc"
352
+ ]
353
+ },
354
+ "limit": {
355
+ "description": "Return limit",
356
+ "type": "number"
357
+ },
358
+ "offset": {
359
+ "description": "Pagination offset",
360
+ "type": "number"
361
+ },
362
+ "timeField": {
363
+ "description": "Time field for time filtering",
364
+ "type": "string",
365
+ "enum": [
366
+ "createdAt",
367
+ "receivedAt",
368
+ "serverTimestamp"
369
+ ]
370
+ },
371
+ "startTime": {
372
+ "description": "Start timestamp (ms)",
373
+ "type": "number"
374
+ },
375
+ "endTime": {
376
+ "description": "End timestamp (ms)",
377
+ "type": "number"
378
+ },
379
+ "createdAtStart": {
380
+ "description": "Created at start time",
381
+ "type": "number"
382
+ },
383
+ "createdAtEnd": {
384
+ "description": "Created at end time",
385
+ "type": "number"
386
+ },
387
+ "receivedAtStart": {
388
+ "description": "Received at start time",
389
+ "type": "number"
390
+ },
391
+ "receivedAtEnd": {
392
+ "description": "Received at end time",
393
+ "type": "number"
394
+ },
395
+ "serverTimestampStart": {
396
+ "description": "Server timestamp start time",
397
+ "type": "number"
105
398
  },
106
- "content": {
399
+ "serverTimestampEnd": {
400
+ "description": "Server timestamp end time",
401
+ "type": "number"
402
+ },
403
+ "arkConfirmedOnly": {
404
+ "description": "Only return ARK confirmed messages",
405
+ "type": "boolean"
406
+ },
407
+ "arkTimestampStart": {
408
+ "description": "ARK timestamp start",
409
+ "type": "number"
410
+ },
411
+ "arkTimestampEnd": {
412
+ "description": "ARK timestamp end",
413
+ "type": "number"
414
+ },
415
+ "proofedOnly": {
416
+ "description": "Only return messages with proof",
417
+ "type": "boolean"
418
+ },
419
+ "hasLastReceivedIndexOnly": {
420
+ "description": "Only return messages with lastReceivedLeafIndex",
421
+ "type": "boolean"
422
+ },
423
+ "lastReceivedIndexMin": {
424
+ "description": "Min lastReceivedLeafIndex",
425
+ "type": "number"
426
+ },
427
+ "lastReceivedIndexMax": {
428
+ "description": "Max lastReceivedLeafIndex",
429
+ "type": "number"
430
+ },
431
+ "listFilterMode": {
432
+ "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)",
107
433
  "type": "string",
108
- "maxLength": 10240,
109
- "description": "Message content text (max 10240 bytes)"
434
+ "enum": [
435
+ "friends",
436
+ "guard",
437
+ "stranger",
438
+ "any"
439
+ ]
110
440
  },
111
- "options": {
441
+ "customListFilter": {
442
+ "description": "Custom list filter for advanced address-based filtering, works in combination with listFilterMode",
112
443
  "type": "object",
113
444
  "properties": {
114
- "guardAddress": {
115
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
116
- "description": "Guard address. REQUIRED when sending Guard-verified messages"
117
- },
118
- "passportAddress": {
119
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
120
- "description": "Passport address. REQUIRED when sending Guard-verified messages"
121
- },
122
- "force": {
123
- "type": "boolean",
124
- "description": "Force send even if there are pending Guard messages"
445
+ "includeAddresses": {
446
+ "description": "Include addresses - only return messages from these addresses (highest priority)",
447
+ "type": "array",
448
+ "items": {
449
+ "type": "string"
450
+ }
125
451
  },
126
- "enable_messenger": {
127
- "type": "boolean",
128
- "description": "Auto-enable messenger for the sender account if not already enabled"
452
+ "excludeAddresses": {
453
+ "description": "Exclude addresses - exclude messages from these addresses",
454
+ "type": "array",
455
+ "items": {
456
+ "type": "string"
457
+ }
129
458
  },
130
- "network": {
459
+ "relation": {
460
+ "description": "Address list relation: 'union' = combine lists as union, 'intersection' = combine lists as intersection",
131
461
  "type": "string",
132
462
  "enum": [
133
- "localnet",
134
- "testnet",
135
- "mainnet"
136
- ],
137
- "description": "Target network for Guard verification (e.g., testnet, mainnet). REQUIRED when guardAddress and passportAddress are provided — Guard messages and regular messages are independent data systems on different networks"
138
- },
139
- "replyTo": {
140
- "type": "object",
141
- "properties": {
142
- "messageId": {
143
- "type": "string",
144
- "description": "Replied-to message ID (unique within the conversation)"
145
- }
146
- },
147
- "required": [
148
- "messageId"
149
- ],
150
- "additionalProperties": false,
151
- "description": "Quote/reply to a previous message in the SAME conversation. The messageId MUST exist in local storage for the current conversation, otherwise sending fails"
463
+ "union",
464
+ "intersection"
465
+ ]
152
466
  }
153
467
  },
154
- "additionalProperties": false,
155
- "description": "Optional message settings"
468
+ "additionalProperties": false
469
+ },
470
+ "viewed": {
471
+ "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",
472
+ "type": "boolean"
473
+ },
474
+ "viewedAtStart": {
475
+ "description": "Filter by viewed timestamp start (inclusive). Only returns messages where viewedAt >= this value. Useful for finding recently viewed messages",
476
+ "type": "number"
477
+ },
478
+ "viewedAtEnd": {
479
+ "description": "Filter by viewed timestamp end (inclusive). Only returns messages where viewedAt <= this value. Useful for finding messages viewed before a certain time",
480
+ "type": "number"
481
+ },
482
+ "skipAutoMarkViewed": {
483
+ "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",
484
+ "type": "boolean"
156
485
  }
157
486
  },
158
- "required": [
159
- "operation",
160
- "to",
161
- "content"
162
- ],
163
487
  "additionalProperties": false
488
+ }
489
+ },
490
+ "required": [
491
+ "operation"
492
+ ],
493
+ "additionalProperties": false
494
+ },
495
+ {
496
+ "type": "object",
497
+ "properties": {
498
+ "operation": {
499
+ "type": "string",
500
+ "const": "extract_zip_messages"
501
+ },
502
+ "account": {
503
+ "description": "Account name or address. If not specified, uses default account",
504
+ "type": "string"
505
+ },
506
+ "messages": {
507
+ "type": "array",
508
+ "items": {
509
+ "anyOf": [
510
+ {
511
+ "type": "string"
512
+ },
513
+ {
514
+ "type": "object",
515
+ "properties": {
516
+ "messageId": {
517
+ "type": "string",
518
+ "description": "Message ID"
519
+ },
520
+ "fromAddress": {
521
+ "type": "string",
522
+ "description": "Sender address"
523
+ },
524
+ "toAddress": {
525
+ "type": "string",
526
+ "description": "Recipient address"
527
+ },
528
+ "plaintextHash": {
529
+ "type": "string",
530
+ "description": "Plaintext hash"
531
+ },
532
+ "plaintext": {
533
+ "description": "Decrypted plaintext (optional)",
534
+ "type": "string"
535
+ },
536
+ "replyTo": {
537
+ "description": "Quoted (replied-to) message reference, if this message replies to a previous one",
538
+ "type": "object",
539
+ "properties": {
540
+ "messageId": {
541
+ "type": "string",
542
+ "description": "Replied-to message ID (unique within the conversation)"
543
+ }
544
+ },
545
+ "required": [
546
+ "messageId"
547
+ ],
548
+ "additionalProperties": false
549
+ },
550
+ "guardAddress": {
551
+ "description": "Guard address",
552
+ "type": "string"
553
+ },
554
+ "passportAddress": {
555
+ "description": "Passport address",
556
+ "type": "string"
557
+ },
558
+ "lastReceivedLeafIndex": {
559
+ "description": "Last received leaf index",
560
+ "type": "number"
561
+ },
562
+ "direction": {
563
+ "type": "string",
564
+ "enum": [
565
+ "sent",
566
+ "received"
567
+ ],
568
+ "description": "Message direction"
569
+ },
570
+ "status": {
571
+ "type": "string",
572
+ "enum": [
573
+ "pending",
574
+ "confirmed",
575
+ "read",
576
+ "failed",
577
+ "rejected",
578
+ "decrypted",
579
+ "decrypt_failed"
580
+ ],
581
+ "description": "Message status"
582
+ },
583
+ "msgType": {
584
+ "anyOf": [
585
+ {
586
+ "type": "number",
587
+ "const": 1
588
+ },
589
+ {
590
+ "type": "number",
591
+ "const": 3
592
+ }
593
+ ],
594
+ "description": "Message type"
595
+ },
596
+ "leafIndex": {
597
+ "description": "Leaf index",
598
+ "type": "number"
599
+ },
600
+ "prevRoot": {
601
+ "description": "Previous Merkle Root",
602
+ "type": "string"
603
+ },
604
+ "newRoot": {
605
+ "description": "Current Merkle Root",
606
+ "type": "string"
607
+ },
608
+ "serverSignature": {
609
+ "description": "Server signature",
610
+ "type": "string"
611
+ },
612
+ "serverTimestamp": {
613
+ "description": "Server confirmation timestamp",
614
+ "type": "number"
615
+ },
616
+ "serverPublicKey": {
617
+ "description": "Server public key",
618
+ "type": "string"
619
+ },
620
+ "arkConfirmed": {
621
+ "description": "ARK confirmation",
622
+ "type": "object",
623
+ "properties": {
624
+ "recipient": {
625
+ "type": "string",
626
+ "description": "Recipient address"
627
+ },
628
+ "recipientPublicKey": {
629
+ "type": "string",
630
+ "description": "Recipient public key"
631
+ },
632
+ "signature": {
633
+ "type": "string",
634
+ "description": "Recipient signature"
635
+ },
636
+ "timestamp": {
637
+ "type": "number",
638
+ "description": "ARK confirmation time"
639
+ }
640
+ },
641
+ "required": [
642
+ "recipient",
643
+ "recipientPublicKey",
644
+ "signature",
645
+ "timestamp"
646
+ ],
647
+ "additionalProperties": false
648
+ },
649
+ "createdAt": {
650
+ "type": "number",
651
+ "description": "Message creation time (client)"
652
+ },
653
+ "receivedAt": {
654
+ "description": "Local reception time",
655
+ "type": "number"
656
+ },
657
+ "zipMetadata": {
658
+ "description": "ZIP file metadata",
659
+ "type": "object",
660
+ "properties": {
661
+ "fileName": {
662
+ "type": "string",
663
+ "description": "ZIP filename"
664
+ },
665
+ "fileSize": {
666
+ "type": "number",
667
+ "description": "File size in bytes"
668
+ },
669
+ "fileHash": {
670
+ "type": "string",
671
+ "description": "File SHA256 hash"
672
+ },
673
+ "contentType": {
674
+ "type": "string",
675
+ "enum": [
676
+ "text",
677
+ "zip",
678
+ "wts",
679
+ "wip"
680
+ ],
681
+ "description": "Content type"
682
+ },
683
+ "localCachePath": {
684
+ "description": "Local cache path",
685
+ "type": "string"
686
+ },
687
+ "downloadedAt": {
688
+ "description": "Download timestamp",
689
+ "type": "number"
690
+ }
691
+ },
692
+ "required": [
693
+ "fileName",
694
+ "fileSize",
695
+ "fileHash",
696
+ "contentType"
697
+ ],
698
+ "additionalProperties": false
699
+ },
700
+ "proof": {
701
+ "description": "On-chain proof object address",
702
+ "type": "string"
703
+ },
704
+ "decryptError": {
705
+ "description": "Decryption failure reason",
706
+ "type": "string"
707
+ },
708
+ "decryptAttempts": {
709
+ "description": "Number of decryption attempts",
710
+ "type": "number"
711
+ },
712
+ "lastDecryptAttemptAt": {
713
+ "description": "Last decryption attempt timestamp",
714
+ "type": "number"
715
+ },
716
+ "viewedAt": {
717
+ "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')",
718
+ "type": "number"
719
+ }
720
+ },
721
+ "required": [
722
+ "messageId",
723
+ "fromAddress",
724
+ "toAddress",
725
+ "plaintextHash",
726
+ "direction",
727
+ "status",
728
+ "msgType",
729
+ "createdAt"
730
+ ],
731
+ "additionalProperties": false,
732
+ "description": "Message object"
733
+ }
734
+ ]
735
+ },
736
+ "description": "Array of message objects or message IDs to extract"
737
+ },
738
+ "outputDir": {
739
+ "description": "Output directory path for extracted files. If not specified, defaults to the workspace/extracted directory",
740
+ "type": "string"
741
+ }
742
+ },
743
+ "required": [
744
+ "operation",
745
+ "messages"
746
+ ],
747
+ "additionalProperties": false
748
+ },
749
+ {
750
+ "type": "object",
751
+ "properties": {
752
+ "operation": {
753
+ "type": "string",
754
+ "const": "generate_wts"
164
755
  },
165
- {
756
+ "params": {
166
757
  "type": "object",
167
758
  "properties": {
168
- "operation": {
759
+ "myAccount": {
169
760
  "type": "string",
170
- "const": "send_file"
761
+ "description": "My account name or address (string)"
171
762
  },
172
- "from": {
173
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
174
- "description": "Sender account name or address. If not specified, uses default account"
175
- },
176
- "to": {
763
+ "peerAccount": {
177
764
  "anyOf": [
178
765
  {
179
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
766
+ "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: '0x2...' (64 hex chars) - uses address directly; EXAMPLE: '' - uses the default local account"
180
767
  },
181
- {
182
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
183
- }
184
- ],
185
- "description": "Recipient address or account name - can be a string (name/address) or full object"
186
- },
187
- "filePath": {
188
- "type": "string",
189
- "description": "Local file path to send. File will be compressed as ZIP before sending"
190
- },
191
- "options": {
192
- "type": "object",
193
- "properties": {
194
- "fileName": {
195
- "type": "string",
196
- "description": "Custom file name"
197
- },
198
- "contentType": {
199
- "type": "string",
200
- "enum": [
201
- "wts",
202
- "wip",
203
- "zip"
204
- ],
205
- "description": "Content type hint"
206
- },
207
- "guardAddress": {
208
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
209
- "description": "Guard address. REQUIRED when sending Guard-verified files"
210
- },
211
- "passportAddress": {
212
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
213
- "description": "Passport address. REQUIRED when sending Guard-verified files"
214
- },
215
- "force": {
216
- "type": "boolean",
217
- "description": "Force send even if there are pending Guard messages"
218
- },
219
- "enable_messenger": {
220
- "type": "boolean",
221
- "description": "Auto-enable messenger for the sender account if not already enabled"
222
- },
223
- "network": {
224
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/options/properties/network",
225
- "description": "Target network for Guard verification (e.g., testnet, mainnet). REQUIRED when guardAddress and passportAddress are provided — Guard messages and regular messages are independent data systems on different networks"
226
- }
227
- },
228
- "additionalProperties": false,
229
- "description": "Optional file sending settings"
230
- }
231
- },
232
- "required": [
233
- "operation",
234
- "to",
235
- "filePath"
236
- ],
237
- "additionalProperties": false
238
- },
239
- {
240
- "type": "object",
241
- "properties": {
242
- "operation": {
243
- "type": "string",
244
- "const": "watch_messages"
245
- },
246
- "filter": {
247
- "type": "object",
248
- "properties": {
249
- "account": {
250
- "type": "string",
251
- "description": "Account to filter messages for"
252
- },
253
- "direction": {
254
- "type": "string",
255
- "enum": [
256
- "sent",
257
- "received"
258
- ],
259
- "description": "Filter by message direction"
260
- },
261
- "status": {
262
- "type": "string",
263
- "enum": [
264
- "pending",
265
- "confirmed",
266
- "read",
267
- "failed",
268
- "rejected",
269
- "decrypted",
270
- "decrypt_failed"
271
- ],
272
- "description": "Filter by message status"
273
- },
274
- "peerAddress": {
275
- "anyOf": [
276
- {
277
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
278
- },
279
- {
280
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
281
- }
282
- ],
283
- "description": "Filter by peer address - can be a string (name/address) or full object"
284
- },
285
- "msgType": {
286
- "type": "number",
287
- "enum": [
288
- 1,
289
- 3
290
- ],
291
- "description": "Filter by message type"
292
- },
293
- "contentType": {
294
- "type": "string",
295
- "enum": [
296
- "text",
297
- "zip",
298
- "wts",
299
- "wip"
300
- ],
301
- "description": "Filter by content type"
302
- },
303
- "decryptedOnly": {
304
- "type": "boolean",
305
- "description": "Only return decrypted messages"
306
- },
307
- "confirmedOnly": {
308
- "type": "boolean",
309
- "description": "Only return confirmed messages"
310
- },
311
- "keyword": {
312
- "type": "string",
313
- "description": "Search keyword in plaintext"
314
- },
315
- "sortOrder": {
316
- "type": "string",
317
- "enum": [
318
- "asc",
319
- "desc"
320
- ],
321
- "description": "Sort order: asc or desc"
322
- },
323
- "limit": {
324
- "type": "number",
325
- "description": "Return limit"
326
- },
327
- "offset": {
328
- "type": "number",
329
- "description": "Pagination offset"
330
- },
331
- "timeField": {
332
- "type": "string",
333
- "enum": [
334
- "createdAt",
335
- "receivedAt",
336
- "serverTimestamp"
337
- ],
338
- "description": "Time field for time filtering"
339
- },
340
- "startTime": {
341
- "type": "number",
342
- "description": "Start timestamp (ms)"
343
- },
344
- "endTime": {
345
- "type": "number",
346
- "description": "End timestamp (ms)"
347
- },
348
- "createdAtStart": {
349
- "type": "number",
350
- "description": "Created at start time"
351
- },
352
- "createdAtEnd": {
353
- "type": "number",
354
- "description": "Created at end time"
355
- },
356
- "receivedAtStart": {
357
- "type": "number",
358
- "description": "Received at start time"
359
- },
360
- "receivedAtEnd": {
361
- "type": "number",
362
- "description": "Received at end time"
363
- },
364
- "serverTimestampStart": {
365
- "type": "number",
366
- "description": "Server timestamp start time"
367
- },
368
- "serverTimestampEnd": {
369
- "type": "number",
370
- "description": "Server timestamp end time"
371
- },
372
- "arkConfirmedOnly": {
373
- "type": "boolean",
374
- "description": "Only return ARK confirmed messages"
375
- },
376
- "arkTimestampStart": {
377
- "type": "number",
378
- "description": "ARK timestamp start"
379
- },
380
- "arkTimestampEnd": {
381
- "type": "number",
382
- "description": "ARK timestamp end"
383
- },
384
- "proofedOnly": {
385
- "type": "boolean",
386
- "description": "Only return messages with proof"
387
- },
388
- "hasLastReceivedIndexOnly": {
389
- "type": "boolean",
390
- "description": "Only return messages with lastReceivedLeafIndex"
391
- },
392
- "lastReceivedIndexMin": {
393
- "type": "number",
394
- "description": "Min lastReceivedLeafIndex"
395
- },
396
- "lastReceivedIndexMax": {
397
- "type": "number",
398
- "description": "Max lastReceivedLeafIndex"
399
- },
400
- "listFilterMode": {
401
- "type": "string",
402
- "enum": [
403
- "friends",
404
- "guard",
405
- "stranger",
406
- "any"
407
- ],
408
- "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)"
409
- },
410
- "customListFilter": {
411
- "type": "object",
412
- "properties": {
413
- "includeAddresses": {
414
- "type": "array",
415
- "items": {
416
- "type": "string"
417
- },
418
- "description": "Include addresses - only return messages from these addresses (highest priority)"
419
- },
420
- "excludeAddresses": {
421
- "type": "array",
422
- "items": {
423
- "type": "string"
424
- },
425
- "description": "Exclude addresses - exclude messages from these addresses"
426
- },
427
- "relation": {
428
- "type": "string",
429
- "enum": [
430
- "union",
431
- "intersection"
432
- ],
433
- "description": "Address list relation: 'union' = combine lists as union, 'intersection' = combine lists as intersection"
434
- }
435
- },
436
- "additionalProperties": false,
437
- "description": "Custom list filter for advanced address-based filtering, works in combination with listFilterMode"
438
- },
439
- "viewed": {
440
- "type": "boolean",
441
- "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"
442
- },
443
- "viewedAtStart": {
444
- "type": "number",
445
- "description": "Filter by viewed timestamp start (inclusive). Only returns messages where viewedAt >= this value. Useful for finding recently viewed messages"
446
- },
447
- "viewedAtEnd": {
448
- "type": "number",
449
- "description": "Filter by viewed timestamp end (inclusive). Only returns messages where viewedAt <= this value. Useful for finding messages viewed before a certain time"
450
- },
451
- "skipAutoMarkViewed": {
452
- "type": "boolean",
453
- "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"
454
- }
455
- },
456
- "additionalProperties": false,
457
- "description": "Message filter options"
458
- }
459
- },
460
- "required": [
461
- "operation"
462
- ],
463
- "additionalProperties": false
464
- },
465
- {
466
- "type": "object",
467
- "properties": {
468
- "operation": {
469
- "type": "string",
470
- "const": "extract_zip_messages"
471
- },
472
- "account": {
473
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
474
- "description": "Account name or address. If not specified, uses default account"
475
- },
476
- "messages": {
477
- "type": "array",
478
- "items": {
479
- "anyOf": [
480
- {
481
- "type": "string"
482
- },
483
- {
484
- "type": "object",
485
- "properties": {
486
- "messageId": {
487
- "type": "string",
488
- "description": "Message ID"
489
- },
490
- "fromAddress": {
491
- "type": "string",
492
- "description": "Sender address"
493
- },
494
- "toAddress": {
495
- "type": "string",
496
- "description": "Recipient address"
497
- },
498
- "plaintextHash": {
499
- "type": "string",
500
- "description": "Plaintext hash"
501
- },
502
- "plaintext": {
503
- "type": "string",
504
- "description": "Decrypted plaintext (optional)"
505
- },
506
- "replyTo": {
507
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/options/properties/replyTo",
508
- "description": "Quoted (replied-to) message reference, if this message replies to a previous one"
509
- },
510
- "guardAddress": {
511
- "type": "string",
512
- "description": "Guard address"
513
- },
514
- "passportAddress": {
515
- "type": "string",
516
- "description": "Passport address"
517
- },
518
- "lastReceivedLeafIndex": {
519
- "type": "number",
520
- "description": "Last received leaf index"
521
- },
522
- "direction": {
523
- "type": "string",
524
- "enum": [
525
- "sent",
526
- "received"
527
- ],
528
- "description": "Message direction"
529
- },
530
- "status": {
531
- "type": "string",
532
- "enum": [
533
- "pending",
534
- "confirmed",
535
- "read",
536
- "failed",
537
- "rejected",
538
- "decrypted",
539
- "decrypt_failed"
540
- ],
541
- "description": "Message status"
542
- },
543
- "msgType": {
544
- "type": "number",
545
- "enum": [
546
- 1,
547
- 3
548
- ],
549
- "description": "Message type"
550
- },
551
- "leafIndex": {
552
- "type": "number",
553
- "description": "Leaf index"
554
- },
555
- "prevRoot": {
556
- "type": "string",
557
- "description": "Previous Merkle Root"
558
- },
559
- "newRoot": {
560
- "type": "string",
561
- "description": "Current Merkle Root"
562
- },
563
- "serverSignature": {
564
- "type": "string",
565
- "description": "Server signature"
566
- },
567
- "serverTimestamp": {
568
- "type": "number",
569
- "description": "Server confirmation timestamp"
570
- },
571
- "serverPublicKey": {
572
- "type": "string",
573
- "description": "Server public key"
574
- },
575
- "arkConfirmed": {
576
- "type": "object",
577
- "properties": {
578
- "recipient": {
579
- "type": "string",
580
- "description": "Recipient address"
581
- },
582
- "recipientPublicKey": {
583
- "type": "string",
584
- "description": "Recipient public key"
585
- },
586
- "signature": {
587
- "type": "string",
588
- "description": "Recipient signature"
589
- },
590
- "timestamp": {
591
- "type": "number",
592
- "description": "ARK confirmation time"
593
- }
594
- },
595
- "required": [
596
- "recipient",
597
- "recipientPublicKey",
598
- "signature",
599
- "timestamp"
600
- ],
601
- "additionalProperties": false,
602
- "description": "ARK confirmation"
603
- },
604
- "createdAt": {
605
- "type": "number",
606
- "description": "Message creation time (client)"
607
- },
608
- "receivedAt": {
609
- "type": "number",
610
- "description": "Local reception time"
611
- },
612
- "zipMetadata": {
613
- "type": "object",
614
- "properties": {
615
- "fileName": {
616
- "type": "string",
617
- "description": "ZIP filename"
618
- },
619
- "fileSize": {
620
- "type": "number",
621
- "description": "File size in bytes"
622
- },
623
- "fileHash": {
624
- "type": "string",
625
- "description": "File SHA256 hash"
626
- },
627
- "contentType": {
628
- "type": "string",
629
- "enum": [
630
- "text",
631
- "zip",
632
- "wts",
633
- "wip"
634
- ],
635
- "description": "Content type"
636
- },
637
- "localCachePath": {
638
- "type": "string",
639
- "description": "Local cache path"
640
- },
641
- "downloadedAt": {
642
- "type": "number",
643
- "description": "Download timestamp"
644
- }
645
- },
646
- "required": [
647
- "fileName",
648
- "fileSize",
649
- "fileHash",
650
- "contentType"
651
- ],
652
- "additionalProperties": false,
653
- "description": "ZIP file metadata"
654
- },
655
- "proof": {
656
- "type": "string",
657
- "description": "On-chain proof object address"
658
- },
659
- "decryptError": {
660
- "type": "string",
661
- "description": "Decryption failure reason"
662
- },
663
- "decryptAttempts": {
664
- "type": "number",
665
- "description": "Number of decryption attempts"
666
- },
667
- "lastDecryptAttemptAt": {
668
- "type": "number",
669
- "description": "Last decryption attempt timestamp"
670
- },
671
- "viewedAt": {
672
- "type": "number",
673
- "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')"
674
- }
675
- },
676
- "required": [
677
- "messageId",
678
- "fromAddress",
679
- "toAddress",
680
- "plaintextHash",
681
- "direction",
682
- "status",
683
- "msgType",
684
- "createdAt"
685
- ],
686
- "additionalProperties": false,
687
- "description": "Message object"
688
- }
689
- ]
690
- },
691
- "description": "Array of message objects or message IDs to extract"
692
- },
693
- "outputDir": {
694
- "type": "string",
695
- "description": "Output directory path for extracted files"
696
- }
697
- },
698
- "required": [
699
- "operation",
700
- "messages",
701
- "outputDir"
702
- ],
703
- "additionalProperties": false
704
- },
705
- {
706
- "type": "object",
707
- "properties": {
708
- "operation": {
709
- "type": "string",
710
- "const": "generate_wts"
711
- },
712
- "params": {
713
- "type": "object",
714
- "properties": {
715
- "myAccount": {
716
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
717
- "description": "My account name or address (string)"
718
- },
719
- "peerAccount": {
720
- "anyOf": [
721
- {
722
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
723
- },
724
- {
725
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
726
- }
727
- ],
728
- "description": "Peer account name or address - can be a string (name/address) or full object"
729
- },
730
- "range": {
731
- "anyOf": [
732
- {
733
- "type": "object",
734
- "properties": {
735
- "type": {
736
- "type": "string",
737
- "const": "time"
738
- },
739
- "start": {
740
- "type": "number"
741
- },
742
- "end": {
743
- "type": "number"
744
- }
745
- },
746
- "required": [
747
- "type",
748
- "start",
749
- "end"
750
- ],
751
- "additionalProperties": false
752
- },
753
- {
754
- "type": "object",
755
- "properties": {
756
- "type": {
757
- "type": "string",
758
- "const": "messageId"
759
- },
760
- "start": {
761
- "type": "string"
762
- },
763
- "end": {
764
- "type": "string"
765
- }
766
- },
767
- "required": [
768
- "type",
769
- "start",
770
- "end"
771
- ],
772
- "additionalProperties": false
773
- },
774
- {
775
- "type": "object",
776
- "properties": {
777
- "type": {
778
- "type": "string",
779
- "const": "seqIndex"
780
- },
781
- "start": {
782
- "type": "number"
783
- },
784
- "end": {
785
- "type": "number"
786
- }
787
- },
788
- "required": [
789
- "type",
790
- "start",
791
- "end"
792
- ],
793
- "additionalProperties": false
794
- }
795
- ],
796
- "description": "Range filter parameters"
797
- },
798
- "excludePlaintext": {
799
- "type": "boolean",
800
- "description": "Whether to exclude plaintext"
801
- },
802
- "outputDir": {
803
- "type": "string",
804
- "description": "Output directory path"
805
- }
806
- },
807
- "required": [
808
- "myAccount",
809
- "peerAccount",
810
- "outputDir"
811
- ],
812
- "additionalProperties": false,
813
- "description": "WTS generation parameters"
814
- }
815
- },
816
- "required": [
817
- "operation",
818
- "params"
819
- ],
820
- "additionalProperties": false
821
- },
822
- {
823
- "type": "object",
824
- "properties": {
825
- "operation": {
826
- "type": "string",
827
- "const": "verify_wts"
828
- },
829
- "wtsFilePath": {
830
- "type": "string",
831
- "description": "WTS file path to verify"
832
- }
833
- },
834
- "required": [
835
- "operation",
836
- "wtsFilePath"
837
- ],
838
- "additionalProperties": false
839
- },
840
- {
841
- "type": "object",
842
- "properties": {
843
- "operation": {
844
- "type": "string",
845
- "const": "sign_wts"
846
- },
847
- "wtsFilePath": {
848
- "type": "string",
849
- "description": "WTS file path to sign"
850
- },
851
- "account": {
852
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
853
- "description": "Account name or address to sign with. If not specified, uses default account"
854
- },
855
- "outputPath": {
856
- "type": "string",
857
- "description": "Output file path. If not specified, saves to signed_*.wts"
858
- }
859
- },
860
- "required": [
861
- "operation",
862
- "wtsFilePath"
863
- ],
864
- "additionalProperties": false
865
- },
866
- {
867
- "type": "object",
868
- "properties": {
869
- "operation": {
870
- "type": "string",
871
- "const": "wts2html"
872
- },
873
- "wtsPath": {
874
- "type": "string",
875
- "description": "WTS file path or directory to convert"
876
- },
877
- "options": {
878
- "type": "object",
879
- "properties": {
880
- "title": {
881
- "type": "string",
882
- "description": "HTML document title"
883
- },
884
- "theme": {
885
- "type": "string",
886
- "enum": [
887
- "light",
888
- "dark"
889
- ],
890
- "description": "HTML theme"
891
- },
892
- "outputPath": {
893
- "type": "string",
894
- "description": "Output file path"
895
- }
896
- },
897
- "additionalProperties": false,
898
- "description": "Conversion options"
899
- }
900
- },
901
- "required": [
902
- "operation",
903
- "wtsPath"
904
- ],
905
- "additionalProperties": false
906
- },
907
- {
908
- "type": "object",
909
- "properties": {
910
- "operation": {
911
- "type": "string",
912
- "const": "proof_message"
913
- },
914
- "account": {
915
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
916
- "description": "Account name or address. If not specified, uses default account"
917
- },
918
- "messageId": {
919
- "type": "string",
920
- "description": "Message ID to proof on-chain"
921
- },
922
- "network": {
923
- "type": "string",
924
- "enum": [
925
- "localnet",
926
- "testnet",
927
- "mainnet"
928
- ],
929
- "description": "Network to use for on-chain proof (required)"
930
- }
931
- },
932
- "required": [
933
- "operation",
934
- "messageId",
935
- "network"
936
- ],
937
- "additionalProperties": false
938
- },
939
- {
940
- "type": "object",
941
- "properties": {
942
- "operation": {
943
- "type": "string",
944
- "const": "blacklist"
945
- },
946
- "account": {
947
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
948
- "description": "Account name or address. If not specified, uses default account"
949
- },
950
- "blacklist": {
951
- "anyOf": [
952
768
  {
953
769
  "type": "object",
954
770
  "properties": {
955
- "op": {
771
+ "name_or_address": {
956
772
  "type": "string",
957
- "const": "add"
773
+ "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)."
958
774
  },
959
- "users": {
960
- "anyOf": [
961
- {
962
- "type": "array",
963
- "items": {
964
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from"
965
- },
966
- "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
967
- },
968
- {
969
- "type": "object",
970
- "properties": {
971
- "entities": {
972
- "type": "array",
973
- "items": {
974
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
975
- }
976
- },
977
- "check_all_founded": {
978
- "type": "boolean",
979
- "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"
980
- }
981
- },
982
- "required": [
983
- "entities"
984
- ],
985
- "additionalProperties": false,
986
- "description": "Used to batch find account or object IDs by name"
987
- }
988
- ],
989
- "description": "Users to add to blacklist - can be array of strings (names/addresses) or full object"
775
+ "local_mark_first": {
776
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
777
+ "type": "boolean"
990
778
  }
991
779
  },
992
- "required": [
993
- "op",
994
- "users"
995
- ],
996
- "additionalProperties": false
997
- },
780
+ "additionalProperties": false,
781
+ "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."
782
+ }
783
+ ],
784
+ "description": "Peer account name or address - can be a string (name/address) or full object"
785
+ },
786
+ "range": {
787
+ "description": "Range filter parameters",
788
+ "oneOf": [
998
789
  {
999
790
  "type": "object",
1000
791
  "properties": {
1001
- "op": {
792
+ "type": {
1002
793
  "type": "string",
1003
- "const": "remove"
794
+ "const": "time"
1004
795
  },
1005
- "users": {
1006
- "anyOf": [
1007
- {
1008
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1009
- },
1010
- {
1011
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1012
- }
1013
- ],
1014
- "description": "Users to remove from blacklist - can be array of strings (names/addresses) or full object"
1015
- }
1016
- },
1017
- "required": [
1018
- "op",
1019
- "users"
1020
- ],
1021
- "additionalProperties": false
1022
- },
1023
- {
1024
- "type": "object",
1025
- "properties": {
1026
- "op": {
1027
- "type": "string",
1028
- "const": "clear"
796
+ "start": {
797
+ "type": "number"
798
+ },
799
+ "end": {
800
+ "type": "number"
1029
801
  }
1030
802
  },
1031
803
  "required": [
1032
- "op"
804
+ "type",
805
+ "start",
806
+ "end"
1033
807
  ],
1034
808
  "additionalProperties": false
1035
809
  },
1036
810
  {
1037
811
  "type": "object",
1038
812
  "properties": {
1039
- "op": {
813
+ "type": {
1040
814
  "type": "string",
1041
- "const": "get"
815
+ "const": "messageId"
816
+ },
817
+ "start": {
818
+ "type": "string"
819
+ },
820
+ "end": {
821
+ "type": "string"
1042
822
  }
1043
823
  },
1044
824
  "required": [
1045
- "op"
825
+ "type",
826
+ "start",
827
+ "end"
1046
828
  ],
1047
829
  "additionalProperties": false
1048
830
  },
1049
831
  {
1050
832
  "type": "object",
1051
833
  "properties": {
1052
- "op": {
834
+ "type": {
1053
835
  "type": "string",
1054
- "const": "exist"
836
+ "const": "seqIndex"
1055
837
  },
1056
- "users": {
1057
- "anyOf": [
1058
- {
1059
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1060
- },
1061
- {
1062
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1063
- }
1064
- ],
1065
- "description": "Users to check existence - can be array of strings (names/addresses) or full object"
838
+ "start": {
839
+ "type": "number"
840
+ },
841
+ "end": {
842
+ "type": "number"
1066
843
  }
1067
844
  },
1068
845
  "required": [
1069
- "op",
1070
- "users"
846
+ "type",
847
+ "start",
848
+ "end"
1071
849
  ],
1072
850
  "additionalProperties": false
1073
851
  }
1074
- ],
1075
- "description": "Blacklist management operation"
852
+ ]
853
+ },
854
+ "excludePlaintext": {
855
+ "description": "Whether to exclude plaintext",
856
+ "type": "boolean"
857
+ },
858
+ "outputDir": {
859
+ "description": "Output directory path. If not specified, defaults to the workspace/wts directory",
860
+ "type": "string"
1076
861
  }
1077
862
  },
1078
863
  "required": [
1079
- "operation",
1080
- "blacklist"
864
+ "myAccount",
865
+ "peerAccount"
1081
866
  ],
1082
- "additionalProperties": false
867
+ "additionalProperties": false,
868
+ "description": "WTS generation parameters"
869
+ }
870
+ },
871
+ "required": [
872
+ "operation",
873
+ "params"
874
+ ],
875
+ "additionalProperties": false
876
+ },
877
+ {
878
+ "type": "object",
879
+ "properties": {
880
+ "operation": {
881
+ "type": "string",
882
+ "const": "verify_wts"
883
+ },
884
+ "wtsFilePath": {
885
+ "type": "string",
886
+ "description": "WTS file path to verify"
887
+ }
888
+ },
889
+ "required": [
890
+ "operation",
891
+ "wtsFilePath"
892
+ ],
893
+ "additionalProperties": false
894
+ },
895
+ {
896
+ "type": "object",
897
+ "properties": {
898
+ "operation": {
899
+ "type": "string",
900
+ "const": "sign_wts"
901
+ },
902
+ "wtsFilePath": {
903
+ "type": "string",
904
+ "description": "WTS file path to sign"
1083
905
  },
1084
- {
906
+ "account": {
907
+ "description": "Account name or address to sign with. If not specified, uses default account",
908
+ "type": "string"
909
+ },
910
+ "outputPath": {
911
+ "description": "Output file path. If not specified, saves to signed_*.wts",
912
+ "type": "string"
913
+ }
914
+ },
915
+ "required": [
916
+ "operation",
917
+ "wtsFilePath"
918
+ ],
919
+ "additionalProperties": false
920
+ },
921
+ {
922
+ "type": "object",
923
+ "properties": {
924
+ "operation": {
925
+ "type": "string",
926
+ "const": "wts2html"
927
+ },
928
+ "wtsPath": {
929
+ "type": "string",
930
+ "description": "WTS file path or directory to convert"
931
+ },
932
+ "options": {
933
+ "description": "Conversion options",
1085
934
  "type": "object",
1086
935
  "properties": {
1087
- "operation": {
1088
- "type": "string",
1089
- "const": "friendslist"
936
+ "title": {
937
+ "description": "HTML document title",
938
+ "type": "string"
1090
939
  },
1091
- "account": {
1092
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1093
- "description": "Account name or address. If not specified, uses default account"
940
+ "theme": {
941
+ "description": "HTML theme",
942
+ "type": "string",
943
+ "enum": [
944
+ "light",
945
+ "dark"
946
+ ]
1094
947
  },
1095
- "friendslist": {
1096
- "anyOf": [
1097
- {
1098
- "type": "object",
1099
- "properties": {
1100
- "op": {
1101
- "type": "string",
1102
- "const": "add"
948
+ "outputPath": {
949
+ "description": "Output file path",
950
+ "type": "string"
951
+ }
952
+ },
953
+ "additionalProperties": false
954
+ }
955
+ },
956
+ "required": [
957
+ "operation",
958
+ "wtsPath"
959
+ ],
960
+ "additionalProperties": false
961
+ },
962
+ {
963
+ "type": "object",
964
+ "properties": {
965
+ "operation": {
966
+ "type": "string",
967
+ "const": "proof_message"
968
+ },
969
+ "account": {
970
+ "description": "Account name or address. If not specified, uses default account",
971
+ "type": "string"
972
+ },
973
+ "messageId": {
974
+ "type": "string",
975
+ "description": "Message ID to proof on-chain"
976
+ },
977
+ "network": {
978
+ "type": "string",
979
+ "enum": [
980
+ "localnet",
981
+ "testnet",
982
+ "mainnet"
983
+ ],
984
+ "description": "Network to use for on-chain proof (required)"
985
+ }
986
+ },
987
+ "required": [
988
+ "operation",
989
+ "messageId",
990
+ "network"
991
+ ],
992
+ "additionalProperties": false
993
+ },
994
+ {
995
+ "type": "object",
996
+ "properties": {
997
+ "operation": {
998
+ "type": "string",
999
+ "const": "blacklist"
1000
+ },
1001
+ "account": {
1002
+ "description": "Account name or address. If not specified, uses default account",
1003
+ "type": "string"
1004
+ },
1005
+ "blacklist": {
1006
+ "oneOf": [
1007
+ {
1008
+ "type": "object",
1009
+ "properties": {
1010
+ "op": {
1011
+ "type": "string",
1012
+ "const": "add"
1013
+ },
1014
+ "users": {
1015
+ "anyOf": [
1016
+ {
1017
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
1103
1018
  },
1104
- "users": {
1105
- "anyOf": [
1106
- {
1107
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1019
+ {
1020
+ "type": "object",
1021
+ "properties": {
1022
+ "entities": {
1023
+ "type": "array",
1024
+ "items": {
1025
+ "type": "object",
1026
+ "properties": {
1027
+ "name_or_address": {
1028
+ "type": "string",
1029
+ "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)."
1030
+ },
1031
+ "local_mark_first": {
1032
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1033
+ "type": "boolean"
1034
+ }
1035
+ },
1036
+ "additionalProperties": false,
1037
+ "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."
1038
+ }
1108
1039
  },
1109
- {
1110
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1040
+ "check_all_founded": {
1041
+ "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",
1042
+ "type": "boolean"
1111
1043
  }
1044
+ },
1045
+ "required": [
1046
+ "entities"
1112
1047
  ],
1113
- "description": "Users to add to friends list - can be array of strings (names/addresses) or full object"
1048
+ "additionalProperties": false,
1049
+ "description": "Used to batch find account or object IDs by name"
1114
1050
  }
1115
- },
1116
- "required": [
1117
- "op",
1118
- "users"
1119
1051
  ],
1120
- "additionalProperties": false
1052
+ "description": "Users to add to blacklist - can be array of strings (names/addresses) or full object"
1053
+ }
1054
+ },
1055
+ "required": [
1056
+ "op",
1057
+ "users"
1058
+ ],
1059
+ "additionalProperties": false
1060
+ },
1061
+ {
1062
+ "type": "object",
1063
+ "properties": {
1064
+ "op": {
1065
+ "type": "string",
1066
+ "const": "remove"
1121
1067
  },
1122
- {
1123
- "type": "object",
1124
- "properties": {
1125
- "op": {
1126
- "type": "string",
1127
- "const": "remove"
1068
+ "users": {
1069
+ "anyOf": [
1070
+ {
1071
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
1128
1072
  },
1129
- "users": {
1130
- "anyOf": [
1131
- {
1132
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1073
+ {
1074
+ "type": "object",
1075
+ "properties": {
1076
+ "entities": {
1077
+ "type": "array",
1078
+ "items": {
1079
+ "type": "object",
1080
+ "properties": {
1081
+ "name_or_address": {
1082
+ "type": "string",
1083
+ "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)."
1084
+ },
1085
+ "local_mark_first": {
1086
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1087
+ "type": "boolean"
1088
+ }
1089
+ },
1090
+ "additionalProperties": false,
1091
+ "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."
1092
+ }
1133
1093
  },
1134
- {
1135
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1094
+ "check_all_founded": {
1095
+ "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",
1096
+ "type": "boolean"
1136
1097
  }
1098
+ },
1099
+ "required": [
1100
+ "entities"
1137
1101
  ],
1138
- "description": "Users to remove from friends list - can be array of strings (names/addresses) or full object"
1139
- }
1140
- },
1141
- "required": [
1142
- "op",
1143
- "users"
1144
- ],
1145
- "additionalProperties": false
1146
- },
1147
- {
1148
- "type": "object",
1149
- "properties": {
1150
- "op": {
1151
- "type": "string",
1152
- "const": "clear"
1153
- }
1154
- },
1155
- "required": [
1156
- "op"
1157
- ],
1158
- "additionalProperties": false
1159
- },
1160
- {
1161
- "type": "object",
1162
- "properties": {
1163
- "op": {
1164
- "type": "string",
1165
- "const": "get"
1102
+ "additionalProperties": false,
1103
+ "description": "Used to batch find account or object IDs by name"
1166
1104
  }
1167
- },
1168
- "required": [
1169
- "op"
1170
1105
  ],
1171
- "additionalProperties": false
1106
+ "description": "Users to remove from blacklist - can be array of strings (names/addresses) or full object"
1107
+ }
1108
+ },
1109
+ "required": [
1110
+ "op",
1111
+ "users"
1112
+ ],
1113
+ "additionalProperties": false
1114
+ },
1115
+ {
1116
+ "type": "object",
1117
+ "properties": {
1118
+ "op": {
1119
+ "type": "string",
1120
+ "const": "clear"
1121
+ }
1122
+ },
1123
+ "required": [
1124
+ "op"
1125
+ ],
1126
+ "additionalProperties": false
1127
+ },
1128
+ {
1129
+ "type": "object",
1130
+ "properties": {
1131
+ "op": {
1132
+ "type": "string",
1133
+ "const": "get"
1134
+ }
1135
+ },
1136
+ "required": [
1137
+ "op"
1138
+ ],
1139
+ "additionalProperties": false
1140
+ },
1141
+ {
1142
+ "type": "object",
1143
+ "properties": {
1144
+ "op": {
1145
+ "type": "string",
1146
+ "const": "exist"
1172
1147
  },
1173
- {
1174
- "type": "object",
1175
- "properties": {
1176
- "op": {
1177
- "type": "string",
1178
- "const": "exist"
1148
+ "users": {
1149
+ "anyOf": [
1150
+ {
1151
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
1179
1152
  },
1180
- "users": {
1181
- "anyOf": [
1182
- {
1183
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/0"
1153
+ {
1154
+ "type": "object",
1155
+ "properties": {
1156
+ "entities": {
1157
+ "type": "array",
1158
+ "items": {
1159
+ "type": "object",
1160
+ "properties": {
1161
+ "name_or_address": {
1162
+ "type": "string",
1163
+ "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)."
1164
+ },
1165
+ "local_mark_first": {
1166
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1167
+ "type": "boolean"
1168
+ }
1169
+ },
1170
+ "additionalProperties": false,
1171
+ "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."
1172
+ }
1184
1173
  },
1185
- {
1186
- "$ref": "#/definitions/messenger_operation/anyOf/10/properties/blacklist/anyOf/0/properties/users/anyOf/1"
1174
+ "check_all_founded": {
1175
+ "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",
1176
+ "type": "boolean"
1187
1177
  }
1178
+ },
1179
+ "required": [
1180
+ "entities"
1188
1181
  ],
1189
- "description": "Users to check existence - can be array of strings (names/addresses) or full object"
1182
+ "additionalProperties": false,
1183
+ "description": "Used to batch find account or object IDs by name"
1190
1184
  }
1191
- },
1192
- "required": [
1193
- "op",
1194
- "users"
1195
1185
  ],
1196
- "additionalProperties": false
1186
+ "description": "Users to check existence - can be array of strings (names/addresses) or full object"
1197
1187
  }
1188
+ },
1189
+ "required": [
1190
+ "op",
1191
+ "users"
1198
1192
  ],
1199
- "description": "Friends list management operation"
1193
+ "additionalProperties": false
1200
1194
  }
1201
- },
1202
- "required": [
1203
- "operation",
1204
- "friendslist"
1205
1195
  ],
1206
- "additionalProperties": false
1196
+ "description": "Blacklist management operation"
1197
+ }
1198
+ },
1199
+ "required": [
1200
+ "operation",
1201
+ "blacklist"
1202
+ ],
1203
+ "additionalProperties": false
1204
+ },
1205
+ {
1206
+ "type": "object",
1207
+ "properties": {
1208
+ "operation": {
1209
+ "type": "string",
1210
+ "const": "friendslist"
1207
1211
  },
1208
- {
1209
- "type": "object",
1210
- "properties": {
1211
- "operation": {
1212
- "type": "string",
1213
- "const": "guardlist"
1214
- },
1215
- "account": {
1216
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1217
- "description": "Account name or address. If not specified, uses default account"
1218
- },
1219
- "guardlist": {
1220
- "anyOf": [
1221
- {
1222
- "type": "object",
1223
- "properties": {
1224
- "op": {
1225
- "type": "string",
1226
- "const": "add"
1212
+ "account": {
1213
+ "description": "Account name or address. If not specified, uses default account",
1214
+ "type": "string"
1215
+ },
1216
+ "friendslist": {
1217
+ "oneOf": [
1218
+ {
1219
+ "type": "object",
1220
+ "properties": {
1221
+ "op": {
1222
+ "type": "string",
1223
+ "const": "add"
1224
+ },
1225
+ "users": {
1226
+ "anyOf": [
1227
+ {
1228
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
1227
1229
  },
1228
- "guards": {
1229
- "type": "array",
1230
- "items": {
1231
- "type": "object",
1232
- "properties": {
1233
- "guard": {
1234
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1235
- "description": "Guard address or name"
1236
- },
1237
- "passportValiditySeconds": {
1238
- "type": "number",
1239
- "minimum": 10,
1240
- "maximum": 315360000,
1241
- "description": "Passport validity in seconds (10s to 10 years)"
1230
+ {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "entities": {
1234
+ "type": "array",
1235
+ "items": {
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "name_or_address": {
1239
+ "type": "string",
1240
+ "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)."
1241
+ },
1242
+ "local_mark_first": {
1243
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1244
+ "type": "boolean"
1245
+ }
1246
+ },
1247
+ "additionalProperties": false,
1248
+ "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."
1242
1249
  }
1243
1250
  },
1244
- "required": [
1245
- "guard",
1246
- "passportValiditySeconds"
1247
- ],
1248
- "additionalProperties": false,
1249
- "description": "Guard parameter"
1251
+ "check_all_founded": {
1252
+ "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",
1253
+ "type": "boolean"
1254
+ }
1250
1255
  },
1251
- "minItems": 1,
1252
- "maxItems": 10,
1253
- "description": "Guards to add to guard list"
1256
+ "required": [
1257
+ "entities"
1258
+ ],
1259
+ "additionalProperties": false,
1260
+ "description": "Used to batch find account or object IDs by name"
1254
1261
  }
1255
- },
1256
- "required": [
1257
- "op",
1258
- "guards"
1259
1262
  ],
1260
- "additionalProperties": false
1263
+ "description": "Users to add to friends list - can be array of strings (names/addresses) or full object"
1264
+ }
1265
+ },
1266
+ "required": [
1267
+ "op",
1268
+ "users"
1269
+ ],
1270
+ "additionalProperties": false
1271
+ },
1272
+ {
1273
+ "type": "object",
1274
+ "properties": {
1275
+ "op": {
1276
+ "type": "string",
1277
+ "const": "remove"
1261
1278
  },
1262
- {
1263
- "type": "object",
1264
- "properties": {
1265
- "op": {
1266
- "type": "string",
1267
- "const": "remove"
1279
+ "users": {
1280
+ "anyOf": [
1281
+ {
1282
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
1268
1283
  },
1269
- "guards": {
1270
- "type": "array",
1271
- "items": {
1272
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from"
1284
+ {
1285
+ "type": "object",
1286
+ "properties": {
1287
+ "entities": {
1288
+ "type": "array",
1289
+ "items": {
1290
+ "type": "object",
1291
+ "properties": {
1292
+ "name_or_address": {
1293
+ "type": "string",
1294
+ "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)."
1295
+ },
1296
+ "local_mark_first": {
1297
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1298
+ "type": "boolean"
1299
+ }
1300
+ },
1301
+ "additionalProperties": false,
1302
+ "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."
1303
+ }
1304
+ },
1305
+ "check_all_founded": {
1306
+ "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",
1307
+ "type": "boolean"
1308
+ }
1273
1309
  },
1274
- "minItems": 1,
1275
- "maxItems": 10,
1276
- "description": "Guard addresses to remove from guard list"
1277
- }
1278
- },
1279
- "required": [
1280
- "op",
1281
- "guards"
1282
- ],
1283
- "additionalProperties": false
1284
- },
1285
- {
1286
- "type": "object",
1287
- "properties": {
1288
- "op": {
1289
- "type": "string",
1290
- "const": "get"
1310
+ "required": [
1311
+ "entities"
1312
+ ],
1313
+ "additionalProperties": false,
1314
+ "description": "Used to batch find account or object IDs by name"
1291
1315
  }
1292
- },
1293
- "required": [
1294
- "op"
1295
1316
  ],
1296
- "additionalProperties": false
1317
+ "description": "Users to remove from friends list - can be array of strings (names/addresses) or full object"
1297
1318
  }
1319
+ },
1320
+ "required": [
1321
+ "op",
1322
+ "users"
1298
1323
  ],
1299
- "description": "Guard list management operation"
1300
- }
1301
- },
1302
- "required": [
1303
- "operation",
1304
- "guardlist"
1305
- ],
1306
- "additionalProperties": false
1307
- },
1308
- {
1309
- "type": "object",
1310
- "properties": {
1311
- "operation": {
1312
- "type": "string",
1313
- "const": "settings"
1324
+ "additionalProperties": false
1314
1325
  },
1315
- "account": {
1316
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1317
- "description": "Account name or address. If not specified, uses default account"
1326
+ {
1327
+ "type": "object",
1328
+ "properties": {
1329
+ "op": {
1330
+ "type": "string",
1331
+ "const": "clear"
1332
+ }
1333
+ },
1334
+ "required": [
1335
+ "op"
1336
+ ],
1337
+ "additionalProperties": false
1318
1338
  },
1319
- "settings": {
1320
- "anyOf": [
1321
- {
1322
- "type": "object",
1323
- "properties": {
1324
- "op": {
1325
- "type": "string",
1326
- "const": "get"
1327
- }
1328
- },
1329
- "required": [
1330
- "op"
1331
- ],
1332
- "additionalProperties": false
1339
+ {
1340
+ "type": "object",
1341
+ "properties": {
1342
+ "op": {
1343
+ "type": "string",
1344
+ "const": "get"
1345
+ }
1346
+ },
1347
+ "required": [
1348
+ "op"
1349
+ ],
1350
+ "additionalProperties": false
1351
+ },
1352
+ {
1353
+ "type": "object",
1354
+ "properties": {
1355
+ "op": {
1356
+ "type": "string",
1357
+ "const": "exist"
1333
1358
  },
1334
- {
1335
- "type": "object",
1336
- "properties": {
1337
- "op": {
1338
- "type": "string",
1339
- "const": "set"
1340
- },
1341
- "allowStrangerMessages": {
1342
- "type": "boolean",
1343
- "description": "Allow messages from strangers"
1359
+ "users": {
1360
+ "anyOf": [
1361
+ {
1362
+ "description": "Array of account names, addresses, or mark names. Local marks are searched first for each entry. EXAMPLE: ['alice', '0x2...', 'bob']"
1344
1363
  },
1345
- "maxInboxSize": {
1346
- "type": "number",
1347
- "minimum": 1,
1348
- "description": "Maximum inbox size"
1364
+ {
1365
+ "type": "object",
1366
+ "properties": {
1367
+ "entities": {
1368
+ "type": "array",
1369
+ "items": {
1370
+ "type": "object",
1371
+ "properties": {
1372
+ "name_or_address": {
1373
+ "type": "string",
1374
+ "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)."
1375
+ },
1376
+ "local_mark_first": {
1377
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1378
+ "type": "boolean"
1379
+ }
1380
+ },
1381
+ "additionalProperties": false,
1382
+ "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."
1383
+ }
1384
+ },
1385
+ "check_all_founded": {
1386
+ "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",
1387
+ "type": "boolean"
1388
+ }
1389
+ },
1390
+ "required": [
1391
+ "entities"
1392
+ ],
1393
+ "additionalProperties": false,
1394
+ "description": "Used to batch find account or object IDs by name"
1349
1395
  }
1350
- },
1351
- "required": [
1352
- "op"
1353
1396
  ],
1354
- "additionalProperties": false
1397
+ "description": "Users to check existence - can be array of strings (names/addresses) or full object"
1355
1398
  }
1399
+ },
1400
+ "required": [
1401
+ "op",
1402
+ "users"
1356
1403
  ],
1357
- "description": "Settings management operation"
1404
+ "additionalProperties": false
1358
1405
  }
1359
- },
1360
- "required": [
1361
- "operation",
1362
- "settings"
1363
1406
  ],
1364
- "additionalProperties": false
1407
+ "description": "Friends list management operation"
1408
+ }
1409
+ },
1410
+ "required": [
1411
+ "operation",
1412
+ "friendslist"
1413
+ ],
1414
+ "additionalProperties": false
1415
+ },
1416
+ {
1417
+ "type": "object",
1418
+ "properties": {
1419
+ "operation": {
1420
+ "type": "string",
1421
+ "const": "guardlist"
1365
1422
  },
1366
- {
1367
- "type": "object",
1368
- "properties": {
1369
- "operation": {
1370
- "type": "string",
1371
- "const": "mark_messages_as_viewed"
1423
+ "account": {
1424
+ "description": "Account name or address. If not specified, uses default account",
1425
+ "type": "string"
1426
+ },
1427
+ "guardlist": {
1428
+ "oneOf": [
1429
+ {
1430
+ "type": "object",
1431
+ "properties": {
1432
+ "op": {
1433
+ "type": "string",
1434
+ "const": "add"
1435
+ },
1436
+ "guards": {
1437
+ "minItems": 1,
1438
+ "maxItems": 10,
1439
+ "type": "array",
1440
+ "items": {
1441
+ "type": "object",
1442
+ "properties": {
1443
+ "guard": {
1444
+ "type": "string",
1445
+ "description": "Guard address or name"
1446
+ },
1447
+ "passportValiditySeconds": {
1448
+ "type": "number",
1449
+ "minimum": 10,
1450
+ "maximum": 315360000,
1451
+ "description": "Passport validity in seconds (10s to 10 years)"
1452
+ }
1453
+ },
1454
+ "required": [
1455
+ "guard",
1456
+ "passportValiditySeconds"
1457
+ ],
1458
+ "additionalProperties": false,
1459
+ "description": "Guard parameter"
1460
+ },
1461
+ "description": "Guards to add to guard list"
1462
+ }
1463
+ },
1464
+ "required": [
1465
+ "op",
1466
+ "guards"
1467
+ ],
1468
+ "additionalProperties": false
1372
1469
  },
1373
- "account": {
1374
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1375
- "description": "Account name or address. If not specified, uses default account"
1470
+ {
1471
+ "type": "object",
1472
+ "properties": {
1473
+ "op": {
1474
+ "type": "string",
1475
+ "const": "remove"
1476
+ },
1477
+ "guards": {
1478
+ "minItems": 1,
1479
+ "maxItems": 10,
1480
+ "type": "array",
1481
+ "items": {
1482
+ "type": "string",
1483
+ "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)."
1484
+ },
1485
+ "description": "Guard addresses to remove from guard list"
1486
+ }
1487
+ },
1488
+ "required": [
1489
+ "op",
1490
+ "guards"
1491
+ ],
1492
+ "additionalProperties": false
1376
1493
  },
1377
- "messageIds": {
1378
- "type": "array",
1379
- "items": {
1380
- "type": "string"
1494
+ {
1495
+ "type": "object",
1496
+ "properties": {
1497
+ "op": {
1498
+ "type": "string",
1499
+ "const": "get"
1500
+ }
1381
1501
  },
1382
- "minItems": 1,
1383
- "maxItems": 1000,
1384
- "description": "Array of message IDs to mark as viewed (1-1000 messages). Only messages belonging to this account will be marked"
1502
+ "required": [
1503
+ "op"
1504
+ ],
1505
+ "additionalProperties": false
1385
1506
  }
1386
- },
1387
- "required": [
1388
- "operation",
1389
- "messageIds"
1390
1507
  ],
1391
- "additionalProperties": false
1508
+ "description": "Guard list management operation"
1509
+ }
1510
+ },
1511
+ "required": [
1512
+ "operation",
1513
+ "guardlist"
1514
+ ],
1515
+ "additionalProperties": false
1516
+ },
1517
+ {
1518
+ "type": "object",
1519
+ "properties": {
1520
+ "operation": {
1521
+ "type": "string",
1522
+ "const": "settings"
1392
1523
  },
1393
- {
1394
- "type": "object",
1395
- "properties": {
1396
- "operation": {
1397
- "type": "string",
1398
- "const": "mark_conversation_as_viewed"
1399
- },
1400
- "account": {
1401
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1402
- "description": "Account name or address. If not specified, uses default account"
1524
+ "account": {
1525
+ "description": "Account name or address. If not specified, uses default account",
1526
+ "type": "string"
1527
+ },
1528
+ "settings": {
1529
+ "oneOf": [
1530
+ {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "op": {
1534
+ "type": "string",
1535
+ "const": "get"
1536
+ }
1537
+ },
1538
+ "required": [
1539
+ "op"
1540
+ ],
1541
+ "additionalProperties": false
1403
1542
  },
1404
- "peerAddress": {
1405
- "anyOf": [
1406
- {
1407
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/0"
1543
+ {
1544
+ "type": "object",
1545
+ "properties": {
1546
+ "op": {
1547
+ "type": "string",
1548
+ "const": "set"
1408
1549
  },
1409
- {
1410
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/to/anyOf/1"
1550
+ "allowStrangerMessages": {
1551
+ "description": "Allow messages from strangers",
1552
+ "type": "boolean"
1553
+ },
1554
+ "maxInboxSize": {
1555
+ "description": "Maximum inbox size",
1556
+ "type": "number",
1557
+ "minimum": 1
1411
1558
  }
1559
+ },
1560
+ "required": [
1561
+ "op"
1412
1562
  ],
1413
- "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"
1563
+ "additionalProperties": false
1414
1564
  }
1415
- },
1416
- "required": [
1417
- "operation",
1418
- "peerAddress"
1419
1565
  ],
1420
- "additionalProperties": false
1566
+ "description": "Settings management operation"
1567
+ }
1568
+ },
1569
+ "required": [
1570
+ "operation",
1571
+ "settings"
1572
+ ],
1573
+ "additionalProperties": false
1574
+ },
1575
+ {
1576
+ "type": "object",
1577
+ "properties": {
1578
+ "operation": {
1579
+ "type": "string",
1580
+ "const": "mark_messages_as_viewed"
1421
1581
  },
1422
- {
1423
- "type": "object",
1424
- "properties": {
1425
- "operation": {
1426
- "type": "string",
1427
- "const": "pull_messages"
1428
- },
1429
- "account": {
1430
- "$ref": "#/definitions/messenger_operation/anyOf/1/properties/from",
1431
- "description": "Account name or address. If not specified, uses default account"
1582
+ "account": {
1583
+ "description": "Account name or address. If not specified, uses default account",
1584
+ "type": "string"
1585
+ },
1586
+ "messageIds": {
1587
+ "minItems": 1,
1588
+ "maxItems": 1000,
1589
+ "type": "array",
1590
+ "items": {
1591
+ "type": "string"
1592
+ },
1593
+ "description": "Array of message IDs to mark as viewed (1-1000 messages). Only messages belonging to this account will be marked"
1594
+ }
1595
+ },
1596
+ "required": [
1597
+ "operation",
1598
+ "messageIds"
1599
+ ],
1600
+ "additionalProperties": false
1601
+ },
1602
+ {
1603
+ "type": "object",
1604
+ "properties": {
1605
+ "operation": {
1606
+ "type": "string",
1607
+ "const": "mark_conversation_as_viewed"
1608
+ },
1609
+ "account": {
1610
+ "description": "Account name or address. If not specified, uses default account",
1611
+ "type": "string"
1612
+ },
1613
+ "peerAddress": {
1614
+ "anyOf": [
1615
+ {
1616
+ "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: '0x2...' (64 hex chars) - uses address directly; EXAMPLE: '' - uses the default local account"
1432
1617
  },
1433
- "limit": {
1434
- "type": "number",
1435
- "description": "Maximum number of messages to pull from server"
1618
+ {
1619
+ "type": "object",
1620
+ "properties": {
1621
+ "name_or_address": {
1622
+ "type": "string",
1623
+ "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)."
1624
+ },
1625
+ "local_mark_first": {
1626
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
1627
+ "type": "boolean"
1628
+ }
1629
+ },
1630
+ "additionalProperties": false,
1631
+ "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."
1436
1632
  }
1437
- },
1438
- "required": [
1439
- "operation"
1440
1633
  ],
1441
- "additionalProperties": false
1634
+ "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"
1635
+ }
1636
+ },
1637
+ "required": [
1638
+ "operation",
1639
+ "peerAddress"
1640
+ ],
1641
+ "additionalProperties": false
1642
+ },
1643
+ {
1644
+ "type": "object",
1645
+ "properties": {
1646
+ "operation": {
1647
+ "type": "string",
1648
+ "const": "pull_messages"
1649
+ },
1650
+ "account": {
1651
+ "description": "Account name or address. If not specified, uses default account",
1652
+ "type": "string"
1653
+ },
1654
+ "limit": {
1655
+ "description": "Maximum number of messages to pull from server",
1656
+ "type": "number"
1442
1657
  }
1658
+ },
1659
+ "required": [
1660
+ "operation"
1443
1661
  ],
1444
- "description": "Messenger operation input schema. PREREQUISITE: an account must ENABLE messenger before sending/receiving. There is NO 'enable' operation in this tool — enable via account_operation {messenger: {enabled: true, name_or_account: '<account>'}}, or implicitly via send_message/send_file with options.enable_messenger: true. Use proof_message to anchor a message's WTS proof on-chain (creates a Proof object consumable by Guards via proof.signer/proof.time queries)."
1662
+ "additionalProperties": false
1445
1663
  }
1446
- }
1664
+ ]
1447
1665
  }