@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
@@ -3,988 +3,3120 @@
3
3
  "$id": "https://wowok.net/schemas/evaluation_operation.json",
4
4
  "title": "Evaluation - Pluggable Business Intelligence",
5
5
  "description": "Run pluggable business evaluations (data sources + rules + user injection). Actions: arb_game (Arb 7-state best-move), node_game (Progress node best-move), capability_gap (demand-vs-service capability gaps), compose_service (combine services to cover a demand), demand_match (rank services for a demand), service_match (rank demands for a service). Read-only — returns ranked recommendations / scores with reasoning.",
6
- "$ref": "#/definitions/evaluation_operation",
7
- "definitions": {
8
- "evaluation_operation": {
9
- "anyOf": [
10
- {
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "properties": {
10
+ "action": {
11
+ "type": "string",
12
+ "const": "arb_game"
13
+ },
14
+ "status": {
15
+ "type": "string",
16
+ "enum": [
17
+ "Principal_confirming",
18
+ "Arbitrator_confirming",
19
+ "Voting",
20
+ "Arbitrated",
21
+ "Objectionable",
22
+ "Finished",
23
+ "Withdrawn"
24
+ ]
25
+ },
26
+ "perspective": {
27
+ "type": "string",
28
+ "enum": [
29
+ "customer",
30
+ "merchant",
31
+ "arbitrator"
32
+ ]
33
+ },
34
+ "appetite": {
35
+ "description": "Risk appetite — adjusts risk sensitivity (conservative amplifies risk).",
36
+ "type": "string",
37
+ "enum": [
38
+ "conservative",
39
+ "balanced",
40
+ "aggressive"
41
+ ]
42
+ },
43
+ "account": {
44
+ "description": "Account address; its persona's risk_appetite is used as the default appetite.",
45
+ "type": "string"
46
+ },
47
+ "requirements": {
48
+ "description": "Persona red lines that re-anchor the role's prefer/avoid (人设驱动力).",
49
+ "type": "array",
50
+ "items": {
51
+ "type": "string"
52
+ }
53
+ }
54
+ },
55
+ "required": [
56
+ "action",
57
+ "status",
58
+ "perspective"
59
+ ],
60
+ "additionalProperties": false
61
+ },
62
+ {
63
+ "type": "object",
64
+ "properties": {
65
+ "action": {
66
+ "type": "string",
67
+ "const": "node_game"
68
+ },
69
+ "current_node": {
70
+ "type": "string"
71
+ },
72
+ "perspective": {
73
+ "type": "string",
74
+ "enum": [
75
+ "merchant",
76
+ "customer",
77
+ "prospect",
78
+ "supplier",
79
+ "collaborator",
80
+ "arbitrator"
81
+ ]
82
+ },
83
+ "appetite": {
84
+ "description": "Risk appetite — adjusts risk sensitivity (conservative amplifies risk).",
85
+ "type": "string",
86
+ "enum": [
87
+ "conservative",
88
+ "balanced",
89
+ "aggressive"
90
+ ]
91
+ },
92
+ "account": {
93
+ "description": "Account address; its persona's risk_appetite is used as the default appetite.",
94
+ "type": "string"
95
+ },
96
+ "threshold": {
97
+ "description": "Pair threshold — when > 1, multi-role cooperation is needed to advance.",
98
+ "type": "integer",
99
+ "minimum": 1,
100
+ "maximum": 9007199254740991
101
+ },
102
+ "allocation": {
103
+ "description": "Allocation waterfall — how funds split after the node advances (利益分配).",
11
104
  "type": "object",
12
105
  "properties": {
13
- "action": {
14
- "type": "string",
15
- "const": "arb_game"
16
- },
17
- "status": {
18
- "type": "string",
19
- "enum": [
20
- "Principal_confirming",
21
- "Arbitrator_confirming",
22
- "Voting",
23
- "Arbitrated",
24
- "Objectionable",
25
- "Finished",
26
- "Withdrawn"
27
- ]
28
- },
29
- "perspective": {
30
- "type": "string",
31
- "enum": [
32
- "customer",
33
- "merchant",
34
- "arbitrator"
35
- ]
106
+ "recipient_slots": {
107
+ "type": "integer",
108
+ "minimum": 0,
109
+ "maximum": 9007199254740991,
110
+ "description": "Total recipient slots across allocators."
36
111
  },
37
- "appetite": {
38
- "type": "string",
39
- "enum": [
40
- "conservative",
41
- "balanced",
42
- "aggressive"
43
- ],
44
- "description": "Risk appetite — adjusts risk sensitivity (conservative amplifies risk)."
112
+ "guard_gated_slots": {
113
+ "type": "integer",
114
+ "minimum": 0,
115
+ "maximum": 9007199254740991,
116
+ "description": "Slots resolved at settlement by a Guard."
45
117
  },
46
- "account": {
47
- "type": "string",
48
- "description": "Account address; its persona's risk_appetite is used as the default appetite."
118
+ "direct_to_me_slots": {
119
+ "type": "integer",
120
+ "minimum": 0,
121
+ "maximum": 9007199254740991,
122
+ "description": "Slots paying directly to this role."
49
123
  },
50
- "requirements": {
51
- "type": "array",
52
- "items": {
53
- "type": "string"
54
- },
55
- "description": "Persona red lines that re-anchor the role's prefer/avoid (人设驱动力)."
124
+ "to_payer_slots": {
125
+ "type": "integer",
126
+ "minimum": 0,
127
+ "maximum": 9007199254740991,
128
+ "description": "Slots routing back to the payer (refund-oriented)."
56
129
  }
57
130
  },
58
131
  "required": [
59
- "action",
60
- "status",
61
- "perspective"
132
+ "recipient_slots",
133
+ "guard_gated_slots",
134
+ "direct_to_me_slots",
135
+ "to_payer_slots"
62
136
  ],
63
137
  "additionalProperties": false
64
138
  },
65
- {
139
+ "requirements": {
140
+ "description": "Persona red lines that re-anchor the role's prefer/avoid (人设驱动力).",
141
+ "type": "array",
142
+ "items": {
143
+ "type": "string"
144
+ }
145
+ },
146
+ "order_amount": {
147
+ "description": "Escrowed order amount (smallest-unit string) — the monetary stake at this node (数值化).",
148
+ "type": "string"
149
+ },
150
+ "compensation_fund": {
151
+ "description": "Merchant compensation_fund (smallest-unit string) — the monetary risk exposure backing indemnity.",
152
+ "type": "string"
153
+ },
154
+ "operable": {
155
+ "type": "array",
156
+ "items": {
157
+ "type": "object",
158
+ "properties": {
159
+ "name": {
160
+ "type": "string",
161
+ "description": "Forward (operation) name."
162
+ },
163
+ "to_node": {
164
+ "type": "string",
165
+ "description": "Target node after execution."
166
+ },
167
+ "execution_path": {
168
+ "type": "string",
169
+ "enum": [
170
+ "order_holder",
171
+ "permission",
172
+ "named_operator",
173
+ "not_available"
174
+ ],
175
+ "description": "How the account may execute it."
176
+ },
177
+ "guard": {
178
+ "description": "Guard address gating this forward.",
179
+ "type": "string"
180
+ },
181
+ "consequence": {
182
+ "description": "Consequence hint (completion/refund path).",
183
+ "type": "string"
184
+ },
185
+ "weight": {
186
+ "description": "Forward weight (accumulates toward the pair's threshold).",
187
+ "type": "number"
188
+ }
189
+ },
190
+ "required": [
191
+ "name",
192
+ "to_node",
193
+ "execution_path"
194
+ ],
195
+ "additionalProperties": false
196
+ }
197
+ },
198
+ "waiting_on": {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "object",
202
+ "properties": {
203
+ "role": {
204
+ "type": "string"
205
+ },
206
+ "forwards": {
207
+ "type": "array",
208
+ "items": {
209
+ "type": "string"
210
+ }
211
+ }
212
+ },
213
+ "required": [
214
+ "role",
215
+ "forwards"
216
+ ],
217
+ "additionalProperties": false
218
+ }
219
+ }
220
+ },
221
+ "required": [
222
+ "action",
223
+ "current_node",
224
+ "perspective",
225
+ "operable"
226
+ ],
227
+ "additionalProperties": false
228
+ },
229
+ {
230
+ "type": "object",
231
+ "properties": {
232
+ "action": {
233
+ "type": "string",
234
+ "const": "capability_gap"
235
+ },
236
+ "demand": {
66
237
  "type": "object",
67
238
  "properties": {
68
- "action": {
239
+ "id": {
69
240
  "type": "string",
70
- "const": "node_game"
241
+ "description": "Service/Demand address."
71
242
  },
72
- "current_node": {
73
- "type": "string"
74
- },
75
- "perspective": {
243
+ "kind": {
76
244
  "type": "string",
77
245
  "enum": [
78
- "merchant",
79
- "customer",
80
- "prospect",
81
- "supplier",
82
- "collaborator",
83
- "arbitrator"
84
- ]
246
+ "service",
247
+ "demand"
248
+ ],
249
+ "description": "Whether this is a service or demand."
85
250
  },
86
- "appetite": {
87
- "$ref": "#/definitions/evaluation_operation/anyOf/0/properties/appetite",
88
- "description": "Risk appetite — adjusts risk sensitivity (conservative amplifies risk)."
251
+ "owner": {
252
+ "type": "string"
89
253
  },
90
- "account": {
254
+ "industry": {
91
255
  "type": "string",
92
- "description": "Account address; its persona's risk_appetite is used as the default appetite."
256
+ "enum": [
257
+ "freelance",
258
+ "rental",
259
+ "education",
260
+ "travel",
261
+ "subscription",
262
+ "retail",
263
+ "general",
264
+ "custom"
265
+ ],
266
+ "description": "Industry scenario."
93
267
  },
94
- "threshold": {
95
- "type": "integer",
96
- "minimum": 1,
97
- "description": "Pair threshold — when > 1, multi-role cooperation is needed to advance."
268
+ "industry_confidence": {
269
+ "type": "number",
270
+ "minimum": 0,
271
+ "maximum": 1
98
272
  },
99
- "allocation": {
273
+ "region": {
100
274
  "type": "object",
101
275
  "properties": {
102
- "recipient_slots": {
103
- "type": "integer",
104
- "minimum": 0,
105
- "description": "Total recipient slots across allocators."
106
- },
107
- "guard_gated_slots": {
108
- "type": "integer",
109
- "minimum": 0,
110
- "description": "Slots resolved at settlement by a Guard."
111
- },
112
- "direct_to_me_slots": {
113
- "type": "integer",
114
- "minimum": 0,
115
- "description": "Slots paying directly to this role."
116
- },
117
- "to_payer_slots": {
118
- "type": "integer",
119
- "minimum": 0,
120
- "description": "Slots routing back to the payer (refund-oriented)."
276
+ "mode": {
277
+ "type": "string",
278
+ "enum": [
279
+ "remote",
280
+ "physical"
281
+ ]
282
+ },
283
+ "country": {
284
+ "type": "string"
285
+ },
286
+ "province": {
287
+ "type": "string"
288
+ },
289
+ "city": {
290
+ "type": "string"
291
+ },
292
+ "raw": {
293
+ "type": "string",
294
+ "description": "Original location string (for traceability)."
121
295
  }
122
296
  },
123
297
  "required": [
124
- "recipient_slots",
125
- "guard_gated_slots",
126
- "direct_to_me_slots",
127
- "to_payer_slots"
298
+ "mode",
299
+ "raw"
128
300
  ],
129
- "additionalProperties": false,
130
- "description": "Allocation waterfall — how funds split after the node advances (利益分配)."
301
+ "additionalProperties": false
131
302
  },
132
- "requirements": {
133
- "type": "array",
134
- "items": {
135
- "type": "string"
136
- },
137
- "description": "Persona red lines that re-anchor the role's prefer/avoid (人设驱动力)."
303
+ "price_min": {
304
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
305
+ "type": "string"
138
306
  },
139
- "order_amount": {
140
- "type": "string",
141
- "description": "Escrowed order amount (smallest-unit string) — the monetary stake at this node (数值化)."
307
+ "price_max": {
308
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
309
+ "type": "string"
142
310
  },
143
- "compensation_fund": {
311
+ "token_type": {
312
+ "type": "string"
313
+ },
314
+ "ticket_size": {
144
315
  "type": "string",
145
- "description": "Merchant compensation_fund (smallest-unit string) — the monetary risk exposure backing indemnity."
316
+ "enum": [
317
+ "micro",
318
+ "small",
319
+ "medium",
320
+ "large"
321
+ ]
322
+ },
323
+ "trust_score": {
324
+ "type": "number",
325
+ "minimum": 0,
326
+ "maximum": 100
327
+ },
328
+ "reputation_like_ratio": {
329
+ "type": "number",
330
+ "minimum": 0,
331
+ "maximum": 1
332
+ },
333
+ "arbitration_independent": {
334
+ "type": "boolean"
335
+ },
336
+ "merchant_history_count": {
337
+ "type": "integer",
338
+ "minimum": 0,
339
+ "maximum": 9007199254740991
340
+ },
341
+ "capabilities": {
342
+ "type": "object",
343
+ "properties": {
344
+ "has_arbitration": {
345
+ "type": "boolean"
346
+ },
347
+ "has_refund_path": {
348
+ "type": "boolean"
349
+ },
350
+ "has_milestone_nodes": {
351
+ "type": "boolean"
352
+ },
353
+ "has_compensation_fund": {
354
+ "type": "boolean"
355
+ },
356
+ "has_wip_verification": {
357
+ "type": "boolean"
358
+ },
359
+ "has_messenger": {
360
+ "type": "boolean"
361
+ },
362
+ "has_buy_guard": {
363
+ "type": "boolean"
364
+ },
365
+ "has_dynamic_pricing": {
366
+ "type": "boolean"
367
+ },
368
+ "is_published": {
369
+ "type": "boolean"
370
+ },
371
+ "is_paused": {
372
+ "type": "boolean"
373
+ }
374
+ },
375
+ "required": [
376
+ "has_arbitration",
377
+ "has_refund_path",
378
+ "has_milestone_nodes",
379
+ "has_compensation_fund",
380
+ "has_wip_verification",
381
+ "has_messenger",
382
+ "has_buy_guard",
383
+ "has_dynamic_pricing",
384
+ "is_published",
385
+ "is_paused"
386
+ ],
387
+ "additionalProperties": false
146
388
  },
147
- "operable": {
389
+ "tags": {
148
390
  "type": "array",
149
391
  "items": {
150
- "type": "object",
151
- "properties": {
152
- "name": {
153
- "type": "string",
154
- "description": "Forward (operation) name."
155
- },
156
- "to_node": {
157
- "type": "string",
158
- "description": "Target node after execution."
159
- },
160
- "execution_path": {
161
- "type": "string",
162
- "enum": [
163
- "order_holder",
164
- "permission",
165
- "named_operator",
166
- "not_available"
167
- ],
168
- "description": "How the account may execute it."
169
- },
170
- "guard": {
171
- "type": "string",
172
- "description": "Guard address gating this forward."
173
- },
174
- "consequence": {
175
- "type": "string",
176
- "description": "Consequence hint (completion/refund path)."
177
- },
178
- "weight": {
179
- "type": "number",
180
- "description": "Forward weight (accumulates toward the pair's threshold)."
181
- }
182
- },
183
- "required": [
184
- "name",
185
- "to_node",
186
- "execution_path"
187
- ],
188
- "additionalProperties": false
392
+ "type": "string"
189
393
  }
190
394
  },
191
- "waiting_on": {
395
+ "keywords": {
192
396
  "type": "array",
193
397
  "items": {
194
- "type": "object",
195
- "properties": {
196
- "role": {
197
- "type": "string"
198
- },
199
- "forwards": {
200
- "type": "array",
201
- "items": {
202
- "type": "string"
203
- }
204
- }
205
- },
206
- "required": [
207
- "role",
208
- "forwards"
209
- ],
210
- "additionalProperties": false
398
+ "type": "string"
211
399
  }
212
400
  }
213
401
  },
214
402
  "required": [
215
- "action",
216
- "current_node",
217
- "perspective",
218
- "operable"
403
+ "id",
404
+ "kind",
405
+ "industry",
406
+ "region",
407
+ "capabilities"
219
408
  ],
220
409
  "additionalProperties": false
221
410
  },
222
- {
411
+ "service": {
223
412
  "type": "object",
224
413
  "properties": {
225
- "action": {
414
+ "id": {
415
+ "type": "string",
416
+ "description": "Service/Demand address."
417
+ },
418
+ "kind": {
419
+ "type": "string",
420
+ "enum": [
421
+ "service",
422
+ "demand"
423
+ ],
424
+ "description": "Whether this is a service or demand."
425
+ },
426
+ "owner": {
427
+ "type": "string"
428
+ },
429
+ "industry": {
226
430
  "type": "string",
227
- "const": "capability_gap"
431
+ "enum": [
432
+ "freelance",
433
+ "rental",
434
+ "education",
435
+ "travel",
436
+ "subscription",
437
+ "retail",
438
+ "general",
439
+ "custom"
440
+ ],
441
+ "description": "Industry scenario."
228
442
  },
229
- "demand": {
443
+ "industry_confidence": {
444
+ "type": "number",
445
+ "minimum": 0,
446
+ "maximum": 1
447
+ },
448
+ "region": {
230
449
  "type": "object",
231
450
  "properties": {
232
- "id": {
233
- "type": "string",
234
- "description": "Service/Demand address."
235
- },
236
- "kind": {
451
+ "mode": {
237
452
  "type": "string",
238
453
  "enum": [
239
- "service",
240
- "demand"
241
- ],
242
- "description": "Whether this is a service or demand."
454
+ "remote",
455
+ "physical"
456
+ ]
243
457
  },
244
- "owner": {
458
+ "country": {
245
459
  "type": "string"
246
460
  },
247
- "industry": {
248
- "type": "string",
249
- "enum": [
250
- "freelance",
251
- "rental",
252
- "education",
253
- "travel",
254
- "subscription",
255
- "retail",
256
- "general",
257
- "custom"
258
- ],
259
- "description": "Industry scenario."
260
- },
261
- "industry_confidence": {
262
- "type": "number",
263
- "minimum": 0,
264
- "maximum": 1
265
- },
266
- "region": {
267
- "type": "object",
268
- "properties": {
269
- "mode": {
270
- "type": "string",
271
- "enum": [
272
- "remote",
273
- "physical"
274
- ]
275
- },
276
- "country": {
277
- "type": "string"
278
- },
279
- "province": {
280
- "type": "string"
281
- },
282
- "city": {
283
- "type": "string"
284
- },
285
- "raw": {
286
- "type": "string",
287
- "description": "Original location string (for traceability)."
288
- }
289
- },
290
- "required": [
291
- "mode",
292
- "raw"
293
- ],
294
- "additionalProperties": false
461
+ "province": {
462
+ "type": "string"
295
463
  },
296
- "price_min": {
297
- "type": "string",
298
- "description": "Smallest-unit amount (string to avoid JSON bigint loss)."
464
+ "city": {
465
+ "type": "string"
299
466
  },
300
- "price_max": {
467
+ "raw": {
301
468
  "type": "string",
302
- "description": "Smallest-unit amount (string to avoid JSON bigint loss)."
469
+ "description": "Original location string (for traceability)."
470
+ }
471
+ },
472
+ "required": [
473
+ "mode",
474
+ "raw"
475
+ ],
476
+ "additionalProperties": false
477
+ },
478
+ "price_min": {
479
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
480
+ "type": "string"
481
+ },
482
+ "price_max": {
483
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
484
+ "type": "string"
485
+ },
486
+ "token_type": {
487
+ "type": "string"
488
+ },
489
+ "ticket_size": {
490
+ "type": "string",
491
+ "enum": [
492
+ "micro",
493
+ "small",
494
+ "medium",
495
+ "large"
496
+ ]
497
+ },
498
+ "trust_score": {
499
+ "type": "number",
500
+ "minimum": 0,
501
+ "maximum": 100
502
+ },
503
+ "reputation_like_ratio": {
504
+ "type": "number",
505
+ "minimum": 0,
506
+ "maximum": 1
507
+ },
508
+ "arbitration_independent": {
509
+ "type": "boolean"
510
+ },
511
+ "merchant_history_count": {
512
+ "type": "integer",
513
+ "minimum": 0,
514
+ "maximum": 9007199254740991
515
+ },
516
+ "capabilities": {
517
+ "type": "object",
518
+ "properties": {
519
+ "has_arbitration": {
520
+ "type": "boolean"
303
521
  },
304
- "token_type": {
305
- "type": "string"
522
+ "has_refund_path": {
523
+ "type": "boolean"
306
524
  },
307
- "ticket_size": {
308
- "type": "string",
309
- "enum": [
310
- "micro",
311
- "small",
312
- "medium",
313
- "large"
314
- ]
525
+ "has_milestone_nodes": {
526
+ "type": "boolean"
315
527
  },
316
- "trust_score": {
317
- "type": "number",
318
- "minimum": 0,
319
- "maximum": 100
528
+ "has_compensation_fund": {
529
+ "type": "boolean"
320
530
  },
321
- "reputation_like_ratio": {
322
- "type": "number",
323
- "minimum": 0,
324
- "maximum": 1
531
+ "has_wip_verification": {
532
+ "type": "boolean"
325
533
  },
326
- "arbitration_independent": {
534
+ "has_messenger": {
327
535
  "type": "boolean"
328
536
  },
329
- "merchant_history_count": {
330
- "type": "integer",
331
- "minimum": 0
537
+ "has_buy_guard": {
538
+ "type": "boolean"
332
539
  },
333
- "capabilities": {
334
- "type": "object",
335
- "properties": {
336
- "has_arbitration": {
337
- "type": "boolean"
338
- },
339
- "has_refund_path": {
340
- "type": "boolean"
341
- },
342
- "has_milestone_nodes": {
343
- "type": "boolean"
344
- },
345
- "has_compensation_fund": {
346
- "type": "boolean"
347
- },
348
- "has_wip_verification": {
349
- "type": "boolean"
350
- },
351
- "has_messenger": {
352
- "type": "boolean"
353
- },
354
- "has_buy_guard": {
355
- "type": "boolean"
356
- },
357
- "has_dynamic_pricing": {
358
- "type": "boolean"
359
- },
360
- "is_published": {
361
- "type": "boolean"
362
- },
363
- "is_paused": {
364
- "type": "boolean"
365
- }
366
- },
367
- "required": [
368
- "has_arbitration",
369
- "has_refund_path",
370
- "has_milestone_nodes",
371
- "has_compensation_fund",
372
- "has_wip_verification",
373
- "has_messenger",
374
- "has_buy_guard",
375
- "has_dynamic_pricing",
376
- "is_published",
377
- "is_paused"
378
- ],
379
- "additionalProperties": false
540
+ "has_dynamic_pricing": {
541
+ "type": "boolean"
380
542
  },
381
- "tags": {
382
- "type": "array",
383
- "items": {
384
- "type": "string"
385
- }
543
+ "is_published": {
544
+ "type": "boolean"
386
545
  },
387
- "keywords": {
388
- "type": "array",
389
- "items": {
390
- "type": "string"
391
- }
546
+ "is_paused": {
547
+ "type": "boolean"
392
548
  }
393
549
  },
394
550
  "required": [
395
- "id",
396
- "kind",
397
- "industry",
398
- "region",
399
- "capabilities"
551
+ "has_arbitration",
552
+ "has_refund_path",
553
+ "has_milestone_nodes",
554
+ "has_compensation_fund",
555
+ "has_wip_verification",
556
+ "has_messenger",
557
+ "has_buy_guard",
558
+ "has_dynamic_pricing",
559
+ "is_published",
560
+ "is_paused"
400
561
  ],
401
562
  "additionalProperties": false
402
563
  },
403
- "service": {
404
- "$ref": "#/definitions/evaluation_operation/anyOf/2/properties/demand"
405
- }
406
- },
407
- "required": [
408
- "action",
409
- "demand",
410
- "service"
411
- ],
412
- "additionalProperties": false
413
- },
414
- {
415
- "type": "object",
416
- "properties": {
417
- "action": {
418
- "type": "string",
419
- "const": "compose_service"
420
- },
421
- "demand": {
422
- "$ref": "#/definitions/evaluation_operation/anyOf/2/properties/demand"
564
+ "tags": {
565
+ "type": "array",
566
+ "items": {
567
+ "type": "string"
568
+ }
423
569
  },
424
- "services": {
570
+ "keywords": {
425
571
  "type": "array",
426
572
  "items": {
427
- "$ref": "#/definitions/evaluation_operation/anyOf/2/properties/demand"
573
+ "type": "string"
428
574
  }
429
575
  }
430
576
  },
431
577
  "required": [
432
- "action",
433
- "demand",
434
- "services"
578
+ "id",
579
+ "kind",
580
+ "industry",
581
+ "region",
582
+ "capabilities"
435
583
  ],
436
584
  "additionalProperties": false
585
+ }
586
+ },
587
+ "required": [
588
+ "action",
589
+ "demand",
590
+ "service"
591
+ ],
592
+ "additionalProperties": false
593
+ },
594
+ {
595
+ "type": "object",
596
+ "properties": {
597
+ "action": {
598
+ "type": "string",
599
+ "const": "compose_service"
437
600
  },
438
- {
601
+ "demand": {
439
602
  "type": "object",
440
603
  "properties": {
441
- "action": {
604
+ "id": {
442
605
  "type": "string",
443
- "const": "demand_match"
606
+ "description": "Service/Demand address."
444
607
  },
445
- "demand_cap": {
446
- "$ref": "#/definitions/evaluation_operation/anyOf/2/properties/demand"
608
+ "kind": {
609
+ "type": "string",
610
+ "enum": [
611
+ "service",
612
+ "demand"
613
+ ],
614
+ "description": "Whether this is a service or demand."
447
615
  },
448
- "services": {
449
- "type": "array",
450
- "items": {
451
- "type": "object",
452
- "properties": {
453
- "object": {
454
- "type": "string",
455
- "description": "Service object address."
456
- },
457
- "description": {
458
- "type": "string"
459
- },
460
- "location": {
461
- "type": "string"
462
- },
463
- "sales": {
464
- "type": "array",
465
- "items": {
466
- "type": "object",
467
- "properties": {
468
- "name": {
469
- "type": "string"
470
- },
471
- "price": {
472
- "type": "string",
473
- "description": "Smallest-unit amount (string)."
474
- },
475
- "wip_hash": {
476
- "type": "string"
477
- }
478
- },
479
- "required": [
480
- "price"
481
- ],
482
- "additionalProperties": false
483
- }
484
- },
485
- "arbitrations": {
486
- "type": "array",
487
- "items": {
488
- "type": "string"
489
- }
490
- },
491
- "compensation_fund": {
492
- "type": "string",
493
- "description": "Smallest-unit amount (string)."
494
- },
495
- "buy_guard": {
496
- "type": [
497
- "string",
498
- "null"
499
- ]
500
- },
501
- "machine": {
502
- "type": [
503
- "string",
504
- "null"
505
- ]
506
- },
507
- "um": {
508
- "type": [
509
- "string",
510
- "null"
511
- ]
512
- },
513
- "bPublished": {
514
- "type": "boolean"
515
- },
516
- "bPaused": {
517
- "type": "boolean"
518
- },
519
- "owner": {
520
- "type": "string"
521
- }
522
- },
523
- "required": [
524
- "object",
525
- "description",
526
- "location"
527
- ],
528
- "additionalProperties": false
529
- }
616
+ "owner": {
617
+ "type": "string"
618
+ },
619
+ "industry": {
620
+ "type": "string",
621
+ "enum": [
622
+ "freelance",
623
+ "rental",
624
+ "education",
625
+ "travel",
626
+ "subscription",
627
+ "retail",
628
+ "general",
629
+ "custom"
630
+ ],
631
+ "description": "Industry scenario."
530
632
  },
531
- "injection": {
633
+ "industry_confidence": {
634
+ "type": "number",
635
+ "minimum": 0,
636
+ "maximum": 1
637
+ },
638
+ "region": {
532
639
  "type": "object",
533
640
  "properties": {
534
- "intent": {
641
+ "mode": {
535
642
  "type": "string",
536
- "description": "Free-text intent."
643
+ "enum": [
644
+ "remote",
645
+ "physical"
646
+ ]
537
647
  },
538
- "preferences": {
539
- "type": "object",
540
- "additionalProperties": {}
648
+ "country": {
649
+ "type": "string"
541
650
  },
542
- "requirements": {
543
- "type": "array",
544
- "items": {
545
- "type": "object",
546
- "properties": {
547
- "rule_id": {
548
- "type": "string"
549
- },
550
- "condition": {
551
- "type": "string",
552
- "enum": [
553
- "require",
554
- "forbid"
555
- ]
556
- },
557
- "note": {
558
- "type": "string"
559
- }
560
- },
561
- "required": [
562
- "rule_id",
563
- "condition"
564
- ],
565
- "additionalProperties": false
566
- },
567
- "description": "Hard red lines (block when violated)."
651
+ "province": {
652
+ "type": "string"
568
653
  },
569
- "overrides": {
570
- "type": "object",
571
- "properties": {
572
- "rules": {
573
- "type": "object",
574
- "additionalProperties": {
575
- "type": "object",
576
- "properties": {
577
- "enabled": {
578
- "type": "boolean"
579
- },
580
- "weight": {
581
- "type": "number"
582
- }
583
- },
584
- "additionalProperties": false
585
- }
586
- },
587
- "data_sources": {
588
- "type": "object",
589
- "additionalProperties": {
590
- "type": "object",
591
- "properties": {
592
- "enabled": {
593
- "type": "boolean"
594
- }
595
- },
596
- "additionalProperties": false
597
- }
598
- }
599
- },
600
- "additionalProperties": false,
601
- "description": "Enable/disable/reweight rules and data sources."
654
+ "city": {
655
+ "type": "string"
656
+ },
657
+ "raw": {
658
+ "type": "string",
659
+ "description": "Original location string (for traceability)."
602
660
  }
603
661
  },
662
+ "required": [
663
+ "mode",
664
+ "raw"
665
+ ],
604
666
  "additionalProperties": false
605
667
  },
606
- "account": {
668
+ "price_min": {
669
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
670
+ "type": "string"
671
+ },
672
+ "price_max": {
673
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
674
+ "type": "string"
675
+ },
676
+ "token_type": {
677
+ "type": "string"
678
+ },
679
+ "ticket_size": {
607
680
  "type": "string",
608
- "description": "Account address; its persona is auto-applied as the base injection (explicit injection overrides)."
681
+ "enum": [
682
+ "micro",
683
+ "small",
684
+ "medium",
685
+ "large"
686
+ ]
687
+ },
688
+ "trust_score": {
689
+ "type": "number",
690
+ "minimum": 0,
691
+ "maximum": 100
692
+ },
693
+ "reputation_like_ratio": {
694
+ "type": "number",
695
+ "minimum": 0,
696
+ "maximum": 1
697
+ },
698
+ "arbitration_independent": {
699
+ "type": "boolean"
700
+ },
701
+ "merchant_history_count": {
702
+ "type": "integer",
703
+ "minimum": 0,
704
+ "maximum": 9007199254740991
705
+ },
706
+ "capabilities": {
707
+ "type": "object",
708
+ "properties": {
709
+ "has_arbitration": {
710
+ "type": "boolean"
711
+ },
712
+ "has_refund_path": {
713
+ "type": "boolean"
714
+ },
715
+ "has_milestone_nodes": {
716
+ "type": "boolean"
717
+ },
718
+ "has_compensation_fund": {
719
+ "type": "boolean"
720
+ },
721
+ "has_wip_verification": {
722
+ "type": "boolean"
723
+ },
724
+ "has_messenger": {
725
+ "type": "boolean"
726
+ },
727
+ "has_buy_guard": {
728
+ "type": "boolean"
729
+ },
730
+ "has_dynamic_pricing": {
731
+ "type": "boolean"
732
+ },
733
+ "is_published": {
734
+ "type": "boolean"
735
+ },
736
+ "is_paused": {
737
+ "type": "boolean"
738
+ }
739
+ },
740
+ "required": [
741
+ "has_arbitration",
742
+ "has_refund_path",
743
+ "has_milestone_nodes",
744
+ "has_compensation_fund",
745
+ "has_wip_verification",
746
+ "has_messenger",
747
+ "has_buy_guard",
748
+ "has_dynamic_pricing",
749
+ "is_published",
750
+ "is_paused"
751
+ ],
752
+ "additionalProperties": false
753
+ },
754
+ "tags": {
755
+ "type": "array",
756
+ "items": {
757
+ "type": "string"
758
+ }
759
+ },
760
+ "keywords": {
761
+ "type": "array",
762
+ "items": {
763
+ "type": "string"
764
+ }
609
765
  }
610
766
  },
611
767
  "required": [
612
- "action",
613
- "demand_cap",
614
- "services"
768
+ "id",
769
+ "kind",
770
+ "industry",
771
+ "region",
772
+ "capabilities"
615
773
  ],
616
774
  "additionalProperties": false
617
775
  },
618
- {
619
- "type": "object",
620
- "properties": {
621
- "action": {
622
- "type": "string",
623
- "const": "service_match"
624
- },
625
- "service_cap": {
626
- "$ref": "#/definitions/evaluation_operation/anyOf/2/properties/demand"
627
- },
628
- "demands": {
629
- "type": "array",
630
- "items": {
776
+ "services": {
777
+ "type": "array",
778
+ "items": {
779
+ "type": "object",
780
+ "properties": {
781
+ "id": {
782
+ "type": "string",
783
+ "description": "Service/Demand address."
784
+ },
785
+ "kind": {
786
+ "type": "string",
787
+ "enum": [
788
+ "service",
789
+ "demand"
790
+ ],
791
+ "description": "Whether this is a service or demand."
792
+ },
793
+ "owner": {
794
+ "type": "string"
795
+ },
796
+ "industry": {
797
+ "type": "string",
798
+ "enum": [
799
+ "freelance",
800
+ "rental",
801
+ "education",
802
+ "travel",
803
+ "subscription",
804
+ "retail",
805
+ "general",
806
+ "custom"
807
+ ],
808
+ "description": "Industry scenario."
809
+ },
810
+ "industry_confidence": {
811
+ "type": "number",
812
+ "minimum": 0,
813
+ "maximum": 1
814
+ },
815
+ "region": {
631
816
  "type": "object",
632
817
  "properties": {
633
- "object": {
818
+ "mode": {
634
819
  "type": "string",
635
- "description": "Demand object address."
820
+ "enum": [
821
+ "remote",
822
+ "physical"
823
+ ]
636
824
  },
637
- "description": {
825
+ "country": {
638
826
  "type": "string"
639
827
  },
640
- "location": {
828
+ "province": {
641
829
  "type": "string"
642
830
  },
643
- "rewards": {
644
- "type": "array",
645
- "items": {
646
- "type": "string"
647
- }
831
+ "city": {
832
+ "type": "string"
648
833
  },
649
- "um": {
650
- "type": [
651
- "string",
652
- "null"
653
- ]
834
+ "raw": {
835
+ "type": "string",
836
+ "description": "Original location string (for traceability)."
837
+ }
838
+ },
839
+ "required": [
840
+ "mode",
841
+ "raw"
842
+ ],
843
+ "additionalProperties": false
844
+ },
845
+ "price_min": {
846
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
847
+ "type": "string"
848
+ },
849
+ "price_max": {
850
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
851
+ "type": "string"
852
+ },
853
+ "token_type": {
854
+ "type": "string"
855
+ },
856
+ "ticket_size": {
857
+ "type": "string",
858
+ "enum": [
859
+ "micro",
860
+ "small",
861
+ "medium",
862
+ "large"
863
+ ]
864
+ },
865
+ "trust_score": {
866
+ "type": "number",
867
+ "minimum": 0,
868
+ "maximum": 100
869
+ },
870
+ "reputation_like_ratio": {
871
+ "type": "number",
872
+ "minimum": 0,
873
+ "maximum": 1
874
+ },
875
+ "arbitration_independent": {
876
+ "type": "boolean"
877
+ },
878
+ "merchant_history_count": {
879
+ "type": "integer",
880
+ "minimum": 0,
881
+ "maximum": 9007199254740991
882
+ },
883
+ "capabilities": {
884
+ "type": "object",
885
+ "properties": {
886
+ "has_arbitration": {
887
+ "type": "boolean"
654
888
  },
655
- "owner": {
656
- "type": "string"
889
+ "has_refund_path": {
890
+ "type": "boolean"
891
+ },
892
+ "has_milestone_nodes": {
893
+ "type": "boolean"
894
+ },
895
+ "has_compensation_fund": {
896
+ "type": "boolean"
897
+ },
898
+ "has_wip_verification": {
899
+ "type": "boolean"
900
+ },
901
+ "has_messenger": {
902
+ "type": "boolean"
903
+ },
904
+ "has_buy_guard": {
905
+ "type": "boolean"
906
+ },
907
+ "has_dynamic_pricing": {
908
+ "type": "boolean"
909
+ },
910
+ "is_published": {
911
+ "type": "boolean"
912
+ },
913
+ "is_paused": {
914
+ "type": "boolean"
657
915
  }
658
916
  },
659
917
  "required": [
660
- "object",
661
- "description",
662
- "location"
918
+ "has_arbitration",
919
+ "has_refund_path",
920
+ "has_milestone_nodes",
921
+ "has_compensation_fund",
922
+ "has_wip_verification",
923
+ "has_messenger",
924
+ "has_buy_guard",
925
+ "has_dynamic_pricing",
926
+ "is_published",
927
+ "is_paused"
663
928
  ],
664
929
  "additionalProperties": false
930
+ },
931
+ "tags": {
932
+ "type": "array",
933
+ "items": {
934
+ "type": "string"
935
+ }
936
+ },
937
+ "keywords": {
938
+ "type": "array",
939
+ "items": {
940
+ "type": "string"
941
+ }
665
942
  }
666
943
  },
667
- "injection": {
668
- "$ref": "#/definitions/evaluation_operation/anyOf/4/properties/injection"
669
- },
670
- "account": {
671
- "type": "string",
672
- "description": "Account address; its persona is auto-applied as the base injection."
673
- }
674
- },
675
- "required": [
676
- "action",
677
- "service_cap",
678
- "demands"
679
- ],
680
- "additionalProperties": false
944
+ "required": [
945
+ "id",
946
+ "kind",
947
+ "industry",
948
+ "region",
949
+ "capabilities"
950
+ ],
951
+ "additionalProperties": false
952
+ }
953
+ }
954
+ },
955
+ "required": [
956
+ "action",
957
+ "demand",
958
+ "services"
959
+ ],
960
+ "additionalProperties": false
961
+ },
962
+ {
963
+ "type": "object",
964
+ "properties": {
965
+ "action": {
966
+ "type": "string",
967
+ "const": "demand_match"
681
968
  },
682
- {
969
+ "demand_cap": {
683
970
  "type": "object",
684
971
  "properties": {
685
- "action": {
972
+ "id": {
686
973
  "type": "string",
687
- "const": "service_risk"
974
+ "description": "Service/Demand address."
975
+ },
976
+ "kind": {
977
+ "type": "string",
978
+ "enum": [
979
+ "service",
980
+ "demand"
981
+ ],
982
+ "description": "Whether this is a service or demand."
688
983
  },
689
- "service_id": {
984
+ "owner": {
985
+ "type": "string"
986
+ },
987
+ "industry": {
690
988
  "type": "string",
691
- "description": "Service object address or LocalMark name."
989
+ "enum": [
990
+ "freelance",
991
+ "rental",
992
+ "education",
993
+ "travel",
994
+ "subscription",
995
+ "retail",
996
+ "general",
997
+ "custom"
998
+ ],
999
+ "description": "Industry scenario."
692
1000
  },
693
- "puzzle_raw": {
1001
+ "industry_confidence": {
1002
+ "type": "number",
1003
+ "minimum": 0,
1004
+ "maximum": 1
1005
+ },
1006
+ "region": {
694
1007
  "type": "object",
695
1008
  "properties": {
696
- "service": {
697
- "type": "object",
698
- "properties": {
699
- "name": {
1009
+ "mode": {
1010
+ "type": "string",
1011
+ "enum": [
1012
+ "remote",
1013
+ "physical"
1014
+ ]
1015
+ },
1016
+ "country": {
1017
+ "type": "string"
1018
+ },
1019
+ "province": {
1020
+ "type": "string"
1021
+ },
1022
+ "city": {
1023
+ "type": "string"
1024
+ },
1025
+ "raw": {
1026
+ "type": "string",
1027
+ "description": "Original location string (for traceability)."
1028
+ }
1029
+ },
1030
+ "required": [
1031
+ "mode",
1032
+ "raw"
1033
+ ],
1034
+ "additionalProperties": false
1035
+ },
1036
+ "price_min": {
1037
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
1038
+ "type": "string"
1039
+ },
1040
+ "price_max": {
1041
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
1042
+ "type": "string"
1043
+ },
1044
+ "token_type": {
1045
+ "type": "string"
1046
+ },
1047
+ "ticket_size": {
1048
+ "type": "string",
1049
+ "enum": [
1050
+ "micro",
1051
+ "small",
1052
+ "medium",
1053
+ "large"
1054
+ ]
1055
+ },
1056
+ "trust_score": {
1057
+ "type": "number",
1058
+ "minimum": 0,
1059
+ "maximum": 100
1060
+ },
1061
+ "reputation_like_ratio": {
1062
+ "type": "number",
1063
+ "minimum": 0,
1064
+ "maximum": 1
1065
+ },
1066
+ "arbitration_independent": {
1067
+ "type": "boolean"
1068
+ },
1069
+ "merchant_history_count": {
1070
+ "type": "integer",
1071
+ "minimum": 0,
1072
+ "maximum": 9007199254740991
1073
+ },
1074
+ "capabilities": {
1075
+ "type": "object",
1076
+ "properties": {
1077
+ "has_arbitration": {
1078
+ "type": "boolean"
1079
+ },
1080
+ "has_refund_path": {
1081
+ "type": "boolean"
1082
+ },
1083
+ "has_milestone_nodes": {
1084
+ "type": "boolean"
1085
+ },
1086
+ "has_compensation_fund": {
1087
+ "type": "boolean"
1088
+ },
1089
+ "has_wip_verification": {
1090
+ "type": "boolean"
1091
+ },
1092
+ "has_messenger": {
1093
+ "type": "boolean"
1094
+ },
1095
+ "has_buy_guard": {
1096
+ "type": "boolean"
1097
+ },
1098
+ "has_dynamic_pricing": {
1099
+ "type": "boolean"
1100
+ },
1101
+ "is_published": {
1102
+ "type": "boolean"
1103
+ },
1104
+ "is_paused": {
1105
+ "type": "boolean"
1106
+ }
1107
+ },
1108
+ "required": [
1109
+ "has_arbitration",
1110
+ "has_refund_path",
1111
+ "has_milestone_nodes",
1112
+ "has_compensation_fund",
1113
+ "has_wip_verification",
1114
+ "has_messenger",
1115
+ "has_buy_guard",
1116
+ "has_dynamic_pricing",
1117
+ "is_published",
1118
+ "is_paused"
1119
+ ],
1120
+ "additionalProperties": false
1121
+ },
1122
+ "tags": {
1123
+ "type": "array",
1124
+ "items": {
1125
+ "type": "string"
1126
+ }
1127
+ },
1128
+ "keywords": {
1129
+ "type": "array",
1130
+ "items": {
1131
+ "type": "string"
1132
+ }
1133
+ }
1134
+ },
1135
+ "required": [
1136
+ "id",
1137
+ "kind",
1138
+ "industry",
1139
+ "region",
1140
+ "capabilities"
1141
+ ],
1142
+ "additionalProperties": false
1143
+ },
1144
+ "services": {
1145
+ "type": "array",
1146
+ "items": {
1147
+ "type": "object",
1148
+ "properties": {
1149
+ "object": {
1150
+ "type": "string",
1151
+ "description": "Service object address."
1152
+ },
1153
+ "description": {
1154
+ "type": "string"
1155
+ },
1156
+ "location": {
1157
+ "type": "string"
1158
+ },
1159
+ "sales": {
1160
+ "type": "array",
1161
+ "items": {
1162
+ "type": "object",
1163
+ "properties": {
1164
+ "name": {
1165
+ "type": "string"
1166
+ },
1167
+ "price": {
1168
+ "type": "string",
1169
+ "description": "Smallest-unit amount (string)."
1170
+ },
1171
+ "wip_hash": {
1172
+ "type": "string"
1173
+ }
1174
+ },
1175
+ "required": [
1176
+ "price"
1177
+ ],
1178
+ "additionalProperties": false
1179
+ }
1180
+ },
1181
+ "arbitrations": {
1182
+ "type": "array",
1183
+ "items": {
1184
+ "type": "string"
1185
+ }
1186
+ },
1187
+ "compensation_fund": {
1188
+ "description": "Smallest-unit amount (string).",
1189
+ "type": "string"
1190
+ },
1191
+ "buy_guard": {
1192
+ "anyOf": [
1193
+ {
1194
+ "type": "string"
1195
+ },
1196
+ {
1197
+ "type": "null"
1198
+ }
1199
+ ]
1200
+ },
1201
+ "machine": {
1202
+ "anyOf": [
1203
+ {
1204
+ "type": "string"
1205
+ },
1206
+ {
1207
+ "type": "null"
1208
+ }
1209
+ ]
1210
+ },
1211
+ "um": {
1212
+ "anyOf": [
1213
+ {
1214
+ "type": "string"
1215
+ },
1216
+ {
1217
+ "type": "null"
1218
+ }
1219
+ ]
1220
+ },
1221
+ "bPublished": {
1222
+ "type": "boolean"
1223
+ },
1224
+ "bPaused": {
1225
+ "type": "boolean"
1226
+ },
1227
+ "owner": {
1228
+ "type": "string"
1229
+ }
1230
+ },
1231
+ "required": [
1232
+ "object",
1233
+ "description",
1234
+ "location"
1235
+ ],
1236
+ "additionalProperties": false
1237
+ }
1238
+ },
1239
+ "injection": {
1240
+ "type": "object",
1241
+ "properties": {
1242
+ "intent": {
1243
+ "description": "Free-text intent.",
1244
+ "type": "string"
1245
+ },
1246
+ "preferences": {
1247
+ "type": "object",
1248
+ "propertyNames": {
1249
+ "type": "string"
1250
+ },
1251
+ "additionalProperties": {}
1252
+ },
1253
+ "requirements": {
1254
+ "description": "Hard red lines (block when violated).",
1255
+ "type": "array",
1256
+ "items": {
1257
+ "type": "object",
1258
+ "properties": {
1259
+ "rule_id": {
1260
+ "type": "string"
1261
+ },
1262
+ "condition": {
1263
+ "type": "string",
1264
+ "enum": [
1265
+ "require",
1266
+ "forbid"
1267
+ ]
1268
+ },
1269
+ "note": {
1270
+ "type": "string"
1271
+ }
1272
+ },
1273
+ "required": [
1274
+ "rule_id",
1275
+ "condition"
1276
+ ],
1277
+ "additionalProperties": false
1278
+ }
1279
+ },
1280
+ "overrides": {
1281
+ "description": "Enable/disable/reweight rules and data sources.",
1282
+ "type": "object",
1283
+ "properties": {
1284
+ "rules": {
1285
+ "type": "object",
1286
+ "propertyNames": {
1287
+ "type": "string"
1288
+ },
1289
+ "additionalProperties": {
1290
+ "type": "object",
1291
+ "properties": {
1292
+ "enabled": {
1293
+ "type": "boolean"
1294
+ },
1295
+ "weight": {
1296
+ "type": "number"
1297
+ }
1298
+ },
1299
+ "additionalProperties": false
1300
+ }
1301
+ },
1302
+ "data_sources": {
1303
+ "type": "object",
1304
+ "propertyNames": {
1305
+ "type": "string"
1306
+ },
1307
+ "additionalProperties": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "enabled": {
1311
+ "type": "boolean"
1312
+ }
1313
+ },
1314
+ "additionalProperties": false
1315
+ }
1316
+ }
1317
+ },
1318
+ "additionalProperties": false
1319
+ }
1320
+ },
1321
+ "additionalProperties": false
1322
+ },
1323
+ "account": {
1324
+ "description": "Account address; its persona is auto-applied as the base injection (explicit injection overrides).",
1325
+ "type": "string"
1326
+ }
1327
+ },
1328
+ "required": [
1329
+ "action",
1330
+ "demand_cap",
1331
+ "services"
1332
+ ],
1333
+ "additionalProperties": false
1334
+ },
1335
+ {
1336
+ "type": "object",
1337
+ "properties": {
1338
+ "action": {
1339
+ "type": "string",
1340
+ "const": "service_match"
1341
+ },
1342
+ "service_cap": {
1343
+ "type": "object",
1344
+ "properties": {
1345
+ "id": {
1346
+ "type": "string",
1347
+ "description": "Service/Demand address."
1348
+ },
1349
+ "kind": {
1350
+ "type": "string",
1351
+ "enum": [
1352
+ "service",
1353
+ "demand"
1354
+ ],
1355
+ "description": "Whether this is a service or demand."
1356
+ },
1357
+ "owner": {
1358
+ "type": "string"
1359
+ },
1360
+ "industry": {
1361
+ "type": "string",
1362
+ "enum": [
1363
+ "freelance",
1364
+ "rental",
1365
+ "education",
1366
+ "travel",
1367
+ "subscription",
1368
+ "retail",
1369
+ "general",
1370
+ "custom"
1371
+ ],
1372
+ "description": "Industry scenario."
1373
+ },
1374
+ "industry_confidence": {
1375
+ "type": "number",
1376
+ "minimum": 0,
1377
+ "maximum": 1
1378
+ },
1379
+ "region": {
1380
+ "type": "object",
1381
+ "properties": {
1382
+ "mode": {
1383
+ "type": "string",
1384
+ "enum": [
1385
+ "remote",
1386
+ "physical"
1387
+ ]
1388
+ },
1389
+ "country": {
1390
+ "type": "string"
1391
+ },
1392
+ "province": {
1393
+ "type": "string"
1394
+ },
1395
+ "city": {
1396
+ "type": "string"
1397
+ },
1398
+ "raw": {
1399
+ "type": "string",
1400
+ "description": "Original location string (for traceability)."
1401
+ }
1402
+ },
1403
+ "required": [
1404
+ "mode",
1405
+ "raw"
1406
+ ],
1407
+ "additionalProperties": false
1408
+ },
1409
+ "price_min": {
1410
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
1411
+ "type": "string"
1412
+ },
1413
+ "price_max": {
1414
+ "description": "Smallest-unit amount (string to avoid JSON bigint loss).",
1415
+ "type": "string"
1416
+ },
1417
+ "token_type": {
1418
+ "type": "string"
1419
+ },
1420
+ "ticket_size": {
1421
+ "type": "string",
1422
+ "enum": [
1423
+ "micro",
1424
+ "small",
1425
+ "medium",
1426
+ "large"
1427
+ ]
1428
+ },
1429
+ "trust_score": {
1430
+ "type": "number",
1431
+ "minimum": 0,
1432
+ "maximum": 100
1433
+ },
1434
+ "reputation_like_ratio": {
1435
+ "type": "number",
1436
+ "minimum": 0,
1437
+ "maximum": 1
1438
+ },
1439
+ "arbitration_independent": {
1440
+ "type": "boolean"
1441
+ },
1442
+ "merchant_history_count": {
1443
+ "type": "integer",
1444
+ "minimum": 0,
1445
+ "maximum": 9007199254740991
1446
+ },
1447
+ "capabilities": {
1448
+ "type": "object",
1449
+ "properties": {
1450
+ "has_arbitration": {
1451
+ "type": "boolean"
1452
+ },
1453
+ "has_refund_path": {
1454
+ "type": "boolean"
1455
+ },
1456
+ "has_milestone_nodes": {
1457
+ "type": "boolean"
1458
+ },
1459
+ "has_compensation_fund": {
1460
+ "type": "boolean"
1461
+ },
1462
+ "has_wip_verification": {
1463
+ "type": "boolean"
1464
+ },
1465
+ "has_messenger": {
1466
+ "type": "boolean"
1467
+ },
1468
+ "has_buy_guard": {
1469
+ "type": "boolean"
1470
+ },
1471
+ "has_dynamic_pricing": {
1472
+ "type": "boolean"
1473
+ },
1474
+ "is_published": {
1475
+ "type": "boolean"
1476
+ },
1477
+ "is_paused": {
1478
+ "type": "boolean"
1479
+ }
1480
+ },
1481
+ "required": [
1482
+ "has_arbitration",
1483
+ "has_refund_path",
1484
+ "has_milestone_nodes",
1485
+ "has_compensation_fund",
1486
+ "has_wip_verification",
1487
+ "has_messenger",
1488
+ "has_buy_guard",
1489
+ "has_dynamic_pricing",
1490
+ "is_published",
1491
+ "is_paused"
1492
+ ],
1493
+ "additionalProperties": false
1494
+ },
1495
+ "tags": {
1496
+ "type": "array",
1497
+ "items": {
1498
+ "type": "string"
1499
+ }
1500
+ },
1501
+ "keywords": {
1502
+ "type": "array",
1503
+ "items": {
1504
+ "type": "string"
1505
+ }
1506
+ }
1507
+ },
1508
+ "required": [
1509
+ "id",
1510
+ "kind",
1511
+ "industry",
1512
+ "region",
1513
+ "capabilities"
1514
+ ],
1515
+ "additionalProperties": false
1516
+ },
1517
+ "demands": {
1518
+ "type": "array",
1519
+ "items": {
1520
+ "type": "object",
1521
+ "properties": {
1522
+ "object": {
1523
+ "type": "string",
1524
+ "description": "Demand object address."
1525
+ },
1526
+ "description": {
1527
+ "type": "string"
1528
+ },
1529
+ "location": {
1530
+ "type": "string"
1531
+ },
1532
+ "rewards": {
1533
+ "type": "array",
1534
+ "items": {
1535
+ "type": "string"
1536
+ }
1537
+ },
1538
+ "um": {
1539
+ "anyOf": [
1540
+ {
1541
+ "type": "string"
1542
+ },
1543
+ {
1544
+ "type": "null"
1545
+ }
1546
+ ]
1547
+ },
1548
+ "owner": {
1549
+ "type": "string"
1550
+ }
1551
+ },
1552
+ "required": [
1553
+ "object",
1554
+ "description",
1555
+ "location"
1556
+ ],
1557
+ "additionalProperties": false
1558
+ }
1559
+ },
1560
+ "injection": {
1561
+ "type": "object",
1562
+ "properties": {
1563
+ "intent": {
1564
+ "description": "Free-text intent.",
1565
+ "type": "string"
1566
+ },
1567
+ "preferences": {
1568
+ "type": "object",
1569
+ "propertyNames": {
1570
+ "type": "string"
1571
+ },
1572
+ "additionalProperties": {}
1573
+ },
1574
+ "requirements": {
1575
+ "description": "Hard red lines (block when violated).",
1576
+ "type": "array",
1577
+ "items": {
1578
+ "type": "object",
1579
+ "properties": {
1580
+ "rule_id": {
1581
+ "type": "string"
1582
+ },
1583
+ "condition": {
1584
+ "type": "string",
1585
+ "enum": [
1586
+ "require",
1587
+ "forbid"
1588
+ ]
1589
+ },
1590
+ "note": {
1591
+ "type": "string"
1592
+ }
1593
+ },
1594
+ "required": [
1595
+ "rule_id",
1596
+ "condition"
1597
+ ],
1598
+ "additionalProperties": false
1599
+ }
1600
+ },
1601
+ "overrides": {
1602
+ "description": "Enable/disable/reweight rules and data sources.",
1603
+ "type": "object",
1604
+ "properties": {
1605
+ "rules": {
1606
+ "type": "object",
1607
+ "propertyNames": {
1608
+ "type": "string"
1609
+ },
1610
+ "additionalProperties": {
1611
+ "type": "object",
1612
+ "properties": {
1613
+ "enabled": {
1614
+ "type": "boolean"
1615
+ },
1616
+ "weight": {
1617
+ "type": "number"
1618
+ }
1619
+ },
1620
+ "additionalProperties": false
1621
+ }
1622
+ },
1623
+ "data_sources": {
1624
+ "type": "object",
1625
+ "propertyNames": {
1626
+ "type": "string"
1627
+ },
1628
+ "additionalProperties": {
1629
+ "type": "object",
1630
+ "properties": {
1631
+ "enabled": {
1632
+ "type": "boolean"
1633
+ }
1634
+ },
1635
+ "additionalProperties": false
1636
+ }
1637
+ }
1638
+ },
1639
+ "additionalProperties": false
1640
+ }
1641
+ },
1642
+ "additionalProperties": false
1643
+ },
1644
+ "account": {
1645
+ "description": "Account address; its persona is auto-applied as the base injection.",
1646
+ "type": "string"
1647
+ }
1648
+ },
1649
+ "required": [
1650
+ "action",
1651
+ "service_cap",
1652
+ "demands"
1653
+ ],
1654
+ "additionalProperties": false
1655
+ },
1656
+ {
1657
+ "type": "object",
1658
+ "properties": {
1659
+ "action": {
1660
+ "type": "string",
1661
+ "const": "service_risk"
1662
+ },
1663
+ "service_id": {
1664
+ "type": "string",
1665
+ "description": "Service object address or LocalMark name."
1666
+ },
1667
+ "puzzle_raw": {
1668
+ "type": "object",
1669
+ "properties": {
1670
+ "service": {
1671
+ "type": "object",
1672
+ "properties": {
1673
+ "name": {
1674
+ "type": "string"
1675
+ },
1676
+ "bPublished": {
1677
+ "type": "boolean"
1678
+ },
1679
+ "bPaused": {
1680
+ "type": "boolean"
1681
+ },
1682
+ "price": {
1683
+ "type": "string"
1684
+ },
1685
+ "priceRaw": {
1686
+ "description": "Smallest-unit amount (string).",
1687
+ "type": "string"
1688
+ },
1689
+ "token_type": {
1690
+ "type": "string"
1691
+ },
1692
+ "sales": {
1693
+ "type": "array",
1694
+ "items": {
1695
+ "type": "object",
1696
+ "properties": {
1697
+ "suspension": {
1698
+ "type": "boolean"
1699
+ },
1700
+ "wip_url": {
1701
+ "type": "string"
1702
+ },
1703
+ "wip_hash": {
1704
+ "type": "string"
1705
+ }
1706
+ },
1707
+ "additionalProperties": false
1708
+ }
1709
+ },
1710
+ "machine": {
1711
+ "type": "string"
1712
+ },
1713
+ "buy_guard": {
1714
+ "type": "string"
1715
+ },
1716
+ "customer_required": {
1717
+ "type": "array",
1718
+ "items": {}
1719
+ },
1720
+ "arbitrations": {
1721
+ "type": "array",
1722
+ "items": {
1723
+ "type": "string"
1724
+ }
1725
+ },
1726
+ "compensation_fund": {
1727
+ "type": "object",
1728
+ "properties": {
1729
+ "balance": {
1730
+ "description": "Smallest-unit amount (string).",
1731
+ "type": "string"
1732
+ }
1733
+ },
1734
+ "additionalProperties": false
1735
+ },
1736
+ "compensation_lock_duration": {
1737
+ "type": "number"
1738
+ },
1739
+ "um": {
1740
+ "type": "string"
1741
+ }
1742
+ },
1743
+ "additionalProperties": false
1744
+ },
1745
+ "machine_nodes": {
1746
+ "type": "array",
1747
+ "items": {
1748
+ "type": "object",
1749
+ "properties": {
1750
+ "name": {
1751
+ "type": "string"
1752
+ },
1753
+ "forwards": {
1754
+ "type": "array",
1755
+ "items": {
1756
+ "type": "object",
1757
+ "properties": {
1758
+ "name": {
1759
+ "type": "string"
1760
+ },
1761
+ "weight": {
1762
+ "type": "number"
1763
+ },
1764
+ "namedOperator": {
1765
+ "anyOf": [
1766
+ {
1767
+ "type": "string"
1768
+ },
1769
+ {
1770
+ "type": "null"
1771
+ }
1772
+ ]
1773
+ },
1774
+ "guard": {
1775
+ "anyOf": [
1776
+ {
1777
+ "type": "string"
1778
+ },
1779
+ {
1780
+ "type": "null"
1781
+ }
1782
+ ]
1783
+ },
1784
+ "to": {
1785
+ "type": "string"
1786
+ }
1787
+ },
1788
+ "additionalProperties": false
1789
+ }
1790
+ },
1791
+ "is_pair_done": {
1792
+ "type": "boolean"
1793
+ }
1794
+ },
1795
+ "required": [
1796
+ "name"
1797
+ ],
1798
+ "additionalProperties": false
1799
+ }
1800
+ },
1801
+ "machine_published": {
1802
+ "type": "boolean"
1803
+ },
1804
+ "machine_paused": {
1805
+ "type": "boolean"
1806
+ },
1807
+ "reviews": {
1808
+ "type": "array",
1809
+ "items": {
1810
+ "type": "object",
1811
+ "properties": {
1812
+ "rating": {
1813
+ "type": "string"
1814
+ },
1815
+ "reviewer": {
1816
+ "type": "string"
1817
+ },
1818
+ "verified": {
1819
+ "type": "boolean"
1820
+ },
1821
+ "has_evidence": {
1822
+ "type": "boolean"
1823
+ },
1824
+ "timestamp": {
1825
+ "type": "number"
1826
+ }
1827
+ },
1828
+ "additionalProperties": false
1829
+ }
1830
+ },
1831
+ "events": {
1832
+ "type": "array",
1833
+ "items": {
1834
+ "type": "object",
1835
+ "properties": {
1836
+ "type": {
1837
+ "type": "string"
1838
+ },
1839
+ "timestamp": {
1840
+ "type": "number"
1841
+ },
1842
+ "address": {
1843
+ "type": "string"
1844
+ },
1845
+ "data": {
1846
+ "type": "object",
1847
+ "propertyNames": {
700
1848
  "type": "string"
701
1849
  },
702
- "bPublished": {
703
- "type": "boolean"
1850
+ "additionalProperties": {}
1851
+ }
1852
+ },
1853
+ "required": [
1854
+ "type"
1855
+ ],
1856
+ "additionalProperties": false
1857
+ }
1858
+ },
1859
+ "similar_services": {
1860
+ "type": "array",
1861
+ "items": {
1862
+ "type": "object",
1863
+ "properties": {
1864
+ "price": {
1865
+ "type": "string"
1866
+ }
1867
+ },
1868
+ "required": [
1869
+ "price"
1870
+ ],
1871
+ "additionalProperties": false
1872
+ }
1873
+ },
1874
+ "order_amount": {
1875
+ "description": "Smallest-unit amount (string).",
1876
+ "type": "string"
1877
+ },
1878
+ "trust_score": {
1879
+ "type": "object",
1880
+ "properties": {
1881
+ "score": {
1882
+ "type": "number"
1883
+ },
1884
+ "level": {
1885
+ "type": "string"
1886
+ }
1887
+ },
1888
+ "required": [
1889
+ "score",
1890
+ "level"
1891
+ ],
1892
+ "additionalProperties": false
1893
+ },
1894
+ "arbitration_owner": {
1895
+ "type": "string"
1896
+ },
1897
+ "service_owner": {
1898
+ "type": "string"
1899
+ },
1900
+ "wip_verified": {
1901
+ "type": "boolean"
1902
+ },
1903
+ "order_history": {
1904
+ "type": "array",
1905
+ "items": {
1906
+ "type": "object",
1907
+ "properties": {
1908
+ "status": {
1909
+ "type": "string"
1910
+ },
1911
+ "has_dispute": {
1912
+ "type": "boolean"
1913
+ },
1914
+ "is_repeat": {
1915
+ "type": "boolean"
1916
+ }
1917
+ },
1918
+ "required": [
1919
+ "status",
1920
+ "has_dispute",
1921
+ "is_repeat"
1922
+ ],
1923
+ "additionalProperties": false
1924
+ }
1925
+ },
1926
+ "merchant_reputation": {
1927
+ "type": "object",
1928
+ "properties": {
1929
+ "likes": {
1930
+ "type": "number"
1931
+ },
1932
+ "dislikes": {
1933
+ "type": "number"
1934
+ }
1935
+ },
1936
+ "required": [
1937
+ "likes",
1938
+ "dislikes"
1939
+ ],
1940
+ "additionalProperties": false
1941
+ }
1942
+ },
1943
+ "required": [
1944
+ "service"
1945
+ ],
1946
+ "additionalProperties": false
1947
+ },
1948
+ "injection": {
1949
+ "type": "object",
1950
+ "properties": {
1951
+ "intent": {
1952
+ "description": "Free-text intent.",
1953
+ "type": "string"
1954
+ },
1955
+ "preferences": {
1956
+ "type": "object",
1957
+ "propertyNames": {
1958
+ "type": "string"
1959
+ },
1960
+ "additionalProperties": {}
1961
+ },
1962
+ "requirements": {
1963
+ "description": "Hard red lines (block when violated).",
1964
+ "type": "array",
1965
+ "items": {
1966
+ "type": "object",
1967
+ "properties": {
1968
+ "rule_id": {
1969
+ "type": "string"
1970
+ },
1971
+ "condition": {
1972
+ "type": "string",
1973
+ "enum": [
1974
+ "require",
1975
+ "forbid"
1976
+ ]
1977
+ },
1978
+ "note": {
1979
+ "type": "string"
1980
+ }
1981
+ },
1982
+ "required": [
1983
+ "rule_id",
1984
+ "condition"
1985
+ ],
1986
+ "additionalProperties": false
1987
+ }
1988
+ },
1989
+ "overrides": {
1990
+ "description": "Enable/disable/reweight rules and data sources.",
1991
+ "type": "object",
1992
+ "properties": {
1993
+ "rules": {
1994
+ "type": "object",
1995
+ "propertyNames": {
1996
+ "type": "string"
1997
+ },
1998
+ "additionalProperties": {
1999
+ "type": "object",
2000
+ "properties": {
2001
+ "enabled": {
2002
+ "type": "boolean"
2003
+ },
2004
+ "weight": {
2005
+ "type": "number"
2006
+ }
704
2007
  },
705
- "bPaused": {
706
- "type": "boolean"
2008
+ "additionalProperties": false
2009
+ }
2010
+ },
2011
+ "data_sources": {
2012
+ "type": "object",
2013
+ "propertyNames": {
2014
+ "type": "string"
2015
+ },
2016
+ "additionalProperties": {
2017
+ "type": "object",
2018
+ "properties": {
2019
+ "enabled": {
2020
+ "type": "boolean"
2021
+ }
707
2022
  },
708
- "price": {
2023
+ "additionalProperties": false
2024
+ }
2025
+ }
2026
+ },
2027
+ "additionalProperties": false
2028
+ }
2029
+ },
2030
+ "additionalProperties": false
2031
+ },
2032
+ "depth": {
2033
+ "type": "string",
2034
+ "enum": [
2035
+ "browse",
2036
+ "evaluate",
2037
+ "preorder",
2038
+ "monitor"
2039
+ ]
2040
+ },
2041
+ "account": {
2042
+ "description": "Account address; its persona is auto-applied as the base injection.",
2043
+ "type": "string"
2044
+ }
2045
+ },
2046
+ "required": [
2047
+ "action",
2048
+ "service_id",
2049
+ "puzzle_raw"
2050
+ ],
2051
+ "additionalProperties": false
2052
+ },
2053
+ {
2054
+ "type": "object",
2055
+ "properties": {
2056
+ "action": {
2057
+ "type": "string",
2058
+ "const": "path_reasoning"
2059
+ },
2060
+ "current_node": {
2061
+ "type": "string"
2062
+ },
2063
+ "perspective": {
2064
+ "type": "string",
2065
+ "enum": [
2066
+ "merchant",
2067
+ "customer",
2068
+ "prospect",
2069
+ "supplier",
2070
+ "collaborator",
2071
+ "arbitrator"
2072
+ ]
2073
+ },
2074
+ "machine_nodes": {
2075
+ "type": "array",
2076
+ "items": {
2077
+ "type": "object",
2078
+ "properties": {
2079
+ "name": {
2080
+ "type": "string",
2081
+ "description": "Node name."
2082
+ },
2083
+ "pairs": {
2084
+ "type": "array",
2085
+ "items": {
2086
+ "type": "object",
2087
+ "properties": {
2088
+ "prev_node": {
709
2089
  "type": "string"
710
2090
  },
711
- "priceRaw": {
712
- "type": "string",
713
- "description": "Smallest-unit amount (string)."
714
- },
715
- "token_type": {
716
- "type": "string"
2091
+ "threshold": {
2092
+ "type": "number"
717
2093
  },
718
- "sales": {
2094
+ "forwards": {
719
2095
  "type": "array",
720
2096
  "items": {
721
2097
  "type": "object",
722
2098
  "properties": {
723
- "suspension": {
724
- "type": "boolean"
2099
+ "name": {
2100
+ "type": "string",
2101
+ "description": "Forward (operation) name."
2102
+ },
2103
+ "permissionIndex": {
2104
+ "anyOf": [
2105
+ {
2106
+ "type": "number"
2107
+ },
2108
+ {
2109
+ "type": "null"
2110
+ }
2111
+ ]
725
2112
  },
726
- "wip_url": {
727
- "type": "string"
2113
+ "namedOperator": {
2114
+ "anyOf": [
2115
+ {
2116
+ "type": "string"
2117
+ },
2118
+ {
2119
+ "type": "null"
2120
+ }
2121
+ ]
728
2122
  },
729
- "wip_hash": {
730
- "type": "string"
2123
+ "guard": {
2124
+ "anyOf": [
2125
+ {
2126
+ "type": "string"
2127
+ },
2128
+ {
2129
+ "type": "null"
2130
+ }
2131
+ ]
2132
+ },
2133
+ "weight": {
2134
+ "anyOf": [
2135
+ {
2136
+ "type": "number"
2137
+ },
2138
+ {
2139
+ "type": "null"
2140
+ }
2141
+ ]
731
2142
  }
732
2143
  },
2144
+ "required": [
2145
+ "name"
2146
+ ],
733
2147
  "additionalProperties": false
734
2148
  }
735
- },
736
- "machine": {
737
- "type": "string"
738
- },
739
- "buy_guard": {
740
- "type": "string"
741
- },
742
- "customer_required": {
743
- "type": "array",
744
- "items": {}
745
- },
746
- "arbitrations": {
747
- "type": "array",
748
- "items": {
749
- "type": "string"
750
- }
751
- },
752
- "compensation_fund": {
753
- "type": "object",
754
- "properties": {
755
- "balance": {
756
- "type": "string",
757
- "description": "Smallest-unit amount (string)."
758
- }
759
- },
760
- "additionalProperties": false
761
- },
762
- "compensation_lock_duration": {
763
- "type": "number"
764
- },
765
- "um": {
766
- "type": "string"
767
2149
  }
768
2150
  },
769
- "additionalProperties": false
770
- },
771
- "machine_nodes": {
772
- "type": "array",
773
- "items": {
774
- "type": "object",
775
- "properties": {
776
- "name": {
777
- "type": "string"
778
- },
779
- "forwards": {
780
- "type": "array",
781
- "items": {
782
- "type": "object",
783
- "properties": {
784
- "name": {
785
- "type": "string"
786
- },
787
- "weight": {
788
- "type": "number"
789
- },
790
- "namedOperator": {
791
- "type": [
792
- "string",
793
- "null"
794
- ]
795
- },
796
- "guard": {
797
- "type": [
798
- "string",
799
- "null"
800
- ]
801
- },
802
- "to": {
803
- "type": "string"
804
- }
805
- },
806
- "additionalProperties": false
807
- }
808
- },
809
- "is_pair_done": {
810
- "type": "boolean"
811
- }
812
- },
813
- "required": [
814
- "name"
815
- ],
816
- "additionalProperties": false
2151
+ "required": [
2152
+ "prev_node"
2153
+ ],
2154
+ "additionalProperties": false
2155
+ }
2156
+ }
2157
+ },
2158
+ "required": [
2159
+ "name"
2160
+ ],
2161
+ "additionalProperties": false
2162
+ }
2163
+ },
2164
+ "node_annotations": {
2165
+ "type": "object",
2166
+ "properties": {
2167
+ "completed": {
2168
+ "type": "array",
2169
+ "items": {
2170
+ "type": "string"
2171
+ }
2172
+ },
2173
+ "refunded": {
2174
+ "type": "array",
2175
+ "items": {
2176
+ "type": "string"
2177
+ }
2178
+ }
2179
+ },
2180
+ "additionalProperties": false
2181
+ },
2182
+ "appetite": {
2183
+ "type": "string",
2184
+ "enum": [
2185
+ "conservative",
2186
+ "balanced",
2187
+ "aggressive"
2188
+ ]
2189
+ },
2190
+ "account": {
2191
+ "description": "Account address; its persona's risk_appetite is used as the default appetite.",
2192
+ "type": "string"
2193
+ },
2194
+ "requirements": {
2195
+ "type": "array",
2196
+ "items": {
2197
+ "type": "string"
2198
+ }
2199
+ },
2200
+ "order_amount": {
2201
+ "type": "string"
2202
+ },
2203
+ "max_depth": {
2204
+ "type": "integer",
2205
+ "minimum": 1,
2206
+ "maximum": 9007199254740991
2207
+ }
2208
+ },
2209
+ "required": [
2210
+ "action",
2211
+ "current_node",
2212
+ "perspective",
2213
+ "machine_nodes"
2214
+ ],
2215
+ "additionalProperties": false
2216
+ },
2217
+ {
2218
+ "type": "object",
2219
+ "properties": {
2220
+ "action": {
2221
+ "type": "string",
2222
+ "const": "evidence_review"
2223
+ },
2224
+ "kind": {
2225
+ "type": "string",
2226
+ "enum": [
2227
+ "signature_photo",
2228
+ "voice_recording",
2229
+ "delivery_proof",
2230
+ "weather_data"
2231
+ ],
2232
+ "description": "Off-chain evidence kind entering the closure workflow."
2233
+ },
2234
+ "hash_committed": {
2235
+ "type": "boolean",
2236
+ "description": "Whether the evidence hash is committed on-chain (authenticity anchor)."
2237
+ },
2238
+ "digital_check_passed": {
2239
+ "description": "OCR / machine check passed (e.g. signature recognized, waybill matched).",
2240
+ "type": "boolean"
2241
+ },
2242
+ "contradiction": {
2243
+ "description": "A contradicting signal detected (e.g. waybill number mismatch).",
2244
+ "type": "boolean"
2245
+ }
2246
+ },
2247
+ "required": [
2248
+ "action",
2249
+ "kind",
2250
+ "hash_committed"
2251
+ ],
2252
+ "additionalProperties": false
2253
+ },
2254
+ {
2255
+ "type": "object",
2256
+ "properties": {
2257
+ "action": {
2258
+ "type": "string",
2259
+ "const": "discover_services"
2260
+ },
2261
+ "location": {
2262
+ "type": "string",
2263
+ "description": "Demand-side location (city/region raw text, or 'remote')."
2264
+ },
2265
+ "region": {
2266
+ "description": "AI-enriched geographic slots for `location` (from public web data). Enrichment makes same-province neighboring cities detectable; without it only exact/contains/remote relations are deterministically reachable.",
2267
+ "type": "object",
2268
+ "properties": {
2269
+ "country": {
2270
+ "type": "string"
2271
+ },
2272
+ "province": {
2273
+ "description": "Province/state — enables neighboring-city (overlap) matching under 'near'.",
2274
+ "type": "string"
2275
+ },
2276
+ "city": {
2277
+ "type": "string"
2278
+ }
2279
+ },
2280
+ "additionalProperties": false
2281
+ },
2282
+ "sensitivity": {
2283
+ "description": "Location gate hardness: strict=100% city match (on-site consumption); near=accept neighboring cities; logistics=region representation, soft signal. Omitted → inferred from description.",
2284
+ "type": "string",
2285
+ "enum": [
2286
+ "strict",
2287
+ "near",
2288
+ "logistics"
2289
+ ]
2290
+ },
2291
+ "description": {
2292
+ "description": "Demand description — used to infer sensitivity when omitted (hotel→strict, parcel→logistics).",
2293
+ "type": "string"
2294
+ },
2295
+ "coin_type": {
2296
+ "description": "Exact coin instantiation, e.g. '0x2::wow::WOW'; omit = ALL Service<T> generics.",
2297
+ "type": "string"
2298
+ },
2299
+ "name_contains": {
2300
+ "description": "Case-insensitive substring filter on service name.",
2301
+ "type": "string"
2302
+ },
2303
+ "max_objects": {
2304
+ "description": "Enumeration cap before filtering (default 200).",
2305
+ "type": "integer",
2306
+ "minimum": 1,
2307
+ "maximum": 500
2308
+ },
2309
+ "context_network": {
2310
+ "description": "Network (default testnet).",
2311
+ "type": "string"
2312
+ },
2313
+ "no_cache": {
2314
+ "description": "Force fresh on-chain enumeration (bypass the 120s local list cache).",
2315
+ "type": "boolean"
2316
+ }
2317
+ },
2318
+ "required": [
2319
+ "action",
2320
+ "location"
2321
+ ],
2322
+ "additionalProperties": false
2323
+ },
2324
+ {
2325
+ "type": "object",
2326
+ "properties": {
2327
+ "action": {
2328
+ "type": "string",
2329
+ "const": "discover_demands"
2330
+ },
2331
+ "location": {
2332
+ "description": "Client-side substring filter on demand.location (omit = all demands).",
2333
+ "type": "string"
2334
+ },
2335
+ "max_objects": {
2336
+ "description": "Enumeration cap before filtering (default 200).",
2337
+ "type": "integer",
2338
+ "minimum": 1,
2339
+ "maximum": 500
2340
+ },
2341
+ "context_network": {
2342
+ "description": "Network (default testnet).",
2343
+ "type": "string"
2344
+ },
2345
+ "no_cache": {
2346
+ "description": "Force fresh on-chain enumeration (bypass the 120s local list cache).",
2347
+ "type": "boolean"
2348
+ }
2349
+ },
2350
+ "required": [
2351
+ "action"
2352
+ ],
2353
+ "additionalProperties": false
2354
+ },
2355
+ {
2356
+ "type": "object",
2357
+ "properties": {
2358
+ "action": {
2359
+ "type": "string",
2360
+ "const": "market_metrics"
2361
+ },
2362
+ "context_network": {
2363
+ "description": "Network (default testnet).",
2364
+ "type": "string"
2365
+ },
2366
+ "no_cache": {
2367
+ "description": "Force fresh on-chain enumeration.",
2368
+ "type": "boolean"
2369
+ }
2370
+ },
2371
+ "required": [
2372
+ "action"
2373
+ ],
2374
+ "additionalProperties": false
2375
+ },
2376
+ {
2377
+ "type": "object",
2378
+ "properties": {
2379
+ "action": {
2380
+ "type": "string",
2381
+ "const": "market_operations"
2382
+ },
2383
+ "op": {
2384
+ "type": "string",
2385
+ "enum": [
2386
+ "journey_funnel",
2387
+ "referral_attribution",
2388
+ "customer_relationship",
2389
+ "dynamic_pricing"
2390
+ ],
2391
+ "description": "Which operational aggregation to run."
2392
+ },
2393
+ "due_diligence": {
2394
+ "type": "integer",
2395
+ "minimum": 0,
2396
+ "maximum": 9007199254740991
2397
+ },
2398
+ "orders": {
2399
+ "type": "integer",
2400
+ "minimum": 0,
2401
+ "maximum": 9007199254740991
2402
+ },
2403
+ "completed": {
2404
+ "type": "integer",
2405
+ "minimum": 0,
2406
+ "maximum": 9007199254740991
2407
+ },
2408
+ "reviews": {
2409
+ "type": "integer",
2410
+ "minimum": 0,
2411
+ "maximum": 9007199254740991
2412
+ },
2413
+ "referral_orders": {
2414
+ "type": "array",
2415
+ "items": {
2416
+ "type": "object",
2417
+ "properties": {
2418
+ "id": {
2419
+ "type": "string"
2420
+ },
2421
+ "referrer": {
2422
+ "type": "string"
2423
+ },
2424
+ "amount": {
2425
+ "type": "string"
2426
+ },
2427
+ "closed": {
2428
+ "type": "boolean"
2429
+ }
2430
+ },
2431
+ "required": [
2432
+ "id",
2433
+ "referrer",
2434
+ "amount",
2435
+ "closed"
2436
+ ],
2437
+ "additionalProperties": false
2438
+ }
2439
+ },
2440
+ "customer_orders": {
2441
+ "type": "array",
2442
+ "items": {
2443
+ "type": "object",
2444
+ "properties": {
2445
+ "id": {
2446
+ "type": "string"
2447
+ },
2448
+ "customer": {
2449
+ "type": "string"
2450
+ },
2451
+ "time": {
2452
+ "type": "number"
2453
+ },
2454
+ "disputed": {
2455
+ "type": "boolean"
2456
+ }
2457
+ },
2458
+ "required": [
2459
+ "id",
2460
+ "customer",
2461
+ "time",
2462
+ "disputed"
2463
+ ],
2464
+ "additionalProperties": false
2465
+ }
2466
+ },
2467
+ "market_signals": {
2468
+ "description": "Market signals for the dynamic_pricing op (non-mandatory merchant pricing suggestion).",
2469
+ "type": "object",
2470
+ "properties": {
2471
+ "supplyCount": {
2472
+ "type": "integer",
2473
+ "minimum": 0,
2474
+ "maximum": 9007199254740991,
2475
+ "description": "Number of similar Services."
2476
+ },
2477
+ "demandCount": {
2478
+ "type": "integer",
2479
+ "minimum": 0,
2480
+ "maximum": 9007199254740991,
2481
+ "description": "Number of related Demands."
2482
+ },
2483
+ "avgPrice": {
2484
+ "description": "Market average price (smallest-unit string).",
2485
+ "type": "string"
2486
+ },
2487
+ "myPrice": {
2488
+ "description": "Current price (smallest-unit string).",
2489
+ "type": "string"
2490
+ },
2491
+ "competitorPrices": {
2492
+ "description": "Competitor price list (smallest-unit strings).",
2493
+ "type": "array",
2494
+ "items": {
2495
+ "type": "string"
2496
+ }
2497
+ },
2498
+ "recentOrderCount": {
2499
+ "description": "Recent order count.",
2500
+ "type": "integer",
2501
+ "minimum": 0,
2502
+ "maximum": 9007199254740991
2503
+ },
2504
+ "repeatCustomerRate": {
2505
+ "description": "Repeat customer rate 0-1.",
2506
+ "type": "number",
2507
+ "minimum": 0,
2508
+ "maximum": 1
2509
+ }
2510
+ },
2511
+ "required": [
2512
+ "supplyCount",
2513
+ "demandCount"
2514
+ ],
2515
+ "additionalProperties": false
2516
+ }
2517
+ },
2518
+ "required": [
2519
+ "action",
2520
+ "op"
2521
+ ],
2522
+ "additionalProperties": false
2523
+ },
2524
+ {
2525
+ "type": "object",
2526
+ "properties": {
2527
+ "action": {
2528
+ "type": "string",
2529
+ "const": "anti_cheat"
2530
+ },
2531
+ "service": {
2532
+ "type": "object",
2533
+ "properties": {
2534
+ "object": {
2535
+ "type": "string",
2536
+ "description": "Service object address."
2537
+ },
2538
+ "arbitrations": {
2539
+ "type": "array",
2540
+ "items": {
2541
+ "type": "string"
2542
+ },
2543
+ "description": "Bound Arbitration object addresses."
2544
+ },
2545
+ "compensation_fund": {
2546
+ "type": "string",
2547
+ "description": "Compensation fund balance (smallest-unit string)."
2548
+ },
2549
+ "machine": {
2550
+ "anyOf": [
2551
+ {
2552
+ "type": "string"
2553
+ },
2554
+ {
2555
+ "type": "null"
2556
+ }
2557
+ ],
2558
+ "description": "Bound Machine address (null = none)."
2559
+ },
2560
+ "bPublished": {
2561
+ "type": "boolean",
2562
+ "description": "Whether published."
2563
+ }
2564
+ },
2565
+ "required": [
2566
+ "object",
2567
+ "arbitrations",
2568
+ "compensation_fund",
2569
+ "machine",
2570
+ "bPublished"
2571
+ ],
2572
+ "additionalProperties": false
2573
+ },
2574
+ "orders": {
2575
+ "type": "array",
2576
+ "items": {
2577
+ "type": "object",
2578
+ "properties": {
2579
+ "id": {
2580
+ "type": "string"
2581
+ },
2582
+ "buyer": {
2583
+ "type": "string"
2584
+ },
2585
+ "seller": {
2586
+ "type": "string"
2587
+ },
2588
+ "amount": {
2589
+ "type": "string"
2590
+ },
2591
+ "status": {
2592
+ "type": "string"
2593
+ },
2594
+ "allocation": {
2595
+ "description": "Allocation object (fund-closure evidence).",
2596
+ "anyOf": [
2597
+ {
2598
+ "type": "string"
2599
+ },
2600
+ {
2601
+ "type": "null"
2602
+ }
2603
+ ]
2604
+ }
2605
+ },
2606
+ "required": [
2607
+ "id",
2608
+ "buyer",
2609
+ "seller",
2610
+ "amount",
2611
+ "status"
2612
+ ],
2613
+ "additionalProperties": false
2614
+ },
2615
+ "description": "Order history evidence."
2616
+ },
2617
+ "reviews": {
2618
+ "type": "array",
2619
+ "items": {
2620
+ "type": "object",
2621
+ "properties": {
2622
+ "reviewer": {
2623
+ "type": "string"
2624
+ },
2625
+ "rating": {
2626
+ "type": "string",
2627
+ "enum": [
2628
+ "like",
2629
+ "dislike"
2630
+ ]
2631
+ },
2632
+ "orderRef": {
2633
+ "type": "string"
2634
+ },
2635
+ "verified": {
2636
+ "type": "boolean"
2637
+ },
2638
+ "timestamp": {
2639
+ "type": "number"
2640
+ }
2641
+ },
2642
+ "required": [
2643
+ "reviewer",
2644
+ "rating"
2645
+ ],
2646
+ "additionalProperties": false
2647
+ },
2648
+ "description": "Review evidence."
2649
+ }
2650
+ },
2651
+ "required": [
2652
+ "action",
2653
+ "service",
2654
+ "orders",
2655
+ "reviews"
2656
+ ],
2657
+ "additionalProperties": false
2658
+ },
2659
+ {
2660
+ "type": "object",
2661
+ "properties": {
2662
+ "action": {
2663
+ "type": "string",
2664
+ "const": "match_discover"
2665
+ },
2666
+ "description": {
2667
+ "type": "string",
2668
+ "description": "Demand description — drives sensitivity inference + demand capability extraction."
2669
+ },
2670
+ "location": {
2671
+ "type": "string",
2672
+ "description": "Demand-side location (city/region raw text, or 'remote')."
2673
+ },
2674
+ "region": {
2675
+ "description": "AI-enriched geographic slots for `location`.",
2676
+ "type": "object",
2677
+ "properties": {
2678
+ "country": {
2679
+ "type": "string"
2680
+ },
2681
+ "province": {
2682
+ "description": "Province/state — enables neighboring-city (overlap) matching under 'near'.",
2683
+ "type": "string"
2684
+ },
2685
+ "city": {
2686
+ "type": "string"
2687
+ }
2688
+ },
2689
+ "additionalProperties": false
2690
+ },
2691
+ "sensitivity": {
2692
+ "description": "Location gate hardness. Omitted → inferred from description.",
2693
+ "type": "string",
2694
+ "enum": [
2695
+ "strict",
2696
+ "near",
2697
+ "logistics"
2698
+ ]
2699
+ },
2700
+ "budget": {
2701
+ "description": "Demand price ceiling (smallest-unit string) — price dimension gate.",
2702
+ "type": "string"
2703
+ },
2704
+ "required_capabilities": {
2705
+ "description": "Workflow capabilities the demand REQUIRES (e.g. has_arbitration, has_compensation_fund, has_milestone_nodes, has_refund_path, has_wip_verification, has_messenger, has_buy_guard).",
2706
+ "type": "array",
2707
+ "items": {
2708
+ "type": "string"
2709
+ }
2710
+ },
2711
+ "category": {
2712
+ "description": "Category match rules key (e.g. 'life_service', 'retail') — applies hard-constraint filtering + re-anchors the six-dimension weights (15 §3). Omit = generic six-dimension scoring.",
2713
+ "type": "string"
2714
+ },
2715
+ "coin_type": {
2716
+ "description": "Exact coin instantiation, e.g. '0x2::wow::WOW'; omit = ALL Service<T> generics.",
2717
+ "type": "string"
2718
+ },
2719
+ "name_contains": {
2720
+ "description": "Case-insensitive substring filter on service name.",
2721
+ "type": "string"
2722
+ },
2723
+ "max_objects": {
2724
+ "description": "Enumeration cap before filtering (default 200).",
2725
+ "type": "integer",
2726
+ "minimum": 1,
2727
+ "maximum": 500
2728
+ },
2729
+ "context_network": {
2730
+ "description": "Network (default testnet).",
2731
+ "type": "string"
2732
+ },
2733
+ "no_cache": {
2734
+ "description": "Force fresh on-chain enumeration (bypass the 120s local list cache).",
2735
+ "type": "boolean"
2736
+ },
2737
+ "injection": {
2738
+ "type": "object",
2739
+ "properties": {
2740
+ "intent": {
2741
+ "description": "Free-text intent.",
2742
+ "type": "string"
2743
+ },
2744
+ "preferences": {
2745
+ "type": "object",
2746
+ "propertyNames": {
2747
+ "type": "string"
2748
+ },
2749
+ "additionalProperties": {}
2750
+ },
2751
+ "requirements": {
2752
+ "description": "Hard red lines (block when violated).",
2753
+ "type": "array",
2754
+ "items": {
2755
+ "type": "object",
2756
+ "properties": {
2757
+ "rule_id": {
2758
+ "type": "string"
2759
+ },
2760
+ "condition": {
2761
+ "type": "string",
2762
+ "enum": [
2763
+ "require",
2764
+ "forbid"
2765
+ ]
2766
+ },
2767
+ "note": {
2768
+ "type": "string"
817
2769
  }
818
2770
  },
819
- "machine_published": {
820
- "type": "boolean"
821
- },
822
- "machine_paused": {
823
- "type": "boolean"
824
- },
825
- "reviews": {
826
- "type": "array",
827
- "items": {
2771
+ "required": [
2772
+ "rule_id",
2773
+ "condition"
2774
+ ],
2775
+ "additionalProperties": false
2776
+ }
2777
+ },
2778
+ "overrides": {
2779
+ "description": "Enable/disable/reweight rules and data sources.",
2780
+ "type": "object",
2781
+ "properties": {
2782
+ "rules": {
2783
+ "type": "object",
2784
+ "propertyNames": {
2785
+ "type": "string"
2786
+ },
2787
+ "additionalProperties": {
828
2788
  "type": "object",
829
2789
  "properties": {
830
- "rating": {
831
- "type": "string"
832
- },
833
- "reviewer": {
834
- "type": "string"
835
- },
836
- "verified": {
837
- "type": "boolean"
838
- },
839
- "has_evidence": {
2790
+ "enabled": {
840
2791
  "type": "boolean"
841
2792
  },
842
- "timestamp": {
2793
+ "weight": {
843
2794
  "type": "number"
844
2795
  }
845
2796
  },
846
2797
  "additionalProperties": false
847
2798
  }
848
2799
  },
849
- "events": {
850
- "type": "array",
851
- "items": {
2800
+ "data_sources": {
2801
+ "type": "object",
2802
+ "propertyNames": {
2803
+ "type": "string"
2804
+ },
2805
+ "additionalProperties": {
852
2806
  "type": "object",
853
2807
  "properties": {
854
- "type": {
855
- "type": "string"
856
- },
857
- "timestamp": {
858
- "type": "number"
859
- },
860
- "address": {
861
- "type": "string"
862
- },
863
- "data": {
864
- "type": "object",
865
- "additionalProperties": {}
2808
+ "enabled": {
2809
+ "type": "boolean"
866
2810
  }
867
2811
  },
868
- "required": [
869
- "type"
870
- ],
871
2812
  "additionalProperties": false
872
2813
  }
2814
+ }
2815
+ },
2816
+ "additionalProperties": false
2817
+ }
2818
+ },
2819
+ "additionalProperties": false
2820
+ },
2821
+ "account": {
2822
+ "description": "Account address; its persona is auto-applied as the base injection.",
2823
+ "type": "string"
2824
+ }
2825
+ },
2826
+ "required": [
2827
+ "action",
2828
+ "description",
2829
+ "location"
2830
+ ],
2831
+ "additionalProperties": false
2832
+ },
2833
+ {
2834
+ "type": "object",
2835
+ "properties": {
2836
+ "action": {
2837
+ "type": "string",
2838
+ "const": "arbitration_score"
2839
+ },
2840
+ "arbitration": {
2841
+ "type": "object",
2842
+ "properties": {
2843
+ "object": {
2844
+ "description": "Arbitration object address.",
2845
+ "type": "string"
2846
+ },
2847
+ "fee": {
2848
+ "description": "Arbitration fee (smallest-unit string).",
2849
+ "type": "string"
2850
+ },
2851
+ "balance": {
2852
+ "description": "Capital pool (smallest-unit string).",
2853
+ "type": "string"
2854
+ },
2855
+ "voting_guard_count": {
2856
+ "description": "Number of voting guards (governance distribution proxy).",
2857
+ "type": "integer",
2858
+ "minimum": 0,
2859
+ "maximum": 9007199254740991
2860
+ },
2861
+ "bPaused": {
2862
+ "type": "boolean"
2863
+ },
2864
+ "location": {
2865
+ "type": "string"
2866
+ },
2867
+ "has_verified_identity": {
2868
+ "description": "A7: whether the arbitrator has a verified on-chain Personal identity (unknown when omitted → neutral).",
2869
+ "type": "boolean"
2870
+ }
2871
+ },
2872
+ "additionalProperties": false
2873
+ },
2874
+ "history": {
2875
+ "description": "Historical Arb cases (pre-aggregated; the on-chain reverse index is a wow data layer deliverable).",
2876
+ "type": "array",
2877
+ "items": {
2878
+ "type": "object",
2879
+ "properties": {
2880
+ "status": {
2881
+ "description": "Arb status (e.g. 'Arbitrated', 'Finished', 'Objectionable').",
2882
+ "type": "string"
2883
+ },
2884
+ "time": {
2885
+ "description": "Dispute creation time (ms epoch).",
2886
+ "type": "number"
2887
+ },
2888
+ "resolved_time": {
2889
+ "description": "Resolution time (ms epoch).",
2890
+ "type": "number"
2891
+ },
2892
+ "indemnity_amount": {
2893
+ "description": "Compensation paid (smallest-unit string; '0'/absent = none).",
2894
+ "type": "string"
2895
+ },
2896
+ "feedback_positive": {
2897
+ "type": "boolean"
2898
+ },
2899
+ "objected": {
2900
+ "type": "boolean"
2901
+ }
2902
+ },
2903
+ "additionalProperties": false
2904
+ }
2905
+ },
2906
+ "entity_votes": {
2907
+ "type": "object",
2908
+ "properties": {
2909
+ "like_ratio": {
2910
+ "description": "0-1 community like ratio.",
2911
+ "type": "number",
2912
+ "minimum": 0,
2913
+ "maximum": 1
2914
+ },
2915
+ "favor": {
2916
+ "description": "Whether peers favorited this entity (收藏).",
2917
+ "type": "boolean"
2918
+ }
2919
+ },
2920
+ "additionalProperties": false
2921
+ },
2922
+ "fee_median": {
2923
+ "description": "Market fee median (smallest-unit string) for the fee-reasonableness rule.",
2924
+ "type": "string"
2925
+ },
2926
+ "injection": {
2927
+ "type": "object",
2928
+ "properties": {
2929
+ "intent": {
2930
+ "description": "Free-text intent.",
2931
+ "type": "string"
2932
+ },
2933
+ "preferences": {
2934
+ "type": "object",
2935
+ "propertyNames": {
2936
+ "type": "string"
2937
+ },
2938
+ "additionalProperties": {}
2939
+ },
2940
+ "requirements": {
2941
+ "description": "Hard red lines (block when violated).",
2942
+ "type": "array",
2943
+ "items": {
2944
+ "type": "object",
2945
+ "properties": {
2946
+ "rule_id": {
2947
+ "type": "string"
2948
+ },
2949
+ "condition": {
2950
+ "type": "string",
2951
+ "enum": [
2952
+ "require",
2953
+ "forbid"
2954
+ ]
2955
+ },
2956
+ "note": {
2957
+ "type": "string"
2958
+ }
873
2959
  },
874
- "similar_services": {
875
- "type": "array",
876
- "items": {
2960
+ "required": [
2961
+ "rule_id",
2962
+ "condition"
2963
+ ],
2964
+ "additionalProperties": false
2965
+ }
2966
+ },
2967
+ "overrides": {
2968
+ "description": "Enable/disable/reweight rules and data sources.",
2969
+ "type": "object",
2970
+ "properties": {
2971
+ "rules": {
2972
+ "type": "object",
2973
+ "propertyNames": {
2974
+ "type": "string"
2975
+ },
2976
+ "additionalProperties": {
877
2977
  "type": "object",
878
2978
  "properties": {
879
- "price": {
880
- "type": "string"
2979
+ "enabled": {
2980
+ "type": "boolean"
2981
+ },
2982
+ "weight": {
2983
+ "type": "number"
881
2984
  }
882
2985
  },
883
- "required": [
884
- "price"
885
- ],
886
2986
  "additionalProperties": false
887
2987
  }
888
2988
  },
889
- "order_amount": {
890
- "type": "string",
891
- "description": "Smallest-unit amount (string)."
892
- },
893
- "trust_score": {
2989
+ "data_sources": {
894
2990
  "type": "object",
895
- "properties": {
896
- "score": {
897
- "type": "number"
898
- },
899
- "level": {
900
- "type": "string"
901
- }
2991
+ "propertyNames": {
2992
+ "type": "string"
902
2993
  },
903
- "required": [
904
- "score",
905
- "level"
906
- ],
907
- "additionalProperties": false
908
- },
909
- "arbitration_owner": {
910
- "type": "string"
911
- },
912
- "service_owner": {
913
- "type": "string"
914
- },
915
- "wip_verified": {
916
- "type": "boolean"
917
- },
918
- "order_history": {
919
- "type": "array",
920
- "items": {
2994
+ "additionalProperties": {
921
2995
  "type": "object",
922
2996
  "properties": {
923
- "status": {
924
- "type": "string"
925
- },
926
- "has_dispute": {
927
- "type": "boolean"
928
- },
929
- "is_repeat": {
2997
+ "enabled": {
930
2998
  "type": "boolean"
931
2999
  }
932
3000
  },
933
- "required": [
934
- "status",
935
- "has_dispute",
936
- "is_repeat"
937
- ],
938
3001
  "additionalProperties": false
939
3002
  }
940
- },
941
- "merchant_reputation": {
942
- "type": "object",
943
- "properties": {
944
- "likes": {
945
- "type": "number"
946
- },
947
- "dislikes": {
948
- "type": "number"
949
- }
950
- },
951
- "required": [
952
- "likes",
953
- "dislikes"
954
- ],
955
- "additionalProperties": false
956
3003
  }
957
3004
  },
958
- "required": [
959
- "service"
960
- ],
961
3005
  "additionalProperties": false
962
- },
963
- "injection": {
964
- "$ref": "#/definitions/evaluation_operation/anyOf/4/properties/injection"
965
- },
966
- "depth": {
967
- "type": "string",
968
- "enum": [
969
- "browse",
970
- "evaluate",
971
- "preorder",
972
- "monitor"
973
- ]
974
- },
975
- "account": {
976
- "type": "string",
977
- "description": "Account address; its persona is auto-applied as the base injection."
978
3006
  }
979
3007
  },
980
- "required": [
981
- "action",
982
- "service_id",
983
- "puzzle_raw"
984
- ],
985
3008
  "additionalProperties": false
3009
+ },
3010
+ "account": {
3011
+ "description": "Account address; its persona is auto-applied as the base injection.",
3012
+ "type": "string"
3013
+ },
3014
+ "context_network": {
3015
+ "description": "Network (default testnet). Used to auto-fetch real Arb history when `history` is omitted.",
3016
+ "type": "string"
3017
+ }
3018
+ },
3019
+ "required": [
3020
+ "action",
3021
+ "arbitration"
3022
+ ],
3023
+ "additionalProperties": false
3024
+ },
3025
+ {
3026
+ "type": "object",
3027
+ "properties": {
3028
+ "action": {
3029
+ "type": "string",
3030
+ "const": "account_events"
3031
+ },
3032
+ "account": {
3033
+ "description": "Account address to watch for (default account when omitted).",
3034
+ "type": "string"
3035
+ },
3036
+ "categories": {
3037
+ "description": "Watcher ids to run (omit = all registered watchers).",
3038
+ "type": "array",
3039
+ "items": {
3040
+ "type": "string"
3041
+ }
3042
+ },
3043
+ "reviews": {
3044
+ "description": "Review rows (from a Service's ReviewRepository, via onchain_table_data) — enables the reputation_integrity watcher (verification, stats, manipulation detection).",
3045
+ "type": "array",
3046
+ "items": {
3047
+ "type": "object",
3048
+ "properties": {
3049
+ "reviewer": {
3050
+ "type": "string",
3051
+ "description": "Reviewer address."
3052
+ },
3053
+ "rating": {
3054
+ "type": "string",
3055
+ "enum": [
3056
+ "like",
3057
+ "dislike"
3058
+ ]
3059
+ },
3060
+ "tags": {
3061
+ "type": "array",
3062
+ "items": {
3063
+ "type": "string"
3064
+ }
3065
+ },
3066
+ "comment": {
3067
+ "type": "string"
3068
+ },
3069
+ "orderRef": {
3070
+ "description": "Associated order id — the credential for no-order-no-review verification.",
3071
+ "type": "string"
3072
+ },
3073
+ "timestamp": {
3074
+ "description": "Submission time (ms epoch).",
3075
+ "type": "number"
3076
+ },
3077
+ "verified": {
3078
+ "description": "Whether the review carries a completed-order credential; recomputed when order_history is supplied.",
3079
+ "type": "boolean"
3080
+ }
3081
+ },
3082
+ "required": [
3083
+ "reviewer",
3084
+ "rating"
3085
+ ],
3086
+ "additionalProperties": false
3087
+ }
3088
+ },
3089
+ "order_history": {
3090
+ "description": "Order history used to re-derive review credentials (no-order-no-review).",
3091
+ "type": "array",
3092
+ "items": {
3093
+ "type": "object",
3094
+ "properties": {
3095
+ "id": {
3096
+ "type": "string",
3097
+ "description": "Order object id."
3098
+ },
3099
+ "status": {
3100
+ "type": "string",
3101
+ "description": "Order status (e.g. 'completed', 'success')."
3102
+ }
3103
+ },
3104
+ "required": [
3105
+ "id",
3106
+ "status"
3107
+ ],
3108
+ "additionalProperties": false
3109
+ }
3110
+ },
3111
+ "context_network": {
3112
+ "description": "Network (default testnet).",
3113
+ "type": "string"
986
3114
  }
987
- ]
3115
+ },
3116
+ "required": [
3117
+ "action"
3118
+ ],
3119
+ "additionalProperties": false
988
3120
  }
989
- }
3121
+ ]
990
3122
  }