@wowok/agent-mcp 2.7.7 → 2.7.8

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 (239) hide show
  1. package/dist/customer/index.d.ts +3 -4
  2. package/dist/customer/index.js +1 -1
  3. package/dist/customer/info-puzzle.js +1 -1
  4. package/dist/customer/order-monitor.d.ts +0 -9
  5. package/dist/customer/order-monitor.js +1 -1
  6. package/dist/customer/order-strategy.d.ts +0 -19
  7. package/dist/customer/order-strategy.js +1 -1
  8. package/dist/customer/reminder-system.d.ts +0 -5
  9. package/dist/customer/reminder-system.js +1 -1
  10. package/dist/evaluation/game-strategy.js +1 -1
  11. package/dist/evaluation/injection.d.ts +6 -0
  12. package/dist/evaluation/injection.js +1 -0
  13. package/dist/evaluation/node-game.js +1 -1
  14. package/dist/examples/machine-multisig-threshold.json +1 -0
  15. package/dist/harness/recover.js +1 -1
  16. package/dist/harness/types.d.ts +1 -1
  17. package/dist/harness/verify.js +1 -1
  18. package/dist/intent/enrich.js +1 -1
  19. package/dist/intent/matcher.js +1 -1
  20. package/dist/intent/types.d.ts +1 -1
  21. package/dist/intent/types.js +1 -1
  22. package/dist/knowledge/arbitration-ledger.js +1 -1
  23. package/dist/knowledge/contract-invariants.d.ts +53 -0
  24. package/dist/knowledge/contract-invariants.js +1 -0
  25. package/dist/knowledge/deployment-scanner.js +1 -1
  26. package/dist/knowledge/dynamic-pricing.d.ts +0 -2
  27. package/dist/knowledge/dynamic-pricing.js +1 -1
  28. package/dist/knowledge/event-semantics.d.ts +20 -0
  29. package/dist/knowledge/event-semantics.js +1 -0
  30. package/dist/knowledge/examples-scanner-cli.js +1 -1
  31. package/dist/knowledge/examples-scanner.js +1 -1
  32. package/dist/knowledge/glossary.js +1 -1
  33. package/dist/knowledge/guard-submission-prompt.js +1 -1
  34. package/dist/knowledge/immutability.d.ts +11 -0
  35. package/dist/knowledge/immutability.js +1 -0
  36. package/dist/knowledge/index.d.ts +12 -6
  37. package/dist/knowledge/index.js +1 -1
  38. package/dist/knowledge/industry-registry.js +1 -1
  39. package/dist/knowledge/intent-metrics.d.ts +1 -1
  40. package/dist/knowledge/jsonrpc-enum.d.ts +37 -0
  41. package/dist/knowledge/jsonrpc-enum.js +1 -0
  42. package/dist/knowledge/machine-confirm.js +1 -1
  43. package/dist/knowledge/machine-risk.js +1 -1
  44. package/dist/knowledge/machine-topology.d.ts +11 -0
  45. package/dist/knowledge/machine-topology.js +1 -1
  46. package/dist/knowledge/machine-translation.js +1 -1
  47. package/dist/knowledge/market-metrics.d.ts +11 -0
  48. package/dist/knowledge/market-metrics.js +1 -1
  49. package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
  50. package/dist/knowledge/mcp-schema-audit.d.ts +1 -0
  51. package/dist/knowledge/mcp-schema-audit.js +1 -1
  52. package/dist/knowledge/messenger-guard-guidance.d.ts +17 -0
  53. package/dist/knowledge/messenger-guard-guidance.js +1 -0
  54. package/dist/knowledge/operation-dictionary.d.ts +18 -0
  55. package/dist/knowledge/operation-dictionary.js +1 -0
  56. package/dist/knowledge/service-ledger.js +1 -1
  57. package/dist/knowledge/service-risk.js +1 -1
  58. package/dist/knowledge/service-translation.js +1 -1
  59. package/dist/knowledge/supply-chain.d.ts +24 -0
  60. package/dist/knowledge/supply-chain.js +1 -0
  61. package/dist/knowledge/template-registry.js +1 -1
  62. package/dist/knowledge/tools-reference.js +1 -1
  63. package/dist/knowledge/trust-metrics.d.ts +27 -2
  64. package/dist/knowledge/trust-metrics.js +1 -1
  65. package/dist/knowledge/workflow-guidance.d.ts +22 -1
  66. package/dist/knowledge/workflow-guidance.js +1 -1
  67. package/dist/monitor/EventStore.d.ts +78 -0
  68. package/dist/monitor/EventStore.js +1 -0
  69. package/dist/participation/radar-core.d.ts +0 -1
  70. package/dist/participation/radar-core.js +1 -1
  71. package/dist/persona/address-format.d.ts +6 -0
  72. package/dist/persona/address-format.js +1 -0
  73. package/dist/persona/analyzer.js +1 -1
  74. package/dist/persona/index.d.ts +3 -0
  75. package/dist/persona/index.js +1 -1
  76. package/dist/persona/types.d.ts +1 -1
  77. package/dist/persona/types.js +1 -1
  78. package/dist/project/business-puzzle.js +1 -1
  79. package/dist/project/edit-planner.js +1 -1
  80. package/dist/project/evaluation.js +1 -1
  81. package/dist/project/graph-builder.js +1 -1
  82. package/dist/project/handlers.d.ts +2 -18
  83. package/dist/project/handlers.js +1 -1
  84. package/dist/project/index.js +1 -1
  85. package/dist/project/machine-nodes.d.ts +23 -0
  86. package/dist/project/machine-nodes.js +1 -1
  87. package/dist/project/machine-panorama.d.ts +41 -0
  88. package/dist/project/machine-panorama.js +1 -0
  89. package/dist/project/object-panorama.d.ts +179 -0
  90. package/dist/project/object-panorama.js +1 -0
  91. package/dist/project/object-type.d.ts +1 -0
  92. package/dist/project/object-type.js +1 -0
  93. package/dist/project/participation-radar.js +1 -1
  94. package/dist/project/semantic-assembler.js +1 -1
  95. package/dist/project/service-panorama.d.ts +180 -0
  96. package/dist/project/service-panorama.js +1 -0
  97. package/dist/project/stage-gate.d.ts +0 -1
  98. package/dist/project/stage-gate.js +1 -1
  99. package/dist/project/task-tracker.d.ts +4 -0
  100. package/dist/project/task-tracker.js +1 -1
  101. package/dist/role/derivation.d.ts +19 -2
  102. package/dist/role/derivation.js +1 -1
  103. package/dist/role/index.d.ts +2 -2
  104. package/dist/role/index.js +1 -1
  105. package/dist/role/model.js +1 -1
  106. package/dist/role/resolution.d.ts +16 -0
  107. package/dist/role/resolution.js +1 -1
  108. package/dist/role/types.d.ts +1 -1
  109. package/dist/role/types.js +1 -1
  110. package/dist/safety/confirm-gate.js +1 -1
  111. package/dist/schema/call/allocation.d.ts +1 -0
  112. package/dist/schema/call/arbitration.d.ts +4 -3
  113. package/dist/schema/call/arbitration.js +1 -1
  114. package/dist/schema/call/base.d.ts +16 -0
  115. package/dist/schema/call/base.js +1 -1
  116. package/dist/schema/call/bridge.d.ts +7 -0
  117. package/dist/schema/call/contact.d.ts +1 -0
  118. package/dist/schema/call/demand.d.ts +1 -0
  119. package/dist/schema/call/guard.d.ts +3 -0
  120. package/dist/schema/call/handler.js +1 -1
  121. package/dist/schema/call/machine.d.ts +2 -0
  122. package/dist/schema/call/machine.js +1 -1
  123. package/dist/schema/call/order.d.ts +1 -0
  124. package/dist/schema/call/payment.d.ts +1 -0
  125. package/dist/schema/call/permission.d.ts +1 -0
  126. package/dist/schema/call/personal.d.ts +38 -0
  127. package/dist/schema/call/personal.js +1 -1
  128. package/dist/schema/call/progress.d.ts +1 -0
  129. package/dist/schema/call/proof.d.ts +2 -0
  130. package/dist/schema/call/repository.d.ts +5 -4
  131. package/dist/schema/call/reward.d.ts +1 -12
  132. package/dist/schema/call/reward.js +1 -1
  133. package/dist/schema/call/semantic.d.ts +3 -2
  134. package/dist/schema/call/semantic.js +1 -1
  135. package/dist/schema/call/service.d.ts +1 -0
  136. package/dist/schema/call/service.js +1 -1
  137. package/dist/schema/call/treasury.d.ts +1 -0
  138. package/dist/schema/common/index.js +1 -1
  139. package/dist/schema/evaluation/index.d.ts +146 -0
  140. package/dist/schema/evaluation/index.js +1 -1
  141. package/dist/schema/index.d.ts +1 -0
  142. package/dist/schema/index.js +1 -1
  143. package/dist/schema/intent-radar/index.d.ts +30 -3
  144. package/dist/schema/intent-radar/index.js +1 -1
  145. package/dist/schema/local/index.d.ts +9 -0
  146. package/dist/schema/local/index.js +1 -1
  147. package/dist/schema/messenger/index.d.ts +54 -0
  148. package/dist/schema/messenger/index.js +1 -1
  149. package/dist/schema/operations.d.ts +864 -8
  150. package/dist/schema/operations.js +1 -1
  151. package/dist/schema/permission/index.d.ts +17 -0
  152. package/dist/schema/permission/index.js +1 -1
  153. package/dist/schema/project/index.d.ts +6 -0
  154. package/dist/schema/project/index.js +1 -1
  155. package/dist/schema/query/index.d.ts +658 -56
  156. package/dist/schema/query/index.js +1 -1
  157. package/dist/schema/schema-version.js +1 -1
  158. package/dist/schema/trust/index.d.ts +17 -0
  159. package/dist/schema/trust/index.js +1 -1
  160. package/dist/schema/watch/index.d.ts +204 -0
  161. package/dist/schema/watch/index.js +1 -0
  162. package/dist/schema/workflow/index.d.ts +301 -0
  163. package/dist/schema/workflow/index.js +1 -1
  164. package/dist/schema-query-impl/index.js +1 -1
  165. package/dist/schemas/account_operation.output.json +5 -2
  166. package/dist/schemas/bridge_operation.output.json +5 -2
  167. package/dist/schemas/bridge_operation.schema.json +25 -9
  168. package/dist/schemas/evaluation_operation.output.json +276 -1
  169. package/dist/schemas/evaluation_operation.schema.json +307 -0
  170. package/dist/schemas/guard2file.schema.json +6 -2
  171. package/dist/schemas/index.json +13 -1
  172. package/dist/schemas/intent_radar.output.json +20 -2
  173. package/dist/schemas/intent_radar.schema.json +10 -1
  174. package/dist/schemas/local_info_operation.output.json +5 -2
  175. package/dist/schemas/local_mark_operation.output.json +5 -2
  176. package/dist/schemas/machineNode2file.schema.json +6 -2
  177. package/dist/schemas/messenger_operation.output.json +105 -2
  178. package/dist/schemas/messenger_operation.schema.json +98 -0
  179. package/dist/schemas/monitor_events.output.json +1360 -0
  180. package/dist/schemas/monitor_events.schema.json +62 -0
  181. package/dist/schemas/onchain_events.output.json +237 -14
  182. package/dist/schemas/onchain_events.schema.json +20 -0
  183. package/dist/schemas/onchain_operations.output.json +10 -5
  184. package/dist/schemas/onchain_operations.schema.json +511 -419
  185. package/dist/schemas/onchain_operations_allocation.schema.json +11 -7
  186. package/dist/schemas/onchain_operations_arbitration.schema.json +14 -9
  187. package/dist/schemas/onchain_operations_contact.schema.json +9 -5
  188. package/dist/schemas/onchain_operations_demand.schema.json +9 -5
  189. package/dist/schemas/onchain_operations_gen_passport.schema.json +6 -2
  190. package/dist/schemas/onchain_operations_gen_proof.schema.json +6 -2
  191. package/dist/schemas/onchain_operations_guard.schema.json +6 -2
  192. package/dist/schemas/onchain_operations_machine.schema.json +14 -10
  193. package/dist/schemas/onchain_operations_order.schema.json +9 -5
  194. package/dist/schemas/onchain_operations_payment.schema.json +7 -3
  195. package/dist/schemas/onchain_operations_permission.schema.json +9 -5
  196. package/dist/schemas/onchain_operations_personal.schema.json +44 -2
  197. package/dist/schemas/onchain_operations_progress.schema.json +9 -5
  198. package/dist/schemas/onchain_operations_proof.schema.json +6 -2
  199. package/dist/schemas/onchain_operations_repository.schema.json +290 -305
  200. package/dist/schemas/onchain_operations_reward.schema.json +14 -10
  201. package/dist/schemas/onchain_operations_service.schema.json +17 -13
  202. package/dist/schemas/onchain_operations_treasury.schema.json +14 -10
  203. package/dist/schemas/onchain_table_data.output.json +3750 -208
  204. package/dist/schemas/onchain_table_data.schema.json +311 -0
  205. package/dist/schemas/permission_operation.output.json +32 -0
  206. package/dist/schemas/project_operation.schema.json +14 -8
  207. package/dist/schemas/query_toolkit.output.json +405 -320
  208. package/dist/schemas/query_toolkit.schema.json +139 -1
  209. package/dist/schemas/trust_score.output.json +38 -0
  210. package/dist/schemas/trust_score.schema.json +32 -0
  211. package/dist/schemas/watch_operation.output.json +827 -0
  212. package/dist/schemas/watch_operation.schema.json +145 -0
  213. package/dist/schemas/workflow_operation.output.json +263 -5
  214. package/dist/schemas/workflow_operation.schema.json +597 -2
  215. package/dist/tools/handlers/config.js +1 -1
  216. package/dist/tools/handlers/evaluation.js +1 -1
  217. package/dist/tools/handlers/intent-radar.js +1 -1
  218. package/dist/tools/handlers/messenger.js +1 -1
  219. package/dist/tools/handlers/monitor.d.ts +2 -0
  220. package/dist/tools/handlers/monitor.js +1 -0
  221. package/dist/tools/handlers/onchain.js +1 -1
  222. package/dist/tools/handlers/permission.js +1 -1
  223. package/dist/tools/handlers/project.js +1 -1
  224. package/dist/tools/handlers/query.js +1 -1
  225. package/dist/tools/handlers/trust.d.ts +14 -0
  226. package/dist/tools/handlers/trust.js +1 -1
  227. package/dist/tools/handlers/watch.d.ts +2 -0
  228. package/dist/tools/handlers/watch.js +1 -0
  229. package/dist/tools/handlers/workflow.js +1 -1
  230. package/dist/tools/index.d.ts +2 -0
  231. package/dist/tools/index.js +1 -1
  232. package/dist/tools/shared.js +1 -1
  233. package/package.json +2 -2
  234. package/dist/customer/post-purchase.d.ts +0 -44
  235. package/dist/customer/post-purchase.js +0 -1
  236. package/dist/project/migration.d.ts +0 -22
  237. package/dist/project/migration.js +0 -1
  238. package/dist/project/rollback-policy.d.ts +0 -45
  239. package/dist/project/rollback-policy.js +0 -1
