@wowok/agent-mcp 3.1.2 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/dist/config/runtime.js +1 -1
  2. package/dist/customer/index.d.ts +3 -9
  3. package/dist/customer/index.js +1 -1
  4. package/dist/customer/industry-risks.d.ts +3 -17
  5. package/dist/customer/industry-risks.js +1 -1
  6. package/dist/customer/types.d.ts +1 -165
  7. package/dist/customer/types.js +1 -1
  8. package/dist/customer/user-preferences.d.ts +0 -49
  9. package/dist/customer/user-preferences.js +1 -1
  10. package/dist/evaluation/architecture.spec.d.ts +1 -0
  11. package/dist/evaluation/architecture.spec.js +1 -0
  12. package/dist/evaluation/builtins/graph-service.d.ts +16 -0
  13. package/dist/evaluation/builtins/graph-service.js +1 -0
  14. package/dist/evaluation/builtins/graph-service.spec.d.ts +1 -0
  15. package/dist/evaluation/builtins/graph-service.spec.js +1 -0
  16. package/dist/evaluation/builtins/index.d.ts +1 -1
  17. package/dist/evaluation/builtins/index.js +1 -1
  18. package/dist/evaluation/builtins/purity.spec.d.ts +1 -0
  19. package/dist/evaluation/builtins/purity.spec.js +1 -0
  20. package/dist/evaluation/engine.js +1 -1
  21. package/dist/evaluation/facets/catalog.d.ts +19 -0
  22. package/dist/evaluation/facets/catalog.js +1 -0
  23. package/dist/evaluation/guard-scan.d.ts +10 -0
  24. package/dist/evaluation/guard-scan.js +1 -0
  25. package/dist/evaluation/standards.d.ts +31 -0
  26. package/dist/evaluation/standards.js +1 -0
  27. package/dist/evaluation/standards.spec.d.ts +1 -0
  28. package/dist/evaluation/standards.spec.js +1 -0
  29. package/dist/evaluation/types.d.ts +9 -0
  30. package/dist/experience/realtime-feedback.js +1 -1
  31. package/dist/extensions/index.d.ts +1 -1
  32. package/dist/extensions/index.js +1 -1
  33. package/dist/extensions/industry-layers.d.ts +6 -5
  34. package/dist/extensions/industry-layers.js +1 -1
  35. package/dist/extensions/industry-pack.js +1 -1
  36. package/dist/graph/onchain/analyze.d.ts +13 -0
  37. package/dist/graph/onchain/analyze.js +1 -1
  38. package/dist/graph/onchain/analyze.spec.js +1 -1
  39. package/dist/graph/onchain/dataplane.d.ts +1 -1
  40. package/dist/graph/onchain/dataplane.js +1 -1
  41. package/dist/graph/onchain/edge-batch.spec.d.ts +1 -0
  42. package/dist/graph/onchain/edge-batch.spec.js +1 -0
  43. package/dist/graph/onchain/edge-schema.d.ts +10 -2
  44. package/dist/graph/onchain/edge-schema.js +1 -1
  45. package/dist/graph/onchain/entity-profile.spec.d.ts +1 -0
  46. package/dist/graph/onchain/entity-profile.spec.js +1 -0
  47. package/dist/graph/onchain/event-history.spec.d.ts +1 -0
  48. package/dist/graph/onchain/event-history.spec.js +1 -0
  49. package/dist/graph/onchain/expand.js +1 -1
  50. package/dist/graph/onchain/extract-deep.spec.d.ts +1 -0
  51. package/dist/graph/onchain/extract-deep.spec.js +1 -0
  52. package/dist/graph/onchain/extract.d.ts +11 -3
  53. package/dist/graph/onchain/extract.js +1 -1
  54. package/dist/graph/onchain/facet-projection.d.ts +99 -0
  55. package/dist/graph/onchain/facet-projection.js +1 -0
  56. package/dist/graph/onchain/facet-projection.spec.d.ts +1 -0
  57. package/dist/graph/onchain/facet-projection.spec.js +1 -0
  58. package/dist/graph/onchain/facts.d.ts +103 -0
  59. package/dist/graph/onchain/facts.js +1 -0
  60. package/dist/graph/onchain/facts.spec.d.ts +1 -0
  61. package/dist/graph/onchain/facts.spec.js +1 -0
  62. package/dist/graph/onchain/field-manifest.d.ts +29 -0
  63. package/dist/graph/onchain/field-manifest.js +1 -0
  64. package/dist/graph/onchain/field-manifest.spec.d.ts +1 -0
  65. package/dist/graph/onchain/field-manifest.spec.js +1 -0
  66. package/dist/graph/onchain/fixtures.d.ts +80 -0
  67. package/dist/graph/onchain/fixtures.js +1 -0
  68. package/dist/graph/onchain/fixtures.spec.d.ts +1 -0
  69. package/dist/graph/onchain/fixtures.spec.js +1 -0
  70. package/dist/graph/onchain/index.d.ts +8 -2
  71. package/dist/graph/onchain/index.js +1 -1
  72. package/dist/graph/onchain/interest.js +1 -1
  73. package/dist/graph/onchain/label-lint.spec.d.ts +1 -0
  74. package/dist/graph/onchain/label-lint.spec.js +1 -0
  75. package/dist/graph/onchain/names.d.ts +23 -0
  76. package/dist/graph/onchain/names.js +1 -0
  77. package/dist/graph/onchain/names.spec.d.ts +1 -0
  78. package/dist/graph/onchain/names.spec.js +1 -0
  79. package/dist/graph/onchain/onchain.spec.js +1 -1
  80. package/dist/graph/onchain/proposal-graph.d.ts +11 -0
  81. package/dist/graph/onchain/proposal-graph.js +1 -0
  82. package/dist/graph/onchain/proposal-graph.spec.d.ts +1 -0
  83. package/dist/graph/onchain/proposal-graph.spec.js +1 -0
  84. package/dist/graph/onchain/sdk-batch.d.ts +5 -1
  85. package/dist/graph/onchain/sdk-batch.js +1 -1
  86. package/dist/graph/onchain/strategy.d.ts +16 -0
  87. package/dist/graph/onchain/strategy.js +1 -1
  88. package/dist/graph/onchain/strategy.spec.js +1 -1
  89. package/dist/graph/onchain/table-ledger.spec.d.ts +1 -0
  90. package/dist/graph/onchain/table-ledger.spec.js +1 -0
  91. package/dist/graph/onchain/types.d.ts +46 -6
  92. package/dist/graph/onchain/viewport.d.ts +1 -0
  93. package/dist/graph/onchain/viewport.js +1 -1
  94. package/dist/harness/index.d.ts +1 -5
  95. package/dist/harness/index.js +1 -1
  96. package/dist/harness/verify.d.ts +6 -1
  97. package/dist/harness/verify.js +1 -1
  98. package/dist/index.js +1 -1
  99. package/dist/knowledge/allocation-ledger.js +1 -1
  100. package/dist/knowledge/allocation-risk.d.ts +0 -2
  101. package/dist/knowledge/allocation-risk.js +1 -1
  102. package/dist/knowledge/arb-risk.d.ts +0 -1
  103. package/dist/knowledge/arb-risk.js +1 -1
  104. package/dist/knowledge/arbitration-risk.d.ts +0 -2
  105. package/dist/knowledge/arbitration-risk.js +1 -1
  106. package/dist/knowledge/baselines/evaluation-baselines.json +79 -0
  107. package/dist/knowledge/baselines/guard-lint-baseline.spec.d.ts +1 -0
  108. package/dist/knowledge/baselines/guard-lint-baseline.spec.js +1 -0
  109. package/dist/knowledge/baselines/risk-baselines.spec.d.ts +1 -0
  110. package/dist/knowledge/baselines/risk-baselines.spec.js +1 -0
  111. package/dist/knowledge/baselines/risk-cases.d.ts +8 -0
  112. package/dist/knowledge/baselines/risk-cases.js +1 -0
  113. package/dist/knowledge/bridge-risk.d.ts +0 -1
  114. package/dist/knowledge/bridge-risk.js +1 -1
  115. package/dist/knowledge/contact-risk.d.ts +0 -1
  116. package/dist/knowledge/contact-risk.js +1 -1
  117. package/dist/knowledge/contract-invariants.d.ts +1 -0
  118. package/dist/knowledge/contract-invariants.js +1 -1
  119. package/dist/knowledge/demand-risk.d.ts +0 -1
  120. package/dist/knowledge/demand-risk.js +1 -1
  121. package/dist/knowledge/getting-started.js +1 -1
  122. package/dist/knowledge/guard-eval.d.ts +15 -0
  123. package/dist/knowledge/guard-eval.js +1 -0
  124. package/dist/knowledge/guard-eval.spec.d.ts +1 -0
  125. package/dist/knowledge/guard-eval.spec.js +1 -0
  126. package/dist/knowledge/guard-lint.d.ts +1 -1
  127. package/dist/knowledge/guard-lint.js +1 -1
  128. package/dist/knowledge/guard-risk.d.ts +4 -19
  129. package/dist/knowledge/guard-risk.js +1 -1
  130. package/dist/knowledge/index.d.ts +41 -43
  131. package/dist/knowledge/index.js +1 -1
  132. package/dist/knowledge/industry-registry.js +1 -1
  133. package/dist/knowledge/industry-rule-node.d.ts +7 -0
  134. package/dist/knowledge/industry-rule-node.js +1 -0
  135. package/dist/knowledge/jsonrpc-enum.js +1 -1
  136. package/dist/knowledge/machine-risk.d.ts +0 -6
  137. package/dist/knowledge/machine-risk.js +1 -1
  138. package/dist/knowledge/order-risk.d.ts +1 -9
  139. package/dist/knowledge/order-risk.js +1 -1
  140. package/dist/knowledge/payment-risk.d.ts +0 -1
  141. package/dist/knowledge/payment-risk.js +1 -1
  142. package/dist/knowledge/permission-risk.d.ts +0 -3
  143. package/dist/knowledge/permission-risk.js +1 -1
  144. package/dist/knowledge/personal-risk.d.ts +0 -1
  145. package/dist/knowledge/personal-risk.js +1 -1
  146. package/dist/knowledge/progress-risk.d.ts +0 -2
  147. package/dist/knowledge/progress-risk.js +1 -1
  148. package/dist/knowledge/proof-risk.d.ts +0 -1
  149. package/dist/knowledge/proof-risk.js +1 -1
  150. package/dist/knowledge/puzzle-projections.d.ts +11 -0
  151. package/dist/knowledge/puzzle-projections.js +1 -0
  152. package/dist/knowledge/registrar-risk.d.ts +0 -1
  153. package/dist/knowledge/registrar-risk.js +1 -1
  154. package/dist/knowledge/repository-risk.d.ts +0 -1
  155. package/dist/knowledge/repository-risk.js +1 -1
  156. package/dist/knowledge/resource-risk.d.ts +0 -1
  157. package/dist/knowledge/resource-risk.js +1 -1
  158. package/dist/knowledge/reward-risk.d.ts +1 -5
  159. package/dist/knowledge/reward-risk.js +1 -1
  160. package/dist/knowledge/rule-node-analyzers.d.ts +43 -0
  161. package/dist/knowledge/rule-node-analyzers.js +1 -0
  162. package/dist/knowledge/rule-node-analyzers.spec.d.ts +1 -0
  163. package/dist/knowledge/rule-node-analyzers.spec.js +1 -0
  164. package/dist/knowledge/rule-outcome.d.ts +5 -0
  165. package/dist/knowledge/rule-outcome.js +1 -0
  166. package/dist/knowledge/safety-rules.js +1 -1
  167. package/dist/knowledge/scenario-topology.js +1 -1
  168. package/dist/knowledge/service-risk-node.js +1 -1
  169. package/dist/knowledge/service-risk.d.ts +0 -3
  170. package/dist/knowledge/service-risk.js +1 -1
  171. package/dist/knowledge/template-registry.js +1 -1
  172. package/dist/knowledge/tools-reference.js +1 -1
  173. package/dist/knowledge/treasury-risk.d.ts +2 -3
  174. package/dist/knowledge/treasury-risk.js +1 -1
  175. package/dist/knowledge/util-risk.d.ts +0 -1
  176. package/dist/knowledge/util-risk.js +1 -1
  177. package/dist/monitor/MonitorLoop.js +1 -1
  178. package/dist/persona/bridge.js +1 -1
  179. package/dist/persona/facet-profile.d.ts +33 -0
  180. package/dist/persona/facet-profile.js +1 -0
  181. package/dist/persona/model.d.ts +2 -1
  182. package/dist/persona/model.js +1 -1
  183. package/dist/persona/topology-focus.d.ts +2 -2
  184. package/dist/persona/topology-focus.js +1 -1
  185. package/dist/persona/types.d.ts +12 -0
  186. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  187. package/dist/playbooks/service-build/facet-money.d.ts +22 -0
  188. package/dist/playbooks/service-build/facet-money.js +1 -0
  189. package/dist/playbooks/service-build/facet-money.spec.d.ts +1 -0
  190. package/dist/playbooks/service-build/facet-money.spec.js +1 -0
  191. package/dist/playbooks/service-build/machine-panorama.d.ts +3 -0
  192. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  193. package/dist/playbooks/service-build/object-panorama.d.ts +27 -27
  194. package/dist/playbooks/service-build/object-panorama.js +1 -1
  195. package/dist/playbooks/service-build/pipeline-actions.d.ts +2 -2
  196. package/dist/playbooks/service-build/pipeline-actions.js +1 -1
  197. package/dist/playbooks/service-build/risk-aggregator.d.ts +2 -1
  198. package/dist/playbooks/service-build/risk-aggregator.js +1 -1
  199. package/dist/playbooks/service-build/service-panorama.d.ts +4 -9
  200. package/dist/playbooks/service-build/service-panorama.js +1 -1
  201. package/dist/playbooks/service-build/topology-evaluation.spec.d.ts +1 -0
  202. package/dist/playbooks/service-build/topology-evaluation.spec.js +1 -0
  203. package/dist/playbooks/service-build/topology-query.d.ts +13 -2
  204. package/dist/playbooks/service-build/topology-query.js +1 -1
  205. package/dist/review/arb.d.ts +0 -2
  206. package/dist/review/arb.js +1 -1
  207. package/dist/review/order.d.ts +0 -1
  208. package/dist/review/order.js +1 -1
  209. package/dist/role/profiles.js +1 -1
  210. package/dist/rules.d.ts +1 -2
  211. package/dist/rules.js +1 -1
  212. package/dist/safety/confirm-gate.js +1 -1
  213. package/dist/schema/call/base.d.ts +3372 -668
  214. package/dist/schema/call/base.js +1 -1
  215. package/dist/schema/call/handler.js +1 -1
  216. package/dist/schema/call/receipt.d.ts +28 -0
  217. package/dist/schema/call/receipt.js +1 -0
  218. package/dist/schema/call/semantic-customer-advice.spec.d.ts +1 -0
  219. package/dist/schema/call/semantic-customer-advice.spec.js +1 -0
  220. package/dist/schema/call/semantic.d.ts +5 -2
  221. package/dist/schema/call/semantic.js +1 -1
  222. package/dist/schema/call/treasury.js +1 -1
  223. package/dist/schema/common/index.js +1 -1
  224. package/dist/schema/evaluation/index.d.ts +289 -211
  225. package/dist/schema/evaluation/index.js +1 -1
  226. package/dist/schema/goal/index.d.ts +1 -1
  227. package/dist/schema/goal/planning.d.ts +2 -2
  228. package/dist/schema/index.d.ts +0 -1
  229. package/dist/schema/index.js +1 -1
  230. package/dist/schema/industry-pack/index.d.ts +1 -1
  231. package/dist/schema/keeper/index.d.ts +1 -1
  232. package/dist/schema/local/index.js +1 -1
  233. package/dist/schema/operations.d.ts +26 -10
  234. package/dist/schema/operations.js +1 -1
  235. package/dist/schema/persona/index.d.ts +24 -24
  236. package/dist/schema/query/bi.d.ts +613 -0
  237. package/dist/schema/query/bi.js +1 -1
  238. package/dist/schema/query/index.d.ts +9 -9
  239. package/dist/schema/schema-version.js +1 -1
  240. package/dist/schema/workspace/index.d.ts +2 -2
  241. package/dist/schema-query-impl/index.js +1 -1
  242. package/dist/schemas/account_operation.output.json +1 -1
  243. package/dist/schemas/bridge_operation.output.json +1 -1
  244. package/dist/schemas/evaluation_operation.output.json +691 -163
  245. package/dist/schemas/evaluation_operation.schema.json +0 -429
  246. package/dist/schemas/index.json +1 -7
  247. package/dist/schemas/keeper_operation.output.json +1 -1
  248. package/dist/schemas/local_history_operation.output.json +1 -1
  249. package/dist/schemas/local_info_operation.output.json +1 -1
  250. package/dist/schemas/local_mark_operation.output.json +1 -1
  251. package/dist/schemas/messenger_operation.output.json +1 -1
  252. package/dist/schemas/monitor_events.output.json +1 -1
  253. package/dist/schemas/monitor_subscription.output.json +1 -1
  254. package/dist/schemas/onchain_events.output.json +1 -1
  255. package/dist/schemas/onchain_operations.output.json +6357 -3724
  256. package/dist/schemas/onchain_operations.schema.json +2 -2
  257. package/dist/schemas/onchain_operations_treasury.schema.json +2 -2
  258. package/dist/schemas/onchain_table_data.output.json +61 -71
  259. package/dist/schemas/query_toolkit.output.json +841 -8
  260. package/dist/schemas/query_toolkit.schema.json +59 -1
  261. package/dist/strategy/metrics.js +1 -1
  262. package/dist/tools/handlers/bridge.js +1 -1
  263. package/dist/tools/handlers/config.js +1 -1
  264. package/dist/tools/handlers/dispatch-expectations.d.ts +3 -0
  265. package/dist/tools/handlers/dispatch-expectations.js +1 -0
  266. package/dist/tools/handlers/evaluation.js +1 -1
  267. package/dist/tools/handlers/onchain.js +1 -1
  268. package/dist/tools/handlers/query.js +1 -1
  269. package/dist/tools/index.js +1 -1
  270. package/dist/tools/registry/evaluation.d.ts +2 -0
  271. package/dist/tools/registry/evaluation.js +1 -0
  272. package/dist/tools/registry/query.js +1 -1
  273. package/dist/tools/shared.d.ts +0 -1
  274. package/dist/tools/shared.js +1 -1
  275. package/dist/tools/wrap.js +1 -1
  276. package/package.json +4 -3
  277. package/dist/customer/customer-advice.d.ts +0 -32
  278. package/dist/customer/customer-advice.js +0 -1
  279. package/dist/customer/info-puzzle.d.ts +0 -146
  280. package/dist/customer/info-puzzle.js +0 -1
  281. package/dist/customer/order-strategy.d.ts +0 -17
  282. package/dist/customer/order-strategy.js +0 -1
  283. package/dist/customer/preorder-compare.d.ts +0 -24
  284. package/dist/customer/preorder-compare.js +0 -1
  285. package/dist/customer/reminder-system.d.ts +0 -42
  286. package/dist/customer/reminder-system.js +0 -1
  287. package/dist/customer/risk-assessment.d.ts +0 -13
  288. package/dist/customer/risk-assessment.js +0 -1
  289. package/dist/evaluation/builtins/service-risk.d.ts +0 -7
  290. package/dist/evaluation/builtins/service-risk.js +0 -1
  291. package/dist/knowledge/trust-metrics.d.ts +0 -66
  292. package/dist/knowledge/trust-metrics.js +0 -1
  293. package/dist/schema/trust/index.d.ts +0 -334
  294. package/dist/schema/trust/index.js +0 -1
  295. package/dist/schemas/trust_score.output.json +0 -847
  296. package/dist/schemas/trust_score.schema.json +0 -364
  297. package/dist/tools/handlers/trust.d.ts +0 -16
  298. package/dist/tools/handlers/trust.js +0 -1
  299. package/dist/tools/registry/trust.d.ts +0 -2
  300. package/dist/tools/registry/trust.js +0 -1
