@wowok/agent-mcp 2.7.2 → 2.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/config/runtime.js +1 -1
  2. package/dist/customer/account-events.d.ts +32 -0
  3. package/dist/customer/account-events.js +1 -0
  4. package/dist/customer/customer-advice.d.ts +1 -0
  5. package/dist/customer/customer-advice.js +1 -1
  6. package/dist/customer/info-puzzle.js +1 -1
  7. package/dist/customer/order-strategy.d.ts +1 -1
  8. package/dist/customer/reminder-system.d.ts +2 -0
  9. package/dist/customer/reminder-system.js +1 -1
  10. package/dist/customer/risk-assessment.d.ts +1 -0
  11. package/dist/customer/risk-assessment.js +1 -1
  12. package/dist/customer/types.d.ts +2 -0
  13. package/dist/evaluation/builtins/arbitration-score.d.ts +41 -0
  14. package/dist/evaluation/builtins/arbitration-score.js +1 -0
  15. package/dist/evaluation/builtins/index.d.ts +1 -0
  16. package/dist/evaluation/builtins/index.js +1 -1
  17. package/dist/evaluation/category-match-rules.d.ts +30 -0
  18. package/dist/evaluation/category-match-rules.js +1 -0
  19. package/dist/evaluation/engine.js +1 -1
  20. package/dist/evaluation/extract.js +1 -1
  21. package/dist/evaluation/index.d.ts +1 -0
  22. package/dist/evaluation/index.js +1 -1
  23. package/dist/evaluation/location-match.d.ts +42 -0
  24. package/dist/evaluation/location-match.js +1 -0
  25. package/dist/evaluation/path-reasoning.d.ts +35 -0
  26. package/dist/evaluation/path-reasoning.js +1 -0
  27. package/dist/evaluation/region.d.ts +6 -0
  28. package/dist/evaluation/region.js +1 -1
  29. package/dist/evaluation/types.d.ts +17 -0
  30. package/dist/experience/realtime-feedback.js +1 -1
  31. package/dist/experience/user-profile.d.ts +1 -1
  32. package/dist/extensions/index.d.ts +6 -0
  33. package/dist/extensions/index.js +1 -1
  34. package/dist/extensions/industry-layers.d.ts +75 -0
  35. package/dist/extensions/industry-layers.js +1 -0
  36. package/dist/extensions/industry-pack.d.ts +105 -0
  37. package/dist/extensions/industry-pack.js +1 -0
  38. package/dist/extensions/metric-registry.js +1 -1
  39. package/dist/extensions/mode-evaluator.d.ts +1 -1
  40. package/dist/extensions/registry.d.ts +1 -0
  41. package/dist/extensions/registry.js +1 -1
  42. package/dist/graph/base.d.ts +8 -0
  43. package/dist/graph/base.js +1 -0
  44. package/dist/harness/index.d.ts +1 -0
  45. package/dist/harness/index.js +1 -1
  46. package/dist/harness/plan.d.ts +2 -0
  47. package/dist/harness/plan.js +1 -1
  48. package/dist/harness/recover.d.ts +1 -1
  49. package/dist/harness/types.d.ts +2 -3
  50. package/dist/index.js +1 -1
  51. package/dist/knowledge/allocation-confirm.js +1 -1
  52. package/dist/knowledge/anti-cheat.d.ts +37 -0
  53. package/dist/knowledge/anti-cheat.js +1 -0
  54. package/dist/knowledge/arb-confirm.d.ts +28 -0
  55. package/dist/knowledge/arb-confirm.js +1 -0
  56. package/dist/knowledge/arb-translation.d.ts +48 -0
  57. package/dist/knowledge/arb-translation.js +1 -0
  58. package/dist/knowledge/arbitration-context.js +1 -1
  59. package/dist/knowledge/arbitration-ledger.js +1 -1
  60. package/dist/knowledge/bridge-confirm.d.ts +26 -0
  61. package/dist/knowledge/bridge-confirm.js +1 -0
  62. package/dist/knowledge/bridge-translation.d.ts +37 -0
  63. package/dist/knowledge/bridge-translation.js +1 -0
  64. package/dist/knowledge/contact-confirm.d.ts +27 -0
  65. package/dist/knowledge/contact-confirm.js +1 -0
  66. package/dist/knowledge/contact-translation.d.ts +39 -0
  67. package/dist/knowledge/contact-translation.js +1 -0
  68. package/dist/knowledge/demand-confirm.js +1 -1
  69. package/dist/knowledge/demand-context.d.ts +17 -0
  70. package/dist/knowledge/demand-context.js +1 -0
  71. package/dist/knowledge/demand-ledger.d.ts +26 -0
  72. package/dist/knowledge/demand-ledger.js +1 -0
  73. package/dist/knowledge/demand-puzzle.d.ts +29 -0
  74. package/dist/knowledge/demand-puzzle.js +1 -0
  75. package/dist/knowledge/demand-risk.js +1 -1
  76. package/dist/knowledge/demand-templates.d.ts +12 -0
  77. package/dist/knowledge/demand-templates.js +1 -0
  78. package/dist/knowledge/demand-translation.js +1 -1
  79. package/dist/knowledge/deployment-scanner.js +1 -1
  80. package/dist/knowledge/evidence-review.d.ts +12 -0
  81. package/dist/knowledge/evidence-review.js +1 -0
  82. package/dist/knowledge/examples-scanner-cli.js +1 -1
  83. package/dist/knowledge/examples-scanner.js +1 -1
  84. package/dist/knowledge/flywheel-loop.d.ts +0 -1
  85. package/dist/knowledge/flywheel-loop.js +1 -1
  86. package/dist/knowledge/guard-design-patterns.js +1 -1
  87. package/dist/knowledge/guard-migration.d.ts +1 -1
  88. package/dist/knowledge/index.d.ts +71 -3
  89. package/dist/knowledge/index.js +1 -1
  90. package/dist/knowledge/industry-registry.js +1 -1
  91. package/dist/knowledge/machine-render.js +1 -1
  92. package/dist/knowledge/market-metrics.d.ts +12 -0
  93. package/dist/knowledge/market-metrics.js +1 -0
  94. package/dist/knowledge/market-operations.d.ts +46 -0
  95. package/dist/knowledge/market-operations.js +1 -0
  96. package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
  97. package/dist/knowledge/mcp-schema-audit.d.ts +22 -22
  98. package/dist/knowledge/mcp-schema-audit.js +1 -1
  99. package/dist/knowledge/onchain-constants.d.ts +2 -2
  100. package/dist/knowledge/onchain-constants.js +1 -1
  101. package/dist/knowledge/payment-confirm.d.ts +26 -0
  102. package/dist/knowledge/payment-confirm.js +1 -0
  103. package/dist/knowledge/payment-risk.js +1 -1
  104. package/dist/knowledge/payment-translation.d.ts +37 -0
  105. package/dist/knowledge/payment-translation.js +1 -0
  106. package/dist/knowledge/permission-context.d.ts +11 -0
  107. package/dist/knowledge/permission-context.js +1 -1
  108. package/dist/knowledge/permission-ledger.d.ts +11 -0
  109. package/dist/knowledge/permission-ledger.js +1 -1
  110. package/dist/knowledge/personal-confirm.d.ts +29 -0
  111. package/dist/knowledge/personal-confirm.js +1 -0
  112. package/dist/knowledge/personal-risk.js +1 -1
  113. package/dist/knowledge/personal-translation.d.ts +37 -0
  114. package/dist/knowledge/personal-translation.js +1 -0
  115. package/dist/knowledge/process-model.d.ts +1 -11
  116. package/dist/knowledge/process-model.js +1 -1
  117. package/dist/knowledge/progress-ledger.js +1 -1
  118. package/dist/knowledge/progress-risk.js +1 -1
  119. package/dist/knowledge/progress-templates.js +1 -1
  120. package/dist/knowledge/progress-translation.js +1 -1
  121. package/dist/knowledge/proof-context.d.ts +17 -0
  122. package/dist/knowledge/proof-context.js +1 -0
  123. package/dist/knowledge/proof-ledger.d.ts +34 -0
  124. package/dist/knowledge/proof-ledger.js +1 -0
  125. package/dist/knowledge/proof-puzzle.d.ts +35 -0
  126. package/dist/knowledge/proof-puzzle.js +1 -0
  127. package/dist/knowledge/proof-templates.d.ts +22 -0
  128. package/dist/knowledge/proof-templates.js +1 -0
  129. package/dist/knowledge/registrar-confirm.d.ts +26 -0
  130. package/dist/knowledge/registrar-confirm.js +1 -0
  131. package/dist/knowledge/registrar-risk.js +1 -1
  132. package/dist/knowledge/registrar-translation.d.ts +37 -0
  133. package/dist/knowledge/registrar-translation.js +1 -0
  134. package/dist/knowledge/repository-context.d.ts +12 -0
  135. package/dist/knowledge/repository-context.js +1 -0
  136. package/dist/knowledge/repository-ledger.d.ts +25 -0
  137. package/dist/knowledge/repository-ledger.js +1 -0
  138. package/dist/knowledge/repository-puzzle.d.ts +30 -0
  139. package/dist/knowledge/repository-puzzle.js +1 -0
  140. package/dist/knowledge/repository-templates.d.ts +14 -0
  141. package/dist/knowledge/repository-templates.js +1 -0
  142. package/dist/knowledge/resource-confirm.d.ts +25 -0
  143. package/dist/knowledge/resource-confirm.js +1 -0
  144. package/dist/knowledge/resource-translation.d.ts +37 -0
  145. package/dist/knowledge/resource-translation.js +1 -0
  146. package/dist/knowledge/reward-context.d.ts +2 -2
  147. package/dist/knowledge/reward-ledger.js +1 -1
  148. package/dist/knowledge/reward-translation.js +1 -1
  149. package/dist/knowledge/safety-rules.d.ts +1 -0
  150. package/dist/knowledge/safety-rules.js +1 -1
  151. package/dist/knowledge/service-risk.d.ts +1 -1
  152. package/dist/knowledge/service-risk.js +1 -1
  153. package/dist/knowledge/template-registry.js +1 -1
  154. package/dist/knowledge/tools-reference.js +1 -1
  155. package/dist/knowledge/treasury-context.d.ts +1 -1
  156. package/dist/knowledge/treasury-context.js +1 -1
  157. package/dist/knowledge/treasury-ledger.js +1 -1
  158. package/dist/knowledge/treasury-risk.js +1 -1
  159. package/dist/knowledge/universal-template.d.ts +22 -0
  160. package/dist/knowledge/universal-template.js +1 -0
  161. package/dist/knowledge/util-confirm.d.ts +24 -0
  162. package/dist/knowledge/util-confirm.js +1 -0
  163. package/dist/knowledge/util-risk.js +1 -1
  164. package/dist/knowledge/util-translation.d.ts +39 -0
  165. package/dist/knowledge/util-translation.js +1 -0
  166. package/dist/knowledge/workflow-guidance.d.ts +180 -0
  167. package/dist/knowledge/workflow-guidance.js +1 -0
  168. package/dist/participation/employee-kpi.d.ts +25 -0
  169. package/dist/participation/employee-kpi.js +1 -0
  170. package/dist/participation/employee-store.d.ts +16 -0
  171. package/dist/participation/employee-store.js +1 -0
  172. package/dist/participation/index.d.ts +2 -0
  173. package/dist/participation/index.js +1 -0
  174. package/dist/persona/defaults.js +1 -1
  175. package/dist/persona/index.d.ts +9 -2
  176. package/dist/persona/index.js +1 -1
  177. package/dist/persona/local-region.d.ts +20 -0
  178. package/dist/persona/local-region.js +1 -0
  179. package/dist/persona/model.js +1 -1
  180. package/dist/persona/overrides.d.ts +10 -0
  181. package/dist/persona/overrides.js +1 -0
  182. package/dist/persona/pack-personae.d.ts +11 -0
  183. package/dist/persona/pack-personae.js +1 -0
  184. package/dist/persona/strategy-intent.d.ts +20 -0
  185. package/dist/persona/strategy-intent.js +1 -0
  186. package/dist/persona/types.d.ts +3 -1
  187. package/dist/project/business-puzzle.d.ts +1 -1
  188. package/dist/project/business-puzzle.js +1 -1
  189. package/dist/project/deployment-doc.js +1 -1
  190. package/dist/project/edit-planner.js +1 -1
  191. package/dist/project/evaluation.d.ts +37 -1
  192. package/dist/project/evaluation.js +1 -1
  193. package/dist/project/graph-builder.d.ts +2 -2
  194. package/dist/project/graph-builder.js +1 -1
  195. package/dist/project/graph.d.ts +3 -6
  196. package/dist/project/handlers.d.ts +33 -2
  197. package/dist/project/handlers.js +1 -1
  198. package/dist/project/index.d.ts +1 -0
  199. package/dist/project/index.js +1 -1
  200. package/dist/project/merchant-guide.d.ts +19 -0
  201. package/dist/project/merchant-guide.js +1 -1
  202. package/dist/project/mode-actions.js +1 -1
  203. package/dist/project/rollback-policy.js +1 -1
  204. package/dist/project/semantic-assembler.d.ts +2 -2
  205. package/dist/project/semantic-assembler.js +1 -1
  206. package/dist/project/semantic-graph.d.ts +3 -5
  207. package/dist/project/workflow-design-assessment.d.ts +24 -0
  208. package/dist/project/workflow-design-assessment.js +1 -0
  209. package/dist/safety/confirm-gate.d.ts +1 -1
  210. package/dist/safety/confirm-gate.js +1 -1
  211. package/dist/schema/call/allocation.d.ts +186 -1385
  212. package/dist/schema/call/arbitration.d.ts +272 -1871
  213. package/dist/schema/call/base.d.ts +1831 -9076
  214. package/dist/schema/call/base.js +1 -1
  215. package/dist/schema/call/bridge.d.ts +911 -3171
  216. package/dist/schema/call/contact.d.ts +135 -931
  217. package/dist/schema/call/demand.d.ts +164 -1194
  218. package/dist/schema/call/guard.d.ts +298 -1140
  219. package/dist/schema/call/guard.js +1 -1
  220. package/dist/schema/call/machine.d.ts +459 -5403
  221. package/dist/schema/call/machine.js +1 -1
  222. package/dist/schema/call/order.d.ts +137 -844
  223. package/dist/schema/call/payment.d.ts +74 -561
  224. package/dist/schema/call/permission.d.ts +335 -2791
  225. package/dist/schema/call/personal.d.ts +227 -1814
  226. package/dist/schema/call/progress.d.ts +140 -843
  227. package/dist/schema/call/proof.d.ts +42 -258
  228. package/dist/schema/call/repository.d.ts +324 -2222
  229. package/dist/schema/call/reward.d.ts +153 -1183
  230. package/dist/schema/call/semantic.js +1 -1
  231. package/dist/schema/call/service.d.ts +376 -3431
  232. package/dist/schema/call/treasury.d.ts +252 -2158
  233. package/dist/schema/common/index.d.ts +222 -697
  234. package/dist/schema/common/index.js +1 -1
  235. package/dist/schema/config/index.d.ts +18 -161
  236. package/dist/schema/employee/index.d.ts +99 -0
  237. package/dist/schema/employee/index.js +1 -0
  238. package/dist/schema/evaluation/index.d.ts +1035 -3918
  239. package/dist/schema/evaluation/index.js +1 -1
  240. package/dist/schema/index.d.ts +5 -0
  241. package/dist/schema/index.js +1 -1
  242. package/dist/schema/industry-pack/index.d.ts +132 -0
  243. package/dist/schema/industry-pack/index.js +1 -0
  244. package/dist/schema/intent-radar/index.d.ts +92 -245
  245. package/dist/schema/intent-radar/index.js +1 -1
  246. package/dist/schema/local/index.d.ts +2045 -18080
  247. package/dist/schema/local/index.js +1 -1
  248. package/dist/schema/local/wip.d.ts +61 -651
  249. package/dist/schema/local/wip.js +1 -1
  250. package/dist/schema/messenger/index.d.ts +949 -5557
  251. package/dist/schema/messenger/index.js +1 -1
  252. package/dist/schema/operations.d.ts +3168 -26468
  253. package/dist/schema/operations.js +1 -1
  254. package/dist/schema/permission/index.d.ts +121 -0
  255. package/dist/schema/permission/index.js +1 -0
  256. package/dist/schema/persona/index.d.ts +469 -1820
  257. package/dist/schema/persona/index.js +1 -1
  258. package/dist/schema/project/index.d.ts +1023 -8450
  259. package/dist/schema/project/index.js +1 -1
  260. package/dist/schema/query/index.d.ts +12121 -75556
  261. package/dist/schema/query/index.js +1 -1
  262. package/dist/schema/schema-query/index.d.ts +35 -98
  263. package/dist/schema/schema-query/index.js +1 -1
  264. package/dist/schema/schema-version.js +1 -1
  265. package/dist/schema/task-status.d.ts +26 -132
  266. package/dist/schema/trust/index.d.ts +194 -1290
  267. package/dist/schema/utils/guard-parser.js +1 -1
  268. package/dist/schema/utils/node-parser.js +1 -1
  269. package/dist/schema/utils/skills-recommendation.d.ts +1 -0
  270. package/dist/schema/utils/skills-recommendation.js +1 -1
  271. package/dist/schema/workflow/index.d.ts +161 -0
  272. package/dist/schema/workflow/index.js +1 -0
  273. package/dist/schema/workspace/index.d.ts +69 -0
  274. package/dist/schema/workspace/index.js +1 -0
  275. package/dist/{schema-query → schema-query-impl}/index.js +1 -1
  276. package/dist/schemas/account_operation.output.json +3147 -1655
  277. package/dist/schemas/account_operation.schema.json +225 -218
  278. package/dist/schemas/bridge_operation.output.json +1168 -653
  279. package/dist/schemas/bridge_operation.schema.json +736 -504
  280. package/dist/schemas/config_operation.output.json +185 -179
  281. package/dist/schemas/config_operation.schema.json +21 -26
  282. package/dist/schemas/employee_operation.output.json +207 -0
  283. package/dist/schemas/employee_operation.schema.json +176 -0
  284. package/dist/schemas/evaluation_operation.output.json +2268 -601
  285. package/dist/schemas/evaluation_operation.schema.json +2919 -787
  286. package/dist/schemas/guard2file.output.json +58 -64
  287. package/dist/schemas/guard2file.schema.json +79 -81
  288. package/dist/schemas/index.json +41 -11
  289. package/dist/schemas/industry_pack_operation.output.json +594 -0
  290. package/dist/schemas/industry_pack_operation.schema.json +55 -0
  291. package/dist/schemas/intent_radar.output.json +275 -203
  292. package/dist/schemas/intent_radar.schema.json +124 -126
  293. package/dist/schemas/local_info_operation.output.json +1174 -660
  294. package/dist/schemas/local_info_operation.schema.json +119 -125
  295. package/dist/schemas/local_mark_operation.output.json +1239 -692
  296. package/dist/schemas/local_mark_operation.schema.json +91 -96
  297. package/dist/schemas/machineNode2file.output.json +63 -69
  298. package/dist/schemas/machineNode2file.schema.json +79 -81
  299. package/dist/schemas/messenger_operation.output.json +2722 -1531
  300. package/dist/schemas/messenger_operation.schema.json +1482 -1264
  301. package/dist/schemas/onchain_events.output.json +2590 -978
  302. package/dist/schemas/onchain_events.schema.json +117 -99
  303. package/dist/schemas/onchain_operations.output.json +3957 -2312
  304. package/dist/schemas/onchain_operations.schema.json +20799 -9285
  305. package/dist/schemas/onchain_operations_allocation.schema.json +171 -107
  306. package/dist/schemas/onchain_operations_arbitration.schema.json +233 -146
  307. package/dist/schemas/onchain_operations_contact.schema.json +129 -90
  308. package/dist/schemas/onchain_operations_demand.schema.json +170 -112
  309. package/dist/schemas/onchain_operations_gen_passport.schema.json +61 -646
  310. package/dist/schemas/onchain_operations_gen_proof.schema.json +40 -172
  311. package/dist/schemas/onchain_operations_guard.schema.json +3765 -294
  312. package/dist/schemas/onchain_operations_machine.schema.json +536 -163
  313. package/dist/schemas/onchain_operations_order.schema.json +126 -96
  314. package/dist/schemas/onchain_operations_payment.schema.json +82 -67
  315. package/dist/schemas/onchain_operations_permission.schema.json +331 -93
  316. package/dist/schemas/onchain_operations_personal.schema.json +636 -96
  317. package/dist/schemas/onchain_operations_progress.schema.json +125 -92
  318. package/dist/schemas/onchain_operations_proof.schema.json +76 -69
  319. package/dist/schemas/onchain_operations_repository.schema.json +636 -249
  320. package/dist/schemas/onchain_operations_reward.schema.json +218 -108
  321. package/dist/schemas/onchain_operations_service.schema.json +678 -220
  322. package/dist/schemas/onchain_operations_treasury.schema.json +401 -135
  323. package/dist/schemas/onchain_table_data.output.json +6833 -2432
  324. package/dist/schemas/onchain_table_data.schema.json +684 -417
  325. package/dist/schemas/permission_operation.output.json +173 -0
  326. package/dist/schemas/permission_operation.schema.json +39 -0
  327. package/dist/schemas/persona_operation.output.json +1568 -268
  328. package/dist/schemas/persona_operation.schema.json +346 -205
  329. package/dist/schemas/project_operation.output.json +6922 -5132
  330. package/dist/schemas/project_operation.schema.json +1050 -1020
  331. package/dist/schemas/query_task_status.output.json +195 -99
  332. package/dist/schemas/query_task_status.schema.json +12 -18
  333. package/dist/schemas/query_toolkit.output.json +18862 -14561
  334. package/dist/schemas/query_toolkit.schema.json +614 -522
  335. package/dist/schemas/schema_query.output.json +127 -129
  336. package/dist/schemas/schema_query.schema.json +64 -69
  337. package/dist/schemas/trust_score.output.json +678 -587
  338. package/dist/schemas/trust_score.schema.json +289 -277
  339. package/dist/schemas/wip_file.output.json +116 -124
  340. package/dist/schemas/wip_file.schema.json +142 -143
  341. package/dist/schemas/workflow_operation.output.json +164 -0
  342. package/dist/schemas/workflow_operation.schema.json +116 -0
  343. package/dist/schemas/workspace_operation.output.json +277 -0
  344. package/dist/schemas/workspace_operation.schema.json +45 -0
  345. package/dist/schemas/wowok_buildin_info.output.json +1682 -844
  346. package/dist/schemas/wowok_buildin_info.schema.json +576 -526
  347. package/dist/tools/handlers/bridge.d.ts +8 -1
  348. package/dist/tools/handlers/bridge.js +1 -1
  349. package/dist/tools/handlers/config.js +1 -1
  350. package/dist/tools/handlers/employee.d.ts +2 -0
  351. package/dist/tools/handlers/employee.js +1 -0
  352. package/dist/tools/handlers/evaluation.js +1 -1
  353. package/dist/tools/handlers/file-export.js +1 -1
  354. package/dist/tools/handlers/industry-pack.d.ts +2 -0
  355. package/dist/tools/handlers/industry-pack.js +1 -0
  356. package/dist/tools/handlers/onchain.js +1 -1
  357. package/dist/tools/handlers/permission.d.ts +2 -0
  358. package/dist/tools/handlers/permission.js +1 -0
  359. package/dist/tools/handlers/persona.js +1 -1
  360. package/dist/tools/handlers/project.js +1 -1
  361. package/dist/tools/handlers/query.js +1 -1
  362. package/dist/tools/handlers/schema-query.js +1 -1
  363. package/dist/tools/handlers/trust.js +1 -1
  364. package/dist/tools/handlers/wip.js +1 -1
  365. package/dist/tools/handlers/workflow.d.ts +2 -0
  366. package/dist/tools/handlers/workflow.js +1 -0
  367. package/dist/tools/handlers/workspace.d.ts +4 -0
  368. package/dist/tools/handlers/workspace.js +1 -0
  369. package/dist/tools/index.d.ts +2 -1
  370. package/dist/tools/index.js +1 -1
  371. package/dist/tools/rules-hook.d.ts +1 -1
  372. package/dist/tools/rules-hook.js +1 -1
  373. package/dist/tools/shared.d.ts +1 -1
  374. package/dist/tools/shared.js +1 -1
  375. package/dist/tools/types.d.ts +2 -1
  376. package/package.json +4 -5
  377. package/dist/knowledge/arbitration-trust.d.ts +0 -24
  378. package/dist/knowledge/arbitration-trust.js +0 -1
  379. package/dist/schema/call/bridge-handler.d.ts +0 -8
  380. package/dist/schema/call/bridge-handler.js +0 -1
  381. package/dist/schema/sync-layer4.d.ts +0 -21
  382. package/dist/schema/sync-layer4.js +0 -1
  383. /package/dist/{schema-query → schema-query-impl}/index.d.ts +0 -0