@@ -631,11 +631,15 @@
631
631
  },
632
632
  "like": {
633
633
  "type": "number",
634
- "description": "User's like count"
634
+ "description": "User's received like count"
635
635
  },
636
636
  "dislike": {
637
637
  "type": "number",
638
- "description": "User's dislike count"
638
+ "description": "User's received dislike count"
639
+ },
640
+ "favor": {
641
+ "type": "number",
642
+ "description": "User's received favor (收藏) count"
639
643
  },
640
644
  "info": {
641
645
  "type": "array",
@@ -1179,6 +1183,7 @@
1179
1183
  "address",
1180
1184
  "like",
1181
1185
  "dislike",
1186
+ "favor",
1182
1187
  "info",
1183
1188
  "description",
1184
1189
  "referrer",
@@ -2482,7 +2487,7 @@
2482
2487
  },
2483
2488
  {}
2484
2489
  ],
2485
- "description": "Lock duration for critical settings. After Service is published, modifications to 'order_allocators', 'rewards', 'arbitrations', 'machine', and withdrawal from 'compensation_fund' must exceed the 'setting_lock_duration' lock time."
2490
+ "description": "Lock duration for critical operations. Anchored to the 'paused_time' timestamp. After Service is published, only the following operations are gated by this lock: (1) compensation_fund_withdraw, (2) rewards remove/clear, (3) arbitrations remove/clear. All require the Service to be paused AND paused_time + setting_lock_duration <= current clock. Adding rewards/arbitrations, modifying sales/description/location/buy_guard/customer_required/um, and depositing to compensation_fund are NOT gated by this lock. order_allocators and machine are permanently immutable after publish (not related to this lock)."
2486
2491
  },