@@ -1 +1 @@
1
- import{z}from'zod';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';import{fromJsonSchema}from'@modelcontextprotocol/server';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),SCHEMA_DIR_CANDIDATES=[join(__dirname,'..','schemas'),join(__dirname,'..','..','dist','schemas')],preGeneratedSchemaCache=new Map();import{wrapHandlerWithErrorShape,dispatchWithHarness}from'./wrap.js';import{classifyError}from'../schema/call/semantic.js';import{ONCHAIN_TOOLS}from'./registry/onchain.js';import{LOCAL_TOOLS}from'./registry/local.js';import{FILE_TOOLS}from'./registry/files.js';import{MESSENGER_TOOLS}from'./registry/messenger.js';import{QUERY_TOOLS}from'./registry/query.js';import{BRIDGE_TOOLS}from'./registry/bridge.js';import{CONFIG_TOOLS}from'./registry/config.js';import{TRUST_TOOLS}from'./registry/trust.js';import{IDENTITY_TOOLS}from'./registry/identity.js';import{BUSINESS_TOOLS}from'./registry/business.js';import{AGENT_TOOLS}from'./registry/agent.js';import{MONITOR_TOOLS}from'./registry/monitor.js';import{INTERACTION_TOOLS}from'./registry/interaction.js';export{monitorEventStore,MonitorEventStore,monitorEventId}from'../monitor/EventStore.js';export{monitorLoop,MonitorLoop}from'../monitor/MonitorLoop.js';export{MONITOR_CAPTURE_TYPES}from'../monitor/normalize.js';export{resolveGateControls,resolveEffectiveOverrides}from'../persona/index.js';export{SYSTEM_OVERRIDE_SETTINGS}from'../persona/index.js';export const TOOL_REGISTRY=[...ONCHAIN_TOOLS,...LOCAL_TOOLS,...FILE_TOOLS['slice'](0x0,0x1),...MESSENGER_TOOLS,...FILE_TOOLS['slice'](0x1),...QUERY_TOOLS,...BRIDGE_TOOLS,...CONFIG_TOOLS,...TRUST_TOOLS,...IDENTITY_TOOLS,...BUSINESS_TOOLS,...AGENT_TOOLS,...MONITOR_TOOLS,...INTERACTION_TOOLS];export const TOOL_REGISTRY_MAP=new Map(TOOL_REGISTRY['map'](a=>[a['name'],a]));export const SUB_TOOL_COUNT=TOOL_REGISTRY['length'];const SUB_TOOL_NAMES=TOOL_REGISTRY['map'](a=>a['name']),WowokToolRuntimeSchema=fromJsonSchema({'type':'object'}),WowokToolDisplaySchema=z['object']({'tool':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('The\x20sub-tool\x20to\x20execute.\x20Each\x20sub-tool\x20has\x20its\x20own\x20parameter\x20schema.'),'data':z['record'](z['string'](),z['unknown']())['optional']()['describe']('Sub-tool\x20specific\x20parameters.\x20If\x20validation\x20fails,\x20the\x20response\x20includes\x20the\x20correct\x20schema\x20for\x20this\x20sub-tool\x20—\x20read\x20it,\x20fix\x20your\x20params,\x20and\x20retry.'),'tool_name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'args':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.'),'name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'params':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.')})['describe']('WoWok\x20unified\x20tool\x20input.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.\x20'+'Aliases:\x20tool_name/name→tool,\x20args/params→data.'),SUB_TOOL_LIST=TOOL_REGISTRY['map'](a=>'\x20\x20'+a['name']+'\x20—\x20'+a['config']['summary'])['join']('\x0a'),SKILLS_MISMATCH_POINTER='Structured\x20role-based\x20guidance\x20(WHEN\x20and\x20in\x20what\x20ORDER\x20to\x20use\x20WoWok\x20sub-tools)\x20is\x20available\x20via\x20the\x20WoWok\x20Skills:\x20install\x20with\x20\x22npm\x20install\x20-g\x20@wowok/skills\x22\x20(verify\x20with\x20\x22wowok-skills\x20doctor\x22),\x20or\x20fetch\x20orientation\x20now\x20via\x20wowok_buildin_info\x20info=\x22getting\x20started\x22.';function schemaMismatchHint(a){return'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+a+'\x20calls\x20—\x20you\x20don\x27t\x20need\x20to\x20query\x20it\x20again.\x0a'+SKILLS_MISMATCH_POINTER;}const WOWOK_TOOL_DESCRIPTION=['WoWok\x20MCP\x20unified\x20interface.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.','','\x20\x20▶\x20START\x20HERE\x20—\x20WoWok\x20Skills\x20(recommended):','\x20\x20\x20\x20Role-based\x20playbooks\x20(onboarding,\x20building,\x20buying,\x20fulfillment,\x20arbitration,\x20governance)','\x20\x20\x20\x20sit\x20ON\x20TOP\x20of\x20this\x20MCP\x20and\x20materially\x20reduce\x20failed\x20calls\x20by\x20telling\x20you\x20WHEN\x20and\x20in\x20what','\x20\x20\x20\x20ORDER\x20to\x20use\x20the\x2030+\x20sub-tools\x20below.\x20One\x20command\x20installs\x20them\x20into\x20every\x20detected\x20AI','\x20\x20\x20\x20client\x20AND\x20registers\x20this\x20MCP\x20server\x20(idempotent\x20postinstall):','\x20\x20\x20\x20\x20\x20npm\x20install\x20-g\x20@wowok/skills','\x20\x20\x20\x20Verify:\x20wowok-skills\x20doctor\x20\x20\x20Repair\x20an\x20old\x20install:\x20wowok-skills\x20init\x20--force','\x20\x20\x20\x20Machine-readable\x20orientation\x20+\x20best-effort\x20detection\x20of\x20whether\x20skills\x20are\x20installed\x20here:','\x20\x20\x20\x20\x20\x20wowok({\x20tool:\x20\x22wowok_buildin_info\x22,\x20data:\x20{\x20info:\x20\x22getting\x20started\x22\x20}\x20})','\x20\x20▶\x20COLD\x20START:\x20the\x20FIRST\x20call\x20after\x20server\x20boot\x20can\x20take\x20~20\x20seconds\x20(server\x20bootstraps\x20via\x20npx).','\x20\x20\x20\x20Wait\x20for\x20it\x20—\x20a\x20timed-out\x20first\x20response\x20is\x20startup\x20latency,\x20not\x20a\x20broken\x20server,\x20and\x20never\x20a','\x20\x20\x20\x20reason\x20to\x20retry\x20a\x20write\x20transaction.\x20Later\x20calls\x20are\x20fast.','','\x20\x20tool:\x20name\x20of\x20the\x20sub-tool\x20(string)','\x20\x20data:\x20sub-tool\x20parameters\x20(object)','','\x20\x20Aliases\x20accepted\x20(deprecated):\x20tool_name/name\x20for\x20tool,\x20args/params\x20for\x20data.','\x20\x20Inline\x20params\x20also\x20accepted:\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20<param1>:\x20...,\x20<param2>:\x20...\x20}','','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20data:\x20{\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20}\x20})','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22wowok_buildin_info\x22,\x20data:\x20{\x20info:\x20\x22mainnet\x20bridge\x20tokens\x22\x20}\x20})','\x20\x20EXAMPLE\x20(inline\x20params):\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20})','','Available\x20sub-tools\x20('+SUB_TOOL_COUNT+'):',SUB_TOOL_LIST,'','SCHEMA-GATED\x20EXECUTION:','\x20\x20If\x20your\x20parameters\x20don\x27t\x20match\x20the\x20sub-tool\x27s\x20schema,\x20the\x20response\x20will\x20include:','\x20\x20\x20\x20result.status\x20=\x20\x22schema_mismatch\x22','\x20\x20\x20\x20result.errors\x20=\x20specific\x20validation\x20errors\x20(field\x20path\x20+\x20expected\x20type)','\x20\x20\x20\x20result.hint\x20=\x20instructions\x20to\x20fix\x20and\x20retry','\x20\x20\x20\x20schema.input\x20=\x20the\x20correct\x20JSON\x20schema\x20for\x20the\x20sub-tool','\x20\x20\x20\x20schema.tool\x20=\x20which\x20sub-tool\x20this\x20schema\x20belongs\x20to','\x20\x20Read\x20the\x20schema,\x20fix\x20your\x20params,\x20and\x20retry.\x20This\x20is\x20normal\x20—\x20no\x20need\x20to\x20call\x20schema_query\x20separately.','','SCHEMA\x20CACHING:','\x20\x20Each\x20sub-tool\x20has\x20a\x20DIFFERENT\x20schema.\x20When\x20you\x20receive\x20a\x20schema\x20in\x20a\x20mismatch\x20response:','\x20\x20\x20\x201.\x20Read\x20the\x20schema\x20carefully','\x20\x20\x20\x202.\x20Fix\x20your\x20parameters','\x20\x20\x20\x203.\x20Retry\x20the\x20call','\x20\x20\x20\x204.\x20CACHE\x20the\x20schema\x20in\x20your\x20context\x20for\x20future\x20calls\x20to\x20the\x20SAME\x20sub-tool','\x20\x20You\x20should\x20only\x20need\x20to\x20see\x20each\x20sub-tool\x27s\x20schema\x20once\x20per\x20conversation.','','ON-CHAIN\x20BUSINESS\x20INTELLIGENCE\x20(query_toolkit,\x20READ-ONLY\x20—\x20no\x20local\x20project\x20entity):','\x20\x20query_toolkit\x20query_type=\x27service_panorama\x27\x20→\x20ONE-CALL\x20full\x20Service\x20context\x20(workflow\x20graph,\x20guards,\x20trust,\x20supply\x20chain,\x20orders)','\x20\x20query_toolkit\x20query_type=\x27machine_panorama\x27\x20→\x20Machine\x20context\x20(head\x20+\x20fields\x20+\x20workflow\x20graph\x20+\x20Progress\x20list)','\x20\x20query_toolkit\x20query_type=\x27object_panorama\x27\x20→\x20detail\x20panorama\x20for\x20Progress/Demand/Order/Arb/Repository','\x20\x20query_toolkit\x20query_type=\x27review_pack\x27\x20→\x20typed\x20ReviewPack\x20for\x20the\x20client\x27s\x20generic\x20ReviewPackRenderer','\x20\x20query_toolkit\x20query_type=\x27assemble_context\x27\x20→\x20semantic\x20context\x20assembly\x20from\x20on-chain\x20objects','\x20\x20query_toolkit\x20query_type=\x27reverse_map\x27\x20→\x20deterministic\x20L4→L1\x20business\x20report\x20(merchant\x20profile\x20/\x20user\x20risk\x20/\x20game\x20theory)','\x20\x20query_toolkit\x20query_type=\x27participation_radar\x27\x20→\x20in-flight\x20order\x20participation\x20analysis\x20for\x20ONE\x20account','\x20\x20query_toolkit\x20query_type=\x27relationship_profile\x27\x20→\x20business\x20relationship\x20graph\x20for\x20ONE\x20account\x20(power/interest/value-flow\x20edges,\x20K3/19)','\x20\x20industry_pack_operation\x20action=\x27recommend_industry\x27/\x27list_modes\x27\x20→\x20industry\x20mode\x20registry\x20(GLM6/92\x20§E)','\x20\x20strategy_review_operation\x20action=\x27collect\x27/\x27review\x27/\x27list_snapshots\x27\x20→\x20posture-weighted\x20scorecard\x20+\x20periodic\x20review\x20(current-layer\x20proposals\x20only)','\x20\x20goal_operation\x20action=\x27merchant_guide\x27\x20→\x2010-step\x20merchant\x20onboarding\x20wizard\x20(never\x20executes\x20on-chain\x20ops)','','═══════════════════════════════════════════════════════════════','BUILD/BUY\x20POLICY\x20(no\x20local\x20projects\x20—\x20chain\x20state\x20is\x20the\x20source\x20of\x20truth):','═══════════════════════════════════════════════════════════════','','CASE\x201\x20—\x20COMPLEX\x20REQUIREMENT\x20(user\x20wants\x20to\x20build/deploy\x20a\x20full\x20service):','\x20\x20→\x20Plan\x20with\x20goal_operation\x20action=\x27analyze_intent\x27\x20(C1:\x20intent\x20→\x20per-object\x20puzzle\x20snapshots\x20+\x20creation\x20order),','\x20\x20\x20\x20then\x20\x27aggregate_risks\x27\x20(C2:\x20cross-object\x20risk\x20calibration)\x20and\x20\x27trace_substeps\x27\x20(C3:\x20substep\x20DAG\x20coherence).','\x20\x20→\x20Alternatively\x20run\x20goal_operation\x20action=\x27merchant_guide\x27\x20for\x20a\x20guided\x2010-step\x20onboarding\x20plan.','\x20\x20→\x20Create\x20objects\x20via\x20onchain_operations,\x20then\x20publish\x20the\x20Service.','','CASE\x202\x20—\x20SINGLE\x20OBJECT\x20CREATION\x20(user\x20wants\x20one\x20specific\x20object):','\x20\x20→\x20Create\x20directly\x20via\x20onchain_operations.\x20No\x20project\x20bookkeeping\x20needed.','','CASE\x203\x20—\x20CONSUMER\x20FLOW\x20(user\x20wants\x20to\x20buy/evaluate\x20a\x20service):','\x20\x20→\x20query_toolkit\x20query_type=\x27service_panorama\x27\x20or\x20\x27review_pack\x27\x20for\x20the\x20detail\x20page,','\x20\x20\x20\x20\x27reverse_map\x27\x20for\x20the\x20deterministic\x20buy\x20report\x20(add\x20Machine/Allocation\x20for\x20refund-path\x20detection),','\x20\x20\x20\x20then\x20onchain_operations\x20service_buy.','','CASE\x204\x20—\x20SIMPLE\x20QUERY\x20(user\x20wants\x20to\x20check\x20object\x20info,\x20balance,\x20etc.):','\x20\x20→\x20Proceed\x20directly\x20with\x20the\x20query.','═══════════════════════════════════════════════════════════════']['join']('\x0a');function joinIssuePath(a){return a['length']>0x0?a['map'](b=>typeof b==='number'?'['+b+']':String(b))['join']('.')['replace']('.[','['):'(root)';}function unionVariantErrors(a){const b=a,d=b['errors']??b['unionErrors']??b['issues'];if(!Array['isArray'](d))return[];const e=[];for(const f of d){if(!f)continue;if(Array['isArray'](f))f['every'](g=>!!g&&typeof g==='object'&&'code'in g)&&e['push']({'issues':f});else typeof f==='object'&&Array['isArray'](f['issues'])&&e['push']({'issues':f['issues']});}return e;}function variantScore(a){let b=0x0;for(const c of a['issues']){b+=0xa;const d=c;if(c['code']==='invalid_type')d['received']==='undefined'?b+=0x14:b-=0x5;else{if(c['code']==='unrecognized_keys'){const e=Array['isArray'](d['keys'])?d['keys']['length']:0x1;b+=0xf+e*0x5;}else{if(c['code']==='invalid_union'){const f=unionVariantErrors(c);if(f['length']>0x0)b+=Math['min'](...f['map'](variantScore));}}}}return b;}function variantSummary(a,b=0x3){const c=[];for(const e of a['issues']){const f=e;if(e['code']==='unrecognized_keys'){const g=Array['isArray'](f['keys'])?f['keys']['join'](',\x20'):'?';c['push']('unknown\x20field(s):\x20'+g);}else e['code']==='invalid_type'&&f['received']==='undefined'?c['push']('missing:\x20'+joinIssuePath([...e['path']])):c['push'](e['code']+'\x20at\x20'+joinIssuePath([...e['path']]));if(c['length']>=b)break;}const d=a['issues']['length']>b?'\x20(+'+(a['issues']['length']-b)+'\x20more)':'';return c['length']>0x0?c['join'](';\x20')+d:'shape\x20mismatch';}function resolveIssuePath(a,b){if(a['length']===0x0)return joinIssuePath(b);const c=b['length']>=a['length']&&a['every']((d,e)=>b[e]===d);return joinIssuePath(c?b:[...a,...b]);}function absoluteIssuePath(a,b){const c=a['length']>0x0&&b['length']>=a['length']&&a['every']((d,e)=>b[e]===d);return c?b:[...a,...b];}function pushFlattened(a,b,c,d,e=[]){for(const f of a['issues']){if(f['code']==='invalid_union'){const g=f,h=[...f['path']],i=Array['isArray'](g['errors'])?g['errors']['length']:Array['isArray'](g['unionErrors'])?g['unionErrors']['length']:0x0,j=unionVariantErrors(f);if(j['length']===0x0){const o=resolveIssuePath(e,h),p=c!==undefined?extractValueAtPath(c,absoluteIssuePath(e,h)):undefined,q=p!==undefined;let r;if(i>0x0)r=(q?'value\x20does\x20not\x20match\x20any\x20of\x20the\x20union\x27s':'missing\x20required\x20union\x20field\x20—\x20no\x20value\x20provided;\x20union\x20accepts')+'\x20'+i+'\x20shape(s);\x20see\x20the\x20schema\x20preview\x20for\x20the\x20accepted\x20fields';else{if(q&&p&&typeof p==='object'&&!Array['isArray'](p)){const s=p,t=['operation_type','query_type','type','action','op']['find'](u=>typeof s[u]==='string');r=t?'discriminator\x20\x27'+t+'\x27=\x22'+String(s[t])+'\x22\x20does\x20not\x20match\x20any\x20variant;\x20check\x20the\x20\x22Valid\x20\x27'+t+'\x27\x20values\x22\x20line\x20in\x20the\x20schema\x20preview\x20below':'value\x20does\x20not\x20match\x20any\x20union\x20variant\x20(no\x20per-variant\x20details\x20available);\x20see\x20the\x20schema\x20preview';}else r='value\x20does\x20not\x20match\x20any\x20union\x20variant\x20(no\x20per-variant\x20details\x20available);\x20see\x20the\x20schema\x20preview';}b['push']({'kind':'header','path':o,'code':'invalid_union','message':r});d&&(b[b['length']-0x1]={'kind':'header','path':o+'\x20['+d+']','code':'invalid_union','message':r});continue;}const k=j['map']((u,v)=>({'idx':v,'err':u,'score':variantScore(u)}))['sort']((u,v)=>u['score']-v['score']),l=k[0x0],m=k['slice'](0x1)['map'](u=>'variant\x20'+(u['idx']+0x1)+':\x20'+variantSummary(u['err']))['join']('\x20|\x20');b['push']({'kind':'header','path':resolveIssuePath(e,h),'code':'invalid_union','message':'no\x20union\x20variant\x20matched\x20('+j['length']+'\x20checked);\x20closest\x20=\x20variant\x20'+(l['idx']+0x1)+(m?'\x20—\x20others:\x20'+m:'')});const n=h['length']>0x0&&h['every']((u,v)=>e[v]===u)?h:[...e,...h];pushFlattened(l['err'],b,c,'variant\x20'+(l['idx']+0x1),n);}else b['push']({'kind':'issue','issue':f,'variantTag':d,'pathPrefix':e});}}function flattenZodIssues(a,b){const c=[];return pushFlattened(a,c,b),c;}const RECEIVED_VALUE_MAX=0x1f4;function truncateEcho(a){return a['length']>RECEIVED_VALUE_MAX?a['slice'](0x0,RECEIVED_VALUE_MAX)+'...(truncated,\x20'+(a['length']-RECEIVED_VALUE_MAX)+'\x20more\x20chars)':a;}function formatZodErrors(a,b){return flattenZodIssues(a,b)['map'](c=>{if(c['kind']==='header')return c['path']+'\x20['+c['code']+']:\x20'+c['message'];const d=c['issue'],e=resolveIssuePath(c['pathPrefix']??[],d['path']),f=d['code'],g=d['message'];let h='';const i=d;if(f==='invalid_type'){const l=i['expected'],m=i['received'];typeof l==='string'&&typeof m==='string'&&(h='\x20(expected:\x20'+l+';\x20received:\x20'+m+')');}else{if(f==='invalid_value'){const n=i['expected'];if(n!==undefined){const o=typeof n==='string'?n:JSON['stringify'](n);h='\x20(expected:\x20'+o['slice'](0x0,0x3c)+')';}}else{if(f==='too_big'||f==='too_small'){const p=i['maximum']??i['minimum'],q=i['origin'];p!==undefined&&q!==undefined&&(h='\x20('+q+':\x20'+p+')');}}}const j=extractValueAtPath(b,absoluteIssuePath(c['pathPrefix']??[],d['path']));if(j!==undefined){const r=typeof j==='string'?'\x22'+truncateEcho(j)+'\x22':typeof j==='object'?truncateEcho(JSON['stringify'](j)):String(j);!h['includes']('received:')&&(h+='\x20(received\x20value:\x20'+r+')');}const k=c['variantTag']?'\x20['+c['variantTag']+']':'';return''+e+k+'\x20['+f+']:\x20'+g+h;});}function generateSuggestion(a,b,c){const d=b;switch(a){case'invalid_type':{const e=d['expected'];if(e==='number'&&typeof c==='string')return'Convert\x20to\x20number:\x20'+Number(c);if(e==='string')return'Wrap\x20in\x20quotes\x20or\x20call\x20String(...)';if(e==='array')return'Wrap\x20in\x20array:\x20['+JSON['stringify'](c)+']';if(e==='object')return'Provide\x20an\x20object,\x20not\x20a\x20primitive';return'Convert\x20value\x20to\x20'+(e??'the\x20expected\x20type');}case'invalid_enum_value':{const f=d['options'],g=Array['isArray'](f)?f['map'](h=>JSON['stringify'](h))['join']('\x20|\x20'):String(f);return'Use\x20one\x20of:\x20'+g;}case'invalid_literal':{const h=d['expected'];return'Use\x20the\x20exact\x20value:\x20'+JSON['stringify'](h);}case'too_small':{const i=d['minimum'],j=d['type'];if(j==='array')return'Add\x20at\x20least\x20'+i+'\x20element(s)\x20to\x20the\x20array';if(j==='string')return'String\x20must\x20be\x20at\x20least\x20'+i+'\x20character(s)\x20long';if(j==='number')return'Use\x20a\x20value\x20>=\x20'+i;return'Value\x20must\x20be\x20>=\x20'+i;}case'too_big':{const k=d['maximum'],l=d['type'];if(l==='array')return'Reduce\x20array\x20to\x20at\x20most\x20'+k+'\x20element(s)';if(l==='string')return'Shorten\x20string\x20to\x20at\x20most\x20'+k+'\x20character(s)';if(l==='number')return'Use\x20a\x20value\x20<=\x20'+k;return'Value\x20must\x20be\x20<=\x20'+k;}case'unrecognized_keys':{const m=d['keys'];return'Remove\x20unknown\x20field(s):\x20'+(m??[])['join'](',\x20')+'.\x20Check\x20the\x20schema\x20for\x20valid\x20field\x20names.';}case'invalid_union':{return'Value\x20does\x20not\x20match\x20any\x20of\x20the\x20union\x20variants\x20—\x20see\x20the\x20\x22closest\x20variant\x22\x20line\x20above\x20for\x20the\x20concrete\x20field\x20error(s).';}case'invalid_string':{const n=d['validation'];if(n==='url')return'Provide\x20a\x20valid\x20URL\x20string';if(n==='email')return'Provide\x20a\x20valid\x20email\x20string';if(n==='uuid')return'Provide\x20a\x20valid\x20UUID\x20string';if(n==='regex')return'String\x20does\x20not\x20match\x20the\x20required\x20pattern';return'Provide\x20a\x20valid\x20string\x20matching\x20the\x20validation:\x20'+(n??'unknown');}case'invalid_date':{return'Provide\x20a\x20valid\x20Date\x20object\x20or\x20ISO\x20date\x20string';}case'not_finite':{return'Use\x20a\x20finite\x20number\x20(not\x20Infinity\x20or\x20NaN)';}case'invalid_arguments':{return'Arguments\x20do\x20not\x20match\x20the\x20expected\x20schema';}case'invalid_return_type':{return'Return\x20type\x20does\x20not\x20match\x20the\x20expected\x20schema';}case'custom':{return'Custom\x20validation\x20failed\x20—\x20see\x20the\x20field\x27s\x20description\x20in\x20the\x20schema';}default:{return'Fix\x20the\x20value\x20at\x20\x27'+b['path']['join']('.')+'\x27\x20based\x20on\x20the\x20schema';}}}function formatZodErrorsStructured(a,b){return flattenZodIssues(a,b)['flatMap'](c=>{if(c['kind']==='header'){const l=c['message']['match'](/closest = variant (\d+)/),m=c['message']['includes']('missing\x20required\x20union\x20field'),n=l?'\x20Fix\x20the\x20field\x20error(s)\x20listed\x20for\x20variant\x20'+l[0x1]+'.':'',o=m?'Provide\x20this\x20required\x20field\x20with\x20one\x20of\x20the\x20accepted\x20shapes,\x20and\x20check\x20field-name\x20spelling\x20against\x20the\x20schema\x20preview.':'No\x20union\x20variant\x20matched;\x20the\x20closest\x20variant\x27s\x20concrete\x20errors\x20follow.'+n;return[{'path':c['path'],'code':c['code'],'message':c['message'],'suggestion':o}];}const d=c['issue'],e=resolveIssuePath(c['pathPrefix']??[],d['path']),f=d['code'],g=c['variantTag']?d['message']+'\x20(closest\x20union\x20variant:\x20'+c['variantTag']+')':d['message'],h=d;let i;if(f==='invalid_type'){const p=h['expected'],q=h['received'];typeof p==='string'&&typeof q==='string'&&(i=p);}else{if(f==='invalid_value'){const r=h['expected'],s=h['options'];if(Array['isArray'](s))i=s['map'](t=>JSON['stringify'](t))['join']('\x20|\x20');else r!==undefined&&(i=typeof r==='string'?r:JSON['stringify'](r));}else{if(f==='too_big'||f==='too_small'){const t=h['maximum']??h['minimum'];t!==undefined&&(i=String(t));}}}const j=extractValueAtPath(b,absoluteIssuePath(c['pathPrefix']??[],d['path'])),k=generateSuggestion(f,d,j);return[{'path':e,'code':f,'message':g,'expected':i,'received_value':j,'suggestion':k}];});}function extractValueAtPath(a,b){if(a===undefined||a===null||b['length']===0x0)return undefined;let c=a;for(const d of b){if(c===undefined||c===null)return undefined;if(typeof d==='number'){if(!Array['isArray'](c))return undefined;c=c[d];}else{if(typeof c!=='object')return undefined;c=c[d];}}return c;}function checkUnknownFields(a,b){let c=a;while(!![]){const h=c['_def'];if(!h)break;const i=h['typeName']==='ZodEffects'?h['schema']:h['out']??h['innerType'];if(!i||i===c)break;c=i;}const d=c['_def'],e=typeof d?.['shape']==='function'?d['shape']():d?.['shape'];if(!e||typeof b!=='object'||b===null)return[];const f=Object['keys'](e),g=Object['keys'](b);return g['filter'](j=>!f['includes'](j));}function extractRelevantSchema(a,b,c){if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const d=c['operation_type'];if(typeof d==='string'){const e='onchain_operations_'+d,f=loadPreGeneratedSchema(e);if(f)return f;}}return a;}function isSchemaValidationError(a){return a['startsWith']('Unknown\x20')&&a['includes']('field')||a['includes']('expected')&&a['includes']('received')||a['includes']('Invalid\x20input')||a['includes']('Required');}function variantConstValue(a,b){const c=a['properties'];if(!c||typeof c!=='object')return undefined;const d=c[b];if(!d)return undefined;if(typeof d['const']==='string')return d['const'];if(Array['isArray'](d['enum'])&&d['enum']['length']===0x1&&typeof d['enum'][0x0]==='string')return d['enum'][0x0];return undefined;}function pickUnionVariant(a,b){const c=['query_type','operation_type','type'],d=b&&typeof b==='object'&&!Array['isArray'](b)?Object['keys'](b):[],e=[...c,...d['filter'](f=>!c['includes'](f))];for(const f of e){const g=b?.[f];if(typeof g!=='string')continue;for(let h=0x0;h<a['length'];h++){const j=a[h];if(j&&typeof j==='object'&&variantConstValue(j,f)===g)return{'variant':j,'index':h,'discriminator':f,'matched':!![]};}}for(let k=0x0;k<a['length'];k++){const l=a[k];if(l&&typeof l==='object'){const m=l;if(m['properties']&&typeof m['properties']==='object')return{'variant':m,'index':k,'matched':![]};}}return{'index':-0x1,'matched':![]};}function unionDiscriminatorValues(a,b){const c=[];for(const d of a){if(d&&typeof d==='object'){const e=variantConstValue(d,b);if(e!==undefined&&!c['includes'](e))c['push'](e);}}return c;}function inferDiscriminatorKey(a){if(!Array['isArray'](a)||a['length']===0x0)return undefined;const b=a['filter'](d=>!!d&&typeof d==='object'&&!!d['properties']);if(b['length']!==a['length']||b['length']===0x0)return undefined;const c=b[0x0]['properties'];for(const d of Object['keys'](c)){let e=!![];for(const f of b){if(variantConstValue(f,d)===undefined){e=![];break;}}if(e)return d;}return undefined;}function buildSchemaPreview(a,b,c){try{const d=['Schema\x20preview\x20for\x20'+b+':'];let e,g=[],h='',i,j=-0x1,k,l=![];if(a['properties']&&typeof a['properties']==='object')e=a['properties'],g=Array['isArray'](a['required'])?a['required']:[],h=typeof a['description']==='string'?a['description']:'';else{if(Array['isArray'](a['oneOf'])||Array['isArray'](a['anyOf'])){i=a['oneOf']??a['anyOf'];const p=pickUnionVariant(i,c);j=p['index'],k=p['discriminator'],l=p['matched'];p['variant']&&(e=p['variant']['properties'],g=Array['isArray'](p['variant']['required'])?p['variant']['required']:[],h=typeof p['variant']['description']==='string'?p['variant']['description']:'');if(!e)return d['push']('\x20\x20(discriminated\x20union\x20with\x20'+i['length']+'\x20variants\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');}}h&&h['length']>0x0&&h['length']<0xc8&&d['push']('\x20\x20'+h);if(!e)return d['push']('\x20\x20(no\x20properties\x20available\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');const m=new Set(g),n=g['length']>0x0?g['join'](',\x20'):'(none)',o=Object['keys'](e)['filter'](q=>!m['has'](q))['join'](',\x20');d['push']('Required:\x20'+n);o&&d['push']('Optional:\x20'+o);d['push']('Fields:');for(const [q,r]of Object['entries'](e)){if(r&&typeof r==='object'){const s=r,t=describeSchemaType(s),u=m['has'](q)?'required':'optional';let v=typeof s['description']==='string'?s['description']:'';if(v['length']>0x78)v=v['slice'](0x0,0x75)+'...';let w='';if(s['properties']&&typeof s['properties']==='object'){const x=Object['keys'](s['properties']);x['length']>0x0&&(w='\x20{\x20'+x['slice'](0x0,0x8)['join'](',\x20')+(x['length']>0x8?',\x20...':'')+'\x20}');}if(s['items']&&typeof s['items']==='object'){const y=s['items'],A=describeSchemaType(y);w='\x20(array\x20of\x20'+A+')';}Array['isArray'](s['enum'])&&(w='\x20(enum:\x20'+s['enum']['slice'](0x0,0x6)['map'](B=>JSON['stringify'](B))['join'](',\x20')+(s['enum']['length']>0x6?',\x20...':'')+')'),d['push']('\x20\x20-\x20'+q+'\x20('+t+',\x20'+u+')'+w+(v?'\x20—\x20'+v:''));}}if(i&&i['length']>0x0){d['push']('');if(l&&k){const B=c&&typeof c==='object'?c:{},C=String(B[k]);d['push']('Matched\x20variant:\x20'+k+'=\x22'+C+'\x22\x20(variant\x20'+(j+0x1)+'\x20of\x20'+i['length']+').');}else{d['push']('Discriminated\x20union\x20with\x20'+i['length']+'\x20variants;\x20showing\x20variant\x20'+(j+0x1)+'\x20(no\x20matching\x20discriminator\x20value\x20in\x20input).');const D=k??inferDiscriminatorKey(i)??(b==='query_toolkit'?'query_type':'operation_type'),E=unionDiscriminatorValues(i,D);E['length']>0x0&&d['push']('Valid\x20\x27'+D+'\x27\x20values:\x20'+E['join'](',\x20'));}}if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const F=c['operation_type'];typeof F==='string'&&(d['push'](''),d['push']('operation_type-specific\x20schema:\x20onchain_operations_'+F),d['push']('(Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations_'+F+'\x27\x20for\x20the\x20full\x20sub-schema.)'));}return d['join']('\x0a');}catch{return'Schema\x20preview\x20for\x20'+b+':\x20(unable\x20to\x20build\x20preview\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)';}}function describeSchemaType(a){if(typeof a['type']==='string')return a['type'];if(Array['isArray'](a['type']))return a['type']['join']('|');if(a['$ref'])return'$ref';if(Array['isArray'](a['oneOf']))return'oneOf';if(Array['isArray'](a['anyOf']))return'anyOf';if(Array['isArray'](a['allOf']))return'allOf';if(a['enum'])return'enum';if(a['const'])return'const('+JSON['stringify'](a['const'])+')';return'object';}export async function dispatchToolCall(a,b,c,d){if(a==='wowok')return handleWowok(b,c,d);const e=TOOL_REGISTRY_MAP['get'](a);if(!e)throw new Error('Unknown\x20tool:\x20'+a+'.\x20Available:\x20'+TOOL_REGISTRY['map'](i=>i['name'])['join'](',\x20'));if(e['applyRules']&&!c?.['skipRules']){const i=await e['applyRules'](b);if(i)return i;}const f=dispatchWithHarness(e['handler'],a),g=e['timeoutMs']??0xea60,h=wrapHandlerWithErrorShape(f,g,a,e['errorShapeBuilder']);return h(b,d);}const TOOL_FIELD_ALIASES=['tool','tool_name','name'],DATA_FIELD_ALIASES=['data','args','params','parameters'],RESERVED_FIELD_NAMES=new Set([...TOOL_FIELD_ALIASES,...DATA_FIELD_ALIASES]);function normalizeInput(a){const b=[];if(!a||typeof a!=='object'||Array['isArray'](a))return{'tool':undefined,'data':{},'normalizationNotes':['input\x20is\x20not\x20an\x20object']};const c=a;let d;for(const f of TOOL_FIELD_ALIASES){if(typeof c[f]==='string'&&c[f]){d=c[f];f!=='tool'&&b['push']('normalized\x20\x27'+f+'\x27\x20→\x20\x27tool\x27');break;}}let e;for(const g of DATA_FIELD_ALIASES){const h=c[g];if(h!==undefined&&h!==null&&typeof h==='object'&&!Array['isArray'](h)){e=h;g!=='data'&&b['push']('normalized\x20\x27'+g+'\x27\x20→\x20\x27data\x27');break;}}if(!e){const i={};let j=![];for(const k of Object['keys'](c)){!RESERVED_FIELD_NAMES['has'](k)&&(i[k]=c[k],j=!![]);}j?(e=i,b['push']('extracted\x20inline\x20params\x20→\x20\x27data\x27\x20(no\x20data\x20wrapper\x20was\x20provided)')):e={};}return{'tool':d,'data':e,'normalizationNotes':b};}const QUERY_ACCOUNT_FIELD_ALIASES={'account_balance':{'canonical':'name_or_address','aliases':['account','address']},'onchain_personal_profile':{'canonical':'account','aliases':['name_or_address','address']},'address_profile':{'canonical':'address','aliases':['name_or_address','account']}};function normalizeQueryToolkitAliases(a,b){if(typeof a['query_type']!=='string')return;const c=QUERY_ACCOUNT_FIELD_ALIASES[a['query_type']];if(!c)return;if(a[c['canonical']]!==undefined)return;for(const d of c['aliases']){if(a[d]!==undefined){a[c['canonical']]=a[d],delete a[d],b['push']('query_toolkit\x20'+a['query_type']+':\x20normalized\x20\x27'+d+'\x27\x20→\x20\x27'+c['canonical']+'\x27');return;}}}async function handleWowok(a,b,c){const {tool:d,data:e,normalizationNotes:g}=normalizeInput(a);(d==='query_toolkit'||d==='onchain_table_data')&&normalizeQueryToolkitAliases(e,g);if(a&&typeof a==='object'&&!Array['isArray'](a)){const k=a;if(k['submission']!==undefined){const l=e['submission'];if(l!==undefined)return{'content':[{'type':'text','text':'Schema\x20mismatch\x20for\x20'+d+'.\x201\x20error(s).\x20\x27submission\x27\x20was\x20provided\x20in\x20BOTH\x20the\x20top\x20level\x20and\x20inside\x20\x27data\x27\x20—\x20provide\x20it\x20in\x20only\x20ONE\x20place\x20(top\x20level\x20OR\x20data),\x20not\x20both.'}],'structuredContent':{'result':{'status':'schema_mismatch','errors':['\x27submission\x27\x20provided\x20twice:\x20top\x20level\x20AND\x20inside\x20data.\x20Provide\x20it\x20in\x20only\x20ONE\x20place.'],'structured_errors':[{'path':'submission','code':'duplicate_field','message':'\x27submission\x27\x20provided\x20both\x20at\x20the\x20top\x20level\x20and\x20inside\x20data.','suggestion':'Keep\x20the\x20submission\x20in\x20exactly\x20one\x20place:\x20either\x20wowok({tool,\x20data,\x20submission})\x20or\x20wowok({tool,\x20data:\x20{operation_type,\x20data:\x20{...},\x20env,\x20submission}}).'}],'hint':'Move\x20\x27submission\x27\x20to\x20a\x20single\x20location\x20and\x20retry.'},'schema':null}};e['submission']=k['submission'],g['push']('merged\x20top-level\x20\x27submission\x27\x20into\x20data');}}if(!d){const m=a&&typeof a==='object'&&!Array['isArray'](a)?Object['keys'](a)['join'](',\x20')||'(none)':'(non-object\x20input:\x20'+typeof a+')',n=['Missing\x20\x27tool\x27\x20field.\x20Received\x20keys:\x20'+m,'Expected\x20one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')];return{'content':[{'type':'text','text':'Missing\x20\x27tool\x27\x20field.\x20Call\x20format:\x20wowok({\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}).\x20Received\x20keys:\x20'+m+'.\x20Available\x20sub-tools:\x20'+SUB_TOOL_NAMES['join'](',\x20')}],'structuredContent':{'result':{'status':'schema_mismatch','errors':n,'hint':'Provide\x20\x27tool\x27\x20(one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')+')\x20and\x20\x27data\x27\x20(sub-tool\x20parameters).\x20Aliases\x20accepted:\x20tool_name/name→tool,\x20args/params→data.','received':a},'schema':{'input':zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'),'tool':'wowok'}}};}const h=TOOL_REGISTRY_MAP['get'](d);if(!h){const o=TOOL_REGISTRY['map'](p=>p['name'])['filter'](p=>p['includes'](d)||d['includes'](p))['slice'](0x0,0x5);return{'content':[{'type':'text','text':'Unknown\x20sub-tool:\x20\x27'+d+'\x27.\x20Available:\x20'+TOOL_REGISTRY['map'](p=>p['name'])['join'](',\x20')+(o['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+o['join'](',\x20')+'?':'')}],'structuredContent':{'result':{'status':'error','errors':['Unknown\x20sub-tool:\x20'+d],'hint':'Available\x20sub-tools:\x20'+TOOL_REGISTRY['map'](p=>p['name'])['join'](',\x20')+(o['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+o['join'](',\x20')+'?':''),'suggestions':o},'schema':null}};}g['length']>0x0&&console['warn']('[wowok]\x20input\x20normalization\x20for\x20\x27'+d+'\x27:\x20'+g['join'](';\x20'));const i=h['config']['inputSchema']['safeParse'](e),j=checkUnknownFields(h['config']['inputSchema'],e);if(!i['success']||j['length']>0x0){const p=[];!i['success']&&p['push'](...formatZodErrors(i['error'],e));j['length']>0x0&&p['push']('Unknown\x20field(s):\x20'+j['join'](',\x20'));const q=[];!i['success']&&q['push'](...formatZodErrorsStructured(i['error'],e));if(j['length']>0x0)for(const x of j){q['push']({'path':x,'code':'unrecognized_keys','message':'Unknown\x20field\x20\x27'+x+'\x27\x20is\x20not\x20allowed','suggestion':'Remove\x20field\x20\x27'+x+'\x27\x20or\x20check\x20the\x20schema\x20for\x20valid\x20field\x20names'});}const r=loadPreGeneratedSchema(d)??zodToJsonSchemaSafe(h['config']['inputSchema'],d),s=extractRelevantSchema(r,d,e),t=q[0x0]?.['suggestion']?'\x20FIRST\x20ERROR\x20SUGGESTION:\x20'+q[0x0]['suggestion']:'',u=p['slice'](0x0,0x5)['map']((y,A)=>'\x20\x20'+(A+0x1)+'.\x20'+y)['join']('\x0a'),v=buildSchemaPreview(s,d,e),w=['Schema\x20mismatch\x20for\x20'+d+'.\x20'+p['length']+'\x20error(s).'+t,u,'',v,'','Fix\x20the\x20parameters\x20based\x20on\x20the\x20errors\x20above\x20and\x20the\x20schema\x20summary,\x20then\x20retry.','Full\x20JSON\x20Schema\x20is\x20in\x20the\x20structuredContent.schema.input\x20field\x20(cache\x20it\x20for\x20future\x20'+d+'\x20calls).','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).',SKILLS_MISMATCH_POINTER]['filter'](Boolean)['join']('\x0a');return{'content':[{'type':'text','text':w}],'structuredContent':{'result':{'status':'schema_mismatch','errors':p,'structured_errors':q,'hint':schemaMismatchHint(d)},'schema':{'input':s,'tool':d}}};}try{const y=await dispatchToolCall(d,e,b,c);if(y['resultType']==='input_required')return y;const A=y['structuredContent'],B=A?.['result'],C=B?.['status']==='error'||B?.['operation']==='error'||B?.['type']==='error';if(C){const D={'status':'error','data':y['structuredContent'],'errors':[y['content'][0x0]?.['text']??'Sub-tool\x20returned\x20an\x20error']};if(typeof B?.['error_code']==='string')D['error_code']=B['error_code'];if(typeof B?.['retryable']==='boolean')D['retryable']=B['retryable'];if(typeof B?.['recovery_hint']==='string')D['recovery_hint']=B['recovery_hint'];return{'content':y['content'],'structuredContent':{'result':D,'schema':null}};}return{'content':y['content'],'structuredContent':{'result':{'status':'success','data':y['structuredContent']},'schema':null}};}catch(E){const F=E instanceof Error?E['message']:String(E);if(isSchemaValidationError(F)){const I=loadPreGeneratedSchema(d)??zodToJsonSchemaSafe(h['config']['inputSchema'],d),J=extractRelevantSchema(I,d,e),K=buildSchemaPreview(J,d,e),L=[{'path':'(runtime)','code':'schema_validation_error','message':F,'suggestion':'Check\x20the\x20error\x20message\x20and\x20the\x20schema\x20below\x20for\x20the\x20correct\x20field\x20format'}],M=['Schema\x20mismatch\x20for\x20'+d+':\x20'+F,'',K,'','Fix\x20the\x20parameters\x20and\x20retry.\x20Full\x20JSON\x20Schema\x20is\x20in\x20structuredContent.schema.input.','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).',SKILLS_MISMATCH_POINTER]['join']('\x0a');return{'content':[{'type':'text','text':M}],'structuredContent':{'result':{'status':'schema_mismatch','errors':[F],'structured_errors':L,'hint':schemaMismatchHint(d)},'schema':{'input':J,'tool':d}}};}const G=classifyError(F),H={'status':'error','errors':[F]};if(G['error_code']!==undefined)H['error_code']=G['error_code'];if(G['retryable']!==undefined)H['retryable']=G['retryable'];if(G['recovery_hint']!==undefined)H['recovery_hint']=G['recovery_hint'];return{'content':[{'type':'text','text':'Error:\x20'+F}],'structuredContent':{'result':H,'schema':null}};}}function zodToJsonSchemaSafe(a,b){try{const c=z['toJSONSchema'](a,{'unrepresentable':'any','target':'draft-07'});if(c&&typeof c==='object'&&!Array['isArray'](c)){const {$schema:d,...e}=c;return e;}return{'type':'object'};}catch{return{'type':'object','additionalProperties':!![]};}}function resolveSchemaRefs(a){const b=new Set(['definitions','$schema','$id']);function c(e){if(!e['startsWith']('#/'))return null;const f=e['slice'](0x2)['split']('/');let g=a;for(const h of f){if(g==null||typeof g!=='object')return null;g=g[h];}return g;}function d(e,f){if(!e||typeof e!=='object')return e;if(Array['isArray'](e))return e['map'](i=>d(i,f));const g=e;if(typeof g['$ref']==='string'){const i=g['$ref'];if(f['has'](i))return{'type':'object','additionalProperties':!![]};const j=c(i);if(j&&typeof j==='object'&&!Array['isArray'](j)){const l=new Set(f);l['add'](i);const m=d(j,l),n={};for(const [o,p]of Object['entries'](g)){if(o!=='$ref'&&!b['has'](o))n[o]=p;}return{...m,...n};}return{'type':'object','additionalProperties':!![]};}const h={};for(const [q,r]of Object['entries'](g)){if(b['has'](q))continue;h[q]=d(r,f);}return h;}return d(a,new Set());}function loadPreGeneratedSchema(a){const b=preGeneratedSchemaCache['get'](a);if(b)return b;for(const c of SCHEMA_DIR_CANDIDATES){try{const d=join(c,a+'.schema.json'),e=readFileSync(d,'utf-8'),f=JSON['parse'](e),g=resolveSchemaRefs(f);return preGeneratedSchemaCache['set'](a,g),g;}catch{}}return null;}export function listTools(){return[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':resolveSchemaRefs(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'))}];}export function registerAllTools(a){const b=0x2bf20,c=async(e,f)=>handleWowok(e,undefined,f),d=wrapHandlerWithErrorShape(c,b,'wowok',undefined);a['registerTool']('wowok',{'title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':WowokToolRuntimeSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}},async(e,f)=>d(e,f?.['mcpReq']?.['inputResponses']?{'inputResponses':f['mcpReq']['inputResponses']}:undefined)),overrideToolsListHandler(a);}function overrideToolsListHandler(a){a['server']['setRequestHandler']('tools/list',()=>({'tools':[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':ensureObjectType(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok')),'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}}]}));}function ensureObjectType(a){if(a['type']==='object')return a;return{...a,'type':'object'};}
1
+ import{z}from'zod';import{readFileSync}from'fs';import{fileURLToPath}from'url';import{dirname,join}from'path';import{fromJsonSchema}from'@modelcontextprotocol/server';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),SCHEMA_DIR_CANDIDATES=[join(__dirname,'..','schemas'),join(__dirname,'..','..','dist','schemas')],preGeneratedSchemaCache=new Map();import{wrapHandlerWithErrorShape,dispatchWithHarness}from'./wrap.js';import{classifyError}from'../schema/call/semantic.js';import{ONCHAIN_TOOLS}from'./registry/onchain.js';import{LOCAL_TOOLS}from'./registry/local.js';import{FILE_TOOLS}from'./registry/files.js';import{MESSENGER_TOOLS}from'./registry/messenger.js';import{QUERY_TOOLS}from'./registry/query.js';import{BRIDGE_TOOLS}from'./registry/bridge.js';import{CONFIG_TOOLS}from'./registry/config.js';import{EVALUATION_TOOLS}from'./registry/evaluation.js';import{IDENTITY_TOOLS}from'./registry/identity.js';import{BUSINESS_TOOLS}from'./registry/business.js';import{AGENT_TOOLS}from'./registry/agent.js';import{MONITOR_TOOLS}from'./registry/monitor.js';import{INTERACTION_TOOLS}from'./registry/interaction.js';export{monitorEventStore,MonitorEventStore,monitorEventId}from'../monitor/EventStore.js';export{monitorLoop,MonitorLoop}from'../monitor/MonitorLoop.js';export{MONITOR_CAPTURE_TYPES}from'../monitor/normalize.js';export{resolveGateControls,resolveEffectiveOverrides}from'../persona/index.js';export{SYSTEM_OVERRIDE_SETTINGS}from'../persona/index.js';export const TOOL_REGISTRY=[...ONCHAIN_TOOLS,...LOCAL_TOOLS,...FILE_TOOLS['slice'](0x0,0x1),...MESSENGER_TOOLS,...FILE_TOOLS['slice'](0x1),...QUERY_TOOLS,...BRIDGE_TOOLS,...CONFIG_TOOLS,...EVALUATION_TOOLS,...IDENTITY_TOOLS,...BUSINESS_TOOLS,...AGENT_TOOLS,...MONITOR_TOOLS,...INTERACTION_TOOLS];export const TOOL_REGISTRY_MAP=new Map(TOOL_REGISTRY['map'](a=>[a['name'],a]));export const SUB_TOOL_COUNT=TOOL_REGISTRY['length'];const SUB_TOOL_NAMES=TOOL_REGISTRY['map'](a=>a['name']),WowokToolRuntimeSchema=fromJsonSchema({'type':'object'}),WowokToolDisplaySchema=z['object']({'tool':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('The\x20sub-tool\x20to\x20execute.\x20Each\x20sub-tool\x20has\x20its\x20own\x20parameter\x20schema.'),'data':z['record'](z['string'](),z['unknown']())['optional']()['describe']('Sub-tool\x20specific\x20parameters.\x20If\x20validation\x20fails,\x20the\x20response\x20includes\x20the\x20correct\x20schema\x20for\x20this\x20sub-tool\x20—\x20read\x20it,\x20fix\x20your\x20params,\x20and\x20retry.'),'tool_name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'args':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.'),'name':z['enum'](SUB_TOOL_NAMES)['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27tool\x27.\x20Use\x20\x27tool\x27\x20instead.'),'params':z['record'](z['string'](),z['unknown']())['optional']()['describe']('DEPRECATED\x20alias\x20for\x20\x27data\x27.\x20Use\x20\x27data\x27\x20instead.')})['describe']('WoWok\x20unified\x20tool\x20input.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.\x20'+'Aliases:\x20tool_name/name→tool,\x20args/params→data.'),SUB_TOOL_LIST=TOOL_REGISTRY['map'](a=>'\x20\x20'+a['name']+'\x20—\x20'+a['config']['summary'])['join']('\x0a'),SKILLS_MISMATCH_POINTER='Structured\x20role-based\x20guidance\x20(WHEN\x20and\x20in\x20what\x20ORDER\x20to\x20use\x20WoWok\x20sub-tools)\x20is\x20available\x20via\x20the\x20WoWok\x20Skills:\x20install\x20with\x20\x22npm\x20install\x20-g\x20@wowok/skills\x22\x20(verify\x20with\x20\x22wowok-skills\x20doctor\x22),\x20or\x20fetch\x20orientation\x20now\x20via\x20wowok_buildin_info\x20info=\x22getting\x20started\x22.';function schemaMismatchHint(a){return'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+a+'\x20calls\x20—\x20you\x20don\x27t\x20need\x20to\x20query\x20it\x20again.\x0a'+SKILLS_MISMATCH_POINTER;}const WOWOK_TOOL_DESCRIPTION=['WoWok\x20MCP\x20unified\x20interface.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.','','\x20\x20▶\x20START\x20HERE\x20—\x20WoWok\x20Skills\x20(recommended):','\x20\x20\x20\x20Role-based\x20playbooks\x20(onboarding,\x20building,\x20buying,\x20fulfillment,\x20arbitration,\x20governance)','\x20\x20\x20\x20sit\x20ON\x20TOP\x20of\x20this\x20MCP\x20and\x20materially\x20reduce\x20failed\x20calls\x20by\x20telling\x20you\x20WHEN\x20and\x20in\x20what','\x20\x20\x20\x20ORDER\x20to\x20use\x20the\x2030+\x20sub-tools\x20below.\x20One\x20command\x20installs\x20them\x20into\x20every\x20detected\x20AI','\x20\x20\x20\x20client\x20AND\x20registers\x20this\x20MCP\x20server\x20(idempotent\x20postinstall):','\x20\x20\x20\x20\x20\x20npm\x20install\x20-g\x20@wowok/skills','\x20\x20\x20\x20Verify:\x20wowok-skills\x20doctor\x20\x20\x20Repair\x20an\x20old\x20install:\x20wowok-skills\x20init\x20--force','\x20\x20\x20\x20Machine-readable\x20orientation\x20+\x20best-effort\x20detection\x20of\x20whether\x20skills\x20are\x20installed\x20here:','\x20\x20\x20\x20\x20\x20wowok({\x20tool:\x20\x22wowok_buildin_info\x22,\x20data:\x20{\x20info:\x20\x22getting\x20started\x22\x20}\x20})','\x20\x20▶\x20COLD\x20START:\x20the\x20FIRST\x20call\x20after\x20server\x20boot\x20can\x20take\x20~20\x20seconds\x20(server\x20bootstraps\x20via\x20npx).','\x20\x20\x20\x20Wait\x20for\x20it\x20—\x20a\x20timed-out\x20first\x20response\x20is\x20startup\x20latency,\x20not\x20a\x20broken\x20server,\x20and\x20never\x20a','\x20\x20\x20\x20reason\x20to\x20retry\x20a\x20write\x20transaction.\x20Later\x20calls\x20are\x20fast.','','\x20\x20tool:\x20name\x20of\x20the\x20sub-tool\x20(string)','\x20\x20data:\x20sub-tool\x20parameters\x20(object)','','\x20\x20Aliases\x20accepted\x20(deprecated):\x20tool_name/name\x20for\x20tool,\x20args/params\x20for\x20data.','\x20\x20Inline\x20params\x20also\x20accepted:\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20<param1>:\x20...,\x20<param2>:\x20...\x20}','','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20data:\x20{\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20}\x20})','\x20\x20EXAMPLE:\x20wowok({\x20tool:\x20\x22wowok_buildin_info\x22,\x20data:\x20{\x20info:\x20\x22mainnet\x20bridge\x20tokens\x22\x20}\x20})','\x20\x20EXAMPLE\x20(inline\x20params):\x20wowok({\x20tool:\x20\x22schema_query\x22,\x20action:\x20\x22get\x22,\x20name:\x20\x22onchain_operations\x22\x20})','','Available\x20sub-tools\x20('+SUB_TOOL_COUNT+'):',SUB_TOOL_LIST,'','SCHEMA-GATED\x20EXECUTION:','\x20\x20If\x20your\x20parameters\x20don\x27t\x20match\x20the\x20sub-tool\x27s\x20schema,\x20the\x20response\x20will\x20include:','\x20\x20\x20\x20result.status\x20=\x20\x22schema_mismatch\x22','\x20\x20\x20\x20result.errors\x20=\x20specific\x20validation\x20errors\x20(field\x20path\x20+\x20expected\x20type)','\x20\x20\x20\x20result.hint\x20=\x20instructions\x20to\x20fix\x20and\x20retry','\x20\x20\x20\x20schema.input\x20=\x20the\x20correct\x20JSON\x20schema\x20for\x20the\x20sub-tool','\x20\x20\x20\x20schema.tool\x20=\x20which\x20sub-tool\x20this\x20schema\x20belongs\x20to','\x20\x20Read\x20the\x20schema,\x20fix\x20your\x20params,\x20and\x20retry.\x20This\x20is\x20normal\x20—\x20no\x20need\x20to\x20call\x20schema_query\x20separately.','','SCHEMA\x20CACHING:','\x20\x20Each\x20sub-tool\x20has\x20a\x20DIFFERENT\x20schema.\x20When\x20you\x20receive\x20a\x20schema\x20in\x20a\x20mismatch\x20response:','\x20\x20\x20\x201.\x20Read\x20the\x20schema\x20carefully','\x20\x20\x20\x202.\x20Fix\x20your\x20parameters','\x20\x20\x20\x203.\x20Retry\x20the\x20call','\x20\x20\x20\x204.\x20CACHE\x20the\x20schema\x20in\x20your\x20context\x20for\x20future\x20calls\x20to\x20the\x20SAME\x20sub-tool','\x20\x20You\x20should\x20only\x20need\x20to\x20see\x20each\x20sub-tool\x27s\x20schema\x20once\x20per\x20conversation.','','ON-CHAIN\x20BUSINESS\x20INTELLIGENCE\x20(query_toolkit,\x20READ-ONLY\x20—\x20no\x20local\x20project\x20entity):','\x20\x20query_toolkit\x20query_type=\x27service_panorama\x27\x20→\x20ONE-CALL\x20full\x20Service\x20context\x20(workflow\x20graph,\x20guards,\x20supply\x20chain,\x20orders)','\x20\x20query_toolkit\x20query_type=\x27machine_panorama\x27\x20→\x20Machine\x20context\x20(head\x20+\x20fields\x20+\x20workflow\x20graph\x20+\x20Progress\x20list)','\x20\x20query_toolkit\x20query_type=\x27object_panorama\x27\x20→\x20detail\x20panorama\x20for\x20Progress/Demand/Order/Arb/Repository','\x20\x20query_toolkit\x20query_type=\x27review_pack\x27\x20→\x20typed\x20ReviewPack\x20for\x20the\x20client\x27s\x20generic\x20ReviewPackRenderer','\x20\x20query_toolkit\x20query_type=\x27assemble_context\x27\x20→\x20semantic\x20context\x20assembly\x20from\x20on-chain\x20objects','\x20\x20query_toolkit\x20query_type=\x27reverse_map\x27\x20→\x20deterministic\x20L4→L1\x20business\x20report\x20(merchant\x20profile\x20/\x20user\x20risk\x20/\x20game\x20theory)','\x20\x20query_toolkit\x20query_type=\x27participation_radar\x27\x20→\x20in-flight\x20order\x20participation\x20analysis\x20for\x20ONE\x20account','\x20\x20query_toolkit\x20query_type=\x27relationship_profile\x27\x20→\x20business\x20relationship\x20graph\x20for\x20ONE\x20account\x20(power/interest/value-flow\x20edges,\x20K3/19)','\x20\x20industry_pack_operation\x20action=\x27recommend_industry\x27/\x27list_modes\x27\x20→\x20industry\x20mode\x20registry\x20(GLM6/92\x20§E)','\x20\x20strategy_review_operation\x20action=\x27collect\x27/\x27review\x27/\x27list_snapshots\x27\x20→\x20posture-weighted\x20scorecard\x20+\x20periodic\x20review\x20(current-layer\x20proposals\x20only)','\x20\x20goal_operation\x20action=\x27merchant_guide\x27\x20→\x2010-step\x20merchant\x20onboarding\x20wizard\x20(never\x20executes\x20on-chain\x20ops)','','═══════════════════════════════════════════════════════════════','BUILD/BUY\x20POLICY\x20(no\x20local\x20projects\x20—\x20chain\x20state\x20is\x20the\x20source\x20of\x20truth):','═══════════════════════════════════════════════════════════════','','CASE\x201\x20—\x20COMPLEX\x20REQUIREMENT\x20(user\x20wants\x20to\x20build/deploy\x20a\x20full\x20service):','\x20\x20→\x20Plan\x20with\x20goal_operation\x20action=\x27analyze_intent\x27\x20(C1:\x20intent\x20→\x20per-object\x20puzzle\x20snapshots\x20+\x20creation\x20order),','\x20\x20\x20\x20then\x20\x27aggregate_risks\x27\x20(C2:\x20cross-object\x20risk\x20calibration)\x20and\x20\x27trace_substeps\x27\x20(C3:\x20substep\x20DAG\x20coherence).','\x20\x20→\x20Alternatively\x20run\x20goal_operation\x20action=\x27merchant_guide\x27\x20for\x20a\x20guided\x2010-step\x20onboarding\x20plan.','\x20\x20→\x20Create\x20objects\x20via\x20onchain_operations,\x20then\x20publish\x20the\x20Service.','','CASE\x202\x20—\x20SINGLE\x20OBJECT\x20CREATION\x20(user\x20wants\x20one\x20specific\x20object):','\x20\x20→\x20Create\x20directly\x20via\x20onchain_operations.\x20No\x20project\x20bookkeeping\x20needed.','','CASE\x203\x20—\x20CONSUMER\x20FLOW\x20(user\x20wants\x20to\x20buy/evaluate\x20a\x20service):','\x20\x20→\x20query_toolkit\x20query_type=\x27service_panorama\x27\x20or\x20\x27review_pack\x27\x20for\x20the\x20detail\x20page,','\x20\x20\x20\x20\x27reverse_map\x27\x20for\x20the\x20deterministic\x20buy\x20report\x20(add\x20Machine/Allocation\x20for\x20refund-path\x20detection),','\x20\x20\x20\x20then\x20onchain_operations\x20service_buy.','','CASE\x204\x20—\x20SIMPLE\x20QUERY\x20(user\x20wants\x20to\x20check\x20object\x20info,\x20balance,\x20etc.):','\x20\x20→\x20Proceed\x20directly\x20with\x20the\x20query.','═══════════════════════════════════════════════════════════════']['join']('\x0a');function joinIssuePath(a){return a['length']>0x0?a['map'](b=>typeof b==='number'?'['+b+']':String(b))['join']('.')['replace']('.[','['):'(root)';}function unionVariantErrors(a){const b=a,d=b['errors']??b['unionErrors']??b['issues'];if(!Array['isArray'](d))return[];const e=[];for(const f of d){if(!f)continue;if(Array['isArray'](f))f['every'](g=>!!g&&typeof g==='object'&&'code'in g)&&e['push']({'issues':f});else typeof f==='object'&&Array['isArray'](f['issues'])&&e['push']({'issues':f['issues']});}return e;}function variantScore(a){let b=0x0;for(const c of a['issues']){b+=0xa;const d=c;if(c['code']==='invalid_type')d['received']==='undefined'?b+=0x14:b-=0x5;else{if(c['code']==='unrecognized_keys'){const e=Array['isArray'](d['keys'])?d['keys']['length']:0x1;b+=0xf+e*0x5;}else{if(c['code']==='invalid_union'){const f=unionVariantErrors(c);if(f['length']>0x0)b+=Math['min'](...f['map'](variantScore));}}}}return b;}function variantSummary(a,b=0x3){const c=[];for(const e of a['issues']){const f=e;if(e['code']==='unrecognized_keys'){const g=Array['isArray'](f['keys'])?f['keys']['join'](',\x20'):'?';c['push']('unknown\x20field(s):\x20'+g);}else e['code']==='invalid_type'&&f['received']==='undefined'?c['push']('missing:\x20'+joinIssuePath([...e['path']])):c['push'](e['code']+'\x20at\x20'+joinIssuePath([...e['path']]));if(c['length']>=b)break;}const d=a['issues']['length']>b?'\x20(+'+(a['issues']['length']-b)+'\x20more)':'';return c['length']>0x0?c['join'](';\x20')+d:'shape\x20mismatch';}function resolveIssuePath(a,b){if(a['length']===0x0)return joinIssuePath(b);const c=b['length']>=a['length']&&a['every']((d,e)=>b[e]===d);return joinIssuePath(c?b:[...a,...b]);}function absoluteIssuePath(a,b){const c=a['length']>0x0&&b['length']>=a['length']&&a['every']((d,e)=>b[e]===d);return c?b:[...a,...b];}function pushFlattened(a,b,c,d,e=[]){for(const f of a['issues']){if(f['code']==='invalid_union'){const g=f,h=[...f['path']],i=Array['isArray'](g['errors'])?g['errors']['length']:Array['isArray'](g['unionErrors'])?g['unionErrors']['length']:0x0,j=unionVariantErrors(f);if(j['length']===0x0){const o=resolveIssuePath(e,h),p=c!==undefined?extractValueAtPath(c,absoluteIssuePath(e,h)):undefined,q=p!==undefined;let r;if(i>0x0)r=(q?'value\x20does\x20not\x20match\x20any\x20of\x20the\x20union\x27s':'missing\x20required\x20union\x20field\x20—\x20no\x20value\x20provided;\x20union\x20accepts')+'\x20'+i+'\x20shape(s);\x20see\x20the\x20schema\x20preview\x20for\x20the\x20accepted\x20fields';else{if(q&&p&&typeof p==='object'&&!Array['isArray'](p)){const s=p,t=['operation_type','query_type','type','action','op']['find'](u=>typeof s[u]==='string');r=t?'discriminator\x20\x27'+t+'\x27=\x22'+String(s[t])+'\x22\x20does\x20not\x20match\x20any\x20variant;\x20check\x20the\x20\x22Valid\x20\x27'+t+'\x27\x20values\x22\x20line\x20in\x20the\x20schema\x20preview\x20below':'value\x20does\x20not\x20match\x20any\x20union\x20variant\x20(no\x20per-variant\x20details\x20available);\x20see\x20the\x20schema\x20preview';}else r='value\x20does\x20not\x20match\x20any\x20union\x20variant\x20(no\x20per-variant\x20details\x20available);\x20see\x20the\x20schema\x20preview';}b['push']({'kind':'header','path':o,'code':'invalid_union','message':r});d&&(b[b['length']-0x1]={'kind':'header','path':o+'\x20['+d+']','code':'invalid_union','message':r});continue;}const k=j['map']((u,v)=>({'idx':v,'err':u,'score':variantScore(u)}))['sort']((u,v)=>u['score']-v['score']),l=k[0x0],m=k['slice'](0x1)['map'](u=>'variant\x20'+(u['idx']+0x1)+':\x20'+variantSummary(u['err']))['join']('\x20|\x20');b['push']({'kind':'header','path':resolveIssuePath(e,h),'code':'invalid_union','message':'no\x20union\x20variant\x20matched\x20('+j['length']+'\x20checked);\x20closest\x20=\x20variant\x20'+(l['idx']+0x1)+(m?'\x20—\x20others:\x20'+m:'')});const n=h['length']>0x0&&h['every']((u,v)=>e[v]===u)?h:[...e,...h];pushFlattened(l['err'],b,c,'variant\x20'+(l['idx']+0x1),n);}else b['push']({'kind':'issue','issue':f,'variantTag':d,'pathPrefix':e});}}function flattenZodIssues(a,b){const c=[];return pushFlattened(a,c,b),c;}const RECEIVED_VALUE_MAX=0x1f4;function truncateEcho(a){return a['length']>RECEIVED_VALUE_MAX?a['slice'](0x0,RECEIVED_VALUE_MAX)+'...(truncated,\x20'+(a['length']-RECEIVED_VALUE_MAX)+'\x20more\x20chars)':a;}function formatZodErrors(a,b){return flattenZodIssues(a,b)['map'](c=>{if(c['kind']==='header')return c['path']+'\x20['+c['code']+']:\x20'+c['message'];const d=c['issue'],e=resolveIssuePath(c['pathPrefix']??[],d['path']),f=d['code'],g=d['message'];let h='';const i=d;if(f==='invalid_type'){const l=i['expected'],m=i['received'];typeof l==='string'&&typeof m==='string'&&(h='\x20(expected:\x20'+l+';\x20received:\x20'+m+')');}else{if(f==='invalid_value'){const n=i['expected'];if(n!==undefined){const o=typeof n==='string'?n:JSON['stringify'](n);h='\x20(expected:\x20'+o['slice'](0x0,0x3c)+')';}}else{if(f==='too_big'||f==='too_small'){const p=i['maximum']??i['minimum'],q=i['origin'];p!==undefined&&q!==undefined&&(h='\x20('+q+':\x20'+p+')');}}}const j=extractValueAtPath(b,absoluteIssuePath(c['pathPrefix']??[],d['path']));if(j!==undefined){const r=typeof j==='string'?'\x22'+truncateEcho(j)+'\x22':typeof j==='object'?truncateEcho(JSON['stringify'](j)):String(j);!h['includes']('received:')&&(h+='\x20(received\x20value:\x20'+r+')');}const k=c['variantTag']?'\x20['+c['variantTag']+']':'';return''+e+k+'\x20['+f+']:\x20'+g+h;});}function generateSuggestion(a,b,c){const d=b;switch(a){case'invalid_type':{const e=d['expected'];if(e==='number'&&typeof c==='string')return'Convert\x20to\x20number:\x20'+Number(c);if(e==='string')return'Wrap\x20in\x20quotes\x20or\x20call\x20String(...)';if(e==='array')return'Wrap\x20in\x20array:\x20['+JSON['stringify'](c)+']';if(e==='object')return'Provide\x20an\x20object,\x20not\x20a\x20primitive';return'Convert\x20value\x20to\x20'+(e??'the\x20expected\x20type');}case'invalid_enum_value':{const f=d['options'],g=Array['isArray'](f)?f['map'](h=>JSON['stringify'](h))['join']('\x20|\x20'):String(f);return'Use\x20one\x20of:\x20'+g;}case'invalid_literal':{const h=d['expected'];return'Use\x20the\x20exact\x20value:\x20'+JSON['stringify'](h);}case'too_small':{const i=d['minimum'],j=d['type'];if(j==='array')return'Add\x20at\x20least\x20'+i+'\x20element(s)\x20to\x20the\x20array';if(j==='string')return'String\x20must\x20be\x20at\x20least\x20'+i+'\x20character(s)\x20long';if(j==='number')return'Use\x20a\x20value\x20>=\x20'+i;return'Value\x20must\x20be\x20>=\x20'+i;}case'too_big':{const k=d['maximum'],l=d['type'];if(l==='array')return'Reduce\x20array\x20to\x20at\x20most\x20'+k+'\x20element(s)';if(l==='string')return'Shorten\x20string\x20to\x20at\x20most\x20'+k+'\x20character(s)';if(l==='number')return'Use\x20a\x20value\x20<=\x20'+k;return'Value\x20must\x20be\x20<=\x20'+k;}case'unrecognized_keys':{const m=d['keys'];return'Remove\x20unknown\x20field(s):\x20'+(m??[])['join'](',\x20')+'.\x20Check\x20the\x20schema\x20for\x20valid\x20field\x20names.';}case'invalid_union':{return'Value\x20does\x20not\x20match\x20any\x20of\x20the\x20union\x20variants\x20—\x20see\x20the\x20\x22closest\x20variant\x22\x20line\x20above\x20for\x20the\x20concrete\x20field\x20error(s).';}case'invalid_string':{const n=d['validation'];if(n==='url')return'Provide\x20a\x20valid\x20URL\x20string';if(n==='email')return'Provide\x20a\x20valid\x20email\x20string';if(n==='uuid')return'Provide\x20a\x20valid\x20UUID\x20string';if(n==='regex')return'String\x20does\x20not\x20match\x20the\x20required\x20pattern';return'Provide\x20a\x20valid\x20string\x20matching\x20the\x20validation:\x20'+(n??'unknown');}case'invalid_date':{return'Provide\x20a\x20valid\x20Date\x20object\x20or\x20ISO\x20date\x20string';}case'not_finite':{return'Use\x20a\x20finite\x20number\x20(not\x20Infinity\x20or\x20NaN)';}case'invalid_arguments':{return'Arguments\x20do\x20not\x20match\x20the\x20expected\x20schema';}case'invalid_return_type':{return'Return\x20type\x20does\x20not\x20match\x20the\x20expected\x20schema';}case'custom':{return'Custom\x20validation\x20failed\x20—\x20see\x20the\x20field\x27s\x20description\x20in\x20the\x20schema';}default:{return'Fix\x20the\x20value\x20at\x20\x27'+b['path']['join']('.')+'\x27\x20based\x20on\x20the\x20schema';}}}function formatZodErrorsStructured(a,b){return flattenZodIssues(a,b)['flatMap'](c=>{if(c['kind']==='header'){const l=c['message']['match'](/closest = variant (\d+)/),m=c['message']['includes']('missing\x20required\x20union\x20field'),n=l?'\x20Fix\x20the\x20field\x20error(s)\x20listed\x20for\x20variant\x20'+l[0x1]+'.':'',o=m?'Provide\x20this\x20required\x20field\x20with\x20one\x20of\x20the\x20accepted\x20shapes,\x20and\x20check\x20field-name\x20spelling\x20against\x20the\x20schema\x20preview.':'No\x20union\x20variant\x20matched;\x20the\x20closest\x20variant\x27s\x20concrete\x20errors\x20follow.'+n;return[{'path':c['path'],'code':c['code'],'message':c['message'],'suggestion':o}];}const d=c['issue'],e=resolveIssuePath(c['pathPrefix']??[],d['path']),f=d['code'],g=c['variantTag']?d['message']+'\x20(closest\x20union\x20variant:\x20'+c['variantTag']+')':d['message'],h=d;let i;if(f==='invalid_type'){const p=h['expected'],q=h['received'];typeof p==='string'&&typeof q==='string'&&(i=p);}else{if(f==='invalid_value'){const r=h['expected'],s=h['options'];if(Array['isArray'](s))i=s['map'](t=>JSON['stringify'](t))['join']('\x20|\x20');else r!==undefined&&(i=typeof r==='string'?r:JSON['stringify'](r));}else{if(f==='too_big'||f==='too_small'){const t=h['maximum']??h['minimum'];t!==undefined&&(i=String(t));}}}const j=extractValueAtPath(b,absoluteIssuePath(c['pathPrefix']??[],d['path'])),k=generateSuggestion(f,d,j);return[{'path':e,'code':f,'message':g,'expected':i,'received_value':j,'suggestion':k}];});}function extractValueAtPath(a,b){if(a===undefined||a===null||b['length']===0x0)return undefined;let c=a;for(const d of b){if(c===undefined||c===null)return undefined;if(typeof d==='number'){if(!Array['isArray'](c))return undefined;c=c[d];}else{if(typeof c!=='object')return undefined;c=c[d];}}return c;}function checkUnknownFields(a,b){let c=a;while(!![]){const h=c['_def'];if(!h)break;const i=h['typeName']==='ZodEffects'?h['schema']:h['out']??h['innerType'];if(!i||i===c)break;c=i;}const d=c['_def'],e=typeof d?.['shape']==='function'?d['shape']():d?.['shape'];if(!e||typeof b!=='object'||b===null)return[];const f=Object['keys'](e),g=Object['keys'](b);return g['filter'](j=>!f['includes'](j));}function extractRelevantSchema(a,b,c){if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const d=c['operation_type'];if(typeof d==='string'){const e='onchain_operations_'+d,f=loadPreGeneratedSchema(e);if(f)return f;}}return a;}function isSchemaValidationError(a){return a['startsWith']('Unknown\x20')&&a['includes']('field')||a['includes']('expected')&&a['includes']('received')||a['includes']('Invalid\x20input')||a['includes']('Required');}function variantConstValue(a,b){const c=a['properties'];if(!c||typeof c!=='object')return undefined;const d=c[b];if(!d)return undefined;if(typeof d['const']==='string')return d['const'];if(Array['isArray'](d['enum'])&&d['enum']['length']===0x1&&typeof d['enum'][0x0]==='string')return d['enum'][0x0];return undefined;}function pickUnionVariant(a,b){const c=['query_type','operation_type','type'],d=b&&typeof b==='object'&&!Array['isArray'](b)?Object['keys'](b):[],e=[...c,...d['filter'](f=>!c['includes'](f))];for(const f of e){const g=b?.[f];if(typeof g!=='string')continue;for(let h=0x0;h<a['length'];h++){const j=a[h];if(j&&typeof j==='object'&&variantConstValue(j,f)===g)return{'variant':j,'index':h,'discriminator':f,'matched':!![]};}}for(let k=0x0;k<a['length'];k++){const l=a[k];if(l&&typeof l==='object'){const m=l;if(m['properties']&&typeof m['properties']==='object')return{'variant':m,'index':k,'matched':![]};}}return{'index':-0x1,'matched':![]};}function unionDiscriminatorValues(a,b){const c=[];for(const d of a){if(d&&typeof d==='object'){const e=variantConstValue(d,b);if(e!==undefined&&!c['includes'](e))c['push'](e);}}return c;}function inferDiscriminatorKey(a){if(!Array['isArray'](a)||a['length']===0x0)return undefined;const b=a['filter'](d=>!!d&&typeof d==='object'&&!!d['properties']);if(b['length']!==a['length']||b['length']===0x0)return undefined;const c=b[0x0]['properties'];for(const d of Object['keys'](c)){let e=!![];for(const f of b){if(variantConstValue(f,d)===undefined){e=![];break;}}if(e)return d;}return undefined;}function buildSchemaPreview(a,b,c){try{const d=['Schema\x20preview\x20for\x20'+b+':'];let e,g=[],h='',i,j=-0x1,k,l=![];if(a['properties']&&typeof a['properties']==='object')e=a['properties'],g=Array['isArray'](a['required'])?a['required']:[],h=typeof a['description']==='string'?a['description']:'';else{if(Array['isArray'](a['oneOf'])||Array['isArray'](a['anyOf'])){i=a['oneOf']??a['anyOf'];const p=pickUnionVariant(i,c);j=p['index'],k=p['discriminator'],l=p['matched'];p['variant']&&(e=p['variant']['properties'],g=Array['isArray'](p['variant']['required'])?p['variant']['required']:[],h=typeof p['variant']['description']==='string'?p['variant']['description']:'');if(!e)return d['push']('\x20\x20(discriminated\x20union\x20with\x20'+i['length']+'\x20variants\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');}}h&&h['length']>0x0&&h['length']<0xc8&&d['push']('\x20\x20'+h);if(!e)return d['push']('\x20\x20(no\x20properties\x20available\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)'),d['join']('\x0a');const m=new Set(g),n=g['length']>0x0?g['join'](',\x20'):'(none)',o=Object['keys'](e)['filter'](q=>!m['has'](q))['join'](',\x20');d['push']('Required:\x20'+n);o&&d['push']('Optional:\x20'+o);d['push']('Fields:');for(const [q,r]of Object['entries'](e)){if(r&&typeof r==='object'){const s=r,t=describeSchemaType(s),u=m['has'](q)?'required':'optional';let v=typeof s['description']==='string'?s['description']:'';if(v['length']>0x78)v=v['slice'](0x0,0x75)+'...';let w='';if(s['properties']&&typeof s['properties']==='object'){const x=Object['keys'](s['properties']);x['length']>0x0&&(w='\x20{\x20'+x['slice'](0x0,0x8)['join'](',\x20')+(x['length']>0x8?',\x20...':'')+'\x20}');}if(s['items']&&typeof s['items']==='object'){const y=s['items'],A=describeSchemaType(y);w='\x20(array\x20of\x20'+A+')';}Array['isArray'](s['enum'])&&(w='\x20(enum:\x20'+s['enum']['slice'](0x0,0x6)['map'](B=>JSON['stringify'](B))['join'](',\x20')+(s['enum']['length']>0x6?',\x20...':'')+')'),d['push']('\x20\x20-\x20'+q+'\x20('+t+',\x20'+u+')'+w+(v?'\x20—\x20'+v:''));}}if(i&&i['length']>0x0){d['push']('');if(l&&k){const B=c&&typeof c==='object'?c:{},C=String(B[k]);d['push']('Matched\x20variant:\x20'+k+'=\x22'+C+'\x22\x20(variant\x20'+(j+0x1)+'\x20of\x20'+i['length']+').');}else{d['push']('Discriminated\x20union\x20with\x20'+i['length']+'\x20variants;\x20showing\x20variant\x20'+(j+0x1)+'\x20(no\x20matching\x20discriminator\x20value\x20in\x20input).');const D=k??inferDiscriminatorKey(i)??(b==='query_toolkit'?'query_type':'operation_type'),E=unionDiscriminatorValues(i,D);E['length']>0x0&&d['push']('Valid\x20\x27'+D+'\x27\x20values:\x20'+E['join'](',\x20'));}}if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const F=c['operation_type'];typeof F==='string'&&(d['push'](''),d['push']('operation_type-specific\x20schema:\x20onchain_operations_'+F),d['push']('(Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations_'+F+'\x27\x20for\x20the\x20full\x20sub-schema.)'));}return d['join']('\x0a');}catch{return'Schema\x20preview\x20for\x20'+b+':\x20(unable\x20to\x20build\x20preview\x20—\x20see\x20structuredContent\x20for\x20full\x20schema)';}}function describeSchemaType(a){if(typeof a['type']==='string')return a['type'];if(Array['isArray'](a['type']))return a['type']['join']('|');if(a['$ref'])return'$ref';if(Array['isArray'](a['oneOf']))return'oneOf';if(Array['isArray'](a['anyOf']))return'anyOf';if(Array['isArray'](a['allOf']))return'allOf';if(a['enum'])return'enum';if(a['const'])return'const('+JSON['stringify'](a['const'])+')';return'object';}export async function dispatchToolCall(a,b,c,d){if(a==='wowok')return handleWowok(b,c,d);const e=TOOL_REGISTRY_MAP['get'](a);if(!e)throw new Error('Unknown\x20tool:\x20'+a+'.\x20Available:\x20'+TOOL_REGISTRY['map'](i=>i['name'])['join'](',\x20'));if(e['applyRules']&&!c?.['skipRules']){const i=await e['applyRules'](b);if(i)return i;}const f=dispatchWithHarness(e['handler'],a),g=e['timeoutMs']??0xea60,h=wrapHandlerWithErrorShape(f,g,a,e['errorShapeBuilder']);return h(b,d);}const TOOL_FIELD_ALIASES=['tool','tool_name','name'],DATA_FIELD_ALIASES=['data','args','params','parameters'],RESERVED_FIELD_NAMES=new Set([...TOOL_FIELD_ALIASES,...DATA_FIELD_ALIASES]);function normalizeInput(a){const b=[];if(!a||typeof a!=='object'||Array['isArray'](a))return{'tool':undefined,'data':{},'normalizationNotes':['input\x20is\x20not\x20an\x20object']};const c=a;let d;for(const f of TOOL_FIELD_ALIASES){if(typeof c[f]==='string'&&c[f]){d=c[f];f!=='tool'&&b['push']('normalized\x20\x27'+f+'\x27\x20→\x20\x27tool\x27');break;}}let e;for(const g of DATA_FIELD_ALIASES){const h=c[g];if(h!==undefined&&h!==null&&typeof h==='object'&&!Array['isArray'](h)){e=h;g!=='data'&&b['push']('normalized\x20\x27'+g+'\x27\x20→\x20\x27data\x27');break;}}if(!e){const i={};let j=![];for(const k of Object['keys'](c)){!RESERVED_FIELD_NAMES['has'](k)&&(i[k]=c[k],j=!![]);}j?(e=i,b['push']('extracted\x20inline\x20params\x20→\x20\x27data\x27\x20(no\x20data\x20wrapper\x20was\x20provided)')):e={};}return{'tool':d,'data':e,'normalizationNotes':b};}const QUERY_ACCOUNT_FIELD_ALIASES={'account_balance':{'canonical':'name_or_address','aliases':['account','address']},'onchain_personal_profile':{'canonical':'account','aliases':['name_or_address','address']},'address_profile':{'canonical':'address','aliases':['name_or_address','account']}};function normalizeQueryToolkitAliases(a,b){if(typeof a['query_type']!=='string')return;const c=QUERY_ACCOUNT_FIELD_ALIASES[a['query_type']];if(!c)return;if(a[c['canonical']]!==undefined)return;for(const d of c['aliases']){if(a[d]!==undefined){a[c['canonical']]=a[d],delete a[d],b['push']('query_toolkit\x20'+a['query_type']+':\x20normalized\x20\x27'+d+'\x27\x20→\x20\x27'+c['canonical']+'\x27');return;}}}async function handleWowok(a,b,c){const {tool:d,data:e,normalizationNotes:g}=normalizeInput(a);(d==='query_toolkit'||d==='onchain_table_data')&&normalizeQueryToolkitAliases(e,g);if(a&&typeof a==='object'&&!Array['isArray'](a)){const k=a;if(k['submission']!==undefined){const l=e['submission'];if(l!==undefined)return{'content':[{'type':'text','text':'Schema\x20mismatch\x20for\x20'+d+'.\x201\x20error(s).\x20\x27submission\x27\x20was\x20provided\x20in\x20BOTH\x20the\x20top\x20level\x20and\x20inside\x20\x27data\x27\x20—\x20provide\x20it\x20in\x20only\x20ONE\x20place\x20(top\x20level\x20OR\x20data),\x20not\x20both.'}],'structuredContent':{'result':{'status':'schema_mismatch','errors':['\x27submission\x27\x20provided\x20twice:\x20top\x20level\x20AND\x20inside\x20data.\x20Provide\x20it\x20in\x20only\x20ONE\x20place.'],'structured_errors':[{'path':'submission','code':'duplicate_field','message':'\x27submission\x27\x20provided\x20both\x20at\x20the\x20top\x20level\x20and\x20inside\x20data.','suggestion':'Keep\x20the\x20submission\x20in\x20exactly\x20one\x20place:\x20either\x20wowok({tool,\x20data,\x20submission})\x20or\x20wowok({tool,\x20data:\x20{operation_type,\x20data:\x20{...},\x20env,\x20submission}}).'}],'hint':'Move\x20\x27submission\x27\x20to\x20a\x20single\x20location\x20and\x20retry.'},'schema':null}};e['submission']=k['submission'],g['push']('merged\x20top-level\x20\x27submission\x27\x20into\x20data');}}if(!d){const m=a&&typeof a==='object'&&!Array['isArray'](a)?Object['keys'](a)['join'](',\x20')||'(none)':'(non-object\x20input:\x20'+typeof a+')',n=['Missing\x20\x27tool\x27\x20field.\x20Received\x20keys:\x20'+m,'Expected\x20one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')];return{'content':[{'type':'text','text':'Missing\x20\x27tool\x27\x20field.\x20Call\x20format:\x20wowok({\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}).\x20Received\x20keys:\x20'+m+'.\x20Available\x20sub-tools:\x20'+SUB_TOOL_NAMES['join'](',\x20')}],'structuredContent':{'result':{'status':'schema_mismatch','errors':n,'hint':'Provide\x20\x27tool\x27\x20(one\x20of:\x20'+SUB_TOOL_NAMES['join'](',\x20')+')\x20and\x20\x27data\x27\x20(sub-tool\x20parameters).\x20Aliases\x20accepted:\x20tool_name/name→tool,\x20args/params→data.','received':a},'schema':{'input':zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'),'tool':'wowok'}}};}const h=TOOL_REGISTRY_MAP['get'](d);if(!h){const o=TOOL_REGISTRY['map'](p=>p['name'])['filter'](p=>p['includes'](d)||d['includes'](p))['slice'](0x0,0x5);return{'content':[{'type':'text','text':'Unknown\x20sub-tool:\x20\x27'+d+'\x27.\x20Available:\x20'+TOOL_REGISTRY['map'](p=>p['name'])['join'](',\x20')+(o['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+o['join'](',\x20')+'?':'')}],'structuredContent':{'result':{'status':'error','errors':['Unknown\x20sub-tool:\x20'+d],'hint':'Available\x20sub-tools:\x20'+TOOL_REGISTRY['map'](p=>p['name'])['join'](',\x20')+(o['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+o['join'](',\x20')+'?':''),'suggestions':o},'schema':null}};}g['length']>0x0&&console['warn']('[wowok]\x20input\x20normalization\x20for\x20\x27'+d+'\x27:\x20'+g['join'](';\x20'));const i=h['config']['inputSchema']['safeParse'](e),j=checkUnknownFields(h['config']['inputSchema'],e);if(!i['success']||j['length']>0x0){const p=[];!i['success']&&p['push'](...formatZodErrors(i['error'],e));j['length']>0x0&&p['push']('Unknown\x20field(s):\x20'+j['join'](',\x20'));const q=[];!i['success']&&q['push'](...formatZodErrorsStructured(i['error'],e));if(j['length']>0x0)for(const x of j){q['push']({'path':x,'code':'unrecognized_keys','message':'Unknown\x20field\x20\x27'+x+'\x27\x20is\x20not\x20allowed','suggestion':'Remove\x20field\x20\x27'+x+'\x27\x20or\x20check\x20the\x20schema\x20for\x20valid\x20field\x20names'});}const r=loadPreGeneratedSchema(d)??zodToJsonSchemaSafe(h['config']['inputSchema'],d),s=extractRelevantSchema(r,d,e),t=q[0x0]?.['suggestion']?'\x20FIRST\x20ERROR\x20SUGGESTION:\x20'+q[0x0]['suggestion']:'',u=p['slice'](0x0,0x5)['map']((y,A)=>'\x20\x20'+(A+0x1)+'.\x20'+y)['join']('\x0a'),v=buildSchemaPreview(s,d,e),w=['Schema\x20mismatch\x20for\x20'+d+'.\x20'+p['length']+'\x20error(s).'+t,u,'',v,'','Fix\x20the\x20parameters\x20based\x20on\x20the\x20errors\x20above\x20and\x20the\x20schema\x20summary,\x20then\x20retry.','Full\x20JSON\x20Schema\x20is\x20in\x20the\x20structuredContent.schema.input\x20field\x20(cache\x20it\x20for\x20future\x20'+d+'\x20calls).','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).',SKILLS_MISMATCH_POINTER]['filter'](Boolean)['join']('\x0a');return{'content':[{'type':'text','text':w}],'structuredContent':{'result':{'status':'schema_mismatch','errors':p,'structured_errors':q,'hint':schemaMismatchHint(d)},'schema':{'input':s,'tool':d}}};}try{const y=await dispatchToolCall(d,e,b,c);if(y['resultType']==='input_required')return y;const A=y['structuredContent'],B=A?.['result'],C=B?.['status']==='error'||B?.['operation']==='error'||B?.['type']==='error';if(C){const D={'status':'error','data':y['structuredContent'],'errors':[y['content'][0x0]?.['text']??'Sub-tool\x20returned\x20an\x20error']};if(typeof B?.['error_code']==='string')D['error_code']=B['error_code'];if(typeof B?.['retryable']==='boolean')D['retryable']=B['retryable'];if(typeof B?.['recovery_hint']==='string')D['recovery_hint']=B['recovery_hint'];return{'content':y['content'],'structuredContent':{'result':D,'schema':null}};}return{'content':y['content'],'structuredContent':{'result':{'status':'success','data':y['structuredContent']},'schema':null}};}catch(E){const F=E instanceof Error?E['message']:String(E);if(isSchemaValidationError(F)){const I=loadPreGeneratedSchema(d)??zodToJsonSchemaSafe(h['config']['inputSchema'],d),J=extractRelevantSchema(I,d,e),K=buildSchemaPreview(J,d,e),L=[{'path':'(runtime)','code':'schema_validation_error','message':F,'suggestion':'Check\x20the\x20error\x20message\x20and\x20the\x20schema\x20below\x20for\x20the\x20correct\x20field\x20format'}],M=['Schema\x20mismatch\x20for\x20'+d+':\x20'+F,'',K,'','Fix\x20the\x20parameters\x20and\x20retry.\x20Full\x20JSON\x20Schema\x20is\x20in\x20structuredContent.schema.input.','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).',SKILLS_MISMATCH_POINTER]['join']('\x0a');return{'content':[{'type':'text','text':M}],'structuredContent':{'result':{'status':'schema_mismatch','errors':[F],'structured_errors':L,'hint':schemaMismatchHint(d)},'schema':{'input':J,'tool':d}}};}const G=classifyError(F),H={'status':'error','errors':[F]};if(G['error_code']!==undefined)H['error_code']=G['error_code'];if(G['retryable']!==undefined)H['retryable']=G['retryable'];if(G['recovery_hint']!==undefined)H['recovery_hint']=G['recovery_hint'];return{'content':[{'type':'text','text':'Error:\x20'+F}],'structuredContent':{'result':H,'schema':null}};}}function zodToJsonSchemaSafe(a,b){try{const c=z['toJSONSchema'](a,{'unrepresentable':'any','target':'draft-07'});if(c&&typeof c==='object'&&!Array['isArray'](c)){const {$schema:d,...e}=c;return e;}return{'type':'object'};}catch{return{'type':'object','additionalProperties':!![]};}}function resolveSchemaRefs(a){const b=new Set(['definitions','$schema','$id']);function c(e){if(!e['startsWith']('#/'))return null;const f=e['slice'](0x2)['split']('/');let g=a;for(const h of f){if(g==null||typeof g!=='object')return null;g=g[h];}return g;}function d(e,f){if(!e||typeof e!=='object')return e;if(Array['isArray'](e))return e['map'](i=>d(i,f));const g=e;if(typeof g['$ref']==='string'){const i=g['$ref'];if(f['has'](i))return{'type':'object','additionalProperties':!![]};const j=c(i);if(j&&typeof j==='object'&&!Array['isArray'](j)){const l=new Set(f);l['add'](i);const m=d(j,l),n={};for(const [o,p]of Object['entries'](g)){if(o!=='$ref'&&!b['has'](o))n[o]=p;}return{...m,...n};}return{'type':'object','additionalProperties':!![]};}const h={};for(const [q,r]of Object['entries'](g)){if(b['has'](q))continue;h[q]=d(r,f);}return h;}return d(a,new Set());}function loadPreGeneratedSchema(a){const b=preGeneratedSchemaCache['get'](a);if(b)return b;for(const c of SCHEMA_DIR_CANDIDATES){try{const d=join(c,a+'.schema.json'),e=readFileSync(d,'utf-8'),f=JSON['parse'](e),g=resolveSchemaRefs(f);return preGeneratedSchemaCache['set'](a,g),g;}catch{}}return null;}export function listTools(){return[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':resolveSchemaRefs(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok'))}];}export function registerAllTools(a){const b=0x2bf20,c=async(e,f)=>handleWowok(e,undefined,f),d=wrapHandlerWithErrorShape(c,b,'wowok',undefined);a['registerTool']('wowok',{'title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':WowokToolRuntimeSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}},async(e,f)=>d(e,f?.['mcpReq']?.['inputResponses']?{'inputResponses':f['mcpReq']['inputResponses']}:undefined)),overrideToolsListHandler(a);}function overrideToolsListHandler(a){a['server']['setRequestHandler']('tools/list',()=>({'tools':[{'name':'wowok','title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':ensureObjectType(zodToJsonSchemaSafe(WowokToolDisplaySchema,'wowok')),'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}}]}));}function ensureObjectType(a){if(a['type']==='object')return a;return{...a,'type':'object'};}
@@ -0,0 +1,2 @@
1
+ import type { ToolEntry } from "../types.js";
2
+ export declare const EVALUATION_TOOLS: ToolEntry[];
@@ -0,0 +1 @@
1
+ import{handleEvaluationOperation}from'../handlers/evaluation.js';import{createToolMeta,EvaluationOperationInputSchema,EvaluationOperationOutputSchema}from'../../schema/index.js';export const EVALUATION_TOOLS=[{'name':'evaluation_operation','handler':handleEvaluationOperation,'config':{'title':'🧠\x20Evaluation\x20-\x20Pluggable\x20Business\x20Intelligence','summary':'Business\x20evaluations:\x20arb/node\x20games,\x20path\x20reasoning,\x20match,\x20arbitration\x20score.','description':'Run\x20pluggable\x20business\x20evaluations\x20(data\x20sources\x20+\x20rules\x20+\x20user\x20injection).\x20'+'Each\x20evaluation\x20returns\x20ranked\x20best-move\x20recommendations\x20with\x20payoff\x20notes\x20and\x20risks.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20arb_game\x20—\x20advise\x20the\x20best\x20move\x20at\x20an\x20Arb\x20state\x20(7-state\x20lifecycle)\x20for\x20a\x20perspective\x20(customer/merchant/arbitrator).\x0a'+'\x20\x20•\x20node_game\x20—\x20advise\x20the\x20best\x20move\x20at\x20a\x20Progress\x20node\x20for\x20a\x20perspective\x20(merchant/customer/prospect/supplier/collaborator/arbitrator).\x0a'+'\x20\x20•\x20capability_gap\x20—\x20compare\x20a\x20demand\x20capability\x20vector\x20against\x20a\x20service\x20capability\x20vector;\x20returns\x20per-capability\x20gaps.\x0a'+'\x20\x20•\x20compose_service\x20—\x20check\x20whether\x20a\x20SET\x20of\x20services\x20can\x20jointly\x20satisfy\x20a\x20demand\x20(supply-chain\x20composition).\x0a'+'\x20\x20•\x20demand_match\x20—\x20rank\x20candidate\x20services\x20against\x20a\x20demand\x20capability\x20vector\x20(+\x20user\x20injection\x20/\x20persona).\x0a'+'\x20\x20•\x20service_match\x20—\x20supplier-side\x20mirror:\x20rank\x20candidate\x20demands\x20against\x20a\x20service\x20capability\x20vector.\x0a'+'\x20\x20•\x20path_reasoning\x20—\x20path-level\x20game:\x20enumerate\x20full\x20routes\x20from\x20the\x20current\x20node,\x20rank\x20by\x20value/acceptance\x20reachability\x20(a→b\x20vs\x20a→c\x20competition).\x0a'+'\x20\x20•\x20evidence_review\x20—\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass\x20/\x20auto_reject\x20/\x20manual_review)\x20for\x20arbitration\x20evidence\x20(signature\x20photos,\x20voice\x20recordings,\x20delivery\x20proofs,\x20weather\x20data).\x20Single-item\x20mode\x20(kind\x20+\x20hash_committed)\x20or\x20LIST\x20mode\x20(`items`):\x20list\x20mode\x20returns\x20the\x20structured\x20usable/manual/rejected\x20list\x20plus\x20`proof_candidates`\x20—\x20auto-passed\x20items\x20with\x20their\x20on-chain\x20Proof\x20refs,\x20ready\x20for\x20the\x20dispute\x20initiator\x20to\x20reference\x20in\x20the\x20dispute\x20description\x20(the\x20user\x20confirms\x20the\x20final\x20selection;\x20never\x20auto-attached).\x0a'+'\x20\x20•\x20discover_services\x20—\x20ACTIVE\x20supply\x20discovery:\x20enumerate\x20every\x20published\x20(shared)\x20Service\x20on-chain,\x20gate+rank\x20by\x20location\x20fit\x20under\x20a\x20sensitivity\x20(strict=100%\x20city\x20match\x20/\x20near=neighboring\x20cities\x20/\x20logistics=soft\x20region\x20signal;\x20inferred\x20from\x20description\x20when\x20omitted),\x20and\x20get\x20consent-gated\x20scope-expansion\x20advice.\x20Enumerated\x20via\x20JSON-RPC\x20ServiceEvent.\x20Passive\x20side:\x20post\x20a\x20Demand\x20and\x20Services\x20present\x20via\x20DemandPresenter.\x0a\x0a'+'\x20\x20•\x20discover_demands\x20—\x20enumerate\x20on-chain\x20Demands\x20(supplier-side\x20discovery;\x20optional\x20location\x20substring\x20filter).\x20Enumerated\x20via\x20JSON-RPC\x20DemandChangedEvent.\x0a\x0a'+'\x20\x20•\x20demand_present\x20—\x20supply-side\x20orchestration:\x20discover\x20Demands\x20+\x20match\x20THIS\x20service\x20to\x20them\x20(service_match)\x20+\x20attach\x20the\x20present\x20path\x20per\x20demand\x20(demand.present_service\x20vs\x20demand.present_service_with_passport\x20when\x20the\x20demand\x20has\x20presentation\x20guards).\x20Read-only\x20—\x20the\x20actual\x20present\x20is\x20a\x20WRITE\x20via\x20onchain_operations.\x20Enumerated\x20via\x20JSON-RPC\x20DemandChangedEvent.\x0a\x0a'+'\x20\x20•\x20market_metrics\x20—\x20supply/demand/trust\x20market\x20metrics\x20aggregated\x20from\x20JSON-RPC\x20event\x20enumeration.\x0a\x0a'+'\x20\x20•\x20market_operations\x20—\x20operational\x20aggregations:\x20journey_funnel\x20(due-diligence→order→completed→reviews),\x20referral_attribution,\x20customer_relationship,\x20dynamic_pricing\x20(merchant\x20pricing\x20suggestion\x20from\x20market_signals).\x0a\x0a'+'\x20\x20•\x20anti_cheat\x20—\x20governance:\x20detect\x20fake\x20reviews\x20/\x20wash\x20orders\x20/\x20compensation-fund\x20manipulation\x20from\x20service\x20+\x20orders\x20+\x20reviews\x20evidence.\x0a\x0a'+'\x20\x20•\x20match_discover\x20—\x20ONE-SHOT\x20intent→service\x20orchestration:\x20enumerate\x20services\x20+\x20location\x20gate\x20+\x206-dimension\x20demand_match\x20scoring\x20in\x20a\x20single\x20call.\x20Inputs:\x20description\x20+\x20location\x20+\x20optional\x20sensitivity/budget/required_capabilities/coin_type.\x20Returns\x20location-gated\x20Top-N\x20services\x20with\x20per-service\x206-dim\x20breakdown\x20(region/industry/price/trust/capabilities/tags)\x20+\x20recommendation\x20reasons.\x20Enumerated\x20via\x20JSON-RPC\x20ServiceEvent.\x0a\x0a'+'\x20\x20•\x20arbitration_score\x20—\x20dual-perspective\x20arbitration\x20trust\x20assessment:\x20score\x20an\x20Arbitration\x20object\x20from\x20the\x20user-trust\x20angle\x20(timeliness/objection/indemnity/feedback/experience/capital)\x20and\x20the\x20merchant-fairness\x20angle\x20(fee/governance/operational).\x20Inputs:\x20arbitration\x20config\x20+\x20pre-aggregated\x20history[]\x20+\x20optional\x20entity_votes/fee_median.\x20Returns\x20trust\x20+\x20fairness\x20EvaluationResults\x20+\x20combined\x200-100.\x0a\x0a'+'\x20\x20•\x20account_events\x20—\x20account-centric\x20attention\x20feed:\x20run\x20hot-pluggable\x20watchers\x20(messenger_unread,\x20order_collection,\x20demand_presented,\x20reputation_integrity)\x20over\x20one\x20account\x20and\x20return\x20a\x20unified,\x20priority-sorted\x20prompt\x20list\x20of\x20what\x20needs\x20the\x20account\x27s\x20attention.\x20Inputs:\x20account\x20+\x20optional\x20categories[];\x20reputation_integrity\x20additionally\x20consumes\x20review\x20rows\x20(reviews[]\x20from\x20a\x20Service\x27s\x20ReviewRepository\x20via\x20onchain_table_data\x20+\x20optional\x20order_history[]\x20for\x20no-order-no-review\x20verification)\x20and\x20flags\x20manipulation/unverified/declining-trend\x20signals.\x20Read-only\x20(passive\x20check\x20—\x20never\x20marks\x20messages\x20viewed).\x0a\x0a'+'Read-only:\x20computes\x20recommendations\x20from\x20pure\x20data;\x20never\x20mutates\x20chain\x20state.\x20'+'The\x20caller\x20decides\x20and\x20acts\x20via\x20onchain_operations\x20/\x20messenger_operation.\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20evaluation_operation\x20=\x20best-move\x20advice\x20at\x20an\x20Arb/Progress\x20state\x20(game\x20theory);\x20'+'query_toolkit\x20query_type=\x27onchain_topology\x27\x20=\x20graph\x20evaluation\x20of\x20ONE\x20object\x20(trust\x20+\x20risk\x20+\x20coverage\x20over\x20its\x20'+'topology\x20neighborhood);\x20query_toolkit\x20query_type=\x27reverse_map\x27\x20=\x20deterministic\x20multi-object\x20business\x20report.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27evaluation_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EvaluationOperationInputSchema,'outputSchema':EvaluationOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('evaluation',['evaluate','risk','match','game','score','arb','node','compose','gap'])}}];
@@ -1 +1 @@
1
- import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'../handlers/query.js';import{handleSchemaQuery}from'../handlers/schema-query.js';import{createToolMeta,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainTableDataResultSchema,OnchainEventsInputSchema,OnchainEventsResultSchema,ProtocolInfoQuerySchema,ProtocolInfoResultSchema,SchemaQueryInputSchema,SchemaQueryOutputSchema}from'../../schema/index.js';export const QUERY_TOOLS=[{'name':'query_toolkit','handler':handleWatchQueryOperations,'timeoutMs':0x493e0,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens,\x20topology\x20(21\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2021\x20query\x20types\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data:\x0a\x0a'+'LOCAL\x20(device-only,\x20never\x20on-chain):\x0a'+'1.\x20local_mark_list\x20—\x20Query\x20your\x20LOCAL\x20address\x20book:\x20maps\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20optional\x20tags.\x20Use\x20to\x20resolve\x20names→addresses\x20or\x20find\x20addresses\x20by\x20tag.\x0a'+'2.\x20account_list\x20—\x20Query\x20your\x20LOCAL\x20accounts\x20(addresses,\x20messenger\x20status,\x20suspension\x20state).\x20Use\x20filter.includePubkey=true\x20to\x20also\x20include\x20public\x20keys.\x20Use\x20to\x20discover\x20available\x20accounts\x20before\x20operations.\x20NOTE:\x20local\x20accounts\x20are\x20just\x20ONE\x20form\x20of\x20distributed\x20account\x20—\x20WoWok\x20serves\x20ANY\x20account\x20on\x20ANY\x20device;\x20every\x20on-chain/BI\x20query\x20below\x20also\x20accepts\x20any\x200x\x20address\x20(LocalMark\x20names\x20are\x20a\x20convenience,\x20not\x20a\x20requirement).\x0a'+'3.\x20local_info_list\x20—\x20Query\x20your\x20LOCAL\x20private\x20info:\x20sensitive\x20data\x20like\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts\x20stored\x20ONLY\x20on\x20this\x20device.\x0a'+'4.\x20token_list\x20—\x20Query\x20cached\x20token\x20metadata:\x20symbol,\x20decimals,\x20icon\x20URL,\x20description\x20for\x20tokens\x20previously\x20fetched\x20from\x20chain.\x20Use\x20to\x20look\x20up\x20token\x20precision/decimals\x20before\x20performing\x20token\x20operations.\x20Returns:\x20TokenTypeInfo[]\x20(type,\x20alias,\x20name,\x20symbol,\x20decimals,\x20iconUrl).\x0a'+'5.\x20account_balance\x20—\x20Query\x20an\x20account\x27s\x20coin\x20balance\x20OR\x20Paginated\x20coin\x20objects.\x20Use\x20balance=true\x20for\x20total\x20amount,\x20or\x20coin={cursor,limit}\x20to\x20list\x20individual\x20coin\x20objects.\x20Supports\x20multi-token\x20via\x20token_type\x20parameter.\x20Results\x20include\x20`_money_display`\x20with\x20unit-converted\x20values\x20+\x20decimals\x20reminder.\x20LIVE\x20QUERY\x20(no\x20cache\x20—\x20no_cache\x20not\x20needed).\x20If\x20the\x20input\x20is\x20an\x20on-chain\x20OBJECT\x20(e.g.\x20a\x20Treasury\x20mark\x20name),\x20the\x20result\x20auto-routes\x20to\x20that\x20object\x27s\x20\x27balance\x27\x20field\x20with\x20a\x20hint\x20—\x20wallet\x20gas\x20balances\x20vs\x20object\x20funds\x20are\x20different\x20concepts.\x0a'+'6.\x20local_names\x20—\x20Query\x20local\x20names\x20by\x20a\x20list\x20of\x20addresses.\x20For\x20each\x20address,\x20returns\x20the\x20resolved\x20account\x20name\x20(if\x20exists)\x20and\x20local\x20mark\x20name\x20(if\x20exists).\x20Returns:\x20{\x20account?,\x20local_mark?,\x20address\x20}[].\x0a\x0a'+'ONCHAIN\x20(blockchain):\x0a'+'7.\x20onchain_personal_profile\x20—\x20Query\x20any\x20user\x27s\x20PUBLIC\x20on-chain\x20profile:\x20social\x20links,\x20reputation\x20(likes/dislikes),\x20personal\x20info\x20records,\x20voting\x20history,\x20referrer.\x0a'+'8.\x20onchain_objects\x20—\x20Batch\x20query\x20on-chain\x20WOWOK\x20objects\x20by\x20ID\x20or\x20name:\x20supports\x20Service,\x20Machine,\x20Order,\x20Treasury,\x20Reward,\x20Arb,\x20Personal,\x20Contact,\x20and\x20more.\x20Monetary\x20fields\x20include\x20`_money_display`\x20annotations\x20(token\x20type\x20from\x20the\x20object\x27s\x20immutable\x20generic).\x0a'+'9.\x20onchain_received\x20—\x20Query\x20objects\x20(Payments,\x20Tokens,\x20NFTs)\x20received\x20by\x20a\x20specific\x20object.\x20Supports\x20pagination\x20and\x20type\x20filter.\x20CoinWrapper\x20mode\x20returns\x20token-aware\x20`_money_display`.\x0a'+'10.\x20onchain_transaction\x20—\x20Verify\x20what\x20a\x20specific\x20transaction\x20did\x20on-chain\x20(status,\x20object\x20changes,\x20balance\x20changes,\x20gas,\x20events).\x20Balance\x20changes\x20include\x20`_money_display`\x20(unit-converted\x20via\x20each\x20change\x27s\x20own\x20coin_type;\x20signed\x20amounts\x20supported).\x0a'+'11.\x20onchain_block\x20—\x20Query\x20ONE\x20checkpoint\x20(block)\x20by\x20sequence\x20number\x20or\x20digest;\x20returns\x20the\x20RAW\x20fullnode\x20checkpoint\x20summary\x20verbatim\x20(sequence,\x20digest,\x20timestamp,\x20tx\x20count,\x20epoch).\x20Block-level\x20facts\x20—\x20distinct\x20from\x20onchain_transaction\x20(per-tx\x20proof).\x0a'+'12.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'13.\x20onchain_address_activity\x20—\x20FORENSICS:\x20an\x20address\x27s\x20transaction\x20history\x20(auditing\x20only).\x20direction=\x27sent\x27\x20(default)\x20lists\x20transactions\x20SENT\x20BY\x20the\x20address;\x20direction=\x27received\x27\x20lists\x20transactions\x20that\x20delivered\x20objects/coins\x20TO\x20it\x20(inbound\x20—\x20the\x20route\x20for\x20\x27when\x20did\x20this\x20arrive\x27\x20without\x20knowing\x20the\x20sender).\x0a'+'14.\x20token_value_convert\x20—\x20Convert\x20between\x20raw\x20on-chain\x20smallest\x20units\x20(u64)\x20and\x20human\x20unit\x20values\x20in\x20EITHER\x20direction\x20(e.g.\x20\x222200000000\x22\x20↔\x20\x222.2\x22\x20WOW).\x20Unit→raw\x20is\x20REFUSED\x20when\x20token\x20precision\x20cannot\x20be\x20resolved\x20(never\x20guesses\x20decimals).\x0a'+'15.\x20address_profile\x20—\x20Unified\x20address\x20profile:\x20classifies\x20an\x20address\x20(user\x20/\x20business\x20object\x20/\x20system\x20singleton),\x20then\x20batches\x20identity\x20+\x20reputation\x20(like/dislike/favor)\x20+\x20order/contact\x20membership\x20+\x20core/tx\x20reverse\x20bindings\x20+\x20the\x20object\x20itself.\x20For\x20Service\x20addresses\x20the\x20result\x20merges\x20a\x20service_analysis\x20block\x20(description\x20/\x20payment\x20token\x20/\x20shelf\x20split\x20/\x20location\x20/\x20trust-risk\x20/\x20on-chain\x20last\x20update).\x20The\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20entry.\x0a'+'16.\x20address_profiles\x20—\x20BATCH\x20form\x20of\x20address_profile\x20(up\x20to\x2050\x20addresses\x20in\x20ONE\x20call):\x20same\x20per-address\x20shape\x20—\x20classification,\x20identity,\x20reputation\x20votes,\x20memberships,\x20reverse\x20bindings,\x20object,\x20activity,\x20role\x20evidence,\x20plus\x20the\x20service_analysis\x20merge\x20for\x20Service\x20addresses.\x20List\x20views\x20needing\x20profiles\x20for\x20many\x20rows\x20should\x20ALWAYS\x20prefer\x20this\x20over\x20N\x20single\x20calls.\x20Returns:\x20(AddressProfile\x20|\x20null)[]\x20(result\x20order\x20matches\x20the\x20request).\x0a'+'17.\x20service_supply_chain\x20—\x20Resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph\x20(K3\x2023\x20§3.6):\x20reads\x20the\x20bound\x20Machine\x27s\x20frozen\x20forwards,\x20finds\x20purchasing-commitment\x20Guards,\x20and\x20returns\x20each\x20forward\x27s\x20purchased\x20sub-services\x20+\x20required\x20sub-order\x20proof\x20fields.\x20Use\x20for\x20buyer\x20due-diligence,\x20compose_service,\x20anti_cheat\x20(shell-merchant\x20detection),\x20merchant\x20self-check,\x20or\x20Watch\x20relation\x20expansion.\x0a'+'18.\x20workspace_lists\x20—\x20ONE-CALL\x20Quick\x20Access\x20workspace\x20object\x20lists\x20for\x20an\x20account\x20(treasuries/repositories/contacts/machines/rewards/others)\x20via\x20the\x20permission\x20reverse\x20chain,\x20TTL-cached.\x0a'+'19.\x20marks_of_account\x20—\x20Like/Favor\x20list:\x20every\x20address\x20(object\x20or\x20user)\x20the\x20account\x20ever\x20liked/disliked/favored,\x20deduplicated,\x20with\x20the\x20CURRENT\x20active\x20vote\x20kinds\x20per\x20target\x20(voter\x20Resource\x20mark\x20table\x20+\x20EntityLinker\x20clock),\x20TTL-cached.\x0a'+'20.\x20migration_preflight\x20—\x20Cross-network\x20build\x20detection:\x20report\x20an\x20account\x27s\x20Services/Machines/Treasuries/etc.\x20on\x20a\x20source\x20network\x20(default\x20testnet)\x20vs\x20target\x20network\x20(default\x20mainnet),\x20plus\x20a\x20business-facing\x20checklist\x20of\x20settings\x20to\x20confirm/change\x20when\x20migrating\x20(payment\x20token\x20/\x20location\x20/\x20arbitration\x20/\x20WIP\x20/\x20gas).\x0a'+'21.\x20onchain_topology\x20—\x20Read-only\x20on-chain\x20TOPOLOGY\x20network\x20around\x20ONE\x20seed\x20address\x20(any\x20EOA/object\x20or\x20LocalMark\x20name):\x20batched\x20multi-hop\x20BFS\x20over\x20the\x20machine-readable\x20EdgeSchema\x20—\x20nodes\x20+\x20typed\x20edges\x20(F=field\x20/\x20R=reverse-index\x20/\x20W=workflow\x20/\x20M=money-flow\x20/\x20S=social)\x20with\x20retention\x20semantics\x20(complete/bounded/window/membership/derived),\x20the\x20structural\x20workflow\x20subgraph\x20+\x20terminal\x20set\x20of\x20each\x20reached\x20Machine,\x20structural\x20completion\x20of\x20every\x20Order\x20reached,\x20and\x20R/A/O/G\x20analyzer\x20findings.\x20Use\x20for\x20multi-hop\x20relationship/permission/fund-flow\x20questions,\x20risk/arbitrage/opportunity\x20scans,\x20and\x20\x27what\x20is\x20connected\x20to\x20what\x20and\x20how\x20strongly\x27\x20due\x20diligence.\x20Truncation/gap/budget\x20markers\x20are\x20always\x20reported\x20honestly.\x0a\x0a'+'For\x20dynamic\x20table\x20data\x20queries\x20(pagination,\x20table\x20items),\x20use\x20the\x20\x27onchain_table_data\x27\x20tool.\x20For\x20state-transition\x20events,\x20use\x20the\x20\x27onchain_events\x27\x20tool.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_toolkit\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20query\x20types\x20and\x20field\x20definitions.','inputSchema':WatchQueryOperationsSchema,'outputSchema':WatchQueryOperationsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['watch','query','on-chain','local','events','objects','tokens','balance','profile','block'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(table\x20+\x20table-item\x20queries).','description':'Query\x20the\x20dynamic\x20table\x20data\x20of\x20on-chain\x20objects\x20(ONE-TIME\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.\x20Each\x20table\x20item\x20belongs\x20to\x20a\x20parent\x20object\x20type\x20and\x20has\x20a\x20specific\x20meaning:\x0a\x0a'+'1.\x20onchain_table\x20—\x20Paginated\x20query\x20of\x20ANY\x20object\x27s\x20dynamic\x20fields\x20table\x20(Parent:\x20any\x20object).\x20Returns\x20all\x20entries\x20with\x20keys,\x20types,\x20and\x20object\x20IDs.\x20Use\x20to\x20explore\x20all\x20sub-items\x20of\x20an\x20object.\x0a'+'2.\x20onchain_table_item_repository_data\x20—\x20Query\x20a\x20record\x20from\x20a\x20Repository\x27s\x20on-chain\x20key-value\x20database\x20(Parent:\x20Repository).\x20Key:\x20name\x20+\x20entity\x20(address\x20or\x20number).\x20Returns\x20the\x20stored\x20data\x20record\x20with\x20typed\x20value.\x0a'+'3.\x20onchain_table_item_permission_perm\x20—\x20Query\x20a\x20permission\x20entry\x20from\x20a\x20Permission\x20object\x27s\x20access\x20control\x20table\x20(Parent:\x20Permission).\x20Key:\x20user\x20address\x20or\x20Guard\x20ID.\x20Returns\x20the\x20permission\x20list\x20(perm[])\x20granted\x20to\x20that\x20user/guard.\x0a'+'4.\x20onchain_table_item_entity_registrar\x20—\x20Query\x20an\x20entity\x27s\x20registration\x20record\x20from\x20the\x20GLOBAL\x20EntityRegistrar\x20(Parent:\x20system\x20EntityRegistrar).\x20Key:\x20user\x20address.\x20Returns\x20registration\x20info:\x20description,\x20referrer,\x20records,\x20mark_object.\x0a'+'5.\x20onchain_table_item_entity_linker\x20—\x20Query\x20community\x20votes/endorsements\x20for\x20an\x20entity\x20from\x20the\x20GLOBAL\x20EntityLinker\x20(Parent:\x20system\x20EntityLinker).\x20Key:\x20entity\x20address.\x20Returns\x20vote\x20records\x20(likes/dislikes/favor)\x20showing\x20community\x20trust.\x0a'+'6.\x20onchain_table_item_entity_contact\x20—\x20Query\x20which\x20customer-service\x20Contacts\x20an\x20entity\x20is\x20a\x20member\x20of,\x20from\x20the\x20GLOBAL\x20EntityContact\x20reverse\x20index\x20(Parent:\x200xaa9).\x20Key:\x20entity\x20address.\x20Returns\x20contact\x20memberships\x20(contact\x20+\x20time).\x0a'+'7.\x20onchain_table_item_object_linker_core\x20—\x20Query\x20which\x20bounded\x20core\x20objects\x20(Service/Machine/Treasury/Reward/Demand/Arbitration/Arb/Contact)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerCore\x20reverse\x20index\x20(Parent:\x200xaae).\x20Lossless\x20fixed;\x20use\x20for\x20DEFAULT\x20reverse\x20lookups\x20(e.g.\x20which\x20services\x20use\x20a\x20permission).\x0a'+'8.\x20onchain_table_item_object_linker_tx\x20—\x20Query\x20which\x20operational\x20objects\x20(Order/Progress/Payment/Allocation/Guard/Permission)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerTx\x20reverse\x20index\x20(Parent:\x200xaaf).\x20Lossy\x20FIFO\x20(recent\x20only);\x20use\x20for\x20ORDER/PROGRESS/operational\x20reverse\x20lookups\x20(e.g.\x20which\x20orders\x20a\x20service\x20has).\x0a'+'9.\x20onchain_table_item_reward_record\x20—\x20Query\x20a\x20reward\x20claim\x20record\x20from\x20a\x20Reward\x20object\x27s\x20distribution\x20table\x20(Parent:\x20Reward).\x20Key:\x20recipient\x20address.\x20Returns\x20claim\x20history:\x20guard\x20used,\x20total\x20claimed,\x20per-claim\x20details.\x0a'+'10.\x20onchain_table_item_demand_presenter\x20—\x20Query\x20a\x20demand\x20submission\x20from\x20a\x20Demand\x20object\x27s\x20presenter\x20table\x20(Parent:\x20Demand).\x20Key:\x20presenter\x20address.\x20Returns\x20submission\x20details:\x20recommendation,\x20service,\x20feedback,\x20acceptance\x20score.\x0a'+'11.\x20onchain_table_item_treasury_history\x20—\x20Query\x20a\x20payment\x20record\x20from\x20a\x20Treasury\x27s\x20history\x20table\x20(Parent:\x20Treasury).\x20Key:\x20payment\x20ID\x20(address).\x20Returns\x20payment\x20details:\x20operation\x20type,\x20signer,\x20amount,\x20external\x20guard.\x0a'+'12.\x20onchain_table_item_machine_node\x20—\x20Query\x20a\x20workflow\x20node\x20definition\x20from\x20a\x20Machine\x20object\x27s\x20node\x20table\x20(Parent:\x20Machine).\x20Key:\x20node\x20name\x20(string).\x20Returns\x20node\x20configuration:\x20pairs,\x20forwards,\x20guards,\x20thresholds.\x0a'+'13.\x20onchain_table_item_progress_history\x20—\x20Query\x20a\x20progress\x20step\x20record\x20from\x20a\x20Progress\x20object\x27s\x20history\x20table\x20(Parent:\x20Progress).\x20Key:\x20sequence\x20number\x20(u64).\x20Returns\x20step\x20details:\x20node,\x20next_node,\x20session\x20state,\x20time.\x0a'+'14.\x20onchain_table_item_address_mark\x20—\x20Query\x20a\x20PUBLIC\x20on-chain\x20name/tag\x20mark\x20from\x20an\x20AddressMark\x20object\x27s\x20table\x20(Parent:\x20AddressMark).\x20Key:\x20address.\x20Returns\x20public\x20labels:\x20entity,\x20name,\x20tags[].\x20Unlike\x20local\x20marks,\x20these\x20are\x20published\x20on-chain.\x0a'+'15.\x20onchain_table_item_entity_order\x20—\x20Query\x20the\x20orders\x20a\x20user\x20participates\x20in,\x20from\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8).\x20Key:\x20user\x20address.\x20Returns\x20order\x20addresses\x20with\x20role\x20bitmask\x20(1=owner,\x202=agent)\x20and\x20last\x20role-update\x20time\x20(raw\x20index,\x20without\x20full\x20order\x20objects).\x0a'+'16.\x20onchain_orders_of_user\x20—\x20Query\x20EVERY\x20order\x20a\x20user\x20participates\x20in\x20(as\x20owner\x20and/or\x20agent)\x20via\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8),\x20resolving\x20each\x20to\x20its\x20full\x20on-chain\x20Order\x20object.\x20Each\x20result\x20includes\x20role\x20info:\x20role\x20bitmask,\x20is_owner,\x20is_agent,\x20role\x20update\x20time,\x20and\x20the\x20full\x20order.\x20Use\x20to\x20get\x20a\x20user\x27s\x20complete\x20order\x20list\x20with\x20role\x20attributes.\x0a'+'17.\x20onchain_orders_of_users\x20—\x20Cross-account\x20variant:\x20query\x20EVERY\x20order\x20that\x20ANY\x20of\x20the\x20given\x20accounts\x20participates\x20in,\x20merged\x20into\x20ONE\x20deduped\x20list\x20(per-account\x20roles\x20merged)\x20with\x20SERVER-SIDE\x20enrichment\x20identical\x20to\x20the\x20Service\x20panorama\x20Orders\x20tab\x20—\x20amount/item\x20prices\x20as\x20human\x20token\x20display,\x20progress\x20node\x20+\x20entry\x20time,\x20allocation\x20fund\x20state,\x20updated\x20time.\x20Non-blocking\x20per-account\x20errors\x20(account_errors).\x20Use\x20for\x20a\x20local\x20wallet\x27s\x20complete\x20order\x20list\x20in\x20ONE\x20call.\x0a'+'18.\x20onchain_table_item_generic\x20—\x20Query\x20a\x20generic\x20table\x20item\x20from\x20ANY\x20object\x27s\x20dynamic\x20fields\x20(Parent:\x20any\x20object).\x20Supports\x20arbitrary\x20key\x20types\x20(address,\x20u64,\x20string,\x20object\x20ID,\x20etc.).\x20Use\x20for\x20custom\x20objects\x20and\x20general-purpose\x20table\x20lookups.\x20Returns:\x20ObjectBase\x20|\x20undefined.\x0a'+'19.\x20address_profile\x20—\x20unified\x20address\x20profile\x20(classification\x20+\x20identity\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings\x20+\x20the\x20object,\x20with\x20a\x20merged\x20service_analysis\x20block\x20for\x20Service\x20addresses).\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22address_profile\x22).\x0a'+'20.\x20service_supply_chain\x20—\x20resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph.\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22service_supply_chain\x22).\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20a\x20WHOLE\x20object/balance/profile;\x20use\x20onchain_events\x20to\x20query\x20state-transition\x20events;\x20use\x20onchain_table_data\x20(this\x20tool)\x20to\x20paginate\x20over\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields\x20or\x20read\x20a\x20single\x20table\x20item.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_table_data\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20table\x20item\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainTableDataSchema,'outputSchema':OnchainTableDataResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('table\x20query',['on-chain','table','dynamic\x20fields','pagination','repository','permission','reward','demand','treasury','machine','progress'])}},{'name':'onchain_events','handler':handleOnchainEvents,'config':{'title':'📅\x20Query\x20WoWok\x20On-chain\x20Events','summary':'Watch\x20on-chain\x20state-transition\x20and\x20fund-flow\x20events\x20(all\x2016\x20framework\x20types).','description':'Query\x20on-chain\x20WoWok\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20All\x2016\x20framework\x20event\x20types\x20are\x20supported,\x20grouped\x20by\x20business\x20family:\x20market\x20opportunity\x20(ServiceEvent,\x20ArbitrationEvent,\x20DemandChangedEvent,\x20DemandPresentEvent),\x20order/workflow\x20(NewOrderEvent,\x20ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20NewPaymentEvent).\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x0a\x0a💰\x20NewPaymentEvent\x20is\x20the\x20universal\x20fund-flow\x20receipt:\x20every\x20treasury\x20withdraw/deposit,\x20allocation\x20split\x20and\x20compensation\x20payout\x20mints\x20one.\x20Its\x20`from_object`\x20is\x20the\x20internal-only\x20funding-source\x20object\x20(Treasury/Allocation/Service\x20—\x20set\x20by\x20the\x20framework,\x20never\x20user\x20code),\x20and\x20`info.for_object`/`info.for_guard`\x20are\x20user-settable\x20business\x20routing\x20hints;\x20both\x20are\x20registered\x20as\x20on-chain\x20affiliations.\x20NewOrderEvent.amount\x20includes\x20`_money_display`\x20annotation\x20(unit-converted\x20via\x20the\x20order\x27s\x20Service\x20generic\x20token\x20type;\x20raw-only\x20with\x20retry\x20hint\x20when\x20precision\x20is\x20unavailable).\x0a\x0a🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20whole\x20objects/balances/profiles;\x20use\x20onchain_table_data\x20to\x20query\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields;\x20use\x20onchain_events\x20(this\x20tool)\x20to\x20query\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20event\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainEventsInputSchema,'outputSchema':OnchainEventsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('watch\x20wowook\x20events',['events','on-chain','arbitration','order','progress','demand','entity'])}},{'name':'wowok_buildin_info','handler':handleWowokInfo,'config':{'title':'ℹ️\x20WoWok\x20Build-in\x20Information','summary':'Getting-started\x20orientation,\x20protocol\x20constants,\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance,\x20upgrade\x20check.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27getting\x20started\x27,\x20\x27constants\x27,\x20\x27built-in\x20permissions\x27,\x20\x27common\x20mistakes\x27,\x20\x27guard\x20instructions\x27,\x20\x27current\x20network\x27,\x20\x27value\x20types\x27,\x20\x27mainnet\x20bridge\x20tokens\x27,\x20\x27funding\x20guidance\x27,\x20\x27upgrade_check\x27,\x20or\x20\x27universal_template\x27.\x20Call\x20\x27getting\x20started\x27\x20at\x20conversation\x20start\x20when\x20no\x20WoWok\x20Skill\x20guidance\x20is\x20loaded\x20—\x20it\x20explains\x20what\x20the\x20companion\x20@wowok/skills\x20package\x20is,\x20gives\x20install/doctor/repair\x20commands,\x20best-effort\x20local\x20detection\x20of\x20installed\x20skills,\x20the\x20~20s\x20cold-start\x20window,\x20and\x20maps\x20common\x20goals\x20to\x20sub-tools.\x20Use\x20\x27common\x20mistakes\x27\x20to\x20proactively\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls\x20before\x20submitting\x20an\x20operation\x20(e.g.\x20filter\x20operation:\x22compensation_fund_add\x22).\x20For\x20\x27mainnet\x20bridge\x20tokens\x27:\x20returns\x20cross-chain\x20bridge\x20tokens\x20(ETH,\x20WETH,\x20WBTC,\x20USDC,\x20USDT)\x20with\x20each\x20token\x27s\x20symbol,\x20WOW-side\x20type\x20tag\x20(wowTypeTag),\x20EVM\x20address,\x20decimals,\x20and\x20description.\x20The\x20wowTypeTag\x20(format\x20{address}::{module}::{struct})\x20can\x20be\x20used\x20directly\x20as\x20the\x20`type_parameter`\x20of\x20Service\x20/\x20Treasury\x20/\x20Reward\x20/\x20Allocation\x20objects\x20to\x20set\x20their\x20payment\x20token\x20—\x20e.g.\x20use\x20USDT\x27s\x20wowTypeTag\x20to\x20create\x20a\x20Service\x20that\x20accepts\x20USDT\x20payments.\x20For\x20\x27funding\x20guidance\x27:\x20returns\x20how\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens\x20—\x20testnet\x20faucet,\x20mainnet\x20ETH\x20cross-chain\x20bridge\x20flow,\x20and\x20the\x20WOW\x20mainnet\x20airdrop\x20link.\x20Use\x20this\x20when\x20a\x20user\x20asks\x20how\x20to\x20obtain\x20tokens/gas/funds,\x20or\x20as\x20a\x20proactive\x20first-use\x20reminder.','inputSchema':ProtocolInfoQuerySchema,'outputSchema':ProtocolInfoResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('WoWok\x20info',['build-in','getting-started','skills','constants','permissions','guard','network','value-types','bridge-tokens','funding-guidance','faucet','airdrop'])}},{'name':'schema_query','handler':handleSchemaQuery,'config':{'title':'📋\x20Schema\x20Query','summary':'Query\x20JSON\x20schemas\x20for\x20any\x20sub-tool\x20(action:\x20list/get/get_output/search).','description':'Look\x20up\x20JSON\x20Schemas\x20for\x20WoWok\x20MCP\x20tools\x20and\x20on-chain\x20operations.\x20'+'This\x20is\x20the\x20authoritative\x20reference\x20for\x20exact\x20parameter\x20structures,\x20types,\x20and\x20required\x20fields.\x20'+'Always\x20check\x20the\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.\x0a\x0a'+'Actions:\x0a'+'\x20\x20\x27list\x27\x20-\x20Show\x20all\x20available\x20schemas\x20(tools\x20+\x20on-chain\x20operations).\x20Start\x20here\x20to\x20discover\x20what\x20exists.\x0a'+'\x20\x20\x27get\x27\x20-\x20Fetch\x20the\x20full\x20input\x20JSON\x20Schema\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x0a'+'\x20\x20\x27get_output\x27\x20-\x20Fetch\x20the\x20output\x20JSON\x20Schema\x20of\x20a\x20tool\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x20Use\x20this\x20to\x20understand\x20a\x20tool\x27s\x20return\x20value\x20structure.\x0a'+'\x20\x20\x27get_field\x27\x20-\x20Query\x20a\x20single\x20field\x20by\x20dot-path\x20(e.g.\x20field_path=\x27data.node.nodes.0.pairs\x27).\x20Cheaper\x20than\x20\x27get\x27\x20when\x20you\x20only\x20need\x20one\x20subtree.\x0a'+'\x20\x20\x27search\x27\x20-\x20Find\x20schemas\x20by\x20keyword,\x20matching\x20name/title/description.\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27list_operations\x27\x20-\x20Show\x20only\x20on-chain\x20operation\x20schemas\x20(prefixed\x20\x27onchain_operations_\x27).\x20Narrower\x20than\x20\x27list\x27.\x0a'+'\x20\x20\x27get_guard_templates\x27\x20-\x20Guard\x20creation\x20templates\x20+\x20best\x20practices\x20(e.g.\x20signer_verification,\x20progress_node_check).\x20Omit\x20\x27template\x27\x20to\x20list\x20all.\x0a'+'\x20\x20\x27get_tool_reference\x27\x20-\x20MCP\x20tool\x20usage\x20reference\x20(summaries,\x20actions,\x20prerequisites,\x20notes).\x20Pass\x20name=\x27<tool>\x27\x20for\x20one\x20tool,\x20query=\x27<keyword>\x27\x20to\x20search,\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_guard_design_patterns\x27\x20-\x20Curated\x20Guard\x20design\x20patterns\x20(business\x20requirement\x20→\x20logic\x20tree\x20template).\x20Pass\x20name=\x27<pattern_id>\x27,\x20query=\x27<host>\x27\x20(e.g.\x20\x27service_buy_guard\x27,\x20\x27machine_forward\x27),\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_safety_rules\x27\x20-\x20Safety\x20rule\x20tables\x20sunk\x20from\x20the\x20wowok-safety\x20skill:\x20object\x20reuse,\x20immutability-after-publish,\x20LOCAL/ONCHAIN/QUERY\x20classification,\x20naming\x20conventions.\x0a'+'\x20\x20\x27analyze_guard_semantics\x27\x20-\x20Parse\x20+\x20evaluate\x20ANY\x20Guard\x20JSON\x20(pass\x20guard=<json>):\x20rendered\x20logic\x20tree,\x20lint\x20+\x20risk\x20diagnostics,\x20and\x20a\x20party-perspective\x20fact\x20sheet\x20(who\x20can\x20trigger,\x20time\x20constraints,\x20evidence\x20required,\x20data\x20sources\x20read\x20—\x20including\x20which\x20are\x20mutable\x20on-chain).\x20BOTH\x20transacting\x20parties\x20should\x20run\x20this\x20before\x20relying\x20on\x20a\x20Guard\x20(e.g.\x20a\x20refund\x20or\x20fund-release\x20Guard\x20is\x20a\x20free-form\x20game\x20condition\x20tree,\x20not\x20necessarily\x20tied\x20to\x20any\x20Machine\x20node).','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}}];
1
+ import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'../handlers/query.js';import{handleSchemaQuery}from'../handlers/schema-query.js';import{createToolMeta,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainTableDataResultSchema,OnchainEventsInputSchema,OnchainEventsResultSchema,ProtocolInfoQuerySchema,ProtocolInfoResultSchema,SchemaQueryInputSchema,SchemaQueryOutputSchema}from'../../schema/index.js';export const QUERY_TOOLS=[{'name':'query_toolkit','handler':handleWatchQueryOperations,'timeoutMs':0x493e0,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens,\x20topology\x20(21\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2021\x20query\x20types\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data:\x0a\x0a'+'LOCAL\x20(device-only,\x20never\x20on-chain):\x0a'+'1.\x20local_mark_list\x20—\x20Query\x20your\x20LOCAL\x20address\x20book:\x20maps\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20optional\x20tags.\x20Use\x20to\x20resolve\x20names→addresses\x20or\x20find\x20addresses\x20by\x20tag.\x0a'+'2.\x20account_list\x20—\x20Query\x20your\x20LOCAL\x20accounts\x20(addresses,\x20messenger\x20status,\x20suspension\x20state).\x20Use\x20filter.includePubkey=true\x20to\x20also\x20include\x20public\x20keys.\x20Use\x20to\x20discover\x20available\x20accounts\x20before\x20operations.\x20NOTE:\x20local\x20accounts\x20are\x20just\x20ONE\x20form\x20of\x20distributed\x20account\x20—\x20WoWok\x20serves\x20ANY\x20account\x20on\x20ANY\x20device;\x20every\x20on-chain/BI\x20query\x20below\x20also\x20accepts\x20any\x200x\x20address\x20(LocalMark\x20names\x20are\x20a\x20convenience,\x20not\x20a\x20requirement).\x0a'+'3.\x20local_info_list\x20—\x20Query\x20your\x20LOCAL\x20private\x20info:\x20sensitive\x20data\x20like\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts\x20stored\x20ONLY\x20on\x20this\x20device.\x0a'+'4.\x20token_list\x20—\x20Query\x20cached\x20token\x20metadata:\x20symbol,\x20decimals,\x20icon\x20URL,\x20description\x20for\x20tokens\x20previously\x20fetched\x20from\x20chain.\x20Use\x20to\x20look\x20up\x20token\x20precision/decimals\x20before\x20performing\x20token\x20operations.\x20Returns:\x20TokenTypeInfo[]\x20(type,\x20alias,\x20name,\x20symbol,\x20decimals,\x20iconUrl).\x0a'+'5.\x20account_balance\x20—\x20Query\x20an\x20account\x27s\x20coin\x20balance\x20OR\x20Paginated\x20coin\x20objects.\x20Use\x20balance=true\x20for\x20total\x20amount,\x20or\x20coin={cursor,limit}\x20to\x20list\x20individual\x20coin\x20objects.\x20Supports\x20multi-token\x20via\x20token_type\x20parameter.\x20Results\x20include\x20`_money_display`\x20with\x20unit-converted\x20values\x20+\x20decimals\x20reminder.\x20LIVE\x20QUERY\x20(no\x20cache\x20—\x20no_cache\x20not\x20needed).\x20If\x20the\x20input\x20is\x20an\x20on-chain\x20OBJECT\x20(e.g.\x20a\x20Treasury\x20mark\x20name),\x20the\x20result\x20auto-routes\x20to\x20that\x20object\x27s\x20\x27balance\x27\x20field\x20with\x20a\x20hint\x20—\x20wallet\x20gas\x20balances\x20vs\x20object\x20funds\x20are\x20different\x20concepts.\x0a'+'6.\x20local_names\x20—\x20Query\x20local\x20names\x20by\x20a\x20list\x20of\x20addresses.\x20For\x20each\x20address,\x20returns\x20the\x20resolved\x20account\x20name\x20(if\x20exists)\x20and\x20local\x20mark\x20name\x20(if\x20exists).\x20Returns:\x20{\x20account?,\x20local_mark?,\x20address\x20}[].\x0a\x0a'+'ONCHAIN\x20(blockchain):\x0a'+'7.\x20onchain_personal_profile\x20—\x20Query\x20any\x20user\x27s\x20PUBLIC\x20on-chain\x20profile:\x20social\x20links,\x20reputation\x20(likes/dislikes),\x20personal\x20info\x20records,\x20voting\x20history,\x20referrer.\x0a'+'8.\x20onchain_objects\x20—\x20Batch\x20query\x20on-chain\x20WOWOK\x20objects\x20by\x20ID\x20or\x20name:\x20supports\x20Service,\x20Machine,\x20Order,\x20Treasury,\x20Reward,\x20Arb,\x20Personal,\x20Contact,\x20and\x20more.\x20Monetary\x20fields\x20include\x20`_money_display`\x20annotations\x20(token\x20type\x20from\x20the\x20object\x27s\x20immutable\x20generic).\x0a'+'9.\x20onchain_received\x20—\x20Query\x20objects\x20(Payments,\x20Tokens,\x20NFTs)\x20received\x20by\x20a\x20specific\x20object.\x20Supports\x20pagination\x20and\x20type\x20filter.\x20CoinWrapper\x20mode\x20returns\x20token-aware\x20`_money_display`.\x0a'+'10.\x20onchain_transaction\x20—\x20Verify\x20what\x20a\x20specific\x20transaction\x20did\x20on-chain\x20(status,\x20object\x20changes,\x20balance\x20changes,\x20gas,\x20events).\x20Balance\x20changes\x20include\x20`_money_display`\x20(unit-converted\x20via\x20each\x20change\x27s\x20own\x20coin_type;\x20signed\x20amounts\x20supported).\x0a'+'11.\x20onchain_block\x20—\x20Query\x20ONE\x20checkpoint\x20(block)\x20by\x20sequence\x20number\x20or\x20digest;\x20returns\x20the\x20RAW\x20fullnode\x20checkpoint\x20summary\x20verbatim\x20(sequence,\x20digest,\x20timestamp,\x20tx\x20count,\x20epoch).\x20Block-level\x20facts\x20—\x20distinct\x20from\x20onchain_transaction\x20(per-tx\x20proof).\x0a'+'12.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'13.\x20onchain_address_activity\x20—\x20FORENSICS:\x20an\x20address\x27s\x20transaction\x20history\x20(auditing\x20only).\x20direction=\x27sent\x27\x20(default)\x20lists\x20transactions\x20SENT\x20BY\x20the\x20address;\x20direction=\x27received\x27\x20lists\x20transactions\x20that\x20delivered\x20objects/coins\x20TO\x20it\x20(inbound\x20—\x20the\x20route\x20for\x20\x27when\x20did\x20this\x20arrive\x27\x20without\x20knowing\x20the\x20sender).\x0a'+'14.\x20token_value_convert\x20—\x20Convert\x20between\x20raw\x20on-chain\x20smallest\x20units\x20(u64)\x20and\x20human\x20unit\x20values\x20in\x20EITHER\x20direction\x20(e.g.\x20\x222200000000\x22\x20↔\x20\x222.2\x22\x20WOW).\x20Unit→raw\x20is\x20REFUSED\x20when\x20token\x20precision\x20cannot\x20be\x20resolved\x20(never\x20guesses\x20decimals).\x0a'+'15.\x20address_profile\x20—\x20Unified\x20address\x20profile:\x20classifies\x20an\x20address\x20(user\x20/\x20business\x20object\x20/\x20system\x20singleton),\x20then\x20batches\x20identity\x20+\x20reputation\x20(like/dislike/favor)\x20+\x20order/contact\x20membership\x20+\x20core/tx\x20reverse\x20bindings\x20+\x20the\x20object\x20itself.\x20For\x20Service\x20addresses\x20the\x20result\x20merges\x20a\x20service_analysis\x20block\x20(description\x20/\x20payment\x20token\x20/\x20shelf\x20split\x20/\x20location\x20/\x20on-chain\x20last\x20update).\x20The\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20entry.\x0a'+'16.\x20address_profiles\x20—\x20BATCH\x20form\x20of\x20address_profile\x20(up\x20to\x2050\x20addresses\x20in\x20ONE\x20call):\x20same\x20per-address\x20shape\x20—\x20classification,\x20identity,\x20reputation\x20votes,\x20memberships,\x20reverse\x20bindings,\x20object,\x20activity,\x20role\x20evidence,\x20plus\x20the\x20service_analysis\x20merge\x20for\x20Service\x20addresses.\x20List\x20views\x20needing\x20profiles\x20for\x20many\x20rows\x20should\x20ALWAYS\x20prefer\x20this\x20over\x20N\x20single\x20calls.\x20Returns:\x20(AddressProfile\x20|\x20null)[]\x20(result\x20order\x20matches\x20the\x20request).\x0a'+'17.\x20service_supply_chain\x20—\x20Resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph\x20(K3\x2023\x20§3.6):\x20reads\x20the\x20bound\x20Machine\x27s\x20frozen\x20forwards,\x20finds\x20purchasing-commitment\x20Guards,\x20and\x20returns\x20each\x20forward\x27s\x20purchased\x20sub-services\x20+\x20required\x20sub-order\x20proof\x20fields.\x20Use\x20for\x20buyer\x20due-diligence,\x20compose_service,\x20anti_cheat\x20(shell-merchant\x20detection),\x20merchant\x20self-check,\x20or\x20Watch\x20relation\x20expansion.\x0a'+'18.\x20workspace_lists\x20—\x20ONE-CALL\x20Quick\x20Access\x20workspace\x20object\x20lists\x20for\x20an\x20account\x20(treasuries/repositories/contacts/machines/rewards/others)\x20via\x20the\x20permission\x20reverse\x20chain,\x20TTL-cached.\x0a'+'19.\x20marks_of_account\x20—\x20Like/Favor\x20list:\x20every\x20address\x20(object\x20or\x20user)\x20the\x20account\x20ever\x20liked/disliked/favored,\x20deduplicated,\x20with\x20the\x20CURRENT\x20active\x20vote\x20kinds\x20per\x20target\x20(voter\x20Resource\x20mark\x20table\x20+\x20EntityLinker\x20clock),\x20TTL-cached.\x0a'+'20.\x20migration_preflight\x20—\x20Cross-network\x20build\x20detection:\x20report\x20an\x20account\x27s\x20Services/Machines/Treasuries/etc.\x20on\x20a\x20source\x20network\x20(default\x20testnet)\x20vs\x20target\x20network\x20(default\x20mainnet),\x20plus\x20a\x20business-facing\x20checklist\x20of\x20settings\x20to\x20confirm/change\x20when\x20migrating\x20(payment\x20token\x20/\x20location\x20/\x20arbitration\x20/\x20WIP\x20/\x20gas).\x0a'+'21.\x20onchain_topology\x20—\x20Read-only\x20on-chain\x20TOPOLOGY\x20network\x20around\x20ONE\x20seed\x20address\x20(any\x20EOA/object\x20or\x20LocalMark\x20name):\x20batched\x20multi-hop\x20BFS\x20over\x20the\x20machine-readable\x20EdgeSchema\x20—\x20nodes\x20+\x20typed\x20edges\x20(F=field\x20/\x20R=reverse-index\x20/\x20W=workflow\x20/\x20M=money-flow\x20/\x20S=social)\x20with\x20retention\x20semantics\x20(complete/bounded/window/membership/derived),\x20the\x20structural\x20workflow\x20subgraph\x20+\x20terminal\x20set\x20of\x20each\x20reached\x20Machine,\x20structural\x20completion\x20of\x20every\x20Order\x20reached,\x20and\x20R/A/O/G\x20analyzer\x20findings.\x20Use\x20for\x20multi-hop\x20relationship/permission/fund-flow\x20questions,\x20risk/arbitrage/opportunity\x20scans,\x20and\x20\x27what\x20is\x20connected\x20to\x20what\x20and\x20how\x20strongly\x27\x20due\x20diligence.\x20Truncation/gap/budget\x20markers\x20are\x20always\x20reported\x20honestly.\x0a\x0a'+'For\x20dynamic\x20table\x20data\x20queries\x20(pagination,\x20table\x20items),\x20use\x20the\x20\x27onchain_table_data\x27\x20tool.\x20For\x20state-transition\x20events,\x20use\x20the\x20\x27onchain_events\x27\x20tool.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_toolkit\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20query\x20types\x20and\x20field\x20definitions.','inputSchema':WatchQueryOperationsSchema,'outputSchema':WatchQueryOperationsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['watch','query','on-chain','local','events','objects','tokens','balance','profile','block'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(table\x20+\x20table-item\x20queries).','description':'Query\x20the\x20dynamic\x20table\x20data\x20of\x20on-chain\x20objects\x20(ONE-TIME\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.\x20Each\x20table\x20item\x20belongs\x20to\x20a\x20parent\x20object\x20type\x20and\x20has\x20a\x20specific\x20meaning:\x0a\x0a'+'1.\x20onchain_table\x20—\x20Paginated\x20query\x20of\x20ANY\x20object\x27s\x20dynamic\x20fields\x20table\x20(Parent:\x20any\x20object).\x20Returns\x20all\x20entries\x20with\x20keys,\x20types,\x20and\x20object\x20IDs.\x20Use\x20to\x20explore\x20all\x20sub-items\x20of\x20an\x20object.\x0a'+'2.\x20onchain_table_item_repository_data\x20—\x20Query\x20a\x20record\x20from\x20a\x20Repository\x27s\x20on-chain\x20key-value\x20database\x20(Parent:\x20Repository).\x20Key:\x20name\x20+\x20entity\x20(address\x20or\x20number).\x20Returns\x20the\x20stored\x20data\x20record\x20with\x20typed\x20value.\x0a'+'3.\x20onchain_table_item_permission_perm\x20—\x20Query\x20a\x20permission\x20entry\x20from\x20a\x20Permission\x20object\x27s\x20access\x20control\x20table\x20(Parent:\x20Permission).\x20Key:\x20user\x20address\x20or\x20Guard\x20ID.\x20Returns\x20the\x20permission\x20list\x20(perm[])\x20granted\x20to\x20that\x20user/guard.\x0a'+'4.\x20onchain_table_item_entity_registrar\x20—\x20Query\x20an\x20entity\x27s\x20registration\x20record\x20from\x20the\x20GLOBAL\x20EntityRegistrar\x20(Parent:\x20system\x20EntityRegistrar).\x20Key:\x20user\x20address.\x20Returns\x20registration\x20info:\x20description,\x20referrer,\x20records,\x20mark_object.\x0a'+'5.\x20onchain_table_item_entity_linker\x20—\x20Query\x20community\x20votes/endorsements\x20for\x20an\x20entity\x20from\x20the\x20GLOBAL\x20EntityLinker\x20(Parent:\x20system\x20EntityLinker).\x20Key:\x20entity\x20address.\x20Returns\x20vote\x20records\x20(likes/dislikes/favor)\x20showing\x20community\x20trust.\x0a'+'6.\x20onchain_table_item_entity_contact\x20—\x20Query\x20which\x20customer-service\x20Contacts\x20an\x20entity\x20is\x20a\x20member\x20of,\x20from\x20the\x20GLOBAL\x20EntityContact\x20reverse\x20index\x20(Parent:\x200xaa9).\x20Key:\x20entity\x20address.\x20Returns\x20contact\x20memberships\x20(contact\x20+\x20time).\x0a'+'7.\x20onchain_table_item_object_linker_core\x20—\x20Query\x20which\x20bounded\x20core\x20objects\x20(Service/Machine/Treasury/Reward/Demand/Arbitration/Arb/Contact)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerCore\x20reverse\x20index\x20(Parent:\x200xaae).\x20Lossless\x20fixed;\x20use\x20for\x20DEFAULT\x20reverse\x20lookups\x20(e.g.\x20which\x20services\x20use\x20a\x20permission).\x0a'+'8.\x20onchain_table_item_object_linker_tx\x20—\x20Query\x20which\x20operational\x20objects\x20(Order/Progress/Payment/Allocation/Guard/Permission)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerTx\x20reverse\x20index\x20(Parent:\x200xaaf).\x20Lossy\x20FIFO\x20(recent\x20only);\x20use\x20for\x20ORDER/PROGRESS/operational\x20reverse\x20lookups\x20(e.g.\x20which\x20orders\x20a\x20service\x20has).\x0a'+'9.\x20onchain_table_item_reward_record\x20—\x20Query\x20a\x20reward\x20claim\x20record\x20from\x20a\x20Reward\x20object\x27s\x20distribution\x20table\x20(Parent:\x20Reward).\x20Key:\x20recipient\x20address.\x20Returns\x20claim\x20history:\x20guard\x20used,\x20total\x20claimed,\x20per-claim\x20details.\x0a'+'10.\x20onchain_table_item_demand_presenter\x20—\x20Query\x20a\x20demand\x20submission\x20from\x20a\x20Demand\x20object\x27s\x20presenter\x20table\x20(Parent:\x20Demand).\x20Key:\x20presenter\x20address.\x20Returns\x20submission\x20details:\x20recommendation,\x20service,\x20feedback,\x20acceptance\x20score.\x0a'+'11.\x20onchain_table_item_treasury_history\x20—\x20Query\x20a\x20payment\x20record\x20from\x20a\x20Treasury\x27s\x20history\x20table\x20(Parent:\x20Treasury).\x20Key:\x20payment\x20ID\x20(address).\x20Returns\x20payment\x20details:\x20operation\x20type,\x20signer,\x20amount,\x20external\x20guard.\x0a'+'12.\x20onchain_table_item_machine_node\x20—\x20Query\x20a\x20workflow\x20node\x20definition\x20from\x20a\x20Machine\x20object\x27s\x20node\x20table\x20(Parent:\x20Machine).\x20Key:\x20node\x20name\x20(string).\x20Returns\x20node\x20configuration:\x20pairs,\x20forwards,\x20guards,\x20thresholds.\x0a'+'13.\x20onchain_table_item_progress_history\x20—\x20Query\x20a\x20progress\x20step\x20record\x20from\x20a\x20Progress\x20object\x27s\x20history\x20table\x20(Parent:\x20Progress).\x20Key:\x20sequence\x20number\x20(u64).\x20Returns\x20step\x20details:\x20node,\x20next_node,\x20session\x20state,\x20time.\x0a'+'14.\x20onchain_table_item_address_mark\x20—\x20Query\x20a\x20PUBLIC\x20on-chain\x20name/tag\x20mark\x20from\x20an\x20AddressMark\x20object\x27s\x20table\x20(Parent:\x20AddressMark).\x20Key:\x20address.\x20Returns\x20public\x20labels:\x20entity,\x20name,\x20tags[].\x20Unlike\x20local\x20marks,\x20these\x20are\x20published\x20on-chain.\x0a'+'15.\x20onchain_table_item_entity_order\x20—\x20Query\x20the\x20orders\x20a\x20user\x20participates\x20in,\x20from\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8).\x20Key:\x20user\x20address.\x20Returns\x20order\x20addresses\x20with\x20role\x20bitmask\x20(1=owner,\x202=agent)\x20and\x20last\x20role-update\x20time\x20(raw\x20index,\x20without\x20full\x20order\x20objects).\x0a'+'16.\x20onchain_orders_of_user\x20—\x20Query\x20EVERY\x20order\x20a\x20user\x20participates\x20in\x20(as\x20owner\x20and/or\x20agent)\x20via\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8),\x20resolving\x20each\x20to\x20its\x20full\x20on-chain\x20Order\x20object.\x20Each\x20result\x20includes\x20role\x20info:\x20role\x20bitmask,\x20is_owner,\x20is_agent,\x20role\x20update\x20time,\x20and\x20the\x20full\x20order.\x20Use\x20to\x20get\x20a\x20user\x27s\x20complete\x20order\x20list\x20with\x20role\x20attributes.\x0a'+'17.\x20onchain_orders_of_users\x20—\x20Cross-account\x20variant:\x20query\x20EVERY\x20order\x20that\x20ANY\x20of\x20the\x20given\x20accounts\x20participates\x20in,\x20merged\x20into\x20ONE\x20deduped\x20list\x20(per-account\x20roles\x20merged)\x20with\x20SERVER-SIDE\x20enrichment\x20identical\x20to\x20the\x20Service\x20panorama\x20Orders\x20tab\x20—\x20amount/item\x20prices\x20as\x20human\x20token\x20display,\x20progress\x20node\x20+\x20entry\x20time,\x20allocation\x20fund\x20state,\x20updated\x20time.\x20Non-blocking\x20per-account\x20errors\x20(account_errors).\x20Use\x20for\x20a\x20local\x20wallet\x27s\x20complete\x20order\x20list\x20in\x20ONE\x20call.\x0a'+'18.\x20onchain_table_item_generic\x20—\x20Query\x20a\x20generic\x20table\x20item\x20from\x20ANY\x20object\x27s\x20dynamic\x20fields\x20(Parent:\x20any\x20object).\x20Supports\x20arbitrary\x20key\x20types\x20(address,\x20u64,\x20string,\x20object\x20ID,\x20etc.).\x20Use\x20for\x20custom\x20objects\x20and\x20general-purpose\x20table\x20lookups.\x20Returns:\x20ObjectBase\x20|\x20undefined.\x0a'+'19.\x20address_profile\x20—\x20unified\x20address\x20profile\x20(classification\x20+\x20identity\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings\x20+\x20the\x20object,\x20with\x20a\x20merged\x20service_analysis\x20block\x20for\x20Service\x20addresses).\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22address_profile\x22).\x0a'+'20.\x20service_supply_chain\x20—\x20resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph.\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22service_supply_chain\x22).\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20a\x20WHOLE\x20object/balance/profile;\x20use\x20onchain_events\x20to\x20query\x20state-transition\x20events;\x20use\x20onchain_table_data\x20(this\x20tool)\x20to\x20paginate\x20over\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields\x20or\x20read\x20a\x20single\x20table\x20item.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_table_data\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20table\x20item\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainTableDataSchema,'outputSchema':OnchainTableDataResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('table\x20query',['on-chain','table','dynamic\x20fields','pagination','repository','permission','reward','demand','treasury','machine','progress'])}},{'name':'onchain_events','handler':handleOnchainEvents,'config':{'title':'📅\x20Query\x20WoWok\x20On-chain\x20Events','summary':'Watch\x20on-chain\x20state-transition\x20and\x20fund-flow\x20events\x20(all\x2016\x20framework\x20types).','description':'Query\x20on-chain\x20WoWok\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20All\x2016\x20framework\x20event\x20types\x20are\x20supported,\x20grouped\x20by\x20business\x20family:\x20market\x20opportunity\x20(ServiceEvent,\x20ArbitrationEvent,\x20DemandChangedEvent,\x20DemandPresentEvent),\x20order/workflow\x20(NewOrderEvent,\x20ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20NewPaymentEvent).\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x0a\x0a💰\x20NewPaymentEvent\x20is\x20the\x20universal\x20fund-flow\x20receipt:\x20every\x20treasury\x20withdraw/deposit,\x20allocation\x20split\x20and\x20compensation\x20payout\x20mints\x20one.\x20Its\x20`from_object`\x20is\x20the\x20internal-only\x20funding-source\x20object\x20(Treasury/Allocation/Service\x20—\x20set\x20by\x20the\x20framework,\x20never\x20user\x20code),\x20and\x20`info.for_object`/`info.for_guard`\x20are\x20user-settable\x20business\x20routing\x20hints;\x20both\x20are\x20registered\x20as\x20on-chain\x20affiliations.\x20NewOrderEvent.amount\x20includes\x20`_money_display`\x20annotation\x20(unit-converted\x20via\x20the\x20order\x27s\x20Service\x20generic\x20token\x20type;\x20raw-only\x20with\x20retry\x20hint\x20when\x20precision\x20is\x20unavailable).\x0a\x0a🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20whole\x20objects/balances/profiles;\x20use\x20onchain_table_data\x20to\x20query\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields;\x20use\x20onchain_events\x20(this\x20tool)\x20to\x20query\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20event\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainEventsInputSchema,'outputSchema':OnchainEventsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('watch\x20wowook\x20events',['events','on-chain','arbitration','order','progress','demand','entity'])}},{'name':'wowok_buildin_info','handler':handleWowokInfo,'config':{'title':'ℹ️\x20WoWok\x20Build-in\x20Information','summary':'Getting-started\x20orientation,\x20protocol\x20constants,\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance,\x20upgrade\x20check.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27getting\x20started\x27,\x20\x27constants\x27,\x20\x27built-in\x20permissions\x27,\x20\x27common\x20mistakes\x27,\x20\x27guard\x20instructions\x27,\x20\x27current\x20network\x27,\x20\x27value\x20types\x27,\x20\x27mainnet\x20bridge\x20tokens\x27,\x20\x27funding\x20guidance\x27,\x20\x27upgrade_check\x27,\x20or\x20\x27universal_template\x27.\x20Call\x20\x27getting\x20started\x27\x20at\x20conversation\x20start\x20when\x20no\x20WoWok\x20Skill\x20guidance\x20is\x20loaded\x20—\x20it\x20explains\x20what\x20the\x20companion\x20@wowok/skills\x20package\x20is,\x20gives\x20install/doctor/repair\x20commands,\x20best-effort\x20local\x20detection\x20of\x20installed\x20skills,\x20the\x20~20s\x20cold-start\x20window,\x20and\x20maps\x20common\x20goals\x20to\x20sub-tools.\x20Use\x20\x27common\x20mistakes\x27\x20to\x20proactively\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls\x20before\x20submitting\x20an\x20operation\x20(e.g.\x20filter\x20operation:\x22compensation_fund_add\x22).\x20For\x20\x27mainnet\x20bridge\x20tokens\x27:\x20returns\x20cross-chain\x20bridge\x20tokens\x20(ETH,\x20WETH,\x20WBTC,\x20USDC,\x20USDT)\x20with\x20each\x20token\x27s\x20symbol,\x20WOW-side\x20type\x20tag\x20(wowTypeTag),\x20EVM\x20address,\x20decimals,\x20and\x20description.\x20The\x20wowTypeTag\x20(format\x20{address}::{module}::{struct})\x20can\x20be\x20used\x20directly\x20as\x20the\x20`type_parameter`\x20of\x20Service\x20/\x20Treasury\x20/\x20Reward\x20/\x20Allocation\x20objects\x20to\x20set\x20their\x20payment\x20token\x20—\x20e.g.\x20use\x20USDT\x27s\x20wowTypeTag\x20to\x20create\x20a\x20Service\x20that\x20accepts\x20USDT\x20payments.\x20For\x20\x27funding\x20guidance\x27:\x20returns\x20how\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens\x20—\x20testnet\x20faucet,\x20mainnet\x20ETH\x20cross-chain\x20bridge\x20flow,\x20and\x20the\x20WOW\x20mainnet\x20airdrop\x20link.\x20Use\x20this\x20when\x20a\x20user\x20asks\x20how\x20to\x20obtain\x20tokens/gas/funds,\x20or\x20as\x20a\x20proactive\x20first-use\x20reminder.','inputSchema':ProtocolInfoQuerySchema,'outputSchema':ProtocolInfoResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('WoWok\x20info',['build-in','getting-started','skills','constants','permissions','guard','network','value-types','bridge-tokens','funding-guidance','faucet','airdrop'])}},{'name':'schema_query','handler':handleSchemaQuery,'config':{'title':'📋\x20Schema\x20Query','summary':'Query\x20JSON\x20schemas\x20for\x20any\x20sub-tool\x20(action:\x20list/get/get_output/search).','description':'Look\x20up\x20JSON\x20Schemas\x20for\x20WoWok\x20MCP\x20tools\x20and\x20on-chain\x20operations.\x20'+'This\x20is\x20the\x20authoritative\x20reference\x20for\x20exact\x20parameter\x20structures,\x20types,\x20and\x20required\x20fields.\x20'+'Always\x20check\x20the\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.\x0a\x0a'+'Actions:\x0a'+'\x20\x20\x27list\x27\x20-\x20Show\x20all\x20available\x20schemas\x20(tools\x20+\x20on-chain\x20operations).\x20Start\x20here\x20to\x20discover\x20what\x20exists.\x0a'+'\x20\x20\x27get\x27\x20-\x20Fetch\x20the\x20full\x20input\x20JSON\x20Schema\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x0a'+'\x20\x20\x27get_output\x27\x20-\x20Fetch\x20the\x20output\x20JSON\x20Schema\x20of\x20a\x20tool\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x20Use\x20this\x20to\x20understand\x20a\x20tool\x27s\x20return\x20value\x20structure.\x0a'+'\x20\x20\x27get_field\x27\x20-\x20Query\x20a\x20single\x20field\x20by\x20dot-path\x20(e.g.\x20field_path=\x27data.node.nodes.0.pairs\x27).\x20Cheaper\x20than\x20\x27get\x27\x20when\x20you\x20only\x20need\x20one\x20subtree.\x0a'+'\x20\x20\x27search\x27\x20-\x20Find\x20schemas\x20by\x20keyword,\x20matching\x20name/title/description.\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27list_operations\x27\x20-\x20Show\x20only\x20on-chain\x20operation\x20schemas\x20(prefixed\x20\x27onchain_operations_\x27).\x20Narrower\x20than\x20\x27list\x27.\x0a'+'\x20\x20\x27get_guard_templates\x27\x20-\x20Guard\x20creation\x20templates\x20+\x20best\x20practices\x20(e.g.\x20signer_verification,\x20progress_node_check).\x20Omit\x20\x27template\x27\x20to\x20list\x20all.\x0a'+'\x20\x20\x27get_tool_reference\x27\x20-\x20MCP\x20tool\x20usage\x20reference\x20(summaries,\x20actions,\x20prerequisites,\x20notes).\x20Pass\x20name=\x27<tool>\x27\x20for\x20one\x20tool,\x20query=\x27<keyword>\x27\x20to\x20search,\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_guard_design_patterns\x27\x20-\x20Curated\x20Guard\x20design\x20patterns\x20(business\x20requirement\x20→\x20logic\x20tree\x20template).\x20Pass\x20name=\x27<pattern_id>\x27,\x20query=\x27<host>\x27\x20(e.g.\x20\x27service_buy_guard\x27,\x20\x27machine_forward\x27),\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_safety_rules\x27\x20-\x20Safety\x20rule\x20tables\x20sunk\x20from\x20the\x20wowok-safety\x20skill:\x20object\x20reuse,\x20immutability-after-publish,\x20LOCAL/ONCHAIN/QUERY\x20classification,\x20naming\x20conventions.\x0a'+'\x20\x20\x27analyze_guard_semantics\x27\x20-\x20Parse\x20+\x20evaluate\x20ANY\x20Guard\x20JSON\x20(pass\x20guard=<json>):\x20rendered\x20logic\x20tree,\x20lint\x20+\x20risk\x20diagnostics,\x20and\x20a\x20party-perspective\x20fact\x20sheet\x20(who\x20can\x20trigger,\x20time\x20constraints,\x20evidence\x20required,\x20data\x20sources\x20read\x20—\x20including\x20which\x20are\x20mutable\x20on-chain).\x20BOTH\x20transacting\x20parties\x20should\x20run\x20this\x20before\x20relying\x20on\x20a\x20Guard\x20(e.g.\x20a\x20refund\x20or\x20fund-release\x20Guard\x20is\x20a\x20free-form\x20game\x20condition\x20tree,\x20not\x20necessarily\x20tied\x20to\x20any\x20Machine\x20node).','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}}];
@@ -2,7 +2,6 @@ import { type GatePolicyView } from "../safety/confirm-gate.js";
2
2
  import { validateOperation, hasBlockingViolations, getWarningViolations, type ConstraintViolation } from "../knowledge/index.js";
3
3
  import { classifyError, type SemanticContext } from "../schema/call/semantic.js";
4
4
  import type { ToolDispatchResult } from "./types.js";
5
- export declare function withHarness(base: SemanticContext, operation: string, intent: string): SemanticContext;
6
5
  import type { z } from "zod";
7
6
  import type { CallEnv } from "../schema/call/base.js";
8
7
  export interface LocalHandlerConfig<S extends z.ZodTypeAny> {
@@ -1 +1 @@
1
- import{confirmGate}from'../safety/confirm-gate.js';import{renderPreview}from'../safety/preview.js';import{validateOperation,hasBlockingViolations,getWarningViolations}from'../knowledge/index.js';import{getHarness}from'../harness/index.js';import{isEnabled as a401a}from'../config/index.js';import{classifyError,buildDataSemantic}from'../schema/call/semantic.js';import{strictParse}from'../schema/index.js';export function withHarness(a,b,c){if(!a401a('harness'))return a;try{const d=getHarness(),e=d['expect'](b,c,a['operation_type'],a['data']);return{...a,'harness':d,'expected':e,'operation_id':a['operation_type']+'_'+Date['now']()};}catch{return a;}}export function wrapLocalHandler(a){const {schema:b,operationFn:c,parseLabel:d,buildContext:e}=a;return async f=>{let g;try{g=strictParse(b,f,d);const h=await c(g),i=e(g);return{'content':[{'type':'text','text':JSON['stringify'](h)}],'structuredContent':{'result':{'status':'success','data':h},'semantic':buildDataSemantic(h,i)}};}catch(j){const k=j instanceof Error?j['message']:String(j),l=g?e(g):undefined,m=classifyError(k),n={'status':'error','error':k};if(m['error_code']!==undefined)n['error_code']=m['error_code'];if(m['retryable']!==undefined)n['retryable']=m['retryable'];if(m['recovery_hint']!==undefined)n['recovery_hint']=m['recovery_hint'];return{'content':[{'type':'text','text':'Error:\x20'+k}],'structuredContent':{'result':n,'semantic':buildDataSemantic(undefined,l,!![],k)}};}};}export function buildPendingConfirmation(a,b,c,d,e){const f=confirmGate(a,b,c,c?.['user_intent_phrases'],d,e);if(f['pass'])return{'content':[],'structuredContent':null};const g=f['preview'],h=renderPreview(g),i={'message':h,'result':{'type':'pending_confirmation','preview':g,'rule_id':f['rule_id']},'semantic':{'intent':a+'_awaiting_confirmation','status':'pending_input','summary':'Operation\x20blocked\x20by\x20ConfirmGate\x20('+f['level']+').\x20Review\x20the\x20preview\x20and\x20re-call\x20with\x20env.confirmed=true\x20to\x20proceed.','next_actions':[{'action':'confirm:\x20re-call\x20the\x20SAME\x20operation\x20with\x20env.confirmed=true','reason':'ConfirmGate\x20rule\x20\x27'+f['rule_id']+'\x27\x20matched.\x20The\x20operation\x20was\x20NOT\x20executed.','tool':'onchain_operations','priority':'required'}],'warnings':g['warnings']??[]}};return{'content':[{'type':'text','text':h}],'structuredContent':i};}export function buildConstraintError(a,b){const c=b['filter'](g=>g['severity']==='error'),d=c['map'](g=>'\x20\x20•\x20['+g['field']+']\x20'+g['message'])['join']('\x0a'),e='Pre-call\x20constraint\x20violations\x20for\x20\x27'+a+'\x27:\x0a'+d+'\x0a\x0aFix\x20the\x20listed\x20field(s)\x20and\x20retry.',f={'message':e,'result':{'type':'error','error':e,'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Review\x20the\x20constraint\x20violations\x20above\x20and\x20correct\x20the\x20corresponding\x20fields.'}};return{'content':[{'type':'text','text':e}],'structuredContent':f};}export function buildClassifiedErrorResult(a,b,c){const d={...a,'error':b};if(c['error_code']!==undefined)d['error_code']=c['error_code'];if(c['retryable']!==undefined)d['retryable']=c['retryable'];if(c['recovery_hint']!==undefined)d['recovery_hint']=c['recovery_hint'];return d;}export{validateOperation,hasBlockingViolations,getWarningViolations};
1
+ import{confirmGate}from'../safety/confirm-gate.js';import{renderPreview}from'../safety/preview.js';import{validateOperation,hasBlockingViolations,getWarningViolations}from'../knowledge/index.js';import{recover}from'../harness/recover.js';import{classifyError,buildDataSemantic}from'../schema/call/semantic.js';import{strictParse}from'../schema/index.js';export function wrapLocalHandler(a){const {schema:b,operationFn:c,parseLabel:d,buildContext:e}=a;return async f=>{let g;try{g=strictParse(b,f,d);const h=await c(g),i=e(g);return{'content':[{'type':'text','text':JSON['stringify'](h)}],'structuredContent':{'result':{'status':'success','data':h},'semantic':buildDataSemantic(h,i)}};}catch(j){const k=j instanceof Error?j['message']:String(j),l=g?e(g):undefined,m=classifyError(k),n={'status':'error','error':k};if(m['error_code']!==undefined)n['error_code']=m['error_code'];if(m['retryable']!==undefined)n['retryable']=m['retryable'];if(m['recovery_hint']!==undefined)n['recovery_hint']=m['recovery_hint'];return{'content':[{'type':'text','text':'Error:\x20'+k}],'structuredContent':{'result':n,'semantic':buildDataSemantic(undefined,l,!![],k)}};}};}export function buildPendingConfirmation(a,b,c,d,e){const f=confirmGate(a,b,c,c?.['user_intent_phrases'],d,e);if(f['pass'])return{'content':[],'structuredContent':null};const g=f['preview'],h=renderPreview(g),i={'outcome':'pending_input','message':h,'result':{'type':'pending_confirmation','preview':g,'rule_id':f['rule_id']},'semantic':{'intent':a+'_awaiting_confirmation','status':'pending_input','summary':'Operation\x20blocked\x20by\x20ConfirmGate\x20('+f['level']+').\x20Review\x20the\x20preview\x20and\x20re-call\x20with\x20env.confirmed=true\x20to\x20proceed.','next_actions':[{'action':'confirm:\x20re-call\x20the\x20SAME\x20operation\x20with\x20env.confirmed=true','reason':'ConfirmGate\x20rule\x20\x27'+f['rule_id']+'\x27\x20matched.\x20The\x20operation\x20was\x20NOT\x20executed.','tool':'onchain_operations','priority':'required'}],'warnings':g['warnings']??[]}};return{'content':[{'type':'text','text':h}],'structuredContent':i};}export function buildConstraintError(a,b){const c=b['filter'](g=>g['severity']==='error'),d=c['map'](g=>'\x20\x20•\x20['+g['field']+']\x20'+g['message'])['join']('\x0a'),e='Pre-call\x20constraint\x20violations\x20for\x20\x27'+a+'\x27:\x0a'+d+'\x0a\x0aFix\x20the\x20listed\x20field(s)\x20and\x20retry.',f={'outcome':'failed','message':e,'result':{'type':'error','error':e,'error_code':'invalid_parameter','retryable':![],'recovery_hint':'Review\x20the\x20constraint\x20violations\x20above\x20and\x20correct\x20the\x20corresponding\x20fields.'},'recovery':recover('invalid_parameter',a)};return{'content':[{'type':'text','text':e}],'structuredContent':f};}export function buildClassifiedErrorResult(a,b,c){const d={...a,'error':b};if(c['error_code']!==undefined)d['error_code']=c['error_code'];if(c['retryable']!==undefined)d['retryable']=c['retryable'];if(c['recovery_hint']!==undefined)d['recovery_hint']=c['recovery_hint'];return d;}export{validateOperation,hasBlockingViolations,getWarningViolations};
@@ -1 +1 @@
1
- import{classifyError,buildDataSemantic}from'../schema/call/semantic.js';import{buildClassifiedErrorResult}from'./shared.js';import{shouldRunLightHooks,shouldRunHeavyHooks,recordOperationFailure,recordCriticalRisk,recordCriticalOperation,recordSubstepFailure}from'../harness/auto-escalation.js';import{getHarnessTier,setHarnessTier,isEnabled}from'../config/runtime.js';import{getHarness}from'../harness/index.js';import{recordOperationOutcome}from'../experience/index.js';import{recordIndustrySignal}from'../knowledge/flywheel-loop.js';import{getStageCache}from'../playbooks/service-build/index.js';import{SERVICE_BUILD_STAGES}from'../playbooks/service-build/process.js';import{extractAmount,getAmountThreshold,formatAmount}from'../knowledge/safety-rules.js';function stageIndexOf(a){const b=SERVICE_BUILD_STAGES['indexOf'](a);return b>=0x0?b:0x0;}export function withTimeout(a,b=0x7530,c='operation'){let d;return Promise['race']([a['finally'](()=>{if(d)clearTimeout(d);}),new Promise((e,f)=>{d=setTimeout(()=>{let g='';if(c['includes']('messenger'))g='\x20This\x20is\x20a\x20messenger\x20network\x20operation.\x20Possible\x20causes:\x20'+'(1)\x20messenger\x20server\x20(https://messenger.wowok.net)\x20unreachable,\x20'+'(2)\x20no\x20messenger-enabled\x20account\x20configured\x20(use\x20account_operation\x20to\x20set\x20messenger\x20name),\x20'+'(3)\x20network\x20connectivity\x20issue.\x20'+'Ensure\x20you\x20have\x20a\x20messenger-enabled\x20account\x20and\x20the\x20server\x20is\x20reachable.';else(c['includes']('onchain')||c['includes']('account_operation')||c['includes']('bridge')||c['includes']('workflow')||c['includes']('keeper')||c['includes']('wowok'))&&(g='\x20This\x20tool\x20may\x20submit\x20an\x20ON-CHAIN\x20transaction.\x20The\x20transaction\x20was\x20NOT\x20cancelled\x20'+'by\x20this\x20timeout\x20—\x20it\x20may\x20already\x20be\x20submitted\x20and\x20still\x20finalize\x20on-chain.\x20'+'DO\x20NOT\x20blindly\x20retry\x20(risk\x20of\x20duplicate\x20operations).\x20First\x20verify:\x20'+'(1)\x20if\x20the\x20error\x20above\x20carries\x20a\x20tx\x20digest,\x20check\x20it\x20via\x20query_toolkit\x20'+'(query_type=\x27onchain_transaction\x27);\x20(2)\x20otherwise\x20verify\x20via\x20query_toolkit\x20'+'onchain_events\x20(or\x20the\x20account\x27s\x20recent\x20transactions).\x20Do\x20NOT\x20rely\x20on\x20an\x20'+'onchain_objects\x20read\x20alone:\x20it\x20may\x20serve\x20a\x20pre-transaction\x20cached\x20snapshot,\x20'+'so\x20an\x20unchanged\x20object\x20must\x20never\x20on\x20its\x20own\x20justify\x20a\x20retry.');f(new Error('Operation\x20\x27'+c+'\x27\x20timed\x20out\x20after\x20'+b+'ms.'+g));},b);})]);}export function wrapHandlerWithErrorShape(a,b,c,d){return async(e,f)=>{try{return await withTimeout(a(e,f),b,c);}catch(g){if(d){const h=g instanceof Error?g['message']:String(g),i=classifyError(h),j={'operation_type':c,'data':e},k=d(h,i,j);return{'content':[{'type':'text','text':'Error:\x20'+h}],'structuredContent':k};}throw g;}};}export const statusErrorShape=(a,b,c)=>({'result':buildClassifiedErrorResult({'status':'error'},a,b),'semantic':buildDataSemantic(undefined,c,!![],a)});export const operationErrorShape=(a,b,c)=>({'result':buildClassifiedErrorResult({'operation':'error'},a,b),'semantic':buildDataSemantic(undefined,c,!![],a)});export const strictStatusErrorShape=(a,b,c)=>({'result':{'status':'error','error':a}});function checkProjectStage(a,b,c){const d={'analyze_intent':'puzzle','aggregate_risks':'risk','trace_substeps':'substeps'},e=d[a];if(!e)return null;const f=getStageCache(b,c);if(!f){if(a==='analyze_intent')return null;return'project_stage:\x20calling\x20\x27'+a+'\x27\x20before\x20\x27analyze_intent\x27\x20—\x20recommend\x20calling\x20analyze_intent\x20first\x20for\x20project\x20\x27'+b+':'+c+'\x27';}if(stageIndexOf(f['stage'])<stageIndexOf(e)-0x1)return'project_stage:\x20calling\x20\x27'+a+'\x27\x20(stage\x20\x27'+e+'\x27)\x20but\x20project\x20is\x20at\x20stage\x20\x27'+f['stage']+'\x27\x20—\x20recommend\x20completing\x20prior\x20stages\x20first\x20for\x20\x27'+b+':'+c+'\x27';return null;}export function dispatchWithHarness(a,b){return async(d,f)=>{const g=[],h=getHarness(),i=shouldRunLightHooks(),j=shouldRunHeavyHooks(),k=isPublishOperation(b,d),l=isSignOperation(b,d),m=getHarnessTier();let n;if(i)try{const p=extractOperationType(b,d),q=extractIntent(b,d);p&&q&&(n=h['expect'](b,q,p,extractData(d)));}catch(r){g['push']('pre_call\x20hook\x20failed:\x20'+(r instanceof Error?r['message']:String(r)));}if(b==='goal_operation'&&i)try{const s=d,t=s?.['action'],u=s?.['project'],v=s?.['version'];if(t&&u&&v){const x=checkProjectStage(t,u,v);x&&g['push'](x);}}catch{}k&&m==='lightweight'&&(setHarnessTier('full'),g['push']('pre_publish:\x20tier\x20forced\x20to\x20full\x20for\x20publish-class\x20operation\x20(GLM5-21\x20§3.3)'));if(k&&m!=='off')try{const y=runPrePublishChecks(b,d);g['push'](...y['warnings']);if(y['critical']['length']>0x0){for(const z of y['critical']){const A=recordCriticalRisk(z);if(A)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+A['reason']);}return buildHarnessBlockResult('pre_publish','Publish\x20BLOCKED\x20by\x20Harness\x20pre-publish\x20gate\x20(GLM5-21\x20V6):\x20'+(y['critical']['length']+'\x20CRITICAL\x20risk(s)\x20must\x20be\x20resolved\x20before\x20publish.'),y['critical'],y['warnings'],'immutable_violation','Fix\x20the\x20CRITICAL\x20risks\x20listed\x20in\x20the\x20message\x20(e.g.\x20rename\x20dispute/refund\x20nodes\x20per\x20R-M1-11,\x20add\x20the\x20entry\x20pair\x20prev_node=\x22\x22),\x20then\x20retry\x20publish.\x20Nodes/pairs/forwards\x20are\x20immutable\x20after\x20publish\x20—\x20verify\x20via\x20machineNode2file\x20first.');}}catch(B){g['push']('pre_publish\x20hook\x20failed:\x20'+(B instanceof Error?B['message']:String(B)));}if(l&&j)try{const C=extractData(d),D=C?extractAmount(C):null;if(D!==null){const E=getAmountThreshold();let F=null;try{F=BigInt(D);}catch{F=null;}if(F!==null&&F>E)return buildHarnessBlockResult('pre_sign','Sign\x20BLOCKED\x20by\x20Harness\x20pre-sign\x20gate\x20(GLM5-21\x20V7):\x20amount\x20'+formatAmount(F)+'\x20WOW\x20exceeds\x20the\x20full-tier\x20threshold\x20'+formatAmount(E)+'\x20WOW.',['amount\x20'+D+'\x20(smallest\x20unit)\x20>\x20threshold\x20'+E['toString']()+'\x20(smallest\x20unit)'],[],'invalid_parameter','Raise\x20WOWOK_AMOUNT_THRESHOLD\x20to\x20match\x20the\x20intended\x20amount,\x20split\x20the\x20transaction,\x20or\x20reset\x20the\x20harness\x20tier\x20to\x20lightweight\x20(config_operation)\x20after\x20explicit\x20user\x20confirmation.');}}catch(G){g['push']('pre_sign\x20hook\x20failed:\x20'+(G instanceof Error?G['message']:String(G)));}let o;try{o=await a(d,f);}catch(H){const I=H instanceof Error?H['message']:String(H),J=recordOperationFailure(b,I);J&&g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+J['reason']);if(b==='onchain_operations')try{const K=classifyError(I,H);if(!K['retryable']&&K['error_code']!=='unknown'){const L=recordCriticalOperation(b,K['error_code']);if(L)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+L['reason']);}}catch{}throw H;}if(i&&n)try{if(o?.['structuredContent']){const M=buildVerifyInput(n,o),N=h['verify'](M);if(N['status']==='fail')g['push']('Harness\x20verify\x20FAIL:\x20'+N['summary']);else N['status']==='warn'&&g['push']('Harness\x20verify\x20WARN:\x20'+N['summary']);}}catch(O){g['push']('post_call\x20hook\x20failed:\x20'+(O instanceof Error?O['message']:String(O)));}if(b==='onchain_operations')try{if(classifyOutcome(o)==='failed'){const P=extractErrorCode(o)??'',Q=classifyError(P);if(!Q['retryable']&&Q['error_code']!=='unknown'){const R=recordCriticalOperation(b,Q['error_code']);if(R)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+R['reason']);}}}catch{}if(i){const S=extractIntent(b,d)??b;try{const T=classifyOutcome(o);if(T==='failed'){const U=extractErrorCode(o)??'',V=classifyError(U),W=h['recover'](V['error_code'],S,{'operation_type':b,'data':extractData(d)});g['push']('Harness\x20recover:\x20strategy='+W['strategy']+('\x20(attempt\x20'+W['current_attempt']+'/'+W['max_attempts']+')')+(W['should_retry']?'\x20—\x20retryable':'\x20—\x20do\x20NOT\x20retry\x20blindly')+(W['user_prompt']?'\x20—\x20'+W['user_prompt']:'\x20—\x20'+W['detail']));}else T==='success'&&h['resetRecovery'](S);}catch(X){g['push']('recover\x20hook\x20failed:\x20'+(X instanceof Error?X['message']:String(X)));}}if(b==='goal_operation')try{const Y=d?.['action'];if(Y==='trace_substeps'){const Z=extractCriticalFindingCount(o);if(Z>0x0){const a0=recordSubstepFailure(String(Y)+':\x20'+Z+'\x20critical\x20finding(s)');if(a0)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+a0['reason']);}}}catch{}if(isWriteClassTool(b)&&!SEMANTIC_RECORDED_TOOLS['has'](b))try{const a1=extractOperationType(b,d)??b,a2=extractIntent(b,d)??b,a3=extractData(d)??d,a4=classifyOutcome(o),a5=extractErrorCode(o),a6=isEnabled('experience_layer');if(a6)recordOperationOutcome(a1,a3,a2,a4,a5);else{const a7=extractIndustry(d);a7&&isEnabled('industry_evolution')&&recordIndustrySignal(a7,{'type':a1},{'success':a4==='success','error_code':a5});}}catch(a8){g['push']('signal\x20collection\x20failed:\x20'+(a8 instanceof Error?a8['message']:String(a8)));}if(g['length']>0x0){if(o?.['structuredContent']){const a9=o['structuredContent'],aa=a9['semantic'];if(aa){const ab=Array['isArray'](aa['warnings'])?aa['warnings']:[];aa['warnings']=[...ab,...g];}else for(const ac of g){console['warn']('[harness]\x20'+ac);}}else for(const ad of g){console['warn']('[harness]\x20'+ad);}}return o;};}function isPublishOperation(a,b){if(a!=='onchain_operations')return![];const c=extractOperationType(a,b);if(c!=='service'&&c!=='machine')return![];const d=extractData(b);return d?.['publish']===!![]||d?.['bPublished']===!![];}function isSignOperation(a,b){if(a==='wip_file'){const c=b?.['operation_type'];return c==='sign';}return a==='onchain_operations';}function extractOperationType(a,b){if(!b||typeof b!=='object')return undefined;const c=b;if(a==='onchain_operations')return typeof c['operation_type']==='string'?c['operation_type']:undefined;if(a==='goal_operation'||a==='industry_pack_operation'||a==='strategy_review_operation')return typeof c['action']==='string'?c['action']:undefined;return typeof c['operation_type']==='string'?c['operation_type']:undefined;}function extractIntent(a,b){if(!b||typeof b!=='object')return undefined;const c=b;if((a==='goal_operation'||a==='industry_pack_operation'||a==='strategy_review_operation')&&typeof c['action']==='string')return a+':'+c['action'];const d=c['operation_type'];if(typeof d==='string')return a+':'+d;return a;}function extractData(a){if(!a||typeof a!=='object')return undefined;const b=a,c=b['data'];return c&&typeof c==='object'?c:undefined;}function buildVerifyInput(a,b){const c=b['structuredContent']??{},d=c['semantic'];return{'expected':a,'actual':{'result_type':typeof c['result_type']==='string'?c['result_type']:undefined,'semantic':d,'error_code':typeof c['error_code']==='string'?c['error_code']:undefined,'error':typeof c['error']==='string'?c['error']:undefined}};}const WRITE_CLASS_TOOLS=new Set(['onchain_operations','goal_operation','industry_pack_operation','strategy_review_operation','wip_file','messenger_operation','bridge_operation']),SEMANTIC_RECORDED_TOOLS=new Set(['onchain_operations','bridge_operation']);function isWriteClassTool(a){return WRITE_CLASS_TOOLS['has'](a);}function classifyOutcome(a){if(!a?.['structuredContent'])return'failed';const b=a['structuredContent'],c=typeof b['status']==='string'?b['status']:typeof b['result_type']==='string'?b['result_type']:'';if(c==='error'||c==='failed')return'failed';if(c==='partial')return'partial';return'success';}function extractErrorCode(a){if(!a?.['structuredContent'])return undefined;const b=a['structuredContent'];if(typeof b['error_code']==='string')return b['error_code'];const c=b['error'];if(typeof c==='string')return c;if(c&&typeof c==='object'){const d=c['code'];if(typeof d==='string')return d;}return undefined;}function extractIndustry(a){if(!a||typeof a!=='object')return undefined;const b=a;if(typeof b['industry']==='string')return b['industry'];const c=b['data'];if(c&&typeof c==='object'){const e=c;if(typeof e['industry']==='string')return e['industry'];}return undefined;}const ANTI_PATTERN_NODE_REGEX=/(^|_)(disputed?|refund(?:ed)?|arbitration|arb)(_|$)/i;function runPrePublishChecks(a,b){const c=[],d=[],e=extractOperationType(a,b),g=extractData(b)??{};if(e==='machine'){const h=g['node'],i=Array['isArray'](h)?h:Array['isArray'](h?.['nodes'])?h['nodes']:[];if(i['length']>0x0){for(const l of i){const m=typeof l?.['name']==='string'?l['name']:'';m&&ANTI_PATTERN_NODE_REGEX['test'](m)&&c['push']('R-M1-11:\x20machine\x20node\x20\x22'+m+'\x22\x20models\x20dispute/refund\x20flow\x20—\x20'+'refunds\x20must\x20route\x20via\x20an\x20Allocator\x20triggered\x20by\x20business\x20states,\x20'+'disputes\x20via\x20the\x20separate\x20Arbitration\x20object\x20(off-Machine)');}const j=new Set();for(const o of i){const q=typeof o?.['name']==='string'?o['name']:'';if(!q)continue;j['has'](q)&&c['push']('MC-C-04:\x20duplicate\x20machine\x20node\x20name\x20\x22'+q+'\x22\x20—\x20on-chain\x20will\x20reject\x20the\x20publish\x20transaction'),j['add'](q);}const k=i['some'](r=>Array['isArray'](r?.['pairs'])&&r['pairs']['some'](s=>s?.['prev_node']===''));!k&&c['push']('Machine\x20has\x20no\x20entry\x20pair\x20(prev_node=\x22\x22)\x20—\x20Progress\x20can\x20never\x20advance\x20'+'from\x20the\x20initial\x20state;\x20orders\x20are\x20permanently\x20stuck');for(const r of i){const s=typeof r?.['name']==='string'?r['name']:'?';for(const t of r?.['pairs']??[]){for(const u of t?.['forwards']??[]){const v=u?.['namedOperator']!==undefined&&u?.['namedOperator']!==null,w=u?.['permissionIndex']!==undefined&&u?.['permissionIndex']!==null;!v&&!w&&d['push']('pre_publish:\x20node\x20\x22'+s+'\x22\x20forward\x20\x22'+String(u?.['name']??'?')+'\x22\x20has\x20neither\x20namedOperator\x20nor\x20permissionIndex\x20—\x20no\x20one\x20can\x20advance\x20it');}}}}else d['push']('pre_publish:\x20publishing\x20machine\x20without\x20inline\x20node\x20data\x20—\x20topology\x20not\x20verifiable\x20in\x20this\x20call;\x20'+'verify\x20nodes/pairs/forwards\x20via\x20machineNode2file\x20BEFORE\x20publish\x20(immutable\x20after\x20publish,\x20IMMUT-001)');d['push']('pre_publish:\x20machine\x20nodes/pairs/forwards\x20become\x20immutable\x20after\x20publish\x20(IMMUT-001)');}return e==='service'&&(d['push']('pre_publish:\x20service\x20machine/order_allocators/arbitrations\x20become\x20immutable\x20after\x20publish\x20(IMMUT-002);\x20sales\x20remains\x20modifiable'),g['machine']===undefined&&d['push']('pre_publish:\x20\x27machine\x27\x20not\x20set\x20in\x20this\x20call\x20—\x20if\x20the\x20service\x20was\x20never\x20bound\x20to\x20a\x20published\x20machine,\x20'+'it\x20cannot\x20process\x20orders\x20and\x20CANNOT\x20be\x20fixed\x20after\x20publish'),g['order_allocators']===undefined&&d['push']('pre_publish:\x20\x27order_allocators\x27\x20not\x20set\x20in\x20this\x20call\x20—\x20immutable\x20after\x20publish;\x20'+'orders\x20will\x20have\x20no\x20fund\x20distribution\x20if\x20never\x20configured')),{'critical':c,'warnings':d};}function buildHarnessBlockResult(a,b,c,d,e,f){const g=[...c['map'](i=>'CRITICAL:\x20'+i),...d['map'](i=>'WARN:\x20'+i)]['join']('\x0a'),h='Error:\x20'+b+(g?'\x0a'+g:'')+'\x0aRecovery:\x20'+f;return{'content':[{'type':'text','text':h}],'structuredContent':{'result':{'type':'error','error':b+'\x20[gate='+a+']','error_code':e,'retryable':![],'recovery_hint':f},'message':h}};}function extractCriticalFindingCount(a){const b=a?.['structuredContent'];if(!b)return 0x0;const c=b['semantic'],d=c?.['summary'];if(typeof d?.['critical_count']==='number'&&d['critical_count']>0x0)return d['critical_count'];const e=b['findings']??c?.['findings'];if(Array['isArray'](e))return e['filter'](h=>h?.['severity']==='error')['length'];const f=a?.['content']?.['map'](h=>'text'in h?h['text']:'')['join']('\x0a')??'',g=f['match'](/\[AUDIT ERROR\]/g);return g?g['length']:0x0;}
1
+ import{classifyError,buildDataSemantic}from'../schema/call/semantic.js';import{buildClassifiedErrorResult}from'./shared.js';import{shouldRunLightHooks,shouldRunHeavyHooks,recordOperationFailure,recordCriticalRisk,recordCriticalOperation,recordSubstepFailure}from'../harness/auto-escalation.js';import{getHarnessTier,setHarnessTier,isEnabled}from'../config/runtime.js';import{getHarness}from'../harness/index.js';import{recover}from'../harness/recover.js';import{recordOperationOutcome}from'../experience/index.js';import{recordIndustrySignal}from'../knowledge/flywheel-loop.js';import{getStageCache}from'../playbooks/service-build/index.js';import{SERVICE_BUILD_STAGES}from'../playbooks/service-build/process.js';import{extractAmount,getAmountThreshold,formatAmount}from'../knowledge/safety-rules.js';function stageIndexOf(a){const b=SERVICE_BUILD_STAGES['indexOf'](a);return b>=0x0?b:0x0;}export function withTimeout(a,b=0x7530,c='operation'){let d;return Promise['race']([a['finally'](()=>{if(d)clearTimeout(d);}),new Promise((e,f)=>{d=setTimeout(()=>{let g='';if(c['includes']('messenger'))g='\x20This\x20is\x20a\x20messenger\x20network\x20operation.\x20Possible\x20causes:\x20'+'(1)\x20messenger\x20server\x20(https://messenger.wowok.net)\x20unreachable,\x20'+'(2)\x20no\x20messenger-enabled\x20account\x20configured\x20(use\x20account_operation\x20to\x20set\x20messenger\x20name),\x20'+'(3)\x20network\x20connectivity\x20issue.\x20'+'Ensure\x20you\x20have\x20a\x20messenger-enabled\x20account\x20and\x20the\x20server\x20is\x20reachable.';else(c['includes']('onchain')||c['includes']('account_operation')||c['includes']('bridge')||c['includes']('workflow')||c['includes']('keeper')||c['includes']('wowok'))&&(g='\x20This\x20tool\x20may\x20submit\x20an\x20ON-CHAIN\x20transaction.\x20The\x20transaction\x20was\x20NOT\x20cancelled\x20'+'by\x20this\x20timeout\x20—\x20it\x20may\x20already\x20be\x20submitted\x20and\x20still\x20finalize\x20on-chain.\x20'+'DO\x20NOT\x20blindly\x20retry\x20(risk\x20of\x20duplicate\x20operations).\x20First\x20verify:\x20'+'(1)\x20if\x20the\x20error\x20above\x20carries\x20a\x20tx\x20digest,\x20check\x20it\x20via\x20query_toolkit\x20'+'(query_type=\x27onchain_transaction\x27);\x20(2)\x20otherwise\x20verify\x20via\x20query_toolkit\x20'+'onchain_events\x20(or\x20the\x20account\x27s\x20recent\x20transactions).\x20Do\x20NOT\x20rely\x20on\x20an\x20'+'onchain_objects\x20read\x20alone:\x20it\x20may\x20serve\x20a\x20pre-transaction\x20cached\x20snapshot,\x20'+'so\x20an\x20unchanged\x20object\x20must\x20never\x20on\x20its\x20own\x20justify\x20a\x20retry.');f(new Error('Operation\x20\x27'+c+'\x27\x20timed\x20out\x20after\x20'+b+'ms.'+g));},b);})]);}export function wrapHandlerWithErrorShape(a,b,c,d){return async(e,f)=>{try{return await withTimeout(a(e,f),b,c);}catch(g){if(d){const h=g instanceof Error?g['message']:String(g),i=classifyError(h),j={'operation_type':c,'data':e},k=d(h,i,j);return{'content':[{'type':'text','text':'Error:\x20'+h}],'structuredContent':k};}throw g;}};}export const statusErrorShape=(a,b,c)=>({'result':buildClassifiedErrorResult({'status':'error'},a,b),'semantic':buildDataSemantic(undefined,c,!![],a)});export const operationErrorShape=(a,b,c)=>({'result':buildClassifiedErrorResult({'operation':'error'},a,b),'semantic':buildDataSemantic(undefined,c,!![],a)});export const strictStatusErrorShape=(a,b,c)=>({'result':{'status':'error','error':a}});function checkProjectStage(a,b,c){const d={'analyze_intent':'puzzle','aggregate_risks':'risk','trace_substeps':'substeps'},e=d[a];if(!e)return null;const f=getStageCache(b,c);if(!f){if(a==='analyze_intent')return null;return'project_stage:\x20calling\x20\x27'+a+'\x27\x20before\x20\x27analyze_intent\x27\x20—\x20recommend\x20calling\x20analyze_intent\x20first\x20for\x20project\x20\x27'+b+':'+c+'\x27';}if(stageIndexOf(f['stage'])<stageIndexOf(e)-0x1)return'project_stage:\x20calling\x20\x27'+a+'\x27\x20(stage\x20\x27'+e+'\x27)\x20but\x20project\x20is\x20at\x20stage\x20\x27'+f['stage']+'\x27\x20—\x20recommend\x20completing\x20prior\x20stages\x20first\x20for\x20\x27'+b+':'+c+'\x27';return null;}export function dispatchWithHarness(a,b){return async(d,f)=>{const g=[],h=getHarness(),i=shouldRunLightHooks(),j=shouldRunHeavyHooks(),k=isPublishOperation(b,d),l=isSignOperation(b,d),m=getHarnessTier();if(b==='goal_operation'&&i)try{const o=d,p=o?.['action'],q=o?.['project'],r=o?.['version'];if(p&&q&&r){const s=checkProjectStage(p,q,r);s&&g['push'](s);}}catch{}k&&m==='lightweight'&&(setHarnessTier('full'),g['push']('pre_publish:\x20tier\x20forced\x20to\x20full\x20for\x20publish-class\x20operation\x20(GLM5-21\x20§3.3)'));if(k&&m!=='off')try{const t=runPrePublishChecks(b,d);g['push'](...t['warnings']);if(t['critical']['length']>0x0){for(const u of t['critical']){const v=recordCriticalRisk(u);if(v)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+v['reason']);}return buildHarnessBlockResult('pre_publish','Publish\x20BLOCKED\x20by\x20Harness\x20pre-publish\x20gate\x20(GLM5-21\x20V6):\x20'+(t['critical']['length']+'\x20CRITICAL\x20risk(s)\x20must\x20be\x20resolved\x20before\x20publish.'),t['critical'],t['warnings'],'immutable_violation','Fix\x20the\x20CRITICAL\x20risks\x20listed\x20in\x20the\x20message\x20(e.g.\x20rename\x20dispute/refund\x20nodes\x20per\x20R-M1-11,\x20add\x20the\x20entry\x20pair\x20prev_node=\x22\x22),\x20then\x20retry\x20publish.\x20Nodes/pairs/forwards\x20are\x20immutable\x20after\x20publish\x20—\x20verify\x20via\x20machineNode2file\x20first.');}}catch(x){g['push']('pre_publish\x20hook\x20failed:\x20'+(x instanceof Error?x['message']:String(x)));}if(l&&j)try{const y=extractData(d),z=y?extractAmount(y):null;if(z!==null){const A=getAmountThreshold();let B=null;try{B=BigInt(z);}catch{B=null;}if(B!==null&&B>A)return buildHarnessBlockResult('pre_sign','Sign\x20BLOCKED\x20by\x20Harness\x20pre-sign\x20gate\x20(GLM5-21\x20V7):\x20amount\x20'+formatAmount(B)+'\x20WOW\x20exceeds\x20the\x20full-tier\x20threshold\x20'+formatAmount(A)+'\x20WOW.',['amount\x20'+z+'\x20(smallest\x20unit)\x20>\x20threshold\x20'+A['toString']()+'\x20(smallest\x20unit)'],[],'invalid_parameter','Raise\x20WOWOK_AMOUNT_THRESHOLD\x20to\x20match\x20the\x20intended\x20amount,\x20split\x20the\x20transaction,\x20or\x20reset\x20the\x20harness\x20tier\x20to\x20lightweight\x20(config_operation)\x20after\x20explicit\x20user\x20confirmation.');}}catch(C){g['push']('pre_sign\x20hook\x20failed:\x20'+(C instanceof Error?C['message']:String(C)));}let n;try{n=await a(d,f);}catch(D){const E=D instanceof Error?D['message']:String(D),F=recordOperationFailure(b,E);F&&g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+F['reason']);if(b==='onchain_operations')try{const G=classifyError(E,D);if(!G['retryable']&&G['error_code']!=='unknown'){const H=recordCriticalOperation(b,G['error_code']);if(H)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+H['reason']);}}catch{}throw D;}if(b==='onchain_operations')try{if(classifyOutcome(n)==='failed'){const I=extractErrorCode(n)??'',J=classifyError(I);if(!J['retryable']&&J['error_code']!=='unknown'){const K=recordCriticalOperation(b,J['error_code']);if(K)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+K['reason']);}}}catch{}if(i&&!isOutcomeDiscriminated(n)){const L=extractIntent(b,d)??b;try{const M=classifyOutcome(n);if(M==='failed'){const N=extractErrorCode(n)??'',O=classifyError(N),P=h['recover'](O['error_code'],L,{'operation_type':b,'data':extractData(d)});g['push']('Harness\x20recover:\x20strategy='+P['strategy']+('\x20(attempt\x20'+P['current_attempt']+'/'+P['max_attempts']+')')+(P['should_retry']?'\x20—\x20retryable':'\x20—\x20do\x20NOT\x20retry\x20blindly')+(P['user_prompt']?'\x20—\x20'+P['user_prompt']:'\x20—\x20'+P['detail']));}else M==='success'&&h['resetRecovery'](L);}catch(Q){g['push']('recover\x20hook\x20failed:\x20'+(Q instanceof Error?Q['message']:String(Q)));}}if(b==='goal_operation')try{const R=d?.['action'];if(R==='trace_substeps'){const S=extractCriticalFindingCount(n);if(S>0x0){const T=recordSubstepFailure(String(R)+':\x20'+S+'\x20critical\x20finding(s)');if(T)g['push']('Harness\x20escalated\x20to\x20full\x20tier:\x20'+T['reason']);}}}catch{}if(isWriteClassTool(b)&&!SEMANTIC_RECORDED_TOOLS['has'](b))try{const U=extractOperationType(b,d)??b,V=extractIntent(b,d)??b,W=extractData(d)??d,X=classifyOutcome(n),Y=extractErrorCode(n),Z=isEnabled('experience_layer');if(Z)recordOperationOutcome(U,W,V,X,Y);else{const a0=extractIndustry(d);a0&&isEnabled('industry_evolution')&&recordIndustrySignal(a0,{'type':U},{'success':X==='success','error_code':Y});}}catch(a1){g['push']('signal\x20collection\x20failed:\x20'+(a1 instanceof Error?a1['message']:String(a1)));}if(g['length']>0x0){if(n?.['structuredContent']){const a2=n['structuredContent'],a3=a2['semantic'];if(a3){const a4=Array['isArray'](a3['warnings'])?a3['warnings']:[];a3['warnings']=[...a4,...g];}else for(const a5 of g){console['warn']('[harness]\x20'+a5);}}else for(const a6 of g){console['warn']('[harness]\x20'+a6);}}return n;};}function isPublishOperation(a,b){if(a!=='onchain_operations')return![];const c=extractOperationType(a,b);if(c!=='service'&&c!=='machine')return![];const d=extractData(b);return d?.['publish']===!![]||d?.['bPublished']===!![];}function isSignOperation(a,b){if(a==='wip_file'){const c=b?.['operation_type'];return c==='sign';}return a==='onchain_operations';}function extractOperationType(a,b){if(!b||typeof b!=='object')return undefined;const c=b;if(a==='onchain_operations')return typeof c['operation_type']==='string'?c['operation_type']:undefined;if(a==='goal_operation'||a==='industry_pack_operation'||a==='strategy_review_operation')return typeof c['action']==='string'?c['action']:undefined;return typeof c['operation_type']==='string'?c['operation_type']:undefined;}function extractIntent(a,b){if(!b||typeof b!=='object')return undefined;const c=b;if((a==='goal_operation'||a==='industry_pack_operation'||a==='strategy_review_operation')&&typeof c['action']==='string')return a+':'+c['action'];const d=c['operation_type'];if(typeof d==='string')return a+':'+d;return a;}function extractData(a){if(!a||typeof a!=='object')return undefined;const b=a,c=b['data'];return c&&typeof c==='object'?c:undefined;}const WRITE_CLASS_TOOLS=new Set(['onchain_operations','goal_operation','industry_pack_operation','strategy_review_operation','wip_file','messenger_operation','bridge_operation']),SEMANTIC_RECORDED_TOOLS=new Set(['onchain_operations','bridge_operation']);function isWriteClassTool(a){return WRITE_CLASS_TOOLS['has'](a);}function classifyOutcome(a){if(!a?.['structuredContent'])return'failed';const b=a['structuredContent'];if(b['outcome']==='failed')return'failed';if(b['outcome']==='executed')return'success';if(b['outcome']==='pending_input')return'partial';const c=typeof b['status']==='string'?b['status']:typeof b['result_type']==='string'?b['result_type']:'';if(c==='error'||c==='failed')return'failed';if(c==='partial')return'partial';return'success';}function isOutcomeDiscriminated(a){const b=a?.['structuredContent'];return!!b&&typeof b==='object'&&'outcome'in b;}function extractErrorCode(a){if(!a?.['structuredContent'])return undefined;const b=a['structuredContent'];if(typeof b['error_code']==='string')return b['error_code'];const c=b['error'];if(typeof c==='string')return c;if(c&&typeof c==='object'){const d=c['code'];if(typeof d==='string')return d;}return undefined;}function extractIndustry(a){if(!a||typeof a!=='object')return undefined;const b=a;if(typeof b['industry']==='string')return b['industry'];const c=b['data'];if(c&&typeof c==='object'){const e=c;if(typeof e['industry']==='string')return e['industry'];}return undefined;}const ANTI_PATTERN_NODE_REGEX=/(^|_)(disputed?|refund(?:ed)?|arbitration|arb)(_|$)/i;function runPrePublishChecks(a,b){const c=[],d=[],e=extractOperationType(a,b),g=extractData(b)??{};if(e==='machine'){const h=g['node'],i=Array['isArray'](h)?h:Array['isArray'](h?.['nodes'])?h['nodes']:[];if(i['length']>0x0){for(const l of i){const m=typeof l?.['name']==='string'?l['name']:'';m&&ANTI_PATTERN_NODE_REGEX['test'](m)&&c['push']('R-M1-11:\x20machine\x20node\x20\x22'+m+'\x22\x20models\x20dispute/refund\x20flow\x20—\x20'+'refunds\x20must\x20route\x20via\x20an\x20Allocator\x20triggered\x20by\x20business\x20states,\x20'+'disputes\x20via\x20the\x20separate\x20Arbitration\x20object\x20(off-Machine)');}const j=new Set();for(const o of i){const q=typeof o?.['name']==='string'?o['name']:'';if(!q)continue;j['has'](q)&&c['push']('MC-C-04:\x20duplicate\x20machine\x20node\x20name\x20\x22'+q+'\x22\x20—\x20on-chain\x20will\x20reject\x20the\x20publish\x20transaction'),j['add'](q);}const k=i['some'](r=>Array['isArray'](r?.['pairs'])&&r['pairs']['some'](s=>s?.['prev_node']===''));!k&&c['push']('Machine\x20has\x20no\x20entry\x20pair\x20(prev_node=\x22\x22)\x20—\x20Progress\x20can\x20never\x20advance\x20'+'from\x20the\x20initial\x20state;\x20orders\x20are\x20permanently\x20stuck');for(const r of i){const s=typeof r?.['name']==='string'?r['name']:'?';for(const t of r?.['pairs']??[]){for(const u of t?.['forwards']??[]){const v=u?.['namedOperator']!==undefined&&u?.['namedOperator']!==null,w=u?.['permissionIndex']!==undefined&&u?.['permissionIndex']!==null;!v&&!w&&d['push']('pre_publish:\x20node\x20\x22'+s+'\x22\x20forward\x20\x22'+String(u?.['name']??'?')+'\x22\x20has\x20neither\x20namedOperator\x20nor\x20permissionIndex\x20—\x20no\x20one\x20can\x20advance\x20it');}}}}else d['push']('pre_publish:\x20publishing\x20machine\x20without\x20inline\x20node\x20data\x20—\x20topology\x20not\x20verifiable\x20in\x20this\x20call;\x20'+'verify\x20nodes/pairs/forwards\x20via\x20machineNode2file\x20BEFORE\x20publish\x20(immutable\x20after\x20publish,\x20IMMUT-001)');d['push']('pre_publish:\x20machine\x20nodes/pairs/forwards\x20become\x20immutable\x20after\x20publish\x20(IMMUT-001)');}return e==='service'&&(d['push']('pre_publish:\x20service\x20machine/order_allocators/arbitrations\x20become\x20immutable\x20after\x20publish\x20(IMMUT-002);\x20sales\x20remains\x20modifiable'),g['machine']===undefined&&d['push']('pre_publish:\x20\x27machine\x27\x20not\x20set\x20in\x20this\x20call\x20—\x20if\x20the\x20service\x20was\x20never\x20bound\x20to\x20a\x20published\x20machine,\x20'+'it\x20cannot\x20process\x20orders\x20and\x20CANNOT\x20be\x20fixed\x20after\x20publish'),g['order_allocators']===undefined&&d['push']('pre_publish:\x20\x27order_allocators\x27\x20not\x20set\x20in\x20this\x20call\x20—\x20immutable\x20after\x20publish;\x20'+'orders\x20will\x20have\x20no\x20fund\x20distribution\x20if\x20never\x20configured')),{'critical':c,'warnings':d};}function buildHarnessBlockResult(a,b,c,d,e,f){const g=[...c['map'](i=>'CRITICAL:\x20'+i),...d['map'](i=>'WARN:\x20'+i)]['join']('\x0a'),h='Error:\x20'+b+(g?'\x0a'+g:'')+'\x0aRecovery:\x20'+f;return{'content':[{'type':'text','text':h}],'structuredContent':{'outcome':'failed','result':{'type':'error','error':b+'\x20[gate='+a+']','error_code':e,'retryable':![],'recovery_hint':f},'message':h,'recovery':recover(e,'harness:'+a)}};}function extractCriticalFindingCount(a){const b=a?.['structuredContent'];if(!b)return 0x0;const c=b['semantic'],d=c?.['summary'];if(typeof d?.['critical_count']==='number'&&d['critical_count']>0x0)return d['critical_count'];const e=b['findings']??c?.['findings'];if(Array['isArray'](e))return e['filter'](h=>h?.['severity']==='error')['length'];const f=a?.['content']?.['map'](h=>'text'in h?h['text']:'')['join']('\x0a')??'',g=f['match'](/\[AUDIT ERROR\]/g);return g?g['length']:0x0;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wowok/agent-mcp",
3
- "version": "3.1.2",
3
+ "version": "3.1.3",
4
4
  "description": "Making It Easy for AI Agents to Communicate, Collaborate, Trade, and Trust.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -50,7 +50,7 @@
50
50
  "license": "Apache-2.0",
51
51
  "dependencies": {
52
52
  "@modelcontextprotocol/server": "^2.0.0",
53
- "@wowok/wowok": "3.1.2",
53
+ "@wowok/wowok": "3.1.3",
54
54
  "lodash": "^4.18.1",
55
55
  "zod": "^4.2.0"
56
56
  },
@@ -63,8 +63,9 @@
63
63
  },
64
64
  "scripts": {
65
65
  "clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true})\"",
66
- "build": "pnpm clean && pnpm check:hygiene && tsc && pnpm generate:schemas && pnpm obfuscate",
66
+ "build": "pnpm clean && pnpm check:hygiene && tsc && pnpm copy:standards && pnpm generate:schemas && pnpm obfuscate",
67
67
  "check:hygiene": "node --import tsx/esm scripts/check-hygiene.ts",
68
+ "copy:standards": "node -e \"const fs=require('fs');fs.mkdirSync('dist/knowledge/baselines',{recursive:true});fs.copyFileSync('src/knowledge/baselines/evaluation-baselines.json','dist/knowledge/baselines/evaluation-baselines.json')\"",
68
69
  "obfuscate": "javascript-obfuscator dist --output dist --config obfuscator.json",
69
70
  "watch": "tsc --watch",
70
71
  "start": "tsx src/index.ts",