@@ -2,139 +2,48 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://wowok.net/schemas/onchain_operations_guard.json",
4
4
  "title": "Guard Operation",
5
- "description": "On-chain guard operation schema",
5
+ "description": "🛡️ Guard Object: Create immutable programmable validation rules that return boolean results. Set 'namedNew' to name the new Guard (you may also use 'object' as an alias — both work). Use root.type='node' for direct node tree or root.type='file' to load from file. Use 'wowok_buildin_info' tool with query='guard instructions' for all available operations. NOTE for EntityLinker/EntityRegistrar queries: Add system addresses to the Guard table - ENTITY_LINKER_ADDRESS (0xaaa) for EntityLinker, ENTITY_REGISTRAR_ADDRESS (0xaab) for EntityRegistrar.",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "operation_type": {
9
+ "type": "string",
9
10
  "const": "guard"
10
11
  },
11
12
  "data": {
12
13
  "type": "object",
13
- "description": "On-chain Guard creation. IMPORTANT: All defined data (include all submitted data) must be defined in the 'table' field. USAGE: Set 'namedNew' field with {name, tags?, onChain?} to name the new Guard (you may also use 'object' as an alias for 'namedNew' — the MCP preprocess will convert it automatically). The Guard is immutable once created. Define the validation logic in 'root' field. When root.type='file', the file can contain all Guard fields, and any fields defined in the schema will OVERRIDE the file content.",
14
14
  "properties": {
15
15
  "namedNew": {
16
- "$ref": "#/definitions/guard_namedNew",
17
- "$schema": "http://json-schema.org/draft-07/schema#"
18
- },
19
- "description": {
20
- "$ref": "#/definitions/guard_description",
21
- "$schema": "http://json-schema.org/draft-07/schema#"
22
- },
23
- "table": {
24
- "$ref": "#/definitions/guard_table",
25
- "$schema": "http://json-schema.org/draft-07/schema#"
26
- },
27
- "root": {
28
- "description": "Root definition: either a direct GuardNode computation tree (no type wrapper) or a file reference (type='file'). When type='file', the file can define all Guard fields (namedNew, description, table, root, rely), and schema fields override file content. For the node structure, see guard-node-schema.json for complete GuardNode definitions. IMPORTANT: The root node MUST be a logical operation returning Bool (e.g., logic_and, logic_or, logic_equal, query_reward_record_exists, etc.)",
29
- "oneOf": [
30
- {
31
- "$ref": "guard-node-schema.json",
32
- "description": "Direct GuardNode computation tree - the node MUST be a logical operation returning Bool (e.g., logic_and, logic_or, logic_equal, query_reward_record_exists, etc.). No 'type: node' wrapper needed."
33
- },
34
- {
35
- "type": "object",
36
- "description": "File reference",
37
- "properties": {
38
- "type": {
39
- "const": "file"
40
- },
41
- "file_path": {
42
- "type": "string",
43
- "description": "Path to JSON or Markdown file containing Guard definition"
44
- },
45
- "format": {
46
- "type": "string",
47
- "enum": [
48
- "json",
49
- "markdown"
50
- ],
51
- "default": "json",
52
- "description": "File format: 'json' or 'markdown'"
53
- }
54
- },
55
- "required": [
56
- "type",
57
- "file_path"
58
- ]
59
- }
60
- ]
61
- },
62
- "rely": {
63
- "$ref": "#/definitions/guard_rely",
64
- "$schema": "http://json-schema.org/draft-07/schema#"
65
- },
66
- "binding_hint": {
67
- "$ref": "#/definitions/guard_binding_hint",
68
- "$schema": "http://json-schema.org/draft-07/schema#"
69
- }
70
- },
71
- "required": [
72
- "root"
73
- ],
74
- "additionalProperties": false
75
- },
76
- "env": {
77
- "$ref": "#/definitions/env",
78
- "$schema": "http://json-schema.org/draft-07/schema#"
79
- }
80
- },
81
- "required": [
82
- "operation_type",
83
- "data"
84
- ],
85
- "definitions": {
86
- "guard_namedNew": {
87
- "anyOf": [
88
- {
89
- "not": {}
90
- },
91
- {
16
+ "description": "Name and optional tags for the new Guard object. Set 'onChain: true' to create a public on-chain identity. When using root.type='file', this field OVERRIDES namedNew in the file. CIRCULAR DEPENDENCY (DOC-01): When a Guard queries a Service that hasn't been created yet, use a LocalMark NAME (not address) in the query table — the name is resolved to an address at transaction build time. Workflow: (1) Create Service (Phase 1, no publish) → (2) Create Guard referencing Service by name → (3) Update Service.buy_guard = Guard address → (4) Publish Service.",
92
17
  "type": "object",
93
18
  "properties": {
94
19
  "name": {
95
- "type": "string",
96
- "description": "The name of the object"
20
+ "description": "The name of the object",
21
+ "type": "string"
97
22
  },
98
23
  "tags": {
24
+ "description": "The tags of the object",
99
25
  "type": "array",
100
26
  "items": {
101
27
  "type": "string"
102
- },
103
- "description": "The tags of the object"
28
+ }
104
29
  },
105
30
  "onChain": {
106
- "type": "boolean",
107
- "description": "CRITICAL: Whether to sync the name to the blockchain. DEFAULT (undefined/false): The name is stored LOCALLY ONLY on your device (PRIVATE). If set to true: The name is published ON-CHAIN and becomes PUBLICLY VISIBLE to everyone. Only set to true for displaying the relationships you are willing to make public on the chain."
31
+ "description": "CRITICAL: Whether to sync the name to the blockchain. DEFAULT (undefined/false): The name is stored LOCALLY ONLY on your device (PRIVATE). If set to true: The name is published ON-CHAIN and becomes PUBLICLY VISIBLE to everyone. Only set to true for displaying the relationships you are willing to make public on the chain.",
32
+ "type": "boolean"
108
33
  },
109
34
  "replaceExistName": {
110
- "type": "boolean",
111
- "description": "FORCE CLAIM: Set to true ONLY when the user explicitly expresses a STRONG INTENTION to forcefully take over an existing name (e.g., 'I must use this name', 'force rename', 'replace the existing one'). WARNING: This will UNBIND the name from its original object and rebind it to the new one, potentially breaking existing references. If not specified or false: the operation will FAIL with an error when the name is already in use (safe default behavior)."
35
+ "description": "FORCE CLAIM: Set to true ONLY when the user explicitly expresses a STRONG INTENTION to forcefully take over an existing name (e.g., 'I must use this name', 'force rename', 'replace the existing one'). WARNING: This will UNBIND the name from its original object and rebind it to the new one, potentially breaking existing references. If not specified or false: the operation will FAIL with an error when the name is already in use (safe default behavior).",
36
+ "type": "boolean"
112
37
  }
113
38
  },
114
- "additionalProperties": false,
115
- "description": "Assign a name and optional tags to a new object. By default, names are stored LOCALLY (private) on your device. Set 'onChain: true' to create a PUBLIC on-chain identity visible to everyone. IMPORTANT: If the requested name is already taken, the operation will FAIL by default. Only set 'replaceExistName: true' when the user EXPLICITLY demands to forcefully claim the name."
116
- }
117
- ],
118
- "description": "Name and optional tags for the new Guard object. Set 'onChain: true' to create a public on-chain identity. When using root.type='file', this field OVERRIDES namedNew in the file. CIRCULAR DEPENDENCY (DOC-01): When a Guard queries a Service that hasn't been created yet, use a LocalMark NAME (not address) in the query table — the name is resolved to an address at transaction build time. Workflow: (1) Create Service (Phase 1, no publish) → (2) Create Guard referencing Service by name → (3) Update Service.buy_guard = Guard address → (4) Publish Service."
119
- },
120
- "guard_description": {
121
- "anyOf": [
122
- {
123
- "not": {}
39
+ "additionalProperties": false
124
40
  },
125
- {
126
- "type": "string",
127
- "description": "Description string (max 4000 bcs characters)"
128
- }
129
- ],
130
- "description": "Guard description. When using root.type='file', this field OVERRIDES description in the file."
131
- },
132
- "guard_table": {
133
- "anyOf": [
134
- {
135
- "not": {}
41
+ "description": {
42
+ "description": "Guard description. When using root.type='file', this field OVERRIDES description in the file.",
43
+ "type": "string"
136
44
  },
137
- {
45
+ "table": {
46
+ "description": "Data table of the Guard object. When using root.type='file', this field OVERRIDES table in the file.",
138
47
  "type": "array",
139
48
  "items": {
140
49
  "type": "object",
@@ -440,6 +349,7 @@
440
349
  "description": "Type of the value stored in `value`. One of: Bool(0), Address(1), String(2), U8(3), U16(4), U32(5), U64(6), U128(7), U256(8), VecBool(9), VecAddress(10), VecString(11), VecU8(12), VecU16(13), VecU32(14), VecU64(15), VecU128(16), VecU256(17), VecVecU8(18). When value_type=Address (1), the `value` field accepts a hex address string, a LocalMark name, or an AccountOrMark_Address object — see `value` field description for details."
441
350
  },
442
351
  "value": {
352
+ "description": "The actual value data. Format depends on `value_type`:\n• Bool: true/false (boolean)\n• Address (CRITICAL — string 'Address' is NOT a placeholder): a hex address (e.g. '0x1234...'), a LocalMark name (e.g. 'my-service' — resolved to address at evaluation time), an AccountOrMark_Address object (e.g. {name_or_address:'my-service'}), or system shorthand ('0xaaa' = EntityLinker, '0xaab' = EntityRegistrar). The literal string 'Address' itself is INVALID — it would be treated as a non-existent LocalMark name and fail. Example: value='0x2::wow::WOW<address>' or value='my-permission'.\n• String: any string\n• U8/U16/U32/U64/U128/U256: number or numeric string (e.g. 42 or '42')\n• Vec* types: arrays of the corresponding element type\nREQUIRED when b_submission=false. OPTIONAL when b_submission=true (value is supplied at evaluation time by user submission).",
443
353
  "anyOf": [
444
354
  {
445
355
  "type": "boolean"
@@ -454,8 +364,8 @@
454
364
  "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)."
455
365
  },
456
366
  "local_mark_first": {
457
- "type": "boolean",
458
- "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks"
367
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
368
+ "type": "boolean"
459
369
  }
460
370
  },
461
371
  "additionalProperties": false,
@@ -486,12 +396,24 @@
486
396
  "entities": {
487
397
  "type": "array",
488
398
  "items": {
489
- "$ref": "#/definitions/guard_table/anyOf/1/items/properties/value/anyOf/1/anyOf/0"
399
+ "type": "object",
400
+ "properties": {
401
+ "name_or_address": {
402
+ "type": "string",
403
+ "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)."
404
+ },
405
+ "local_mark_first": {
406
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
407
+ "type": "boolean"
408
+ }
409
+ },
410
+ "additionalProperties": false,
411
+ "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."
490
412
  }
491
413
  },
492
414
  "check_all_founded": {
493
- "type": "boolean",
494
- "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"
415
+ "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",
416
+ "type": "boolean"
495
417
  }
496
418
  },
497
419
  "required": [
@@ -529,200 +451,3749 @@
529
451
  }
530
452
  }
531
453
  }
532
- ],
533
- "description": "The actual value data. Format depends on `value_type`:\n• Bool: true/false (boolean)\n• Address (CRITICAL — string 'Address' is NOT a placeholder): a hex address (e.g. '0x1234...'), a LocalMark name (e.g. 'my-service' — resolved to address at evaluation time), an AccountOrMark_Address object (e.g. {name_or_address:'my-service'}), or system shorthand ('0xaaa' = EntityLinker, '0xaab' = EntityRegistrar). The literal string 'Address' itself is INVALID — it would be treated as a non-existent LocalMark name and fail. Example: value='0x2::wow::WOW<address>' or value='my-permission'.\n• String: any string\n• U8/U16/U32/U64/U128/U256: number or numeric string (e.g. 42 or '42')\n• Vec* types: arrays of the corresponding element type\nREQUIRED when b_submission=false. OPTIONAL when b_submission=true (value is supplied at evaluation time by user submission)."
454
+ ]
534
455
  },
535
456
  "name": {
536
- "type": "string",
537
457
  "default": "",
538
- "description": "Data name identifier. MAX 64 BCS characters (Chinese chars count as 3-4 BCS bytes each). Use short identifiers like 'order_id', 'delivery_node'. Put longer descriptions in the Guard's 'description' field, NOT here."
458
+ "description": "Data name identifier. MAX 64 BCS characters (Chinese chars count as 3-4 BCS bytes each). Use short identifiers like 'order_id', 'delivery_node'. Put longer descriptions in the Guard's 'description' field, NOT here.",
459
+ "type": "string"
539
460
  }
540
461
  },
541
462
  "required": [
542
463
  "identifier",
543
464
  "b_submission",
544
- "value_type"
465
+ "value_type",
466
+ "name"
545
467
  ],
546
468
  "additionalProperties": false,
547
469
  "description": "Guard table item (INPUT/CREATION form). DO NOT include `object_type` field — it is query-output only and will be rejected here."
548
470
  }