2487
2492
  "order_allocators": {
2488
2493
  "anyOf": [
@@ -2638,7 +2643,7 @@
2638
2643
  "type": "string"
2639
2644
  }
2640
2645
  ],
2641
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
2646
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
2642
2647
  },
2643
2648
  {
2644
2649
  "type": "null"
@@ -4910,7 +4915,7 @@
4910
4915
  "type": "string"
4911
4916
  }
4912
4917
  ],
4913
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
4918
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
4914
4919
  },
4915
4920
  {
4916
4921
  "type": "null"
@@ -5327,7 +5332,7 @@
5327
5332
  "type": "string"
5328
5333
  }
5329
5334
  ],
5330
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
5335
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
5331
5336
  }
5332
5337
  },
5333
5338
  "required": [
@@ -5749,311 +5754,292 @@
5749
5754
  "value_type": {
5750
5755
  "anyOf": [
5751
5756
  {
5752
- "anyOf": [
5753
- {
5754
- "anyOf": [
5755
- {
5756
- "type": "number",
5757
- "const": 0,
5758
- "description": "Bool (0)"
5759
- },
5760
- {
5761
- "type": "number",
5762
- "const": 1,
5763
- "description": "Address (1)"
5764
- },
5765
- {
5766
- "type": "number",
5767
- "const": 2,
5768
- "description": "String (2)"
5769
- },
5770
- {
5771
- "type": "number",
5772
- "const": 3,
5773
- "description": "U8 (3)"
5774
- },
5775
- {
5776
- "type": "number",
5777
- "const": 4,
5778
- "description": "U16 (4)"
5779
- },
5780
- {
5781
- "type": "number",
5782
- "const": 5,
5783
- "description": "U32 (5)"
5784
- },
5785
- {
5786
- "type": "number",
5787
- "const": 6,
5788
- "description": "U64 (6)"
5789
- },
5790
- {
5791
- "type": "number",
5792
- "const": 7,
5793
- "description": "U128 (7)"
5794
- },
5795
- {
5796
- "type": "number",
5797
- "const": 8,
5798
- "description": "U256 (8)"
5799
- },
5800
- {
5801
- "type": "number",
5802
- "const": 9,
5803
- "description": "VecBool (9)"
5804
- },
5805
- {
5806
- "type": "number",
5807
- "const": 10,
5808
- "description": "VecAddress (10)"
5809
- },
5810
- {
5811
- "type": "number",
5812
- "const": 11,
5813
- "description": "VecString (11)"
5814
- },
5815
- {
5816
- "type": "number",
5817
- "const": 12,
5818
- "description": "VecU8 (12)"
5819
- },
5820
- {
5821
- "type": "number",
5822
- "const": 13,
5823
- "description": "VecU16 (13)"
5824
- },
5825
- {
5826
- "type": "number",
5827
- "const": 14,
5828
- "description": "VecU32 (14)"
5829
- },
5830
- {
5831
- "type": "number",
5832
- "const": 15,
5833
- "description": "VecU64 (15)"
5834
- },
5835
- {
5836
- "type": "number",
5837
- "const": 16,
5838
- "description": "VecU128 (16)"
5839
- },
5840
- {
5841
- "type": "number",
5842
- "const": 17,
5843
- "description": "VecU256 (17)"
5844
- },
5845
- {
5846
- "type": "number",
5847
- "const": 18,
5848
- "description": "VecVecU8 (18)"
5849
- },
5850
- {
5851
- "type": "string",
5852
- "const": "Bool",
5853
- "description": "Bool"
5854
- },
5855
- {
5856
- "type": "string",
5857
- "const": "Address",
5858
- "description": "Address"
5859
- },
5860
- {
5861
- "type": "string",
5862
- "const": "String",
5863
- "description": "String"
5864
- },
5865
- {
5866
- "type": "string",
5867
- "const": "U8",
5868
- "description": "U8"
5869
- },
5870
- {
5871
- "type": "string",
5872
- "const": "U16",
5873
- "description": "U16"
5874
- },
5875
- {
5876
- "type": "string",
5877
- "const": "U32",
5878
- "description": "U32"
5879
- },
5880
- {
5881
- "type": "string",
5882
- "const": "U64",
5883
- "description": "U64"
5884
- },
5885
- {
5886
- "type": "string",
5887
- "const": "U128",
5888
- "description": "U128"
5889
- },
5890
- {
5891
- "type": "string",
5892
- "const": "U256",
5893
- "description": "U256"
5894
- },
5895
- {
5896
- "type": "string",
5897
- "const": "VecBool",
5898
- "description": "VecBool"
5899
- },
5900
- {
5901
- "type": "string",
5902
- "const": "VecAddress",
5903
- "description": "VecAddress"
5904
- },
5905
- {
5906
- "type": "string",
5907
- "const": "VecString",
5908
- "description": "VecString"
5909
- },
5910
- {
5911
- "type": "string",
5912
- "const": "VecU8",
5913
- "description": "VecU8"
5914
- },
5915
- {
5916
- "type": "string",
5917
- "const": "VecU16",
5918
- "description": "VecU16"
5919
- },
5920
- {
5921
- "type": "string",
5922
- "const": "VecU32",
5923
- "description": "VecU32"
5924
- },
5925
- {
5926
- "type": "string",
5927
- "const": "VecU64",
5928
- "description": "VecU64"
5929
- },
5930
- {
5931
- "type": "string",
5932
- "const": "VecU128",
5933
- "description": "VecU128"
5934
- },
5935
- {
5936
- "type": "string",
5937
- "const": "VecU256",
5938
- "description": "VecU256"
5939
- },
5940
- {
5941
- "type": "string",
5942
- "const": "VecVecU8",
5943
- "description": "VecVecU8"
5944
- },
5945
- {
5946
- "type": "string",
5947
- "const": "bool",
5948
- "description": "bool"
5949
- },
5950
- {
5951
- "type": "string",
5952
- "const": "address",
5953
- "description": "address"
5954
- },
5955
- {
5956
- "type": "string",
5957
- "const": "string",
5958
- "description": "string"
5959
- },
5960
- {
5961
- "type": "string",
5962
- "const": "u8",
5963
- "description": "u8"
5964
- },
5965
- {
5966
- "type": "string",
5967
- "const": "u16",
5968
- "description": "u16"
5969
- },
5970
- {
5971
- "type": "string",
5972
- "const": "u32",
5973
- "description": "u32"
5974
- },
5975
- {
5976
- "type": "string",
5977
- "const": "u64",
5978
- "description": "u64"
5979
- },
5980
- {
5981
- "type": "string",
5982
- "const": "u128",
5983
- "description": "u128"
5984
- },
5985
- {
5986
- "type": "string",
5987
- "const": "u256",
5988
- "description": "u256"
5989
- },
5990
- {
5991
- "type": "string",
5992
- "const": "vecbool",
5993
- "description": "vecbool"
5994
- },
5995
- {
5996
- "type": "string",
5997
- "const": "vecaddress",
5998
- "description": "vecaddress"
5999
- },
6000
- {
6001
- "type": "string",
6002
- "const": "vecstring",
6003
- "description": "vecstring"
6004
- },
6005
- {
6006
- "type": "string",
6007
- "const": "vecu8",
6008
- "description": "vecu8"
6009
- },
6010
- {
6011
- "type": "string",
6012
- "const": "vecu16",
6013
- "description": "vecu16"
6014
- },
6015
- {
6016
- "type": "string",
6017
- "const": "vecu32",
6018
- "description": "vecu32"
6019
- },
6020
- {
6021
- "type": "string",
6022
- "const": "vecu64",
6023
- "description": "vecu64"
6024
- },
6025
- {
6026
- "type": "string",
6027
- "const": "vecu128",
6028
- "description": "vecu128"
6029
- },
6030
- {
6031
- "type": "string",
6032
- "const": "vecu256",
6033
- "description": "vecu256"
6034
- },
6035
- {
6036
- "type": "string",
6037
- "const": "vecvecu8",
6038
- "description": "vecvecu8"
6039
- }
6040
- ],
6041
- "description": "User available value type (number or string, e.g., 6 or 'U64' or 'u64')"
6042
- },
6043
- {
6044
- "type": "number",
6045
- "const": 19,
6046
- "description": "Value (19)"
6047
- }
6048
- ]
5757
+ "type": "number",
5758
+ "const": 0,
5759
+ "description": "Bool (0)"
5760
+ },
5761
+ {
5762
+ "type": "number",
5763
+ "const": 1,
5764
+ "description": "Address (1)"
5765
+ },
5766
+ {
5767
+ "type": "number",
5768
+ "const": 2,
5769
+ "description": "String (2)"
5770
+ },
5771
+ {
5772
+ "type": "number",
5773
+ "const": 3,
5774
+ "description": "U8 (3)"
5775
+ },
5776
+ {
5777
+ "type": "number",
5778
+ "const": 4,
5779
+ "description": "U16 (4)"
5780
+ },
5781
+ {
5782
+ "type": "number",
5783
+ "const": 5,
5784
+ "description": "U32 (5)"
5785
+ },
5786
+ {
5787
+ "type": "number",
5788
+ "const": 6,
5789
+ "description": "U64 (6)"
5790
+ },
5791
+ {
5792
+ "type": "number",
5793
+ "const": 7,
5794
+ "description": "U128 (7)"
5795
+ },
5796
+ {
5797
+ "type": "number",
5798
+ "const": 8,
5799
+ "description": "U256 (8)"
5800
+ },
5801
+ {
5802
+ "type": "number",
5803
+ "const": 9,
5804
+ "description": "VecBool (9)"
5805
+ },
5806
+ {
5807
+ "type": "number",
5808
+ "const": 10,
5809
+ "description": "VecAddress (10)"
5810
+ },
5811
+ {
5812
+ "type": "number",
5813
+ "const": 11,
5814
+ "description": "VecString (11)"
5815
+ },
5816
+ {
5817
+ "type": "number",
5818
+ "const": 12,
5819
+ "description": "VecU8 (12)"
5820
+ },
5821
+ {
5822
+ "type": "number",
5823
+ "const": 13,
5824
+ "description": "VecU16 (13)"
5825
+ },
5826
+ {
5827
+ "type": "number",
5828
+ "const": 14,
5829
+ "description": "VecU32 (14)"
5830
+ },
5831
+ {
5832
+ "type": "number",
5833
+ "const": 15,
5834
+ "description": "VecU64 (15)"
5835
+ },
5836
+ {
5837
+ "type": "number",
5838
+ "const": 16,
5839
+ "description": "VecU128 (16)"
5840
+ },
5841
+ {
5842
+ "type": "number",
5843
+ "const": 17,
5844
+ "description": "VecU256 (17)"
5845
+ },
5846
+ {
5847
+ "type": "number",
5848
+ "const": 18,
5849
+ "description": "VecVecU8 (18)"
5850
+ },
5851
+ {
5852
+ "type": "string",
5853
+ "const": "Bool",
5854
+ "description": "Bool"
5855
+ },
5856
+ {
5857
+ "type": "string",
5858
+ "const": "Address",
5859
+ "description": "Address"
5860
+ },
5861
+ {
5862
+ "type": "string",
5863
+ "const": "String",
5864
+ "description": "String"
6049
5865
  },
6050
5866
  {
6051
5867
  "type": "string",
6052
- "const": "Value",
6053
- "description": "Value"
5868
+ "const": "U8",
5869
+ "description": "U8"
5870
+ },
5871
+ {
5872
+ "type": "string",
5873
+ "const": "U16",
5874
+ "description": "U16"
5875
+ },
5876
+ {
5877
+ "type": "string",
5878
+ "const": "U32",
5879
+ "description": "U32"
5880
+ },
5881
+ {
5882
+ "type": "string",
5883
+ "const": "U64",
5884
+ "description": "U64"
5885
+ },
5886
+ {
5887
+ "type": "string",
5888
+ "const": "U128",
5889
+ "description": "U128"
5890
+ },
5891
+ {
5892
+ "type": "string",
5893
+ "const": "U256",
5894
+ "description": "U256"
5895
+ },
5896
+ {
5897
+ "type": "string",
5898
+ "const": "VecBool",
5899
+ "description": "VecBool"
5900
+ },
5901
+ {
5902
+ "type": "string",
5903
+ "const": "VecAddress",
5904
+ "description": "VecAddress"
5905
+ },
5906
+ {
5907
+ "type": "string",
5908
+ "const": "VecString",
5909
+ "description": "VecString"
5910
+ },
5911
+ {
5912
+ "type": "string",
5913
+ "const": "VecU8",
5914
+ "description": "VecU8"
5915
+ },
5916
+ {
5917
+ "type": "string",
5918
+ "const": "VecU16",
5919
+ "description": "VecU16"
5920
+ },
5921
+ {
5922
+ "type": "string",
5923
+ "const": "VecU32",
5924
+ "description": "VecU32"
5925
+ },
5926
+ {
5927
+ "type": "string",
5928
+ "const": "VecU64",
5929
+ "description": "VecU64"
5930
+ },
5931
+ {
5932
+ "type": "string",
5933
+ "const": "VecU128",
5934
+ "description": "VecU128"
5935
+ },
5936
+ {
5937
+ "type": "string",
5938
+ "const": "VecU256",
5939
+ "description": "VecU256"
5940
+ },
5941
+ {
5942
+ "type": "string",
5943
+ "const": "VecVecU8",
5944
+ "description": "VecVecU8"
5945
+ },
5946
+ {
5947
+ "type": "string",
5948
+ "const": "bool",
5949
+ "description": "bool"
5950
+ },
5951
+ {
5952
+ "type": "string",
5953
+ "const": "address",
5954
+ "description": "address"
5955
+ },
5956
+ {
5957
+ "type": "string",
5958
+ "const": "string",
5959
+ "description": "string"
5960
+ },
5961
+ {
5962
+ "type": "string",
5963
+ "const": "u8",
5964
+ "description": "u8"
5965
+ },
5966
+ {
5967
+ "type": "string",
5968
+ "const": "u16",
5969
+ "description": "u16"
5970
+ },
5971
+ {
5972
+ "type": "string",
5973
+ "const": "u32",
5974
+ "description": "u32"
5975
+ },
5976
+ {
5977
+ "type": "string",
5978
+ "const": "u64",
5979
+ "description": "u64"
5980
+ },
5981
+ {
5982
+ "type": "string",
5983
+ "const": "u128",
5984
+ "description": "u128"
5985
+ },
5986
+ {
5987
+ "type": "string",
5988
+ "const": "u256",
5989
+ "description": "u256"
5990
+ },
5991
+ {
5992
+ "type": "string",
5993
+ "const": "vecbool",
5994
+ "description": "vecbool"
5995
+ },
5996
+ {
5997
+ "type": "string",
5998
+ "const": "vecaddress",
5999
+ "description": "vecaddress"
6000
+ },
6001
+ {
6002
+ "type": "string",
6003
+ "const": "vecstring",
6004
+ "description": "vecstring"
6005
+ },
6006
+ {
6007
+ "type": "string",
6008
+ "const": "vecu8",
6009
+ "description": "vecu8"
6010
+ },
6011
+ {
6012
+ "type": "string",
6013
+ "const": "vecu16",
6014
+ "description": "vecu16"
6015
+ },
6016
+ {
6017
+ "type": "string",
6018
+ "const": "vecu32",
6019
+ "description": "vecu32"
6020
+ },
6021
+ {
6022
+ "type": "string",
6023
+ "const": "vecu64",
6024
+ "description": "vecu64"
6025
+ },
6026
+ {
6027
+ "type": "string",
6028
+ "const": "vecu128",
6029
+ "description": "vecu128"
6030
+ },
6031
+ {
6032
+ "type": "string",
6033
+ "const": "vecu256",
6034
+ "description": "vecu256"
6035
+ },
6036
+ {
6037
+ "type": "string",
6038
+ "const": "vecvecu8",
6039
+ "description": "vecvecu8"
6054
6040
  }
6055
6041
  ],
6056
- "description": "Type of data value when writing data."
6042
+ "description": "Type of data value when writing data. Note: 19 (Value) is an internal dynamic type for guard expressions and is NOT accepted here."
6057
6043
  }
6058
6044
  },