549
- }
550
- ],
551
- "description": "Data table of the Guard object. When using root.type='file', this field OVERRIDES table in the file."
552
- },
553
- "guard_rely": {
554
- "anyOf": [
555
- {
556
- "not": {}
557
- },
558
- {
559
- "type": "object",
560
- "properties": {
561
- "guards": {
562
- "type": "array",
563
- "items": {
564
- "type": "string",
565
- "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)."
566
- },
567
- "description": "List of dependent Guard object IDs or names."
568
- },
569
- "logic_or": {
570
- "type": "boolean",
571
- "description": "Whether to use logical OR operator."
572
- }
573
- },
574
- "required": [
575
- "guards"
576
- ],
577
- "additionalProperties": false
578
- }
579
- ],
580
- "description": "All Guard objects that the new Guard object depends on. If logic_or is true, the execution result of the new Guard object is the logical OR of the execution results of all dependent Guard objects; otherwise, it is logical AND. When using root.type='file', this field OVERRIDES rely in the file."
581
- },
582
- "guard_binding_hint": {
583
- "anyOf": [
584
- {
585
- "not": {}
586
- },
587
- {
588
- "type": "object",
589
- "properties": {
590
- "action": {
591
- "type": "string",
592
- "enum": [
593
- "buy",
594
- "forward",
595
- "allocate",
596
- "claim_reward",
597
- "vote",
598
- "dispute",
599
- "write_repository",
600
- "submit_progress",
601
- "gen_passport",
602
- "custom"
603
- ],
604
- "description": "Protected action type. Example: 'buy' for Service buy_guard, 'forward' for Machine Forward.guard."
605
- },
606
- "host_object": {
607
- "type": "string",
608
- "enum": [
609
- "Service",
610
- "Machine",
611
- "Arbitration",
612
- "Reward",
613
- "Repository",
614
- "Progress",
615
- "Demand",
616
- "Standalone"
617
- ],
618
- "description": "Host object type. Example: 'Service', 'Machine'."
619
- },
620
- "binding_field": {
621
- "type": "string",
622
- "enum": [
623
- "buy_guard",
624
- "order_allocators",
625
- "Forward.guard",
626
- "submission",
627
- "guard",
628
- "write_guard",
629
- "usage_guard",
630
- "voting_guard",
631
- "ServiceGuard",
632
- "none"
633
- ],
634
- "description": "Binding field. Example: 'buy_guard', 'Forward.guard'."
635
- },
636
- "rule_sentence": {
637
- "type": "string",
638
- "description": "One-sentence description of the validation rule (human-readable). Example: 'Only the author can purchase this service'."
639
- },
640
- "failure_conditions": {
641
- "type": "array",
642
- "items": {
643
- "type": "string"
644
- },
645
- "description": "List of conditions under which the Guard should FAIL. Example: ['Signer is not in allowlist','Order is already completed']."
646
- },
647
- "circular_reference": {
648
- "type": "boolean",
649
- "description": "Whether the Guard references the Host Object itself (circular reference pattern). true=Guard queries the Host Object it binds to."
650
- }
651
- },
652
- "required": [
653
- "action",
654
- "host_object",
655
- "binding_field"
656
- ],
657
- "additionalProperties": false,
658
- "description": "Optional semantic hint for Guard capability system. Provides intent + binding context so the MCP server can derive GuardPuzzle, run risk assessment, and generate confirmation text. Strongly recommended: fill this field to enable puzzle_status, matched_scene, suggested_patterns, confirmation_text, and pending_questions in the response guard_advice."
659
- }
660
- ],
661
- "description": "Phase 5 Guard capability hint. Provides semantic context (action + host_object + binding_field + optional rule/failure_conditions) for puzzle derivation. When provided, the response will include complete guard_advice (puzzle_status, matched_scene, suggested_patterns, confirmation_text, pending_questions). When absent, puzzle_status intent/binding dimensions are marked incomplete."
662
- },
663
- "env": {
664
- "type": "object",
665
- "properties": {
666
- "account": {
667
- "type": "string",
668
- "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).",
669
- "default": ""
670
- },
671
- "permission_guard": {
672
- "type": "array",
673
- "items": {
674
- "type": "string"
675
- },
676
- "description": "List of permission guard IDs. Used to extend additional operation permissions (requires verification and configuration in the Permission object)."
677
- },
678
- "no_cache": {
679
- "type": "boolean",
680
- "description": "Whether to disable caching."
681
- },
682
- "network": {
683
- "type": "string",
684
- "enum": [
685
- "localnet",
686
- "testnet",
687
- "mainnet"
688
- ],
689
- "description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Use project_operation action='clone_project_to_network' to clone the project blueprint to the target network, then re-run onchain_operations with env.network=target_network to deploy."
690
- },
691
- "referrer": {
692
- "$ref": "#/definitions/env/properties/account",
693
- "description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded."
694
- },
695
- "confirmed": {
696
- "type": "boolean",
697
- "description": "Phase 2 ConfirmGate: set to true to proceed after a 'pending_confirmation' result. The operation is NOT executed until you re-call with confirmed=true after user consent."
698
- },
699
- "user_intent_phrases": {
700
- "type": "array",
701
- "items": {
702
- "type": "string"
703
- },
704
- "description": "Phase 2 ConfirmGate: explicit user intent phrases collected from conversation context (e.g. 'use default account', 'force publish'). Used to bypass confirmation rules whose bypass_on_explicit_intent matches."
705
- },
706
- "project": {
707
- "type": "string",
708
- "description": "Project prefix to assign this object to (e.g. 'myshop'). When set: 1) the object is tagged with 'project:<prefix>' on-chain automatically via ProjectService, 2) the newly created object is auto-associated to the SQLite project for local management, evaluation, and graph tracking. The project MUST exist (create via project_operation action='create_project' first). Use project_operation to manage projects."
709
- },
710
- "client_schema_version": {
711
- "type": "string",
712
- "description": "Client-side schema version (semver, e.g. '1.0.0'). When provided, the server checks compatibility and attaches warnings if mismatched."
713
- },
714
- "schema_strict_mode": {
715
- "type": "boolean",
716
- "default": false,
717
- "description": "When true, schema incompatibility returns an error instead of a warning. Default: false (warn mode)."
718
471
  },
719
- "dry_run": {
720
- "type": "boolean",
721
- "description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify an operation will succeed before committing. Essential for the 5-step loop's Plan step. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only)."
722
- }
723
- },
724
- "additionalProperties": false,
725
- "description": "IMPORTANT: Execution environment includes: account for signing operations, network selection ([object Object]), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used."
472
+ "root": {
473
+ "anyOf": [
474
+ {
475
+ "description": "Guard computational tree root node. MUST be an operation that returns a Bool value (pass/fail). For 'query' type, the specific query must return Bool. For 'identifier' type, the referenced table item must have value_type=Bool.",
476
+ "oneOf": [
477
+ {
478
+ "type": "object",
479
+ "properties": {
480
+ "type": {
481
+ "type": "string",
482
+ "const": "identifier"
483
+ },
484
+ "identifier": {
485
+ "type": "integer",
486
+ "minimum": 0,
487
+ "maximum": 255,
488
+ "description": "Identifier (0-255) for data lookup in Guard table."
489
+ }
490
+ },
491
+ "required": [
492
+ "type",
493
+ "identifier"
494
+ ],
495
+ "additionalProperties": false,
496
+ "description": "Returns the constant value stored at the specified identifier in the Guard table."
497
+ },
498
+ {
499
+ "type": "object",
500
+ "properties": {
501
+ "type": {
502
+ "type": "string",
503
+ "const": "query"
504
+ },
505
+ "query": {
506
+ "anyOf": [
507
+ {
508
+ "type": "integer",
509
+ "minimum": -9007199254740991,
510
+ "maximum": 9007199254740991
511
+ },
512
+ {
513
+ "type": "string"
514
+ }
515
+ ],
516
+ "description": "ID or name of the wowok object data query instruction. Can be a numeric ID (e.g., 1001) or a name string (e.g., 'permission.description'). Name matching is case-insensitive."
517
+ },
518
+ "object": {
519
+ "type": "object",
520
+ "properties": {
521
+ "identifier": {
522
+ "type": "integer",
523
+ "minimum": 0,
524
+ "maximum": 255,
525
+ "description": "Identifier (0-255) for data lookup in Guard table."
526
+ },
527
+ "convert_witness": {
528
+ "anyOf": [
529
+ {
530
+ "type": "integer",
531
+ "minimum": -9007199254740991,
532
+ "maximum": 9007199254740991
533
+ },
534
+ {
535
+ "type": "string"
536
+ }
537
+ ],
538
+ "description": "When specified, the query retrieves data from the associated (witness) object instead of the queried object itself. This enables cross-object queries within Guard validation logic. Can be a numeric ID (100-108) or a string name (case-insensitive, with or without the 'Type' prefix). String format is recommended for readability.\n\nAvailable WitnessTypes:\n- OrderProgress / TypeOrderProgress (100): Query an Order's associated Progress object. Use case: Check if order has reached a specific workflow node (e.g., 'complete') before allowing reward claims.\n- OrderMachine / TypeOrderMachine (101): Query an Order's associated Machine (workflow definition). Use case: Verify the workflow structure or check node configurations.\n- OrderService / TypeOrderService (102): Query an Order's parent Service object. Use case: Validate the service offering details or check service-level configurations.\n- ProgressMachine / TypeProgressMachine (103): Query a Progress's associated Machine. Use case: Access workflow definition from a Progress context.\n- ArbOrder / TypeArbOrder (104): Query an Arb's associated Order. Use case: In arbitration voting guards, verify order details like payment amount or service ID.\n- ArbArbitration / TypeArbArbitration (105): Query an Arb's parent Arbitration service. Use case: Access arbitration configuration or fee settings from within an Arb case.\n- ArbProgress / TypeArbProgress (106): Query an Arb's associated Progress. Use case: Check order workflow state during arbitration validation.\n- ArbMachine / TypeArbMachine (107): Query an Arb's associated Machine. Use case: Access workflow definition for dispute context analysis.\n- ArbService / TypeArbService (108): Query an Arb's associated Service. Use case: Verify service terms or compensation fund status during arbitration.\n\nExample: To validate that an order has reached the 'complete' node, query the Order with convert_witness='OrderProgress' and check the Progress's current_node field."
539
+ }
540
+ },
541
+ "required": [
542
+ "identifier"
543
+ ],
544
+ "additionalProperties": false,
545
+ "description": "The object to query from the Guard table."
546
+ },
547
+ "parameters": {
548
+ "description": "Parameters required by the query. Optional — defaults to empty array []. Many queries (e.g. progress.current, order.service) take no parameters; for those, this field can be omitted.",
549
+ "type": "array",
550
+ "items": {
551
+ "$ref": "#/definitions/__schema0"
552
+ }
553
+ }
554
+ },
555
+ "required": [
556
+ "type",
557
+ "query",
558
+ "object"
559
+ ],
560
+ "additionalProperties": false,
561
+ "description": "Returns the result of executing a data query instruction on the specified object. The return type depends on the query being executed. SPECIAL NOTE for EntityLinker/EntityRegistrar queries: Use system addresses in the Guard table -0x0000000000000000000000000000000000000000000000000000000000000aaa for EntityLinker queries, 0x0000000000000000000000000000000000000000000000000000000000000aab for EntityRegistrar queries."
562
+ },
563
+ {
564
+ "type": "object",
565
+ "properties": {
566
+ "type": {
567
+ "type": "string",
568
+ "const": "logic_as_u256_greater_or_equal"
569
+ },
570
+ "nodes": {
571
+ "type": "array",
572
+ "items": {
573
+ "$ref": "#/definitions/__schema0"
574
+ }
575
+ }
576
+ },
577
+ "required": [
578
+ "type",
579
+ "nodes"
580
+ ],
581
+ "additionalProperties": false,
582
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first >= all others, otherwise false."
583
+ },
584
+ {
585
+ "type": "object",
586
+ "properties": {
587
+ "type": {
588
+ "type": "string",
589
+ "const": "logic_as_u256_lesser_or_equal"
590
+ },
591
+ "nodes": {
592
+ "type": "array",
593
+ "items": {
594
+ "$ref": "#/definitions/__schema0"
595
+ }
596
+ }
597
+ },
598
+ "required": [
599
+ "type",
600
+ "nodes"
601
+ ],
602
+ "additionalProperties": false,
603
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first <= all others, otherwise false."
604
+ },
605
+ {
606
+ "type": "object",
607
+ "properties": {
608
+ "type": {
609
+ "type": "string",
610
+ "const": "logic_as_u256_greater"
611
+ },
612
+ "nodes": {
613
+ "type": "array",
614
+ "items": {
615
+ "$ref": "#/definitions/__schema0"
616
+ }
617
+ }
618
+ },
619
+ "required": [
620
+ "type",
621
+ "nodes"
622
+ ],
623
+ "additionalProperties": false,
624
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first > all others, otherwise false."
625
+ },
626
+ {
627
+ "type": "object",
628
+ "properties": {
629
+ "type": {
630
+ "type": "string",
631
+ "const": "logic_as_u256_lesser"
632
+ },
633
+ "nodes": {
634
+ "type": "array",
635
+ "items": {
636
+ "$ref": "#/definitions/__schema0"
637
+ }
638
+ }
639
+ },
640
+ "required": [
641
+ "type",
642
+ "nodes"
643
+ ],
644
+ "additionalProperties": false,
645
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first < all others, otherwise false."
646
+ },
647
+ {
648
+ "type": "object",
649
+ "properties": {
650
+ "type": {
651
+ "type": "string",
652
+ "const": "logic_as_u256_equal"
653
+ },
654
+ "nodes": {
655
+ "type": "array",
656
+ "items": {
657
+ "$ref": "#/definitions/__schema0"
658
+ }
659
+ }
660
+ },
661
+ "required": [
662
+ "type",
663
+ "nodes"
664
+ ],
665
+ "additionalProperties": false,
666
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first equals all others, otherwise false."
667
+ },
668
+ {
669
+ "type": "object",
670
+ "properties": {
671
+ "type": {
672
+ "type": "string",
673
+ "const": "logic_equal"
674
+ },
675
+ "nodes": {
676
+ "type": "array",
677
+ "items": {
678
+ "$ref": "#/definitions/__schema0"
679
+ }
680
+ }
681
+ },
682
+ "required": [
683
+ "type",
684
+ "nodes"
685
+ ],
686
+ "additionalProperties": false,
687
+ "description": "Returns Bool. Requires 2-8 nodes of any type. Computed by comparing the first node with all subsequent nodes in both type and value. Returns true if type and value match for all, otherwise false."
688
+ },
689
+ {
690
+ "type": "object",
691
+ "properties": {
692
+ "type": {
693
+ "type": "string",
694
+ "const": "logic_not"
695
+ },
696
+ "node": {
697
+ "$ref": "#/definitions/__schema0"
698
+ }
699
+ },
700
+ "required": [
701
+ "type",
702
+ "node"
703
+ ],
704
+ "additionalProperties": false,
705
+ "description": "Returns Bool. Computed by inverting the boolean value of the child node (true -> false, false -> true)."
706
+ },
707
+ {
708
+ "type": "object",
709
+ "properties": {
710
+ "type": {
711
+ "type": "string",
712
+ "const": "logic_and"
713
+ },
714
+ "nodes": {
715
+ "minItems": 2,
716
+ "maxItems": 8,
717
+ "type": "array",
718
+ "items": {
719
+ "$ref": "#/definitions/__schema0"
720
+ }
721
+ }
722
+ },
723
+ "required": [
724
+ "type",
725
+ "nodes"
726
+ ],
727
+ "additionalProperties": false,
728
+ "description": "Returns Bool. Requires 2-8 boolean nodes. Computed by performing logical AND on all child node values. Returns true if ALL are true, otherwise false."
729
+ },
730
+ {
731
+ "type": "object",
732
+ "properties": {
733
+ "type": {
734
+ "type": "string",
735
+ "const": "logic_or"
736
+ },
737
+ "nodes": {
738
+ "minItems": 2,
739
+ "maxItems": 8,
740
+ "type": "array",
741
+ "items": {
742
+ "$ref": "#/definitions/__schema0"
743
+ }
744
+ }
745
+ },
746
+ "required": [
747
+ "type",
748
+ "nodes"
749
+ ],
750
+ "additionalProperties": false,
751
+ "description": "Returns Bool. Requires 2-8 boolean nodes. Computed by performing logical OR on all child node values. Returns true if ANY is true, otherwise false."
752
+ },
753
+ {
754
+ "type": "object",
755
+ "properties": {
756
+ "type": {
757
+ "type": "string",
758
+ "const": "logic_string_contains"
759
+ },
760
+ "nodes": {
761
+ "type": "array",
762
+ "items": {
763
+ "$ref": "#/definitions/__schema0"
764
+ }
765
+ }
766
+ },
767
+ "required": [
768
+ "type",
769
+ "nodes"
770
+ ],
771
+ "additionalProperties": false,
772
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-sensitive."
773
+ },
774
+ {
775
+ "type": "object",
776
+ "properties": {
777
+ "type": {
778
+ "type": "string",
779
+ "const": "logic_string_nocase_contains"
780
+ },
781
+ "nodes": {
782
+ "type": "array",
783
+ "items": {
784
+ "$ref": "#/definitions/__schema0"
785
+ }
786
+ }
787
+ },
788
+ "required": [
789
+ "type",
790
+ "nodes"
791
+ ],
792
+ "additionalProperties": false,
793
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-insensitive."
794
+ },
795
+ {
796
+ "type": "object",
797
+ "properties": {
798
+ "type": {
799
+ "type": "string",
800
+ "const": "logic_string_nocase_equal"
801
+ },
802
+ "nodes": {
803
+ "type": "array",
804
+ "items": {
805
+ "$ref": "#/definitions/__schema0"
806
+ }
807
+ }
808
+ },
809
+ "required": [
810
+ "type",
811
+ "nodes"
812
+ ],
813
+ "additionalProperties": false,
814
+ "description": "Returns Bool. Requires 2-8 string nodes. Computed by comparing the first node with all subsequent nodes as strings, ignoring case. Returns true if all are equal, otherwise false."
815
+ },
816
+ {
817
+ "type": "object",
818
+ "properties": {
819
+ "type": {
820
+ "type": "string",
821
+ "const": "calc_number_add"
822
+ },
823
+ "nodes": {
824
+ "type": "array",
825
+ "items": {
826
+ "$ref": "#/definitions/__schema0"
827
+ }
828
+ }
829
+ },
830
+ "required": [
831
+ "type",
832
+ "nodes"
833
+ ],
834
+ "additionalProperties": false,
835
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by adding the first node value with all subsequent node values in sequence (first + second + third + ...)."
836
+ },
837
+ {
838
+ "type": "object",
839
+ "properties": {
840
+ "type": {
841
+ "type": "string",
842
+ "const": "calc_number_multiply"
843
+ },
844
+ "nodes": {
845
+ "type": "array",
846
+ "items": {
847
+ "$ref": "#/definitions/__schema0"
848
+ }
849
+ }
850
+ },
851
+ "required": [
852
+ "type",
853
+ "nodes"
854
+ ],
855
+ "additionalProperties": false,
856
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by multiplying the first node value with all subsequent node values in sequence (first * second * third * ...)."
857
+ },
858
+ {
859
+ "type": "object",
860
+ "properties": {
861
+ "type": {
862
+ "type": "string",
863
+ "const": "calc_number_subtract"
864
+ },
865
+ "nodes": {
866
+ "type": "array",
867
+ "items": {
868
+ "$ref": "#/definitions/__schema0"
869
+ }
870
+ }
871
+ },
872
+ "required": [
873
+ "type",
874
+ "nodes"
875
+ ],
876
+ "additionalProperties": false,
877
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by subtracting the second node value from the first node value in sequence, then continuing with each subsequent node (first - second - third - ...)."
878
+ },
879
+ {
880
+ "type": "object",
881
+ "properties": {
882
+ "type": {
883
+ "type": "string",
884
+ "const": "calc_number_divide"
885
+ },
886
+ "nodes": {
887
+ "type": "array",
888
+ "items": {
889
+ "$ref": "#/definitions/__schema0"
890
+ }
891
+ }
892
+ },
893
+ "required": [
894
+ "type",
895
+ "nodes"
896
+ ],
897
+ "additionalProperties": false,
898
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by dividing the first node value by the second node value in sequence, then continuing with each subsequent node ((first / second) / third / ...). Throws exception if any divisor is zero."
899
+ },
900
+ {
901
+ "type": "object",
902
+ "properties": {
903
+ "type": {
904
+ "type": "string",
905
+ "const": "calc_number_mod"
906
+ },
907
+ "nodes": {
908
+ "type": "array",
909
+ "items": {
910
+ "$ref": "#/definitions/__schema0"
911
+ }
912
+ }
913
+ },
914
+ "required": [
915
+ "type",
916
+ "nodes"
917
+ ],
918
+ "additionalProperties": false,
919
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by taking the remainder of dividing the first node value by the second node value in sequence, then continuing with each subsequent node ((first % second) % third % ...). Throws exception if any divisor is zero."
920
+ },
921
+ {
922
+ "type": "object",
923
+ "properties": {
924
+ "type": {
925
+ "type": "string",
926
+ "const": "calc_string_length"
927
+ },
928
+ "node": {
929
+ "$ref": "#/definitions/__schema0"
930
+ }
931
+ },
932
+ "required": [
933
+ "type",
934
+ "node"
935
+ ],
936
+ "additionalProperties": false,
937
+ "description": "Returns U64. Computed by getting the length (number of UTF-8 bytes) of the child node value."
938
+ },
939
+ {
940
+ "type": "object",
941
+ "properties": {
942
+ "type": {
943
+ "type": "string",
944
+ "const": "calc_string_nocase_contains"
945
+ },
946
+ "nodes": {
947
+ "type": "array",
948
+ "items": {
949
+ "$ref": "#/definitions/__schema0"
950
+ }
951
+ }
952
+ },
953
+ "required": [
954
+ "type",
955
+ "nodes"
956
+ ],
957
+ "additionalProperties": false,
958
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-insensitive."
959
+ },
960
+ {
961
+ "type": "object",
962
+ "properties": {
963
+ "type": {
964
+ "type": "string",
965
+ "const": "calc_string_nocase_equal"
966
+ },
967
+ "nodes": {
968
+ "type": "array",
969
+ "items": {
970
+ "$ref": "#/definitions/__schema0"
971
+ }
972
+ }
973
+ },
974
+ "required": [
975
+ "type",
976
+ "nodes"
977
+ ],
978
+ "additionalProperties": false,
979
+ "description": "Returns Bool. Requires 2-8 string nodes. Computed by comparing the first node with all subsequent nodes as strings, ignoring case. Returns true if all are equal, otherwise false."
980
+ },
981
+ {
982
+ "type": "object",
983
+ "properties": {
984
+ "type": {
985
+ "type": "string",
986
+ "const": "calc_string_contains"
987
+ },
988
+ "nodes": {
989
+ "type": "array",
990
+ "items": {
991
+ "$ref": "#/definitions/__schema0"
992
+ }
993
+ }
994
+ },
995
+ "required": [
996
+ "type",
997
+ "nodes"
998
+ ],
999
+ "additionalProperties": false,
1000
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-sensitive."
1001
+ },
1002
+ {
1003
+ "type": "object",
1004
+ "properties": {
1005
+ "type": {
1006
+ "type": "string",
1007
+ "const": "calc_string_indexof"
1008
+ },
1009
+ "nodeLeft": {
1010
+ "$ref": "#/definitions/__schema0"
1011
+ },
1012
+ "nodeRight": {
1013
+ "$ref": "#/definitions/__schema0"
1014
+ },
1015
+ "order": {
1016
+ "type": "string",
1017
+ "enum": [
1018
+ "forward",
1019
+ "backward"
1020
+ ],
1021
+ "description": "'forward' searches from start to end, 'backward' searches from end to start."
1022
+ }
1023
+ },
1024
+ "required": [
1025
+ "type",
1026
+ "nodeLeft",
1027
+ "nodeRight",
1028
+ "order"
1029
+ ],
1030
+ "additionalProperties": false,
1031
+ "description": "Returns U64. Computed by searching for the second node (needle) in the first node (haystack). Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1032
+ },
1033
+ {
1034
+ "type": "object",
1035
+ "properties": {
1036
+ "type": {
1037
+ "type": "string",
1038
+ "const": "calc_string_nocase_indexof"
1039
+ },
1040
+ "nodeLeft": {
1041
+ "$ref": "#/definitions/__schema0"
1042
+ },
1043
+ "nodeRight": {
1044
+ "$ref": "#/definitions/__schema0"
1045
+ },
1046
+ "order": {
1047
+ "type": "string",
1048
+ "enum": [
1049
+ "forward",
1050
+ "backward"
1051
+ ],
1052
+ "description": "'forward' searches from start to end, 'backward' searches from end to start."
1053
+ }
1054
+ },
1055
+ "required": [
1056
+ "type",
1057
+ "nodeLeft",
1058
+ "nodeRight",
1059
+ "order"
1060
+ ],
1061
+ "additionalProperties": false,
1062
+ "description": "Returns U64. Computed by searching for the second node (needle) in the first node (haystack), ignoring case. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1063
+ },
1064
+ {
1065
+ "type": "object",
1066
+ "properties": {
1067
+ "type": {
1068
+ "type": "string",
1069
+ "const": "convert_number_address"
1070
+ },
1071
+ "node": {
1072
+ "$ref": "#/definitions/__schema0"
1073
+ }
1074
+ },
1075
+ "required": [
1076
+ "type",
1077
+ "node"
1078
+ ],
1079
+ "additionalProperties": false,
1080
+ "description": "Returns Address. Computed by converting the child node value from number type to Address type."
1081
+ },
1082
+ {
1083
+ "type": "object",
1084
+ "properties": {
1085
+ "type": {
1086
+ "type": "string",
1087
+ "const": "convert_address_number"
1088
+ },
1089
+ "node": {
1090
+ "$ref": "#/definitions/__schema0"
1091
+ }
1092
+ },
1093
+ "required": [
1094
+ "type",
1095
+ "node"
1096
+ ],
1097
+ "additionalProperties": false,
1098
+ "description": "Returns U256. Computed by converting the child node value from Address type to number type."
1099
+ },
1100
+ {
1101
+ "type": "object",
1102
+ "properties": {
1103
+ "type": {
1104
+ "type": "string",
1105
+ "const": "convert_number_string"
1106
+ },
1107
+ "node": {
1108
+ "$ref": "#/definitions/__schema0"
1109
+ }
1110
+ },
1111
+ "required": [
1112
+ "type",
1113
+ "node"
1114
+ ],
1115
+ "additionalProperties": false,
1116
+ "description": "Returns String. Computed by converting the child node value from number type to string type."
1117
+ },
1118
+ {
1119
+ "type": "object",
1120
+ "properties": {
1121
+ "type": {
1122
+ "type": "string",
1123
+ "const": "convert_string_number"
1124
+ },
1125
+ "node": {
1126
+ "$ref": "#/definitions/__schema0"
1127
+ }
1128
+ },
1129
+ "required": [
1130
+ "type",
1131
+ "node"
1132
+ ],
1133
+ "additionalProperties": false,
1134
+ "description": "Returns U256. Computed by parsing the child node value as a number. Throws exception if the string is not a valid number."
1135
+ },
1136
+ {
1137
+ "type": "object",
1138
+ "properties": {
1139
+ "type": {
1140
+ "type": "string",
1141
+ "const": "convert_safe_u8"
1142
+ },
1143
+ "node": {
1144
+ "$ref": "#/definitions/__schema0"
1145
+ }
1146
+ },
1147
+ "required": [
1148
+ "type",
1149
+ "node"
1150
+ ],
1151
+ "additionalProperties": false,
1152
+ "description": "Returns U8. Computed by converting the child node value to U8. Throws exception if value is out of U8 range (0-255)."
1153
+ },
1154
+ {
1155
+ "type": "object",
1156
+ "properties": {
1157
+ "type": {
1158
+ "type": "string",
1159
+ "const": "convert_safe_u16"
1160
+ },
1161
+ "node": {
1162
+ "$ref": "#/definitions/__schema0"
1163
+ }
1164
+ },
1165
+ "required": [
1166
+ "type",
1167
+ "node"
1168
+ ],
1169
+ "additionalProperties": false,
1170
+ "description": "Returns U16. Computed by converting the child node value to U16. Throws exception if value is out of U16 range (0-65535)."
1171
+ },
1172
+ {
1173
+ "type": "object",
1174
+ "properties": {
1175
+ "type": {
1176
+ "type": "string",
1177
+ "const": "convert_safe_u32"
1178
+ },
1179
+ "node": {
1180
+ "$ref": "#/definitions/__schema0"
1181
+ }
1182
+ },
1183
+ "required": [
1184
+ "type",
1185
+ "node"
1186
+ ],
1187
+ "additionalProperties": false,
1188
+ "description": "Returns U32. Computed by converting the child node value to U32. Throws exception if value is out of U32 range."
1189
+ },
1190
+ {
1191
+ "type": "object",
1192
+ "properties": {
1193
+ "type": {
1194
+ "type": "string",
1195
+ "const": "convert_safe_u64"
1196
+ },
1197
+ "node": {
1198
+ "$ref": "#/definitions/__schema0"
1199
+ }
1200
+ },
1201
+ "required": [
1202
+ "type",
1203
+ "node"
1204
+ ],
1205
+ "additionalProperties": false,
1206
+ "description": "Returns U64. Computed by converting the child node value to U64. Throws exception if value is out of U64 range."
1207
+ },
1208
+ {
1209
+ "type": "object",
1210
+ "properties": {
1211
+ "type": {
1212
+ "type": "string",
1213
+ "const": "convert_safe_u128"
1214
+ },
1215
+ "node": {
1216
+ "$ref": "#/definitions/__schema0"
1217
+ }
1218
+ },
1219
+ "required": [
1220
+ "type",
1221
+ "node"
1222
+ ],
1223
+ "additionalProperties": false,
1224
+ "description": "Returns U128. Computed by converting the child node value to U128. Throws exception if value is out of U128 range."
1225
+ },
1226
+ {
1227
+ "type": "object",
1228
+ "properties": {
1229
+ "type": {
1230
+ "type": "string",
1231
+ "const": "convert_safe_u256"
1232
+ },
1233
+ "node": {
1234
+ "$ref": "#/definitions/__schema0"
1235
+ }
1236
+ },
1237
+ "required": [
1238
+ "type",
1239
+ "node"
1240
+ ],
1241
+ "additionalProperties": false,
1242
+ "description": "Returns U256. Computed by converting the child node value to U256."
1243
+ },
1244
+ {
1245
+ "type": "object",
1246
+ "properties": {
1247
+ "type": {
1248
+ "type": "string",
1249
+ "const": "value_type"
1250
+ },
1251
+ "node": {
1252
+ "$ref": "#/definitions/__schema0"
1253
+ }
1254
+ },
1255
+ "required": [
1256
+ "type",
1257
+ "node"
1258
+ ],
1259
+ "additionalProperties": false,
1260
+ "description": "Returns U8. Computed by getting the type identifier (ValueType) of the child node value. Value type: can be specified as a string name (e.g., 'U64', 'Address', 'String') or a number (0-18). Supported types: Bool=0/'Bool', Address=1/'Address', String=2/'String', U8=3/'U8', U16=4/'U16', U32=5/'U32', U64=6/'U64', U128=7/'U128', U256=8/'U256', VecBool=9/'VecBool', VecAddress=10/'VecAddress', VecString=11/'VecString', VecU8=12/'VecU8', VecU16=13/'VecU16', VecU32=14/'VecU32', VecU64=15/'VecU64', VecU128=16/'VecU128', VecU256=17/'VecU256', VecVecU8=18/'VecVecU8'. Note: Value=19 is an INTERNAL type for wowok system use only and should NOT be used directly by users. String format is recommended for better readability."
1261
+ },
1262
+ {
1263
+ "type": "object",
1264
+ "properties": {
1265
+ "type": {
1266
+ "type": "string",
1267
+ "const": "vec_length"
1268
+ },
1269
+ "node": {
1270
+ "$ref": "#/definitions/__schema0"
1271
+ }
1272
+ },
1273
+ "required": [
1274
+ "type",
1275
+ "node"
1276
+ ],
1277
+ "additionalProperties": false,
1278
+ "description": "Returns U64. Computed by getting the length of the vector in the child node value. Child node must be one of Vec types: VecBool=9, VecAddress=10, VecString=11, VecU8=12, VecU16=13, VecU32=14, VecU64=15, VecU128=16, VecU256=17, VecVecU8=18, Value=19."
1279
+ },
1280
+ {
1281
+ "type": "object",
1282
+ "properties": {
1283
+ "type": {
1284
+ "type": "string",
1285
+ "const": "vec_contains_bool"
1286
+ },
1287
+ "nodes": {
1288
+ "type": "array",
1289
+ "items": {
1290
+ "$ref": "#/definitions/__schema0"
1291
+ },
1292
+ "description": "2 to 8 nodes required. First node must be VecBool (ValueType=9) or Value (ValueType=19), remaining nodes must be Bool (ValueType=0) or Value (ValueType=19)."
1293
+ }
1294
+ },
1295
+ "required": [
1296
+ "type",
1297
+ "nodes"
1298
+ ],
1299
+ "additionalProperties": false,
1300
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL boolean values (subsequent nodes)."
1301
+ },
1302
+ {
1303
+ "type": "object",
1304
+ "properties": {
1305
+ "type": {
1306
+ "type": "string",
1307
+ "const": "vec_contains_address"
1308
+ },
1309
+ "nodes": {
1310
+ "type": "array",
1311
+ "items": {
1312
+ "$ref": "#/definitions/__schema0"
1313
+ },
1314
+ "description": "2 to 8 nodes required. First node must be VecAddress (ValueType=10) or Value (ValueType=19), remaining nodes must be Address (ValueType=1) or Value (ValueType=19)."
1315
+ }
1316
+ },
1317
+ "required": [
1318
+ "type",
1319
+ "nodes"
1320
+ ],
1321
+ "additionalProperties": false,
1322
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL address values (subsequent nodes)."
1323
+ },
1324
+ {
1325
+ "type": "object",
1326
+ "properties": {
1327
+ "type": {
1328
+ "type": "string",
1329
+ "const": "vec_contains_string"
1330
+ },
1331
+ "nodes": {
1332
+ "type": "array",
1333
+ "items": {
1334
+ "$ref": "#/definitions/__schema0"
1335
+ },
1336
+ "description": "2 to 8 nodes required. First node must be VecString (ValueType=11) or Value (ValueType=19), remaining nodes must be String (ValueType=2) or Value (ValueType=19)."
1337
+ }
1338
+ },
1339
+ "required": [
1340
+ "type",
1341
+ "nodes"
1342
+ ],
1343
+ "additionalProperties": false,
1344
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL string values (subsequent nodes)."
1345
+ },
1346
+ {
1347
+ "type": "object",
1348
+ "properties": {
1349
+ "type": {
1350
+ "type": "string",
1351
+ "const": "vec_contains_string_nocase"
1352
+ },
1353
+ "nodes": {
1354
+ "type": "array",
1355
+ "items": {
1356
+ "$ref": "#/definitions/__schema0"
1357
+ },
1358
+ "description": "2 to 8 nodes required. First node must be VecString (ValueType=11) or Value (ValueType=19), remaining nodes must be String (ValueType=2) or Value (ValueType=19)."
1359
+ }
1360
+ },
1361
+ "required": [
1362
+ "type",
1363
+ "nodes"
1364
+ ],
1365
+ "additionalProperties": false,
1366
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL string values (subsequent nodes), using case-insensitive comparison."
1367
+ },
1368
+ {
1369
+ "type": "object",
1370
+ "properties": {
1371
+ "type": {
1372
+ "type": "string",
1373
+ "const": "vec_contains_number"
1374
+ },
1375
+ "nodes": {
1376
+ "type": "array",
1377
+ "items": {
1378
+ "$ref": "#/definitions/__schema0"
1379
+ },
1380
+ "description": "2 to 8 nodes required. First node must be VecU8 (12), VecU16 (13), VecU32 (14), VecU64 (15), VecU128 (16), VecU256 (17) or Value (ValueType=19), remaining nodes must be U8 (3), U16 (4), U32 (5), U64 (6), U128 (7), U256 (8) or Value (ValueType=19)."
1381
+ }
1382
+ },
1383
+ "required": [
1384
+ "type",
1385
+ "nodes"
1386
+ ],
1387
+ "additionalProperties": false,
1388
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL number values (subsequent nodes)."
1389
+ },
1390
+ {
1391
+ "type": "object",
1392
+ "properties": {
1393
+ "type": {
1394
+ "type": "string",
1395
+ "const": "vec_indexof_bool"
1396
+ },
1397
+ "nodeLeft": {
1398
+ "$ref": "#/definitions/__schema0"
1399
+ },
1400
+ "nodeRight": {
1401
+ "$ref": "#/definitions/__schema0"
1402
+ },
1403
+ "order": {
1404
+ "type": "string",
1405
+ "enum": [
1406
+ "forward",
1407
+ "backward"
1408
+ ],
1409
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
1410
+ }
1411
+ },
1412
+ "required": [
1413
+ "type",
1414
+ "nodeLeft",
1415
+ "nodeRight",
1416
+ "order"
1417
+ ],
1418
+ "additionalProperties": false,
1419
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecBool (ValueType=9) or Value (ValueType=19) type, nodeRight must be Bool (ValueType=0) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1420
+ },
1421
+ {
1422
+ "type": "object",
1423
+ "properties": {
1424
+ "type": {
1425
+ "type": "string",
1426
+ "const": "vec_indexof_address"
1427
+ },
1428
+ "nodeLeft": {
1429
+ "$ref": "#/definitions/__schema0"
1430
+ },
1431
+ "nodeRight": {
1432
+ "$ref": "#/definitions/__schema0"
1433
+ },
1434
+ "order": {
1435
+ "type": "string",
1436
+ "enum": [
1437
+ "forward",
1438
+ "backward"
1439
+ ],
1440
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
1441
+ }
1442
+ },
1443
+ "required": [
1444
+ "type",
1445
+ "nodeLeft",
1446
+ "nodeRight",
1447
+ "order"
1448
+ ],
1449
+ "additionalProperties": false,
1450
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecAddress (ValueType=10) or Value (ValueType=19) type, nodeRight must be Address (ValueType=1) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1451
+ },
1452
+ {
1453
+ "type": "object",
1454
+ "properties": {
1455
+ "type": {
1456
+ "type": "string",
1457
+ "const": "vec_indexof_string"
1458
+ },
1459
+ "nodeLeft": {
1460
+ "$ref": "#/definitions/__schema0"
1461
+ },
1462
+ "nodeRight": {
1463
+ "$ref": "#/definitions/__schema0"
1464
+ },
1465
+ "order": {
1466
+ "type": "string",
1467
+ "enum": [
1468
+ "forward",
1469
+ "backward"
1470
+ ],
1471
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
1472
+ }
1473
+ },
1474
+ "required": [
1475
+ "type",
1476
+ "nodeLeft",
1477
+ "nodeRight",
1478
+ "order"
1479
+ ],
1480
+ "additionalProperties": false,
1481
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecString (ValueType=11) or Value (ValueType=19) type, nodeRight must be String (ValueType=2) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1482
+ },
1483
+ {
1484
+ "type": "object",
1485
+ "properties": {
1486
+ "type": {
1487
+ "type": "string",
1488
+ "const": "vec_indexof_string_nocase"
1489
+ },
1490
+ "nodeLeft": {
1491
+ "$ref": "#/definitions/__schema0"
1492
+ },
1493
+ "nodeRight": {
1494
+ "$ref": "#/definitions/__schema0"
1495
+ },
1496
+ "order": {
1497
+ "type": "string",
1498
+ "enum": [
1499
+ "forward",
1500
+ "backward"
1501
+ ],
1502
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
1503
+ }
1504
+ },
1505
+ "required": [
1506
+ "type",
1507
+ "nodeLeft",
1508
+ "nodeRight",
1509
+ "order"
1510
+ ],
1511
+ "additionalProperties": false,
1512
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node), using case-insensitive comparison. nodeLeft must be VecString (ValueType=11) or Value (ValueType=19) type, nodeRight must be String (ValueType=2) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1513
+ },
1514
+ {
1515
+ "type": "object",
1516
+ "properties": {
1517
+ "type": {
1518
+ "type": "string",
1519
+ "const": "vec_indexof_number"
1520
+ },
1521
+ "nodeLeft": {
1522
+ "$ref": "#/definitions/__schema0"
1523
+ },
1524
+ "nodeRight": {
1525
+ "$ref": "#/definitions/__schema0"
1526
+ },
1527
+ "order": {
1528
+ "type": "string",
1529
+ "enum": [
1530
+ "forward",
1531
+ "backward"
1532
+ ],
1533
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
1534
+ }
1535
+ },
1536
+ "required": [
1537
+ "type",
1538
+ "nodeLeft",
1539
+ "nodeRight",
1540
+ "order"
1541
+ ],
1542
+ "additionalProperties": false,
1543
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecU8 (12), VecU16 (13), VecU32 (14), VecU64 (15), VecU128 (16), VecU256 (17) or Value (ValueType=19) type, nodeRight must be U8 (3), U16 (4), U32 (5), U64 (6), U128 (7), U256 (8) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
1544
+ },
1545
+ {
1546
+ "type": "object",
1547
+ "properties": {
1548
+ "type": {
1549
+ "type": "string",
1550
+ "const": "context"
1551
+ },
1552
+ "context": {
1553
+ "type": "string",
1554
+ "enum": [
1555
+ "Signer",
1556
+ "Clock",
1557
+ "Guard"
1558
+ ],
1559
+ "description": "System context type: Signer returns transaction sender address (Address), Clock returns current on-chain timestamp (U64), Guard returns current Guard object ID (Address)."
1560
+ }
1561
+ },
1562
+ "required": [
1563
+ "type",
1564
+ "context"
1565
+ ],
1566
+ "additionalProperties": false,
1567
+ "description": "Signer returns transaction sender address (Address), Clock returns current on-chain timestamp (U64), Guard returns current Guard object ID (Address)."
1568
+ },
1569
+ {
1570
+ "type": "object",
1571
+ "properties": {
1572
+ "type": {
1573
+ "type": "string",
1574
+ "const": "query_reward_record_find"
1575
+ },
1576
+ "object": {
1577
+ "type": "object",
1578
+ "properties": {
1579
+ "identifier": {
1580
+ "type": "integer",
1581
+ "minimum": 0,
1582
+ "maximum": 255,
1583
+ "description": "Identifier (0-255) for data lookup in Guard table."
1584
+ }
1585
+ },
1586
+ "required": [
1587
+ "identifier"
1588
+ ],
1589
+ "additionalProperties": false,
1590
+ "description": "Reference to the Reward object in the Guard table (must be Address type)."
1591
+ },
1592
+ "find": {
1593
+ "type": "string",
1594
+ "enum": [
1595
+ "first",
1596
+ "last"
1597
+ ],
1598
+ "description": "'first' finds the earliest matching record, 'last' finds the most recent matching record."
1599
+ },
1600
+ "recipient": {
1601
+ "description": "Optional: Identifier reference to the recipient address in the Guard table (must be Address type). If not specified, uses the transaction signer address.",
1602
+ "type": "object",
1603
+ "properties": {
1604
+ "identifier": {
1605
+ "type": "integer",
1606
+ "minimum": 0,
1607
+ "maximum": 255,
1608
+ "description": "Identifier (0-255) for data lookup in Guard table."
1609
+ }
1610
+ },
1611
+ "required": [
1612
+ "identifier"
1613
+ ],
1614
+ "additionalProperties": false
1615
+ },
1616
+ "where": {
1617
+ "type": "object",
1618
+ "properties": {
1619
+ "guard": {
1620
+ "description": "Optional filter: Guard object address constant to match.",
1621
+ "type": "string"
1622
+ },
1623
+ "timeMin": {
1624
+ "description": "Optional filter: minimum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
1625
+ "type": "string"
1626
+ },
1627
+ "timeMax": {
1628
+ "description": "Optional filter: maximum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
1629
+ "type": "string"
1630
+ },
1631
+ "amountMin": {
1632
+ "description": "Optional filter: minimum reward amount (inclusive). Use string to represent U64 value.",
1633
+ "type": "string"
1634
+ },
1635
+ "amountMax": {
1636
+ "description": "Optional filter: maximum reward amount (inclusive). Use string to represent U64 value.",
1637
+ "type": "string"
1638
+ },
1639
+ "storeFromId": {
1640
+ "description": "Optional filter: identifier reference to the store_from_id address in the Guard table (must be Address type). If not specified, the store_from_id field is ignored during matching. The server resolves this identifier to the actual address from the Guard table constants.",
1641
+ "type": "object",
1642
+ "properties": {
1643
+ "identifier": {
1644
+ "type": "integer",
1645
+ "minimum": 0,
1646
+ "maximum": 255,
1647
+ "description": "Identifier (0-255) for data lookup in Guard table."
1648
+ }
1649
+ },
1650
+ "required": [
1651
+ "identifier"
1652
+ ],
1653
+ "additionalProperties": false
1654
+ }
1655
+ },
1656
+ "additionalProperties": false,
1657
+ "description": "Filter conditions for the reward record query."
1658
+ }
1659
+ },
1660
+ "required": [
1661
+ "type",
1662
+ "object",
1663
+ "find",
1664
+ "where"
1665
+ ],
1666
+ "additionalProperties": false,
1667
+ "description": "Returns U64. Finds the index of the first or last reward record matching the specified recipient and filter conditions. Returns the record index (U64) if found. Throws error if no matching record is found (Guard validation fails). If recipient is not specified, uses the transaction signer address."
1668
+ },
1669
+ {
1670
+ "type": "object",
1671
+ "properties": {
1672
+ "type": {
1673
+ "type": "string",
1674
+ "const": "query_reward_record_count"
1675
+ },
1676
+ "object": {
1677
+ "type": "object",
1678
+ "properties": {
1679
+ "identifier": {
1680
+ "type": "integer",
1681
+ "minimum": 0,
1682
+ "maximum": 255,
1683
+ "description": "Identifier (0-255) for data lookup in Guard table."
1684
+ }
1685
+ },
1686
+ "required": [
1687
+ "identifier"
1688
+ ],
1689
+ "additionalProperties": false,
1690
+ "description": "Reference to the Reward object in the Guard table (must be Address type)."
1691
+ },
1692
+ "recipient": {
1693
+ "description": "Optional: Identifier reference to the recipient address in the Guard table (must be Address type). If not specified, uses the transaction signer address.",
1694
+ "type": "object",
1695
+ "properties": {
1696
+ "identifier": {
1697
+ "type": "integer",
1698
+ "minimum": 0,
1699
+ "maximum": 255,
1700
+ "description": "Identifier (0-255) for data lookup in Guard table."
1701
+ }
1702
+ },
1703
+ "required": [
1704
+ "identifier"
1705
+ ],
1706
+ "additionalProperties": false
1707
+ },
1708
+ "where": {
1709
+ "type": "object",
1710
+ "properties": {
1711
+ "guard": {
1712
+ "description": "Optional filter: Guard object address constant to match.",
1713
+ "type": "string"
1714
+ },
1715
+ "timeMin": {
1716
+ "description": "Optional filter: minimum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
1717
+ "type": "string"
1718
+ },
1719
+ "timeMax": {
1720
+ "description": "Optional filter: maximum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
1721
+ "type": "string"
1722
+ },
1723
+ "amountMin": {
1724
+ "description": "Optional filter: minimum reward amount (inclusive). Use string to represent U64 value.",
1725
+ "type": "string"
1726
+ },
1727
+ "amountMax": {
1728
+ "description": "Optional filter: maximum reward amount (inclusive). Use string to represent U64 value.",
1729
+ "type": "string"
1730
+ },
1731
+ "storeFromId": {
1732
+ "description": "Optional filter: identifier reference to the store_from_id address in the Guard table (must be Address type). If not specified, the store_from_id field is ignored during matching. The server resolves this identifier to the actual address from the Guard table constants.",
1733
+ "type": "object",
1734
+ "properties": {
1735
+ "identifier": {
1736
+ "type": "integer",
1737
+ "minimum": 0,
1738
+ "maximum": 255,
1739
+ "description": "Identifier (0-255) for data lookup in Guard table."
1740
+ }
1741
+ },
1742
+ "required": [
1743
+ "identifier"
1744
+ ],
1745
+ "additionalProperties": false
1746
+ }
1747
+ },
1748
+ "additionalProperties": false,
1749
+ "description": "Filter conditions for the reward record count query."
1750
+ }
1751
+ },
1752
+ "required": [
1753
+ "type",
1754
+ "object",
1755
+ "where"
1756
+ ],
1757
+ "additionalProperties": false,
1758
+ "description": "Returns U64. Counts the number of reward records matching the specified recipient and filter conditions. If recipient is not specified, uses the transaction signer address."
1759
+ },
1760
+ {
1761
+ "type": "object",
1762
+ "properties": {
1763
+ "type": {
1764
+ "type": "string",
1765
+ "const": "query_reward_record_exists"
1766
+ },
1767
+ "object": {
1768
+ "type": "object",
1769
+ "properties": {
1770
+ "identifier": {
1771
+ "type": "integer",
1772
+ "minimum": 0,
1773
+ "maximum": 255,
1774
+ "description": "Identifier (0-255) for data lookup in Guard table."
1775
+ }
1776
+ },
1777
+ "required": [
1778
+ "identifier"
1779
+ ],
1780
+ "additionalProperties": false,
1781
+ "description": "Reference to the Reward object in the Guard table (must be Address type)."
1782
+ },
1783
+ "recipient": {
1784
+ "description": "Optional: Identifier reference to the recipient address in the Guard table (must be Address type). If not specified, uses the transaction signer address.",
1785
+ "type": "object",
1786
+ "properties": {
1787
+ "identifier": {
1788
+ "type": "integer",
1789
+ "minimum": 0,
1790
+ "maximum": 255,
1791
+ "description": "Identifier (0-255) for data lookup in Guard table."
1792
+ }
1793
+ },
1794
+ "required": [
1795
+ "identifier"
1796
+ ],
1797
+ "additionalProperties": false
1798
+ },
1799
+ "where": {
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "guard": {
1803
+ "description": "Optional filter: Guard object address constant to match.",
1804
+ "type": "string"
1805
+ },
1806
+ "timeMin": {
1807
+ "description": "Optional filter: minimum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
1808
+ "type": "string"
1809
+ },
1810
+ "timeMax": {
1811
+ "description": "Optional filter: maximum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
1812
+ "type": "string"
1813
+ },
1814
+ "amountMin": {
1815
+ "description": "Optional filter: minimum reward amount (inclusive). Use string to represent U64 value.",
1816
+ "type": "string"
1817
+ },
1818
+ "amountMax": {
1819
+ "description": "Optional filter: maximum reward amount (inclusive). Use string to represent U64 value.",
1820
+ "type": "string"
1821
+ },
1822
+ "storeFromId": {
1823
+ "description": "Optional filter: identifier reference to the store_from_id address in the Guard table (must be Address type). If not specified, the store_from_id field is ignored during matching. The server resolves this identifier to the actual address from the Guard table constants.",
1824
+ "type": "object",
1825
+ "properties": {
1826
+ "identifier": {
1827
+ "type": "integer",
1828
+ "minimum": 0,
1829
+ "maximum": 255,
1830
+ "description": "Identifier (0-255) for data lookup in Guard table."
1831
+ }
1832
+ },
1833
+ "required": [
1834
+ "identifier"
1835
+ ],
1836
+ "additionalProperties": false
1837
+ }
1838
+ },
1839
+ "additionalProperties": false,
1840
+ "description": "Filter conditions for the reward record existence query."
1841
+ }
1842
+ },
1843
+ "required": [
1844
+ "type",
1845
+ "object",
1846
+ "where"
1847
+ ],
1848
+ "additionalProperties": false,
1849
+ "description": "Returns Bool. Returns true if at least one reward record exists matching the specified recipient and filter conditions, otherwise false. If recipient is not specified, uses the transaction signer address."
1850
+ },
1851
+ {
1852
+ "type": "object",
1853
+ "properties": {
1854
+ "type": {
1855
+ "type": "string",
1856
+ "const": "query_progress_history_find"
1857
+ },
1858
+ "object": {
1859
+ "type": "object",
1860
+ "properties": {
1861
+ "identifier": {
1862
+ "type": "integer",
1863
+ "minimum": 0,
1864
+ "maximum": 255,
1865
+ "description": "Identifier (0-255) for data lookup in Guard table."
1866
+ }
1867
+ },
1868
+ "required": [
1869
+ "identifier"
1870
+ ],
1871
+ "additionalProperties": false,
1872
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
1873
+ },
1874
+ "where": {
1875
+ "type": "object",
1876
+ "properties": {
1877
+ "node": {
1878
+ "description": "Optional filter: node name string to match.",
1879
+ "type": "string"
1880
+ },
1881
+ "nextNode": {
1882
+ "description": "Optional filter: next node name string to match.",
1883
+ "type": "string"
1884
+ },
1885
+ "timeMin": {
1886
+ "description": "Optional filter: minimum timestamp (inclusive) for history entry time. Use string to represent U64 value.",
1887
+ "type": "string"
1888
+ },
1889
+ "timeMax": {
1890
+ "description": "Optional filter: maximum timestamp (inclusive) for history entry time. Use string to represent U64 value.",
1891
+ "type": "string"
1892
+ },
1893
+ "indexMin": {
1894
+ "description": "Optional filter: minimum history index (inclusive) to search within. Use string to represent U64 value.",
1895
+ "type": "string"
1896
+ },
1897
+ "indexMax": {
1898
+ "description": "Optional filter: maximum history index (inclusive) to search within. Use string to represent U64 value.",
1899
+ "type": "string"
1900
+ }
1901
+ },
1902
+ "additionalProperties": false,
1903
+ "description": "Filter conditions for the progress history query."
1904
+ },
1905
+ "find": {
1906
+ "type": "string",
1907
+ "enum": [
1908
+ "first",
1909
+ "last"
1910
+ ],
1911
+ "description": "'first' finds the earliest matching history entry, 'last' finds the most recent matching history entry."
1912
+ }
1913
+ },
1914
+ "required": [
1915
+ "type",
1916
+ "object",
1917
+ "where",
1918
+ "find"
1919
+ ],
1920
+ "additionalProperties": false,
1921
+ "description": "Returns U64. Finds the index of the first or last history entry matching the filter conditions. Returns the history index (U64) if found. Throws error if no matching entry is found (Guard validation fails)."
1922
+ },
1923
+ {
1924
+ "type": "object",
1925
+ "properties": {
1926
+ "type": {
1927
+ "type": "string",
1928
+ "const": "query_progress_history_session_find"
1929
+ },
1930
+ "object": {
1931
+ "type": "object",
1932
+ "properties": {
1933
+ "identifier": {
1934
+ "type": "integer",
1935
+ "minimum": 0,
1936
+ "maximum": 255,
1937
+ "description": "Identifier (0-255) for data lookup in Guard table."
1938
+ }
1939
+ },
1940
+ "required": [
1941
+ "identifier"
1942
+ ],
1943
+ "additionalProperties": false,
1944
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
1945
+ },
1946
+ "historyIdx": {
1947
+ "description": "GuardNode that returns the history index (U64 type) to search within. Typically an 'identifier' node referencing a U64 value from the Guard table.",
1948
+ "allOf": [
1949
+ {
1950
+ "$ref": "#/definitions/__schema1"
1951
+ }
1952
+ ],
1953
+ "$ref": "#/definitions/__schema0"
1954
+ },
1955
+ "where": {
1956
+ "type": "object",
1957
+ "properties": {
1958
+ "nextNode": {
1959
+ "description": "Optional filter: next node name string to match.",
1960
+ "type": "string"
1961
+ }
1962
+ },
1963
+ "additionalProperties": false,
1964
+ "description": "Filter conditions for the progress history session query."
1965
+ },
1966
+ "find": {
1967
+ "type": "string",
1968
+ "enum": [
1969
+ "first",
1970
+ "last"
1971
+ ],
1972
+ "description": "'first' finds the earliest matching session, 'last' finds the most recent matching session."
1973
+ }
1974
+ },
1975
+ "required": [
1976
+ "type",
1977
+ "object",
1978
+ "historyIdx",
1979
+ "where",
1980
+ "find"
1981
+ ],
1982
+ "additionalProperties": false,
1983
+ "description": "Returns U64. Finds the index of the first or last session within the specified history entry matching the filter conditions. Returns the session index (U64) if found. Throws error if no matching session is found (Guard validation fails)."
1984
+ },
1985
+ {
1986
+ "type": "object",
1987
+ "properties": {
1988
+ "type": {
1989
+ "type": "string",
1990
+ "const": "query_progress_history_session_forward_find"
1991
+ },
1992
+ "object": {
1993
+ "type": "object",
1994
+ "properties": {
1995
+ "identifier": {
1996
+ "type": "integer",
1997
+ "minimum": 0,
1998
+ "maximum": 255,
1999
+ "description": "Identifier (0-255) for data lookup in Guard table."
2000
+ }
2001
+ },
2002
+ "required": [
2003
+ "identifier"
2004
+ ],
2005
+ "additionalProperties": false,
2006
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
2007
+ },
2008
+ "historyIdx": {
2009
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
2010
+ "allOf": [
2011
+ {
2012
+ "$ref": "#/definitions/__schema1"
2013
+ }
2014
+ ],
2015
+ "$ref": "#/definitions/__schema0"
2016
+ },
2017
+ "sessionIdx": {
2018
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
2019
+ "allOf": [
2020
+ {
2021
+ "$ref": "#/definitions/__schema1"
2022
+ }
2023
+ ],
2024
+ "$ref": "#/definitions/__schema0"
2025
+ },
2026
+ "where": {
2027
+ "type": "object",
2028
+ "properties": {
2029
+ "who": {
2030
+ "description": "Optional filter: operator address string to match.",
2031
+ "type": "string"
2032
+ },
2033
+ "operation": {
2034
+ "description": "Optional filter: operation name string to match.",
2035
+ "type": "string"
2036
+ },
2037
+ "accomplished": {
2038
+ "description": "Optional filter: whether the forward operation was accomplished.",
2039
+ "type": "boolean"
2040
+ },
2041
+ "timeMin": {
2042
+ "description": "Optional filter: minimum timestamp (inclusive) for forward operation time. Use string to represent U64 value.",
2043
+ "type": "string"
2044
+ },
2045
+ "timeMax": {
2046
+ "description": "Optional filter: maximum timestamp (inclusive) for forward operation time. Use string to represent U64 value.",
2047
+ "type": "string"
2048
+ }
2049
+ },
2050
+ "additionalProperties": false,
2051
+ "description": "Filter conditions for the progress history session forward query."
2052
+ },
2053
+ "find": {
2054
+ "type": "string",
2055
+ "enum": [
2056
+ "first",
2057
+ "last"
2058
+ ],
2059
+ "description": "'first' finds the earliest matching forward operation, 'last' finds the most recent matching forward operation."
2060
+ }
2061
+ },
2062
+ "required": [
2063
+ "type",
2064
+ "object",
2065
+ "historyIdx",
2066
+ "sessionIdx",
2067
+ "where",
2068
+ "find"
2069
+ ],
2070
+ "additionalProperties": false,
2071
+ "description": "Returns U64. Finds the index of the first or last forward operation within the specified history session matching the filter conditions. Returns the forward index (U64) if found. Throws error if no matching forward operation is found (Guard validation fails)."
2072
+ },
2073
+ {
2074
+ "type": "object",
2075
+ "properties": {
2076
+ "type": {
2077
+ "type": "string",
2078
+ "const": "query_progress_history_session_count"
2079
+ },
2080
+ "object": {
2081
+ "type": "object",
2082
+ "properties": {
2083
+ "identifier": {
2084
+ "type": "integer",
2085
+ "minimum": 0,
2086
+ "maximum": 255,
2087
+ "description": "Identifier (0-255) for data lookup in Guard table."
2088
+ }
2089
+ },
2090
+ "required": [
2091
+ "identifier"
2092
+ ],
2093
+ "additionalProperties": false,
2094
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
2095
+ },
2096
+ "historyIdx": {
2097
+ "description": "GuardNode that returns the history index (U64 type) to count sessions for. Typically an 'identifier' node referencing a U64 value from the Guard table.",
2098
+ "allOf": [
2099
+ {
2100
+ "$ref": "#/definitions/__schema1"
2101
+ }
2102
+ ],
2103
+ "$ref": "#/definitions/__schema0"
2104
+ }
2105
+ },
2106
+ "required": [
2107
+ "type",
2108
+ "object",
2109
+ "historyIdx"
2110
+ ],
2111
+ "additionalProperties": false,
2112
+ "description": "Returns U64. Counts the number of sessions within the specified history entry."
2113
+ },
2114
+ {
2115
+ "type": "object",
2116
+ "properties": {
2117
+ "type": {
2118
+ "type": "string",
2119
+ "const": "query_progress_history_session_forward_count"
2120
+ },
2121
+ "object": {
2122
+ "type": "object",
2123
+ "properties": {
2124
+ "identifier": {
2125
+ "type": "integer",
2126
+ "minimum": 0,
2127
+ "maximum": 255,
2128
+ "description": "Identifier (0-255) for data lookup in Guard table."
2129
+ }
2130
+ },
2131
+ "required": [
2132
+ "identifier"
2133
+ ],
2134
+ "additionalProperties": false,
2135
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
2136
+ },
2137
+ "historyIdx": {
2138
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
2139
+ "allOf": [
2140
+ {
2141
+ "$ref": "#/definitions/__schema1"
2142
+ }
2143
+ ],
2144
+ "$ref": "#/definitions/__schema0"
2145
+ },
2146
+ "sessionIdx": {
2147
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
2148
+ "allOf": [
2149
+ {
2150
+ "$ref": "#/definitions/__schema1"
2151
+ }
2152
+ ],
2153
+ "$ref": "#/definitions/__schema0"
2154
+ }
2155
+ },
2156
+ "required": [
2157
+ "type",
2158
+ "object",
2159
+ "historyIdx",
2160
+ "sessionIdx"
2161
+ ],
2162
+ "additionalProperties": false,
2163
+ "description": "Returns U64. Counts the number of forward operations within the specified history session."
2164
+ },
2165
+ {
2166
+ "type": "object",
2167
+ "properties": {
2168
+ "type": {
2169
+ "type": "string",
2170
+ "const": "query_progress_history_session_forward_retained_submission_count"
2171
+ },
2172
+ "object": {
2173
+ "type": "object",
2174
+ "properties": {
2175
+ "identifier": {
2176
+ "type": "integer",
2177
+ "minimum": 0,
2178
+ "maximum": 255,
2179
+ "description": "Identifier (0-255) for data lookup in Guard table."
2180
+ }
2181
+ },
2182
+ "required": [
2183
+ "identifier"
2184
+ ],
2185
+ "additionalProperties": false,
2186
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
2187
+ },
2188
+ "historyIdx": {
2189
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
2190
+ "allOf": [
2191
+ {
2192
+ "$ref": "#/definitions/__schema1"
2193
+ }
2194
+ ],
2195
+ "$ref": "#/definitions/__schema0"
2196
+ },
2197
+ "sessionIdx": {
2198
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
2199
+ "allOf": [
2200
+ {
2201
+ "$ref": "#/definitions/__schema1"
2202
+ }
2203
+ ],
2204
+ "$ref": "#/definitions/__schema0"
2205
+ },
2206
+ "forwardIdx": {
2207
+ "description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
2208
+ "allOf": [
2209
+ {
2210
+ "$ref": "#/definitions/__schema1"
2211
+ }
2212
+ ],
2213
+ "$ref": "#/definitions/__schema0"
2214
+ }
2215
+ },
2216
+ "required": [
2217
+ "type",
2218
+ "object",
2219
+ "historyIdx",
2220
+ "sessionIdx",
2221
+ "forwardIdx"
2222
+ ],
2223
+ "additionalProperties": false,
2224
+ "description": "Returns U64. Counts the number of retained submissions within the specified forward operation."
2225
+ }
2226
+ ],
2227
+ "$ref": "#/definitions/__schema0"
2228
+ },
2229
+ {
2230
+ "type": "object",
2231
+ "properties": {
2232
+ "type": {
2233
+ "type": "string",
2234
+ "const": "file"
2235
+ },
2236
+ "file_path": {
2237
+ "type": "string",
2238
+ "description": "Path to JSON or Markdown file containing Guard definition. File can define: namedNew, description, table, root, rely."
2239
+ },
2240
+ "format": {
2241
+ "default": "json",
2242
+ "description": "File format: 'json' or 'markdown'. Default is 'json'.",
2243
+ "type": "string",
2244
+ "enum": [
2245
+ "json",
2246
+ "markdown"
2247
+ ]
2248
+ }
2249
+ },
2250
+ "required": [
2251
+ "type",
2252
+ "file_path",
2253
+ "format"
2254
+ ],
2255
+ "additionalProperties": false
2256
+ }
2257
+ ],
2258
+ "description": "Root definition: either a direct GuardNode (must be a logical operation returning Bool) or a file reference (type='file'). When type='file', the file can define all Guard fields (namedNew, description, table, root, rely), and schema fields override file content."
2259
+ },
2260
+ "rely": {
2261
+ "description": "All Guard objects that the new Guard object depends on. If logic_or is true, the execution result of the new Guard object is the logical OR of the execution results of all dependent Guard objects; otherwise, it is logical AND. When using root.type='file', this field OVERRIDES rely in the file.",
2262
+ "type": "object",
2263
+ "properties": {
2264
+ "guards": {
2265
+ "type": "array",
2266
+ "items": {
2267
+ "type": "string",
2268
+ "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)."
2269
+ },
2270
+ "description": "List of dependent Guard object IDs or names."
2271
+ },
2272
+ "logic_or": {
2273
+ "description": "Whether to use logical OR operator.",
2274
+ "type": "boolean"
2275
+ }
2276
+ },
2277
+ "required": [
2278
+ "guards"
2279
+ ],
2280
+ "additionalProperties": false
2281
+ },
2282
+ "binding_hint": {
2283
+ "description": "Phase 5 Guard capability hint. Provides semantic context (action + host_object + binding_field + optional rule/failure_conditions) for puzzle derivation. When provided, the response will include complete guard_advice (puzzle_status, matched_scene, suggested_patterns, confirmation_text, pending_questions). When absent, puzzle_status intent/binding dimensions are marked incomplete.",
2284
+ "type": "object",
2285
+ "properties": {
2286
+ "action": {
2287
+ "type": "string",
2288
+ "enum": [
2289
+ "buy",
2290
+ "forward",
2291
+ "allocate",
2292
+ "claim_reward",
2293
+ "vote",
2294
+ "dispute",
2295
+ "write_repository",
2296
+ "submit_progress",
2297
+ "gen_passport",
2298
+ "custom"
2299
+ ],
2300
+ "description": "Protected action type. Example: 'buy' for Service buy_guard, 'forward' for Machine Forward.guard."
2301
+ },
2302
+ "host_object": {
2303
+ "type": "string",
2304
+ "enum": [
2305
+ "Service",
2306
+ "Machine",
2307
+ "Arbitration",
2308
+ "Reward",
2309
+ "Repository",
2310
+ "Progress",
2311
+ "Demand",
2312
+ "Standalone"
2313
+ ],
2314
+ "description": "Host object type. Example: 'Service', 'Machine'."
2315
+ },
2316
+ "binding_field": {
2317
+ "type": "string",
2318
+ "enum": [
2319
+ "buy_guard",
2320
+ "order_allocators",
2321
+ "Forward.guard",
2322
+ "submission",
2323
+ "guard",
2324
+ "write_guard",
2325
+ "usage_guard",
2326
+ "voting_guard",
2327
+ "ServiceGuard",
2328
+ "none"
2329
+ ],
2330
+ "description": "Binding field. Example: 'buy_guard', 'Forward.guard'."
2331
+ },
2332
+ "rule_sentence": {
2333
+ "description": "One-sentence description of the validation rule (human-readable). Example: 'Only the author can purchase this service'.",
2334
+ "type": "string"
2335
+ },
2336
+ "failure_conditions": {
2337
+ "description": "List of conditions under which the Guard should FAIL. Example: ['Signer is not in allowlist','Order is already completed'].",
2338
+ "type": "array",
2339
+ "items": {
2340
+ "type": "string"
2341
+ }
2342
+ },
2343
+ "circular_reference": {
2344
+ "description": "Whether the Guard references the Host Object itself (circular reference pattern). true=Guard queries the Host Object it binds to.",
2345
+ "type": "boolean"
2346
+ }
2347
+ },
2348
+ "required": [
2349
+ "action",
2350
+ "host_object",
2351
+ "binding_field"
2352
+ ],
2353
+ "additionalProperties": false
2354
+ }
2355
+ },
2356
+ "required": [
2357
+ "root"
2358
+ ],
2359
+ "additionalProperties": false,
2360
+ "description": "On-chain Guard creation. IMPORTANT: All defined data (include all submitted data) must be defined in the 'table' field. USAGE: Set 'namedNew' field with {name, tags?, onChain?} to name the new Guard (you may also use 'object' as an alias for 'namedNew' — the MCP preprocess will convert it automatically). The Guard is immutable once created. Define the validation logic in 'root' field. When root.type='file', the file can contain all Guard fields, and any fields defined in the schema will OVERRIDE the file content."
2361
+ },
2362
+ "env": {
2363
+ "type": "object",
2364
+ "properties": {
2365
+ "account": {
2366
+ "default": "",
2367
+ "type": "string",
2368
+ "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)."
2369
+ },
2370
+ "permission_guard": {
2371
+ "description": "List of permission guard IDs. Used to extend additional operation permissions (requires verification and configuration in the Permission object).",
2372
+ "type": "array",
2373
+ "items": {
2374
+ "type": "string"
2375
+ }
2376
+ },
2377
+ "no_cache": {
2378
+ "description": "Whether to disable caching.",
2379
+ "type": "boolean"
2380
+ },
2381
+ "network": {
2382
+ "type": "string",
2383
+ "enum": [
2384
+ "localnet",
2385
+ "testnet",
2386
+ "mainnet"
2387
+ ],
2388
+ "description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Use project_operation action='clone_project_to_network' to clone the project blueprint to the target network, then re-run onchain_operations with env.network=target_network to deploy."
2389
+ },
2390
+ "referrer": {
2391
+ "description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded.",
2392
+ "type": "string"
2393
+ },
2394
+ "confirmed": {
2395
+ "description": "Phase 2 ConfirmGate: set to true to proceed after a 'pending_confirmation' result. The operation is NOT executed until you re-call with confirmed=true after user consent.",
2396
+ "type": "boolean"
2397
+ },
2398
+ "user_intent_phrases": {
2399
+ "description": "Phase 2 ConfirmGate: explicit user intent phrases collected from conversation context (e.g. 'use default account', 'force publish'). Used to bypass confirmation rules whose bypass_on_explicit_intent matches.",
2400
+ "type": "array",
2401
+ "items": {
2402
+ "type": "string"
2403
+ }
2404
+ },
2405
+ "project": {
2406
+ "description": "Project prefix to assign this object to (e.g. 'myshop'). When set: 1) the object is tagged with 'project:<prefix>' on-chain automatically via ProjectService, 2) the newly created object is auto-associated to the SQLite project for local management, evaluation, and graph tracking. The project MUST exist (create via project_operation action='create_project' first). Use project_operation to manage projects.",
2407
+ "type": "string"
2408
+ },
2409
+ "client_schema_version": {
2410
+ "description": "Client-side schema version (semver, e.g. '1.0.0'). When provided, the server checks compatibility and attaches warnings if mismatched.",
2411
+ "type": "string"
2412
+ },
2413
+ "schema_strict_mode": {
2414
+ "default": false,
2415
+ "description": "When true, schema incompatibility returns an error instead of a warning. Default: false (warn mode).",
2416
+ "type": "boolean"
2417
+ },
2418
+ "dry_run": {
2419
+ "description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify an operation will succeed before committing. Essential for the 5-step loop's Plan step. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
2420
+ "type": "boolean"
2421
+ }
2422
+ },
2423
+ "required": [
2424
+ "account",
2425
+ "schema_strict_mode"
2426
+ ],
2427
+ "additionalProperties": false,
2428
+ "description": "IMPORTANT: Execution environment includes: account for signing operations, network selection ([object Object]), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used."
2429
+ }
2430
+ },
2431
+ "required": [
2432
+ "operation_type",
2433
+ "data"
2434
+ ],
2435
+ "additionalProperties": false,
2436
+ "definitions": {
2437
+ "__schema0": {
2438
+ "description": "Guard node: represents an operation instruction in Guard. Each node returns a value of a specific type, computed from its child nodes or context.",
2439
+ "allOf": [
2440
+ {
2441
+ "$ref": "#/definitions/__schema1"
2442
+ }
2443
+ ]
2444
+ },
2445
+ "__schema1": {
2446
+ "oneOf": [
2447
+ {
2448
+ "type": "object",
2449
+ "properties": {
2450
+ "type": {
2451
+ "type": "string",
2452
+ "const": "identifier"
2453
+ },
2454
+ "identifier": {
2455
+ "type": "integer",
2456
+ "minimum": 0,
2457
+ "maximum": 255,
2458
+ "description": "Identifier (0-255) for data lookup in Guard table."
2459
+ }
2460
+ },
2461
+ "required": [
2462
+ "type",
2463
+ "identifier"
2464
+ ],
2465
+ "additionalProperties": false,
2466
+ "description": "Returns the constant value stored at the specified identifier in the Guard table."
2467
+ },
2468
+ {
2469
+ "type": "object",
2470
+ "properties": {
2471
+ "type": {
2472
+ "type": "string",
2473
+ "const": "query"
2474
+ },
2475
+ "query": {
2476
+ "anyOf": [
2477
+ {
2478
+ "type": "integer",
2479
+ "minimum": -9007199254740991,
2480
+ "maximum": 9007199254740991
2481
+ },
2482
+ {
2483
+ "type": "string"
2484
+ }
2485
+ ],
2486
+ "description": "ID or name of the wowok object data query instruction. Can be a numeric ID (e.g., 1001) or a name string (e.g., 'permission.description'). Name matching is case-insensitive."
2487
+ },
2488
+ "object": {
2489
+ "type": "object",
2490
+ "properties": {
2491
+ "identifier": {
2492
+ "type": "integer",
2493
+ "minimum": 0,
2494
+ "maximum": 255,
2495
+ "description": "Identifier (0-255) for data lookup in Guard table."
2496
+ },
2497
+ "convert_witness": {
2498
+ "anyOf": [
2499
+ {
2500
+ "type": "integer",
2501
+ "minimum": -9007199254740991,
2502
+ "maximum": 9007199254740991
2503
+ },
2504
+ {
2505
+ "type": "string"
2506
+ }
2507
+ ],
2508
+ "description": "When specified, the query retrieves data from the associated (witness) object instead of the queried object itself. This enables cross-object queries within Guard validation logic. Can be a numeric ID (100-108) or a string name (case-insensitive, with or without the 'Type' prefix). String format is recommended for readability.\n\nAvailable WitnessTypes:\n- OrderProgress / TypeOrderProgress (100): Query an Order's associated Progress object. Use case: Check if order has reached a specific workflow node (e.g., 'complete') before allowing reward claims.\n- OrderMachine / TypeOrderMachine (101): Query an Order's associated Machine (workflow definition). Use case: Verify the workflow structure or check node configurations.\n- OrderService / TypeOrderService (102): Query an Order's parent Service object. Use case: Validate the service offering details or check service-level configurations.\n- ProgressMachine / TypeProgressMachine (103): Query a Progress's associated Machine. Use case: Access workflow definition from a Progress context.\n- ArbOrder / TypeArbOrder (104): Query an Arb's associated Order. Use case: In arbitration voting guards, verify order details like payment amount or service ID.\n- ArbArbitration / TypeArbArbitration (105): Query an Arb's parent Arbitration service. Use case: Access arbitration configuration or fee settings from within an Arb case.\n- ArbProgress / TypeArbProgress (106): Query an Arb's associated Progress. Use case: Check order workflow state during arbitration validation.\n- ArbMachine / TypeArbMachine (107): Query an Arb's associated Machine. Use case: Access workflow definition for dispute context analysis.\n- ArbService / TypeArbService (108): Query an Arb's associated Service. Use case: Verify service terms or compensation fund status during arbitration.\n\nExample: To validate that an order has reached the 'complete' node, query the Order with convert_witness='OrderProgress' and check the Progress's current_node field."
2509
+ }
2510
+ },
2511
+ "required": [
2512
+ "identifier"
2513
+ ],
2514
+ "additionalProperties": false,
2515
+ "description": "The object to query from the Guard table."
2516
+ },
2517
+ "parameters": {
2518
+ "description": "Parameters required by the query. Optional — defaults to empty array []. Many queries (e.g. progress.current, order.service) take no parameters; for those, this field can be omitted.",
2519
+ "type": "array",
2520
+ "items": {
2521
+ "$ref": "#/definitions/__schema0"
2522
+ }
2523
+ }
2524
+ },
2525
+ "required": [
2526
+ "type",
2527
+ "query",
2528
+ "object"
2529
+ ],
2530
+ "additionalProperties": false,
2531
+ "description": "Returns the result of executing a data query instruction on the specified object. The return type depends on the query being executed. SPECIAL NOTE for EntityLinker/EntityRegistrar queries: Use system addresses in the Guard table -0x0000000000000000000000000000000000000000000000000000000000000aaa for EntityLinker queries, 0x0000000000000000000000000000000000000000000000000000000000000aab for EntityRegistrar queries."
2532
+ },
2533
+ {
2534
+ "type": "object",
2535
+ "properties": {
2536
+ "type": {
2537
+ "type": "string",
2538
+ "const": "logic_as_u256_greater_or_equal"
2539
+ },
2540
+ "nodes": {
2541
+ "type": "array",
2542
+ "items": {
2543
+ "$ref": "#/definitions/__schema0"
2544
+ }
2545
+ }
2546
+ },
2547
+ "required": [
2548
+ "type",
2549
+ "nodes"
2550
+ ],
2551
+ "additionalProperties": false,
2552
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first >= all others, otherwise false."
2553
+ },
2554
+ {
2555
+ "type": "object",
2556
+ "properties": {
2557
+ "type": {
2558
+ "type": "string",
2559
+ "const": "logic_as_u256_lesser_or_equal"
2560
+ },
2561
+ "nodes": {
2562
+ "type": "array",
2563
+ "items": {
2564
+ "$ref": "#/definitions/__schema0"
2565
+ }
2566
+ }
2567
+ },
2568
+ "required": [
2569
+ "type",
2570
+ "nodes"
2571
+ ],
2572
+ "additionalProperties": false,
2573
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first <= all others, otherwise false."
2574
+ },
2575
+ {
2576
+ "type": "object",
2577
+ "properties": {
2578
+ "type": {
2579
+ "type": "string",
2580
+ "const": "logic_as_u256_greater"
2581
+ },
2582
+ "nodes": {
2583
+ "type": "array",
2584
+ "items": {
2585
+ "$ref": "#/definitions/__schema0"
2586
+ }
2587
+ }
2588
+ },
2589
+ "required": [
2590
+ "type",
2591
+ "nodes"
2592
+ ],
2593
+ "additionalProperties": false,
2594
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first > all others, otherwise false."
2595
+ },
2596
+ {
2597
+ "type": "object",
2598
+ "properties": {
2599
+ "type": {
2600
+ "type": "string",
2601
+ "const": "logic_as_u256_lesser"
2602
+ },
2603
+ "nodes": {
2604
+ "type": "array",
2605
+ "items": {
2606
+ "$ref": "#/definitions/__schema0"
2607
+ }
2608
+ }
2609
+ },
2610
+ "required": [
2611
+ "type",
2612
+ "nodes"
2613
+ ],
2614
+ "additionalProperties": false,
2615
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first < all others, otherwise false."
2616
+ },
2617
+ {
2618
+ "type": "object",
2619
+ "properties": {
2620
+ "type": {
2621
+ "type": "string",
2622
+ "const": "logic_as_u256_equal"
2623
+ },
2624
+ "nodes": {
2625
+ "type": "array",
2626
+ "items": {
2627
+ "$ref": "#/definitions/__schema0"
2628
+ }
2629
+ }
2630
+ },
2631
+ "required": [
2632
+ "type",
2633
+ "nodes"
2634
+ ],
2635
+ "additionalProperties": false,
2636
+ "description": "Returns Bool. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by comparing the first node value with all subsequent node values. Returns true if first equals all others, otherwise false."
2637
+ },
2638
+ {
2639
+ "type": "object",
2640
+ "properties": {
2641
+ "type": {
2642
+ "type": "string",
2643
+ "const": "logic_equal"
2644
+ },
2645
+ "nodes": {
2646
+ "type": "array",
2647
+ "items": {
2648
+ "$ref": "#/definitions/__schema0"
2649
+ }
2650
+ }
2651
+ },
2652
+ "required": [
2653
+ "type",
2654
+ "nodes"
2655
+ ],
2656
+ "additionalProperties": false,
2657
+ "description": "Returns Bool. Requires 2-8 nodes of any type. Computed by comparing the first node with all subsequent nodes in both type and value. Returns true if type and value match for all, otherwise false."
2658
+ },
2659
+ {
2660
+ "type": "object",
2661
+ "properties": {
2662
+ "type": {
2663
+ "type": "string",
2664
+ "const": "logic_not"
2665
+ },
2666
+ "node": {
2667
+ "$ref": "#/definitions/__schema0"
2668
+ }
2669
+ },
2670
+ "required": [
2671
+ "type",
2672
+ "node"
2673
+ ],
2674
+ "additionalProperties": false,
2675
+ "description": "Returns Bool. Computed by inverting the boolean value of the child node (true -> false, false -> true)."
2676
+ },
2677
+ {
2678
+ "type": "object",
2679
+ "properties": {
2680
+ "type": {
2681
+ "type": "string",
2682
+ "const": "logic_and"
2683
+ },
2684
+ "nodes": {
2685
+ "minItems": 2,
2686
+ "maxItems": 8,
2687
+ "type": "array",
2688
+ "items": {
2689
+ "$ref": "#/definitions/__schema0"
2690
+ }
2691
+ }
2692
+ },
2693
+ "required": [
2694
+ "type",
2695
+ "nodes"
2696
+ ],
2697
+ "additionalProperties": false,
2698
+ "description": "Returns Bool. Requires 2-8 boolean nodes. Computed by performing logical AND on all child node values. Returns true if ALL are true, otherwise false."
2699
+ },
2700
+ {
2701
+ "type": "object",
2702
+ "properties": {
2703
+ "type": {
2704
+ "type": "string",
2705
+ "const": "logic_or"
2706
+ },
2707
+ "nodes": {
2708
+ "minItems": 2,
2709
+ "maxItems": 8,
2710
+ "type": "array",
2711
+ "items": {
2712
+ "$ref": "#/definitions/__schema0"
2713
+ }
2714
+ }
2715
+ },
2716
+ "required": [
2717
+ "type",
2718
+ "nodes"
2719
+ ],
2720
+ "additionalProperties": false,
2721
+ "description": "Returns Bool. Requires 2-8 boolean nodes. Computed by performing logical OR on all child node values. Returns true if ANY is true, otherwise false."
2722
+ },
2723
+ {
2724
+ "type": "object",
2725
+ "properties": {
2726
+ "type": {
2727
+ "type": "string",
2728
+ "const": "logic_string_contains"
2729
+ },
2730
+ "nodes": {
2731
+ "type": "array",
2732
+ "items": {
2733
+ "$ref": "#/definitions/__schema0"
2734
+ }
2735
+ }
2736
+ },
2737
+ "required": [
2738
+ "type",
2739
+ "nodes"
2740
+ ],
2741
+ "additionalProperties": false,
2742
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-sensitive."
2743
+ },
2744
+ {
2745
+ "type": "object",
2746
+ "properties": {
2747
+ "type": {
2748
+ "type": "string",
2749
+ "const": "logic_string_nocase_contains"
2750
+ },
2751
+ "nodes": {
2752
+ "type": "array",
2753
+ "items": {
2754
+ "$ref": "#/definitions/__schema0"
2755
+ }
2756
+ }
2757
+ },
2758
+ "required": [
2759
+ "type",
2760
+ "nodes"
2761
+ ],
2762
+ "additionalProperties": false,
2763
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-insensitive."
2764
+ },
2765
+ {
2766
+ "type": "object",
2767
+ "properties": {
2768
+ "type": {
2769
+ "type": "string",
2770
+ "const": "logic_string_nocase_equal"
2771
+ },
2772
+ "nodes": {
2773
+ "type": "array",
2774
+ "items": {
2775
+ "$ref": "#/definitions/__schema0"
2776
+ }
2777
+ }
2778
+ },
2779
+ "required": [
2780
+ "type",
2781
+ "nodes"
2782
+ ],
2783
+ "additionalProperties": false,
2784
+ "description": "Returns Bool. Requires 2-8 string nodes. Computed by comparing the first node with all subsequent nodes as strings, ignoring case. Returns true if all are equal, otherwise false."
2785
+ },
2786
+ {
2787
+ "type": "object",
2788
+ "properties": {
2789
+ "type": {
2790
+ "type": "string",
2791
+ "const": "calc_number_add"
2792
+ },
2793
+ "nodes": {
2794
+ "type": "array",
2795
+ "items": {
2796
+ "$ref": "#/definitions/__schema0"
2797
+ }
2798
+ }
2799
+ },
2800
+ "required": [
2801
+ "type",
2802
+ "nodes"
2803
+ ],
2804
+ "additionalProperties": false,
2805
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by adding the first node value with all subsequent node values in sequence (first + second + third + ...)."
2806
+ },
2807
+ {
2808
+ "type": "object",
2809
+ "properties": {
2810
+ "type": {
2811
+ "type": "string",
2812
+ "const": "calc_number_multiply"
2813
+ },
2814
+ "nodes": {
2815
+ "type": "array",
2816
+ "items": {
2817
+ "$ref": "#/definitions/__schema0"
2818
+ }
2819
+ }
2820
+ },
2821
+ "required": [
2822
+ "type",
2823
+ "nodes"
2824
+ ],
2825
+ "additionalProperties": false,
2826
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by multiplying the first node value with all subsequent node values in sequence (first * second * third * ...)."
2827
+ },
2828
+ {
2829
+ "type": "object",
2830
+ "properties": {
2831
+ "type": {
2832
+ "type": "string",
2833
+ "const": "calc_number_subtract"
2834
+ },
2835
+ "nodes": {
2836
+ "type": "array",
2837
+ "items": {
2838
+ "$ref": "#/definitions/__schema0"
2839
+ }
2840
+ }
2841
+ },
2842
+ "required": [
2843
+ "type",
2844
+ "nodes"
2845
+ ],
2846
+ "additionalProperties": false,
2847
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by subtracting the second node value from the first node value in sequence, then continuing with each subsequent node (first - second - third - ...)."
2848
+ },
2849
+ {
2850
+ "type": "object",
2851
+ "properties": {
2852
+ "type": {
2853
+ "type": "string",
2854
+ "const": "calc_number_divide"
2855
+ },
2856
+ "nodes": {
2857
+ "type": "array",
2858
+ "items": {
2859
+ "$ref": "#/definitions/__schema0"
2860
+ }
2861
+ }
2862
+ },
2863
+ "required": [
2864
+ "type",
2865
+ "nodes"
2866
+ ],
2867
+ "additionalProperties": false,
2868
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by dividing the first node value by the second node value in sequence, then continuing with each subsequent node ((first / second) / third / ...). Throws exception if any divisor is zero."
2869
+ },
2870
+ {
2871
+ "type": "object",
2872
+ "properties": {
2873
+ "type": {
2874
+ "type": "string",
2875
+ "const": "calc_number_mod"
2876
+ },
2877
+ "nodes": {
2878
+ "type": "array",
2879
+ "items": {
2880
+ "$ref": "#/definitions/__schema0"
2881
+ }
2882
+ }
2883
+ },
2884
+ "required": [
2885
+ "type",
2886
+ "nodes"
2887
+ ],
2888
+ "additionalProperties": false,
2889
+ "description": "Returns U256. Requires 2-8 numeric nodes (U8, U16, U32, U64, U128, U256). Computed by taking the remainder of dividing the first node value by the second node value in sequence, then continuing with each subsequent node ((first % second) % third % ...). Throws exception if any divisor is zero."
2890
+ },
2891
+ {
2892
+ "type": "object",
2893
+ "properties": {
2894
+ "type": {
2895
+ "type": "string",
2896
+ "const": "calc_string_length"
2897
+ },
2898
+ "node": {
2899
+ "$ref": "#/definitions/__schema0"
2900
+ }
2901
+ },
2902
+ "required": [
2903
+ "type",
2904
+ "node"
2905
+ ],
2906
+ "additionalProperties": false,
2907
+ "description": "Returns U64. Computed by getting the length (number of UTF-8 bytes) of the child node value."
2908
+ },
2909
+ {
2910
+ "type": "object",
2911
+ "properties": {
2912
+ "type": {
2913
+ "type": "string",
2914
+ "const": "calc_string_nocase_contains"
2915
+ },
2916
+ "nodes": {
2917
+ "type": "array",
2918
+ "items": {
2919
+ "$ref": "#/definitions/__schema0"
2920
+ }
2921
+ }
2922
+ },
2923
+ "required": [
2924
+ "type",
2925
+ "nodes"
2926
+ ],
2927
+ "additionalProperties": false,
2928
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-insensitive."
2929
+ },
2930
+ {
2931
+ "type": "object",
2932
+ "properties": {
2933
+ "type": {
2934
+ "type": "string",
2935
+ "const": "calc_string_nocase_equal"
2936
+ },
2937
+ "nodes": {
2938
+ "type": "array",
2939
+ "items": {
2940
+ "$ref": "#/definitions/__schema0"
2941
+ }
2942
+ }
2943
+ },
2944
+ "required": [
2945
+ "type",
2946
+ "nodes"
2947
+ ],
2948
+ "additionalProperties": false,
2949
+ "description": "Returns Bool. Requires 2-8 string nodes. Computed by comparing the first node with all subsequent nodes as strings, ignoring case. Returns true if all are equal, otherwise false."
2950
+ },
2951
+ {
2952
+ "type": "object",
2953
+ "properties": {
2954
+ "type": {
2955
+ "type": "string",
2956
+ "const": "calc_string_contains"
2957
+ },
2958
+ "nodes": {
2959
+ "type": "array",
2960
+ "items": {
2961
+ "$ref": "#/definitions/__schema0"
2962
+ }
2963
+ }
2964
+ },
2965
+ "required": [
2966
+ "type",
2967
+ "nodes"
2968
+ ],
2969
+ "additionalProperties": false,
2970
+ "description": "Returns Bool. Requires 2-8 string nodes. The first node is the haystack, all subsequent nodes are needles. Returns true if all needles are substrings of the haystack, otherwise false. Case-sensitive."
2971
+ },
2972
+ {
2973
+ "type": "object",
2974
+ "properties": {
2975
+ "type": {
2976
+ "type": "string",
2977
+ "const": "calc_string_indexof"
2978
+ },
2979
+ "nodeLeft": {
2980
+ "$ref": "#/definitions/__schema0"
2981
+ },
2982
+ "nodeRight": {
2983
+ "$ref": "#/definitions/__schema0"
2984
+ },
2985
+ "order": {
2986
+ "type": "string",
2987
+ "enum": [
2988
+ "forward",
2989
+ "backward"
2990
+ ],
2991
+ "description": "'forward' searches from start to end, 'backward' searches from end to start."
2992
+ }
2993
+ },
2994
+ "required": [
2995
+ "type",
2996
+ "nodeLeft",
2997
+ "nodeRight",
2998
+ "order"
2999
+ ],
3000
+ "additionalProperties": false,
3001
+ "description": "Returns U64. Computed by searching for the second node (needle) in the first node (haystack). Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3002
+ },
3003
+ {
3004
+ "type": "object",
3005
+ "properties": {
3006
+ "type": {
3007
+ "type": "string",
3008
+ "const": "calc_string_nocase_indexof"
3009
+ },
3010
+ "nodeLeft": {
3011
+ "$ref": "#/definitions/__schema0"
3012
+ },
3013
+ "nodeRight": {
3014
+ "$ref": "#/definitions/__schema0"
3015
+ },
3016
+ "order": {
3017
+ "type": "string",
3018
+ "enum": [
3019
+ "forward",
3020
+ "backward"
3021
+ ],
3022
+ "description": "'forward' searches from start to end, 'backward' searches from end to start."
3023
+ }
3024
+ },
3025
+ "required": [
3026
+ "type",
3027
+ "nodeLeft",
3028
+ "nodeRight",
3029
+ "order"
3030
+ ],
3031
+ "additionalProperties": false,
3032
+ "description": "Returns U64. Computed by searching for the second node (needle) in the first node (haystack), ignoring case. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3033
+ },
3034
+ {
3035
+ "type": "object",
3036
+ "properties": {
3037
+ "type": {
3038
+ "type": "string",
3039
+ "const": "convert_number_address"
3040
+ },
3041
+ "node": {
3042
+ "$ref": "#/definitions/__schema0"
3043
+ }
3044
+ },
3045
+ "required": [
3046
+ "type",
3047
+ "node"
3048
+ ],
3049
+ "additionalProperties": false,
3050
+ "description": "Returns Address. Computed by converting the child node value from number type to Address type."
3051
+ },
3052
+ {
3053
+ "type": "object",
3054
+ "properties": {
3055
+ "type": {
3056
+ "type": "string",
3057
+ "const": "convert_address_number"
3058
+ },
3059
+ "node": {
3060
+ "$ref": "#/definitions/__schema0"
3061
+ }
3062
+ },
3063
+ "required": [
3064
+ "type",
3065
+ "node"
3066
+ ],
3067
+ "additionalProperties": false,
3068
+ "description": "Returns U256. Computed by converting the child node value from Address type to number type."
3069
+ },
3070
+ {
3071
+ "type": "object",
3072
+ "properties": {
3073
+ "type": {
3074
+ "type": "string",
3075
+ "const": "convert_number_string"
3076
+ },
3077
+ "node": {
3078
+ "$ref": "#/definitions/__schema0"
3079
+ }
3080
+ },
3081
+ "required": [
3082
+ "type",
3083
+ "node"
3084
+ ],
3085
+ "additionalProperties": false,
3086
+ "description": "Returns String. Computed by converting the child node value from number type to string type."
3087
+ },
3088
+ {
3089
+ "type": "object",
3090
+ "properties": {
3091
+ "type": {
3092
+ "type": "string",
3093
+ "const": "convert_string_number"
3094
+ },
3095
+ "node": {
3096
+ "$ref": "#/definitions/__schema0"
3097
+ }
3098
+ },
3099
+ "required": [
3100
+ "type",
3101
+ "node"
3102
+ ],
3103
+ "additionalProperties": false,
3104
+ "description": "Returns U256. Computed by parsing the child node value as a number. Throws exception if the string is not a valid number."
3105
+ },
3106
+ {
3107
+ "type": "object",
3108
+ "properties": {
3109
+ "type": {
3110
+ "type": "string",
3111
+ "const": "convert_safe_u8"
3112
+ },
3113
+ "node": {
3114
+ "$ref": "#/definitions/__schema0"
3115
+ }
3116
+ },
3117
+ "required": [
3118
+ "type",
3119
+ "node"
3120
+ ],
3121
+ "additionalProperties": false,
3122
+ "description": "Returns U8. Computed by converting the child node value to U8. Throws exception if value is out of U8 range (0-255)."
3123
+ },
3124
+ {
3125
+ "type": "object",
3126
+ "properties": {
3127
+ "type": {
3128
+ "type": "string",
3129
+ "const": "convert_safe_u16"
3130
+ },
3131
+ "node": {
3132
+ "$ref": "#/definitions/__schema0"
3133
+ }
3134
+ },
3135
+ "required": [
3136
+ "type",
3137
+ "node"
3138
+ ],
3139
+ "additionalProperties": false,
3140
+ "description": "Returns U16. Computed by converting the child node value to U16. Throws exception if value is out of U16 range (0-65535)."
3141
+ },
3142
+ {
3143
+ "type": "object",
3144
+ "properties": {
3145
+ "type": {
3146
+ "type": "string",
3147
+ "const": "convert_safe_u32"
3148
+ },
3149
+ "node": {
3150
+ "$ref": "#/definitions/__schema0"
3151
+ }
3152
+ },
3153
+ "required": [
3154
+ "type",
3155
+ "node"
3156
+ ],
3157
+ "additionalProperties": false,
3158
+ "description": "Returns U32. Computed by converting the child node value to U32. Throws exception if value is out of U32 range."
3159
+ },
3160
+ {
3161
+ "type": "object",
3162
+ "properties": {
3163
+ "type": {
3164
+ "type": "string",
3165
+ "const": "convert_safe_u64"
3166
+ },
3167
+ "node": {
3168
+ "$ref": "#/definitions/__schema0"
3169
+ }
3170
+ },
3171
+ "required": [
3172
+ "type",
3173
+ "node"
3174
+ ],
3175
+ "additionalProperties": false,
3176
+ "description": "Returns U64. Computed by converting the child node value to U64. Throws exception if value is out of U64 range."
3177
+ },
3178
+ {
3179
+ "type": "object",
3180
+ "properties": {
3181
+ "type": {
3182
+ "type": "string",
3183
+ "const": "convert_safe_u128"
3184
+ },
3185
+ "node": {
3186
+ "$ref": "#/definitions/__schema0"
3187
+ }
3188
+ },
3189
+ "required": [
3190
+ "type",
3191
+ "node"
3192
+ ],
3193
+ "additionalProperties": false,
3194
+ "description": "Returns U128. Computed by converting the child node value to U128. Throws exception if value is out of U128 range."
3195
+ },
3196
+ {
3197
+ "type": "object",
3198
+ "properties": {
3199
+ "type": {
3200
+ "type": "string",
3201
+ "const": "convert_safe_u256"
3202
+ },
3203
+ "node": {
3204
+ "$ref": "#/definitions/__schema0"
3205
+ }
3206
+ },
3207
+ "required": [
3208
+ "type",
3209
+ "node"
3210
+ ],
3211
+ "additionalProperties": false,
3212
+ "description": "Returns U256. Computed by converting the child node value to U256."
3213
+ },
3214
+ {
3215
+ "type": "object",
3216
+ "properties": {
3217
+ "type": {
3218
+ "type": "string",
3219
+ "const": "value_type"
3220
+ },
3221
+ "node": {
3222
+ "$ref": "#/definitions/__schema0"
3223
+ }
3224
+ },
3225
+ "required": [
3226
+ "type",
3227
+ "node"
3228
+ ],
3229
+ "additionalProperties": false,
3230
+ "description": "Returns U8. Computed by getting the type identifier (ValueType) of the child node value. Value type: can be specified as a string name (e.g., 'U64', 'Address', 'String') or a number (0-18). Supported types: Bool=0/'Bool', Address=1/'Address', String=2/'String', U8=3/'U8', U16=4/'U16', U32=5/'U32', U64=6/'U64', U128=7/'U128', U256=8/'U256', VecBool=9/'VecBool', VecAddress=10/'VecAddress', VecString=11/'VecString', VecU8=12/'VecU8', VecU16=13/'VecU16', VecU32=14/'VecU32', VecU64=15/'VecU64', VecU128=16/'VecU128', VecU256=17/'VecU256', VecVecU8=18/'VecVecU8'. Note: Value=19 is an INTERNAL type for wowok system use only and should NOT be used directly by users. String format is recommended for better readability."
3231
+ },
3232
+ {
3233
+ "type": "object",
3234
+ "properties": {
3235
+ "type": {
3236
+ "type": "string",
3237
+ "const": "vec_length"
3238
+ },
3239
+ "node": {
3240
+ "$ref": "#/definitions/__schema0"
3241
+ }
3242
+ },
3243
+ "required": [
3244
+ "type",
3245
+ "node"
3246
+ ],
3247
+ "additionalProperties": false,
3248
+ "description": "Returns U64. Computed by getting the length of the vector in the child node value. Child node must be one of Vec types: VecBool=9, VecAddress=10, VecString=11, VecU8=12, VecU16=13, VecU32=14, VecU64=15, VecU128=16, VecU256=17, VecVecU8=18, Value=19."
3249
+ },
3250
+ {
3251
+ "type": "object",
3252
+ "properties": {
3253
+ "type": {
3254
+ "type": "string",
3255
+ "const": "vec_contains_bool"
3256
+ },
3257
+ "nodes": {
3258
+ "type": "array",
3259
+ "items": {
3260
+ "$ref": "#/definitions/__schema0"
3261
+ },
3262
+ "description": "2 to 8 nodes required. First node must be VecBool (ValueType=9) or Value (ValueType=19), remaining nodes must be Bool (ValueType=0) or Value (ValueType=19)."
3263
+ }
3264
+ },
3265
+ "required": [
3266
+ "type",
3267
+ "nodes"
3268
+ ],
3269
+ "additionalProperties": false,
3270
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL boolean values (subsequent nodes)."
3271
+ },
3272
+ {
3273
+ "type": "object",
3274
+ "properties": {
3275
+ "type": {
3276
+ "type": "string",
3277
+ "const": "vec_contains_address"
3278
+ },
3279
+ "nodes": {
3280
+ "type": "array",
3281
+ "items": {
3282
+ "$ref": "#/definitions/__schema0"
3283
+ },
3284
+ "description": "2 to 8 nodes required. First node must be VecAddress (ValueType=10) or Value (ValueType=19), remaining nodes must be Address (ValueType=1) or Value (ValueType=19)."
3285
+ }
3286
+ },
3287
+ "required": [
3288
+ "type",
3289
+ "nodes"
3290
+ ],
3291
+ "additionalProperties": false,
3292
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL address values (subsequent nodes)."
3293
+ },
3294
+ {
3295
+ "type": "object",
3296
+ "properties": {
3297
+ "type": {
3298
+ "type": "string",
3299
+ "const": "vec_contains_string"
3300
+ },
3301
+ "nodes": {
3302
+ "type": "array",
3303
+ "items": {
3304
+ "$ref": "#/definitions/__schema0"
3305
+ },
3306
+ "description": "2 to 8 nodes required. First node must be VecString (ValueType=11) or Value (ValueType=19), remaining nodes must be String (ValueType=2) or Value (ValueType=19)."
3307
+ }
3308
+ },
3309
+ "required": [
3310
+ "type",
3311
+ "nodes"
3312
+ ],
3313
+ "additionalProperties": false,
3314
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL string values (subsequent nodes)."
3315
+ },
3316
+ {
3317
+ "type": "object",
3318
+ "properties": {
3319
+ "type": {
3320
+ "type": "string",
3321
+ "const": "vec_contains_string_nocase"
3322
+ },
3323
+ "nodes": {
3324
+ "type": "array",
3325
+ "items": {
3326
+ "$ref": "#/definitions/__schema0"
3327
+ },
3328
+ "description": "2 to 8 nodes required. First node must be VecString (ValueType=11) or Value (ValueType=19), remaining nodes must be String (ValueType=2) or Value (ValueType=19)."
3329
+ }
3330
+ },
3331
+ "required": [
3332
+ "type",
3333
+ "nodes"
3334
+ ],
3335
+ "additionalProperties": false,
3336
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL string values (subsequent nodes), using case-insensitive comparison."
3337
+ },
3338
+ {
3339
+ "type": "object",
3340
+ "properties": {
3341
+ "type": {
3342
+ "type": "string",
3343
+ "const": "vec_contains_number"
3344
+ },
3345
+ "nodes": {
3346
+ "type": "array",
3347
+ "items": {
3348
+ "$ref": "#/definitions/__schema0"
3349
+ },
3350
+ "description": "2 to 8 nodes required. First node must be VecU8 (12), VecU16 (13), VecU32 (14), VecU64 (15), VecU128 (16), VecU256 (17) or Value (ValueType=19), remaining nodes must be U8 (3), U16 (4), U32 (5), U64 (6), U128 (7), U256 (8) or Value (ValueType=19)."
3351
+ }
3352
+ },
3353
+ "required": [
3354
+ "type",
3355
+ "nodes"
3356
+ ],
3357
+ "additionalProperties": false,
3358
+ "description": "Returns Bool. Computed by checking if the vector (first node) contains ALL number values (subsequent nodes)."
3359
+ },
3360
+ {
3361
+ "type": "object",
3362
+ "properties": {
3363
+ "type": {
3364
+ "type": "string",
3365
+ "const": "vec_indexof_bool"
3366
+ },
3367
+ "nodeLeft": {
3368
+ "$ref": "#/definitions/__schema0"
3369
+ },
3370
+ "nodeRight": {
3371
+ "$ref": "#/definitions/__schema0"
3372
+ },
3373
+ "order": {
3374
+ "type": "string",
3375
+ "enum": [
3376
+ "forward",
3377
+ "backward"
3378
+ ],
3379
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
3380
+ }
3381
+ },
3382
+ "required": [
3383
+ "type",
3384
+ "nodeLeft",
3385
+ "nodeRight",
3386
+ "order"
3387
+ ],
3388
+ "additionalProperties": false,
3389
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecBool (ValueType=9) or Value (ValueType=19) type, nodeRight must be Bool (ValueType=0) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3390
+ },
3391
+ {
3392
+ "type": "object",
3393
+ "properties": {
3394
+ "type": {
3395
+ "type": "string",
3396
+ "const": "vec_indexof_address"
3397
+ },
3398
+ "nodeLeft": {
3399
+ "$ref": "#/definitions/__schema0"
3400
+ },
3401
+ "nodeRight": {
3402
+ "$ref": "#/definitions/__schema0"
3403
+ },
3404
+ "order": {
3405
+ "type": "string",
3406
+ "enum": [
3407
+ "forward",
3408
+ "backward"
3409
+ ],
3410
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
3411
+ }
3412
+ },
3413
+ "required": [
3414
+ "type",
3415
+ "nodeLeft",
3416
+ "nodeRight",
3417
+ "order"
3418
+ ],
3419
+ "additionalProperties": false,
3420
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecAddress (ValueType=10) or Value (ValueType=19) type, nodeRight must be Address (ValueType=1) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3421
+ },
3422
+ {
3423
+ "type": "object",
3424
+ "properties": {
3425
+ "type": {
3426
+ "type": "string",
3427
+ "const": "vec_indexof_string"
3428
+ },
3429
+ "nodeLeft": {
3430
+ "$ref": "#/definitions/__schema0"
3431
+ },
3432
+ "nodeRight": {
3433
+ "$ref": "#/definitions/__schema0"
3434
+ },
3435
+ "order": {
3436
+ "type": "string",
3437
+ "enum": [
3438
+ "forward",
3439
+ "backward"
3440
+ ],
3441
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
3442
+ }
3443
+ },
3444
+ "required": [
3445
+ "type",
3446
+ "nodeLeft",
3447
+ "nodeRight",
3448
+ "order"
3449
+ ],
3450
+ "additionalProperties": false,
3451
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecString (ValueType=11) or Value (ValueType=19) type, nodeRight must be String (ValueType=2) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3452
+ },
3453
+ {
3454
+ "type": "object",
3455
+ "properties": {
3456
+ "type": {
3457
+ "type": "string",
3458
+ "const": "vec_indexof_string_nocase"
3459
+ },
3460
+ "nodeLeft": {
3461
+ "$ref": "#/definitions/__schema0"
3462
+ },
3463
+ "nodeRight": {
3464
+ "$ref": "#/definitions/__schema0"
3465
+ },
3466
+ "order": {
3467
+ "type": "string",
3468
+ "enum": [
3469
+ "forward",
3470
+ "backward"
3471
+ ],
3472
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
3473
+ }
3474
+ },
3475
+ "required": [
3476
+ "type",
3477
+ "nodeLeft",
3478
+ "nodeRight",
3479
+ "order"
3480
+ ],
3481
+ "additionalProperties": false,
3482
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node), using case-insensitive comparison. nodeLeft must be VecString (ValueType=11) or Value (ValueType=19) type, nodeRight must be String (ValueType=2) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3483
+ },
3484
+ {
3485
+ "type": "object",
3486
+ "properties": {
3487
+ "type": {
3488
+ "type": "string",
3489
+ "const": "vec_indexof_number"
3490
+ },
3491
+ "nodeLeft": {
3492
+ "$ref": "#/definitions/__schema0"
3493
+ },
3494
+ "nodeRight": {
3495
+ "$ref": "#/definitions/__schema0"
3496
+ },
3497
+ "order": {
3498
+ "type": "string",
3499
+ "enum": [
3500
+ "forward",
3501
+ "backward"
3502
+ ],
3503
+ "description": "'forward' searches from index 0, 'backward' searches from last index."
3504
+ }
3505
+ },
3506
+ "required": [
3507
+ "type",
3508
+ "nodeLeft",
3509
+ "nodeRight",
3510
+ "order"
3511
+ ],
3512
+ "additionalProperties": false,
3513
+ "description": "Returns U64. Computed by searching for the second node value in the vector (first node). nodeLeft must be VecU8 (12), VecU16 (13), VecU32 (14), VecU64 (15), VecU128 (16), VecU256 (17) or Value (ValueType=19) type, nodeRight must be U8 (3), U16 (4), U32 (5), U64 (6), U128 (7), U256 (8) or Value (ValueType=19) type. Returns index of first occurrence in the specified direction. If not found, returns u64::MAX (18446744073709551615)."
3514
+ },
3515
+ {
3516
+ "type": "object",
3517
+ "properties": {
3518
+ "type": {
3519
+ "type": "string",
3520
+ "const": "context"
3521
+ },
3522
+ "context": {
3523
+ "type": "string",
3524
+ "enum": [
3525
+ "Signer",
3526
+ "Clock",
3527
+ "Guard"
3528
+ ],
3529
+ "description": "System context type: Signer returns transaction sender address (Address), Clock returns current on-chain timestamp (U64), Guard returns current Guard object ID (Address)."
3530
+ }
3531
+ },
3532
+ "required": [
3533
+ "type",
3534
+ "context"
3535
+ ],
3536
+ "additionalProperties": false,
3537
+ "description": "Signer returns transaction sender address (Address), Clock returns current on-chain timestamp (U64), Guard returns current Guard object ID (Address)."
3538
+ },
3539
+ {
3540
+ "type": "object",
3541
+ "properties": {
3542
+ "type": {
3543
+ "type": "string",
3544
+ "const": "query_reward_record_find"
3545
+ },
3546
+ "object": {
3547
+ "type": "object",
3548
+ "properties": {
3549
+ "identifier": {
3550
+ "type": "integer",
3551
+ "minimum": 0,
3552
+ "maximum": 255,
3553
+ "description": "Identifier (0-255) for data lookup in Guard table."
3554
+ }
3555
+ },
3556
+ "required": [
3557
+ "identifier"
3558
+ ],
3559
+ "additionalProperties": false,
3560
+ "description": "Reference to the Reward object in the Guard table (must be Address type)."
3561
+ },
3562
+ "find": {
3563
+ "type": "string",
3564
+ "enum": [
3565
+ "first",
3566
+ "last"
3567
+ ],
3568
+ "description": "'first' finds the earliest matching record, 'last' finds the most recent matching record."
3569
+ },
3570
+ "recipient": {
3571
+ "description": "Optional: Identifier reference to the recipient address in the Guard table (must be Address type). If not specified, uses the transaction signer address.",
3572
+ "type": "object",
3573
+ "properties": {
3574
+ "identifier": {
3575
+ "type": "integer",
3576
+ "minimum": 0,
3577
+ "maximum": 255,
3578
+ "description": "Identifier (0-255) for data lookup in Guard table."
3579
+ }
3580
+ },
3581
+ "required": [
3582
+ "identifier"
3583
+ ],
3584
+ "additionalProperties": false
3585
+ },
3586
+ "where": {
3587
+ "type": "object",
3588
+ "properties": {
3589
+ "guard": {
3590
+ "description": "Optional filter: Guard object address constant to match.",
3591
+ "type": "string"
3592
+ },
3593
+ "timeMin": {
3594
+ "description": "Optional filter: minimum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
3595
+ "type": "string"
3596
+ },
3597
+ "timeMax": {
3598
+ "description": "Optional filter: maximum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
3599
+ "type": "string"
3600
+ },
3601
+ "amountMin": {
3602
+ "description": "Optional filter: minimum reward amount (inclusive). Use string to represent U64 value.",
3603
+ "type": "string"
3604
+ },
3605
+ "amountMax": {
3606
+ "description": "Optional filter: maximum reward amount (inclusive). Use string to represent U64 value.",
3607
+ "type": "string"
3608
+ },
3609
+ "storeFromId": {
3610
+ "description": "Optional filter: identifier reference to the store_from_id address in the Guard table (must be Address type). If not specified, the store_from_id field is ignored during matching. The server resolves this identifier to the actual address from the Guard table constants.",
3611
+ "type": "object",
3612
+ "properties": {
3613
+ "identifier": {
3614
+ "type": "integer",
3615
+ "minimum": 0,
3616
+ "maximum": 255,
3617
+ "description": "Identifier (0-255) for data lookup in Guard table."
3618
+ }
3619
+ },
3620
+ "required": [
3621
+ "identifier"
3622
+ ],
3623
+ "additionalProperties": false
3624
+ }
3625
+ },
3626
+ "additionalProperties": false,
3627
+ "description": "Filter conditions for the reward record query."
3628
+ }
3629
+ },
3630
+ "required": [
3631
+ "type",
3632
+ "object",
3633
+ "find",
3634
+ "where"
3635
+ ],
3636
+ "additionalProperties": false,
3637
+ "description": "Returns U64. Finds the index of the first or last reward record matching the specified recipient and filter conditions. Returns the record index (U64) if found. Throws error if no matching record is found (Guard validation fails). If recipient is not specified, uses the transaction signer address."
3638
+ },
3639
+ {
3640
+ "type": "object",
3641
+ "properties": {
3642
+ "type": {
3643
+ "type": "string",
3644
+ "const": "query_reward_record_count"
3645
+ },
3646
+ "object": {
3647
+ "type": "object",
3648
+ "properties": {
3649
+ "identifier": {
3650
+ "type": "integer",
3651
+ "minimum": 0,
3652
+ "maximum": 255,
3653
+ "description": "Identifier (0-255) for data lookup in Guard table."
3654
+ }
3655
+ },
3656
+ "required": [
3657
+ "identifier"
3658
+ ],
3659
+ "additionalProperties": false,
3660
+ "description": "Reference to the Reward object in the Guard table (must be Address type)."
3661
+ },
3662
+ "recipient": {
3663
+ "description": "Optional: Identifier reference to the recipient address in the Guard table (must be Address type). If not specified, uses the transaction signer address.",
3664
+ "type": "object",
3665
+ "properties": {
3666
+ "identifier": {
3667
+ "type": "integer",
3668
+ "minimum": 0,
3669
+ "maximum": 255,
3670
+ "description": "Identifier (0-255) for data lookup in Guard table."
3671
+ }
3672
+ },
3673
+ "required": [
3674
+ "identifier"
3675
+ ],
3676
+ "additionalProperties": false
3677
+ },
3678
+ "where": {
3679
+ "type": "object",
3680
+ "properties": {
3681
+ "guard": {
3682
+ "description": "Optional filter: Guard object address constant to match.",
3683
+ "type": "string"
3684
+ },
3685
+ "timeMin": {
3686
+ "description": "Optional filter: minimum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
3687
+ "type": "string"
3688
+ },
3689
+ "timeMax": {
3690
+ "description": "Optional filter: maximum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
3691
+ "type": "string"
3692
+ },
3693
+ "amountMin": {
3694
+ "description": "Optional filter: minimum reward amount (inclusive). Use string to represent U64 value.",
3695
+ "type": "string"
3696
+ },
3697
+ "amountMax": {
3698
+ "description": "Optional filter: maximum reward amount (inclusive). Use string to represent U64 value.",
3699
+ "type": "string"
3700
+ },
3701
+ "storeFromId": {
3702
+ "description": "Optional filter: identifier reference to the store_from_id address in the Guard table (must be Address type). If not specified, the store_from_id field is ignored during matching. The server resolves this identifier to the actual address from the Guard table constants.",
3703
+ "type": "object",
3704
+ "properties": {
3705
+ "identifier": {
3706
+ "type": "integer",
3707
+ "minimum": 0,
3708
+ "maximum": 255,
3709
+ "description": "Identifier (0-255) for data lookup in Guard table."
3710
+ }
3711
+ },
3712
+ "required": [
3713
+ "identifier"
3714
+ ],
3715
+ "additionalProperties": false
3716
+ }
3717
+ },
3718
+ "additionalProperties": false,
3719
+ "description": "Filter conditions for the reward record count query."
3720
+ }
3721
+ },
3722
+ "required": [
3723
+ "type",
3724
+ "object",
3725
+ "where"
3726
+ ],
3727
+ "additionalProperties": false,
3728
+ "description": "Returns U64. Counts the number of reward records matching the specified recipient and filter conditions. If recipient is not specified, uses the transaction signer address."
3729
+ },
3730
+ {
3731
+ "type": "object",
3732
+ "properties": {
3733
+ "type": {
3734
+ "type": "string",
3735
+ "const": "query_reward_record_exists"
3736
+ },
3737
+ "object": {
3738
+ "type": "object",
3739
+ "properties": {
3740
+ "identifier": {
3741
+ "type": "integer",
3742
+ "minimum": 0,
3743
+ "maximum": 255,
3744
+ "description": "Identifier (0-255) for data lookup in Guard table."
3745
+ }
3746
+ },
3747
+ "required": [
3748
+ "identifier"
3749
+ ],
3750
+ "additionalProperties": false,
3751
+ "description": "Reference to the Reward object in the Guard table (must be Address type)."
3752
+ },
3753
+ "recipient": {
3754
+ "description": "Optional: Identifier reference to the recipient address in the Guard table (must be Address type). If not specified, uses the transaction signer address.",
3755
+ "type": "object",
3756
+ "properties": {
3757
+ "identifier": {
3758
+ "type": "integer",
3759
+ "minimum": 0,
3760
+ "maximum": 255,
3761
+ "description": "Identifier (0-255) for data lookup in Guard table."
3762
+ }
3763
+ },
3764
+ "required": [
3765
+ "identifier"
3766
+ ],
3767
+ "additionalProperties": false
3768
+ },
3769
+ "where": {
3770
+ "type": "object",
3771
+ "properties": {
3772
+ "guard": {
3773
+ "description": "Optional filter: Guard object address constant to match.",
3774
+ "type": "string"
3775
+ },
3776
+ "timeMin": {
3777
+ "description": "Optional filter: minimum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
3778
+ "type": "string"
3779
+ },
3780
+ "timeMax": {
3781
+ "description": "Optional filter: maximum timestamp (inclusive) for record creation time. Use string to represent U64 value.",
3782
+ "type": "string"
3783
+ },
3784
+ "amountMin": {
3785
+ "description": "Optional filter: minimum reward amount (inclusive). Use string to represent U64 value.",
3786
+ "type": "string"
3787
+ },
3788
+ "amountMax": {
3789
+ "description": "Optional filter: maximum reward amount (inclusive). Use string to represent U64 value.",
3790
+ "type": "string"
3791
+ },
3792
+ "storeFromId": {
3793
+ "description": "Optional filter: identifier reference to the store_from_id address in the Guard table (must be Address type). If not specified, the store_from_id field is ignored during matching. The server resolves this identifier to the actual address from the Guard table constants.",
3794
+ "type": "object",
3795
+ "properties": {
3796
+ "identifier": {
3797
+ "type": "integer",
3798
+ "minimum": 0,
3799
+ "maximum": 255,
3800
+ "description": "Identifier (0-255) for data lookup in Guard table."
3801
+ }
3802
+ },
3803
+ "required": [
3804
+ "identifier"
3805
+ ],
3806
+ "additionalProperties": false
3807
+ }
3808
+ },
3809
+ "additionalProperties": false,
3810
+ "description": "Filter conditions for the reward record existence query."
3811
+ }
3812
+ },
3813
+ "required": [
3814
+ "type",
3815
+ "object",
3816
+ "where"
3817
+ ],
3818
+ "additionalProperties": false,
3819
+ "description": "Returns Bool. Returns true if at least one reward record exists matching the specified recipient and filter conditions, otherwise false. If recipient is not specified, uses the transaction signer address."
3820
+ },
3821
+ {
3822
+ "type": "object",
3823
+ "properties": {
3824
+ "type": {
3825
+ "type": "string",
3826
+ "const": "query_progress_history_find"
3827
+ },
3828
+ "object": {
3829
+ "type": "object",
3830
+ "properties": {
3831
+ "identifier": {
3832
+ "type": "integer",
3833
+ "minimum": 0,
3834
+ "maximum": 255,
3835
+ "description": "Identifier (0-255) for data lookup in Guard table."
3836
+ }
3837
+ },
3838
+ "required": [
3839
+ "identifier"
3840
+ ],
3841
+ "additionalProperties": false,
3842
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
3843
+ },
3844
+ "where": {
3845
+ "type": "object",
3846
+ "properties": {
3847
+ "node": {
3848
+ "description": "Optional filter: node name string to match.",
3849
+ "type": "string"
3850
+ },
3851
+ "nextNode": {
3852
+ "description": "Optional filter: next node name string to match.",
3853
+ "type": "string"
3854
+ },
3855
+ "timeMin": {
3856
+ "description": "Optional filter: minimum timestamp (inclusive) for history entry time. Use string to represent U64 value.",
3857
+ "type": "string"
3858
+ },
3859
+ "timeMax": {
3860
+ "description": "Optional filter: maximum timestamp (inclusive) for history entry time. Use string to represent U64 value.",
3861
+ "type": "string"
3862
+ },
3863
+ "indexMin": {
3864
+ "description": "Optional filter: minimum history index (inclusive) to search within. Use string to represent U64 value.",
3865
+ "type": "string"
3866
+ },
3867
+ "indexMax": {
3868
+ "description": "Optional filter: maximum history index (inclusive) to search within. Use string to represent U64 value.",
3869
+ "type": "string"
3870
+ }
3871
+ },
3872
+ "additionalProperties": false,
3873
+ "description": "Filter conditions for the progress history query."
3874
+ },
3875
+ "find": {
3876
+ "type": "string",
3877
+ "enum": [
3878
+ "first",
3879
+ "last"
3880
+ ],
3881
+ "description": "'first' finds the earliest matching history entry, 'last' finds the most recent matching history entry."
3882
+ }
3883
+ },
3884
+ "required": [
3885
+ "type",
3886
+ "object",
3887
+ "where",
3888
+ "find"
3889
+ ],
3890
+ "additionalProperties": false,
3891
+ "description": "Returns U64. Finds the index of the first or last history entry matching the filter conditions. Returns the history index (U64) if found. Throws error if no matching entry is found (Guard validation fails)."
3892
+ },
3893
+ {
3894
+ "type": "object",
3895
+ "properties": {
3896
+ "type": {
3897
+ "type": "string",
3898
+ "const": "query_progress_history_session_find"
3899
+ },
3900
+ "object": {
3901
+ "type": "object",
3902
+ "properties": {
3903
+ "identifier": {
3904
+ "type": "integer",
3905
+ "minimum": 0,
3906
+ "maximum": 255,
3907
+ "description": "Identifier (0-255) for data lookup in Guard table."
3908
+ }
3909
+ },
3910
+ "required": [
3911
+ "identifier"
3912
+ ],
3913
+ "additionalProperties": false,
3914
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
3915
+ },
3916
+ "historyIdx": {
3917
+ "description": "GuardNode that returns the history index (U64 type) to search within. Typically an 'identifier' node referencing a U64 value from the Guard table.",
3918
+ "allOf": [
3919
+ {
3920
+ "$ref": "#/definitions/__schema1"
3921
+ }
3922
+ ],
3923
+ "$ref": "#/definitions/__schema0"
3924
+ },
3925
+ "where": {
3926
+ "type": "object",
3927
+ "properties": {
3928
+ "nextNode": {
3929
+ "description": "Optional filter: next node name string to match.",
3930
+ "type": "string"
3931
+ }
3932
+ },
3933
+ "additionalProperties": false,
3934
+ "description": "Filter conditions for the progress history session query."
3935
+ },
3936
+ "find": {
3937
+ "type": "string",
3938
+ "enum": [
3939
+ "first",
3940
+ "last"
3941
+ ],
3942
+ "description": "'first' finds the earliest matching session, 'last' finds the most recent matching session."
3943
+ }
3944
+ },
3945
+ "required": [
3946
+ "type",
3947
+ "object",
3948
+ "historyIdx",
3949
+ "where",
3950
+ "find"
3951
+ ],
3952
+ "additionalProperties": false,
3953
+ "description": "Returns U64. Finds the index of the first or last session within the specified history entry matching the filter conditions. Returns the session index (U64) if found. Throws error if no matching session is found (Guard validation fails)."
3954
+ },
3955
+ {
3956
+ "type": "object",
3957
+ "properties": {
3958
+ "type": {
3959
+ "type": "string",
3960
+ "const": "query_progress_history_session_forward_find"
3961
+ },
3962
+ "object": {
3963
+ "type": "object",
3964
+ "properties": {
3965
+ "identifier": {
3966
+ "type": "integer",
3967
+ "minimum": 0,
3968
+ "maximum": 255,
3969
+ "description": "Identifier (0-255) for data lookup in Guard table."
3970
+ }
3971
+ },
3972
+ "required": [
3973
+ "identifier"
3974
+ ],
3975
+ "additionalProperties": false,
3976
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
3977
+ },
3978
+ "historyIdx": {
3979
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
3980
+ "allOf": [
3981
+ {
3982
+ "$ref": "#/definitions/__schema1"
3983
+ }
3984
+ ],
3985
+ "$ref": "#/definitions/__schema0"
3986
+ },
3987
+ "sessionIdx": {
3988
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
3989
+ "allOf": [
3990
+ {
3991
+ "$ref": "#/definitions/__schema1"
3992
+ }
3993
+ ],
3994
+ "$ref": "#/definitions/__schema0"
3995
+ },
3996
+ "where": {
3997
+ "type": "object",
3998
+ "properties": {
3999
+ "who": {
4000
+ "description": "Optional filter: operator address string to match.",
4001
+ "type": "string"
4002
+ },
4003
+ "operation": {
4004
+ "description": "Optional filter: operation name string to match.",
4005
+ "type": "string"
4006
+ },
4007
+ "accomplished": {
4008
+ "description": "Optional filter: whether the forward operation was accomplished.",
4009
+ "type": "boolean"
4010
+ },
4011
+ "timeMin": {
4012
+ "description": "Optional filter: minimum timestamp (inclusive) for forward operation time. Use string to represent U64 value.",
4013
+ "type": "string"
4014
+ },
4015
+ "timeMax": {
4016
+ "description": "Optional filter: maximum timestamp (inclusive) for forward operation time. Use string to represent U64 value.",
4017
+ "type": "string"
4018
+ }
4019
+ },
4020
+ "additionalProperties": false,
4021
+ "description": "Filter conditions for the progress history session forward query."
4022
+ },
4023
+ "find": {
4024
+ "type": "string",
4025
+ "enum": [
4026
+ "first",
4027
+ "last"
4028
+ ],
4029
+ "description": "'first' finds the earliest matching forward operation, 'last' finds the most recent matching forward operation."
4030
+ }
4031
+ },
4032
+ "required": [
4033
+ "type",
4034
+ "object",
4035
+ "historyIdx",
4036
+ "sessionIdx",
4037
+ "where",
4038
+ "find"
4039
+ ],
4040
+ "additionalProperties": false,
4041
+ "description": "Returns U64. Finds the index of the first or last forward operation within the specified history session matching the filter conditions. Returns the forward index (U64) if found. Throws error if no matching forward operation is found (Guard validation fails)."
4042
+ },
4043
+ {
4044
+ "type": "object",
4045
+ "properties": {
4046
+ "type": {
4047
+ "type": "string",
4048
+ "const": "query_progress_history_session_count"
4049
+ },
4050
+ "object": {
4051
+ "type": "object",
4052
+ "properties": {
4053
+ "identifier": {
4054
+ "type": "integer",
4055
+ "minimum": 0,
4056
+ "maximum": 255,
4057
+ "description": "Identifier (0-255) for data lookup in Guard table."
4058
+ }
4059
+ },
4060
+ "required": [
4061
+ "identifier"
4062
+ ],
4063
+ "additionalProperties": false,
4064
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
4065
+ },
4066
+ "historyIdx": {
4067
+ "description": "GuardNode that returns the history index (U64 type) to count sessions for. Typically an 'identifier' node referencing a U64 value from the Guard table.",
4068
+ "allOf": [
4069
+ {
4070
+ "$ref": "#/definitions/__schema1"
4071
+ }
4072
+ ],
4073
+ "$ref": "#/definitions/__schema0"
4074
+ }
4075
+ },
4076
+ "required": [
4077
+ "type",
4078
+ "object",
4079
+ "historyIdx"
4080
+ ],
4081
+ "additionalProperties": false,
4082
+ "description": "Returns U64. Counts the number of sessions within the specified history entry."
4083
+ },
4084
+ {
4085
+ "type": "object",
4086
+ "properties": {
4087
+ "type": {
4088
+ "type": "string",
4089
+ "const": "query_progress_history_session_forward_count"
4090
+ },
4091
+ "object": {
4092
+ "type": "object",
4093
+ "properties": {
4094
+ "identifier": {
4095
+ "type": "integer",
4096
+ "minimum": 0,
4097
+ "maximum": 255,
4098
+ "description": "Identifier (0-255) for data lookup in Guard table."
4099
+ }
4100
+ },
4101
+ "required": [
4102
+ "identifier"
4103
+ ],
4104
+ "additionalProperties": false,
4105
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
4106
+ },
4107
+ "historyIdx": {
4108
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
4109
+ "allOf": [
4110
+ {
4111
+ "$ref": "#/definitions/__schema1"
4112
+ }
4113
+ ],
4114
+ "$ref": "#/definitions/__schema0"
4115
+ },
4116
+ "sessionIdx": {
4117
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
4118
+ "allOf": [
4119
+ {
4120
+ "$ref": "#/definitions/__schema1"
4121
+ }
4122
+ ],
4123
+ "$ref": "#/definitions/__schema0"
4124
+ }
4125
+ },
4126
+ "required": [
4127
+ "type",
4128
+ "object",
4129
+ "historyIdx",
4130
+ "sessionIdx"
4131
+ ],
4132
+ "additionalProperties": false,
4133
+ "description": "Returns U64. Counts the number of forward operations within the specified history session."
4134
+ },
4135
+ {
4136
+ "type": "object",
4137
+ "properties": {
4138
+ "type": {
4139
+ "type": "string",
4140
+ "const": "query_progress_history_session_forward_retained_submission_count"
4141
+ },
4142
+ "object": {
4143
+ "type": "object",
4144
+ "properties": {
4145
+ "identifier": {
4146
+ "type": "integer",
4147
+ "minimum": 0,
4148
+ "maximum": 255,
4149
+ "description": "Identifier (0-255) for data lookup in Guard table."
4150
+ }
4151
+ },
4152
+ "required": [
4153
+ "identifier"
4154
+ ],
4155
+ "additionalProperties": false,
4156
+ "description": "Reference to the Progress object in the Guard table (must be Address type)."
4157
+ },
4158
+ "historyIdx": {
4159
+ "description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
4160
+ "allOf": [
4161
+ {
4162
+ "$ref": "#/definitions/__schema1"
4163
+ }
4164
+ ],
4165
+ "$ref": "#/definitions/__schema0"
4166
+ },
4167
+ "sessionIdx": {
4168
+ "description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
4169
+ "allOf": [
4170
+ {
4171
+ "$ref": "#/definitions/__schema1"
4172
+ }
4173
+ ],
4174
+ "$ref": "#/definitions/__schema0"
4175
+ },
4176
+ "forwardIdx": {
4177
+ "description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
4178
+ "allOf": [
4179
+ {
4180
+ "$ref": "#/definitions/__schema1"
4181
+ }
4182
+ ],
4183
+ "$ref": "#/definitions/__schema0"
4184
+ }
4185
+ },
4186
+ "required": [
4187
+ "type",
4188
+ "object",
4189
+ "historyIdx",
4190
+ "sessionIdx",
4191
+ "forwardIdx"
4192
+ ],
4193
+ "additionalProperties": false,
4194
+ "description": "Returns U64. Counts the number of retained submissions within the specified forward operation."
4195
+ }
4196
+ ]
726
4197
  }
727
4198
  }
728
4199
  }