6059
6045
  "required": [
@@ -7131,7 +7117,7 @@
7131
7117
  "type": "string"
7132
7118
  }
7133
7119
  ],
7134
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
7120
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
7135
7121
  }
7136
7122
  },
7137
7123
  "required": [
@@ -9275,7 +9261,7 @@
9275
9261
  "type": "string"
9276
9262
  }
9277
9263
  ],
9278
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
9264
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
9279
9265
  },
9280
9266
  {
9281
9267
  "type": "null"
@@ -9823,11 +9809,15 @@
9823
9809
  },
9824
9810
  "like": {
9825
9811
  "type": "number",
9826
- "description": "User's like count"
9812
+ "description": "User's received like count"
9827
9813
  },
9828
9814
  "dislike": {
9829
9815
  "type": "number",
9830
- "description": "User's dislike count"
9816
+ "description": "User's received dislike count"
9817
+ },
9818
+ "favor": {
9819
+ "type": "number",
9820
+ "description": "User's received favor (收藏) count"
9831
9821
  },
9832
9822
  "info": {
9833
9823
  "type": "array",
@@ -10371,6 +10361,7 @@
10371
10361
  "address",
10372
10362
  "like",
10373
10363
  "dislike",
10364
+ "favor",
10374
10365
  "info",
10375
10366
  "description",
10376
10367
  "referrer",
@@ -12675,7 +12666,7 @@
12675
12666
  "additionalProperties": false,
12676
12667
  "description": "Information record"
12677
12668
  },
12678
- "description": "Information records"
12669
+ "description": "Information records on-chain"
12679
12670
  }
12680
12671
  },
12681
12672
  "required": [
@@ -13236,8 +13227,15 @@
13236
13227
  "description": "Reward recipient ID"
13237
13228
  },
13238
13229
  "guard": {
13239
- "type": "string",
13240
- "description": "Guard object ID"
13230
+ "description": "Guard object ID (RecipientRecord carries none — the per-claim Record.guard is the verified guard)",
13231
+ "anyOf": [
13232
+ {
13233
+ "type": "string"
13234
+ },
13235
+ {
13236
+ "type": "null"
13237
+ }
13238
+ ]
13241
13239
  },
13242
13240
  "total": {
13243
13241
  "anyOf": [
@@ -13255,6 +13253,17 @@
13255
13253
  "items": {
13256
13254
  "type": "object",
13257
13255
  "properties": {
13256
+ "guard": {
13257
+ "description": "Guard that verified this claim (reward.move Record.guard)",
13258
+ "anyOf": [
13259
+ {
13260
+ "type": "string"
13261
+ },
13262
+ {
13263
+ "type": "null"
13264
+ }
13265
+ ]
13266
+ },
13258
13267
  "amount": {
13259
13268
  "anyOf": [
13260
13269
  {
@@ -13301,7 +13310,6 @@
13301
13310
  "required": [
13302
13311
  "object",
13303
13312
  "recipient",
13304
- "guard",
13305
13313
  "total",
13306
13314
  "record"
13307
13315
  ],
@@ -14157,7 +14165,7 @@
14157
14165
  },
14158
14166
  "threshold": {
14159
14167
  "default": 0,
14160
- "description": "Threshold to trigger node advancement. If total Forward weight is greater than or equal to threshold, node advancement is triggered.",
14168
+ "description": "Threshold to trigger node advancement. If total Forward weight is greater than or equal to threshold, node advancement is triggered. ⚠️ SINGLE-OPERATOR LOCK: each forward contributes its weight AT MOST ONCE (locked by its first operator — progress.move session_accomplish_imp; re-execution by others aborts E_NOT_THE_HOLDER). The maximum achievable weight of this Pair is the sum of its DISTINCT forward weights — if that sum < threshold the transition can NEVER migrate. Multi-operator cooperation (threshold > 1) needs one DISTINCT forward per contributing operator (e.g. threshold 2 → begin_a + begin_b, each weight 1), never one forward reused by several people.",
14161
14169
  "anyOf": [
14162
14170
  {
14163
14171
  "type": "number"
@@ -14210,7 +14218,7 @@
14210
14218
  "type": "string"
14211
14219
  }
14212
14220
  ],
14213
- "description": "Forward weight"
14221
+ "description": "Forward weight — the contribution this forward makes toward its Pair's threshold. ⚠️ SINGLE-OPERATOR LOCK: a forward contributes its weight AT MOST ONCE. It is locked by the first operator that accomplishes it (progress.move session_accomplish_imp); a second operator re-executing the same accomplished forward aborts E_NOT_THE_HOLDER. Therefore multi-operator cooperation (threshold > 1) needs one DISTINCT forward per contributing operator (e.g. threshold 2 → begin_a + begin_b, each weight 1) — never reuse one forward."
14214
14222
  },
14215
14223
  "guard": {
14216
14224
  "description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
@@ -15394,7 +15402,7 @@
15394
15402
  "type": "string"
15395
15403
  }
15396
15404
  ],
15397
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
15405
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
15398
15406
  },
15399
15407
  "token_type": {
15400
15408
  "type": "string",
@@ -15418,7 +15426,7 @@
15418
15426
  "type": "string"
15419
15427
  }
15420
15428
  ],
15421
- "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
15429
+ "description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05WOW\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
15422
15430
  },
15423
15431
  "payment": {
15424
15432
  "type": "string",
@@ -16014,6 +16022,80 @@
16014
16022
  "result"
16015
16023
  ],
16016
16024
  "additionalProperties": false
16025
+ },
16026
+ {
16027
+ "type": "object",
16028
+ "properties": {
16029
+ "query_type": {
16030
+ "type": "string",
16031
+ "const": "onchain_last_updated"
16032
+ },
16033
+ "result": {
16034
+ "type": "object",
16035
+ "properties": {
16036
+ "items": {
16037
+ "type": "array",
16038
+ "items": {
16039
+ "type": "object",
16040
+ "properties": {
16041
+ "object": {
16042
+ "type": "string",
16043
+ "description": "Queried object address"
16044
+ },
16045
+ "timestamp_ms": {
16046
+ "anyOf": [
16047
+ {
16048
+ "type": "string"
16049
+ },
16050
+ {
16051
+ "type": "null"
16052
+ }
16053
+ ],
16054
+ "description": "Unix ms of the last transaction touching the object (null when unavailable)"
16055
+ },
16056
+ "digest": {
16057
+ "description": "Digest of that transaction",
16058
+ "anyOf": [
16059
+ {
16060
+ "type": "string"
16061
+ },
16062
+ {
16063
+ "type": "null"
16064
+ }
16065
+ ]
16066
+ },
16067
+ "sender": {
16068
+ "description": "Sender of that transaction",
16069
+ "anyOf": [
16070
+ {
16071
+ "type": "string"
16072
+ },
16073
+ {
16074
+ "type": "null"
16075
+ }
16076
+ ]
16077
+ }
16078
+ },
16079
+ "required": [
16080
+ "object",
16081
+ "timestamp_ms"
16082
+ ],
16083
+ "additionalProperties": false
16084
+ },
16085
+ "description": "One entry per queried object, same order as the request"
16086
+ }
16087
+ },
16088
+ "required": [
16089
+ "items"
16090
+ ],
16091
+ "additionalProperties": false
16092
+ }
16093
+ },
16094
+ "required": [
16095
+ "query_type",
16096
+ "result"
16097
+ ],
16098
+ "additionalProperties": false
16017
16099
  }
16018
16100
  ]
16019
16101
  }
@@ -16308,11 +16390,13 @@
16308
16390
  "lifecycle",
16309
16391
  "state_change",
16310
16392
  "fund_flow",
16393
+ "market_opportunity",
16394
+ "reputation",
16311
16395
  "permission",
16312
16396
  "guard",
16313
16397
  "other"
16314
16398
  ],
16315
- "description": "Business category. Constraint: enum of 6 values. Example: 'lifecycle'"
16399
+ "description": "Business category. Constraint: enum of 8 values. 'market_opportunity' = supply/demand discovery signal (ServiceEvent/DemandChangedEvent/DemandPresentEvent, K3 13 §6.7); 'reputation' = trust-affecting signal (DemandFeedbackEvent). Example: 'fund_flow'"
16316
16400
  },
16317
16401
  "related_object": {
16318
16402
  "description": "Object ID the event relates to, if extractable. Example: '0x123...'",
@@ -16593,7 +16677,7 @@
16593
16677
  ]
16594
16678
  },
16595
16679
  "role_advice": {
16596
- "description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']",
16680
+ "description": "Phase 4 P4-6.C: Role-targeted advice strings (merchant/customer/demander/prospect/supplier/collaborator/arbitrator). Example: ['Strengthen loyalty flywheel','Optimize first-order conversion']",
16597
16681
  "type": "array",
16598
16682
  "items": {
16599
16683
  "type": "string"
@@ -16605,6 +16689,7 @@
16605
16689
  "enum": [
16606
16690
  "merchant",
16607
16691
  "customer",
16692
+ "demander",
16608
16693
  "prospect",
16609
16694
  "supplier",
16610
16695
  "collaborator",