@wowok/agent-mcp 3.0.3 → 3.0.5

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/evaluation/path-reasoning.d.ts +4 -2
  2. package/dist/evaluation/path-reasoning.js +1 -1
  3. package/dist/extensions/constraint-registry.d.ts +2 -2
  4. package/dist/extensions/constraint-registry.js +1 -1
  5. package/dist/extensions/custom-registry-file.d.ts +22 -0
  6. package/dist/extensions/custom-registry-file.js +1 -0
  7. package/dist/extensions/index.d.ts +2 -1
  8. package/dist/extensions/index.js +1 -1
  9. package/dist/extensions/industry-pack.d.ts +7 -0
  10. package/dist/extensions/industry-pack.js +1 -1
  11. package/dist/extensions/metric-registry.d.ts +2 -2
  12. package/dist/extensions/metric-registry.js +1 -1
  13. package/dist/extensions/modes.js +1 -1
  14. package/dist/extensions/registry.d.ts +2 -2
  15. package/dist/extensions/registry.js +1 -1
  16. package/dist/extensions/types.d.ts +4 -0
  17. package/dist/goal/GoalEngine.d.ts +13 -1
  18. package/dist/goal/GoalEngine.js +1 -1
  19. package/dist/goal/next-steps.d.ts +12 -0
  20. package/dist/goal/next-steps.js +1 -0
  21. package/dist/goal/pursue.d.ts +18 -0
  22. package/dist/goal/pursue.js +1 -0
  23. package/dist/goal/types.d.ts +72 -0
  24. package/dist/goal/types.js +1 -1
  25. package/dist/graph/onchain/analyze.d.ts +44 -0
  26. package/dist/graph/onchain/analyze.js +1 -0
  27. package/dist/graph/onchain/analyze.spec.d.ts +1 -0
  28. package/dist/graph/onchain/analyze.spec.js +1 -0
  29. package/dist/graph/onchain/anti-cheat.d.ts +39 -0
  30. package/dist/graph/onchain/anti-cheat.js +1 -0
  31. package/dist/graph/onchain/anti-cheat.spec.d.ts +1 -0
  32. package/dist/graph/onchain/anti-cheat.spec.js +1 -0
  33. package/dist/graph/onchain/dataplane.d.ts +44 -0
  34. package/dist/graph/onchain/dataplane.js +1 -0
  35. package/dist/graph/onchain/edge-schema.d.ts +60 -0
  36. package/dist/graph/onchain/edge-schema.js +1 -0
  37. package/dist/graph/onchain/expand.d.ts +4 -0
  38. package/dist/graph/onchain/expand.js +1 -0
  39. package/dist/graph/onchain/extract.d.ts +21 -0
  40. package/dist/graph/onchain/extract.js +1 -0
  41. package/dist/graph/onchain/index.d.ts +17 -0
  42. package/dist/graph/onchain/index.js +1 -0
  43. package/dist/graph/onchain/interest.d.ts +10 -0
  44. package/dist/graph/onchain/interest.js +1 -0
  45. package/dist/graph/onchain/interest.spec.d.ts +1 -0
  46. package/dist/graph/onchain/interest.spec.js +1 -0
  47. package/dist/graph/onchain/onchain.spec.d.ts +1 -0
  48. package/dist/graph/onchain/onchain.spec.js +1 -0
  49. package/dist/graph/onchain/order-status.d.ts +53 -0
  50. package/dist/graph/onchain/order-status.js +1 -0
  51. package/dist/graph/onchain/project-relationship.d.ts +3 -0
  52. package/dist/graph/onchain/project-relationship.js +1 -0
  53. package/dist/graph/onchain/sdk-batch.d.ts +117 -0
  54. package/dist/graph/onchain/sdk-batch.js +1 -0
  55. package/dist/graph/onchain/sdk-dataplane.d.ts +40 -0
  56. package/dist/graph/onchain/sdk-dataplane.js +1 -0
  57. package/dist/graph/onchain/strategy.d.ts +54 -0
  58. package/dist/graph/onchain/strategy.js +1 -0
  59. package/dist/graph/onchain/strategy.spec.d.ts +1 -0
  60. package/dist/graph/onchain/strategy.spec.js +1 -0
  61. package/dist/graph/onchain/types.d.ts +238 -0
  62. package/dist/graph/onchain/types.js +1 -0
  63. package/dist/graph/onchain/viewport.d.ts +5 -0
  64. package/dist/graph/onchain/viewport.js +1 -0
  65. package/dist/harness/recover.js +1 -1
  66. package/dist/index.js +1 -1
  67. package/dist/intent/enrich.js +1 -1
  68. package/dist/keeper/detectors.d.ts +1 -1
  69. package/dist/keeper/detectors.js +1 -1
  70. package/dist/knowledge/account-marks.js +1 -1
  71. package/dist/knowledge/anti-cheat.d.ts +2 -37
  72. package/dist/knowledge/anti-cheat.js +1 -1
  73. package/dist/knowledge/contract-invariants.js +1 -1
  74. package/dist/knowledge/event-semantics.js +1 -1
  75. package/dist/knowledge/getting-started.d.ts +37 -0
  76. package/dist/knowledge/getting-started.js +1 -0
  77. package/dist/knowledge/goal-completion.js +1 -1
  78. package/dist/knowledge/guard-puzzle.js +1 -1
  79. package/dist/knowledge/guard-render.d.ts +1 -0
  80. package/dist/knowledge/guard-render.js +1 -1
  81. package/dist/knowledge/guard-submission-brief.d.ts +83 -0
  82. package/dist/knowledge/guard-submission-brief.js +1 -0
  83. package/dist/knowledge/guard-submission-prompt.d.ts +13 -0
  84. package/dist/knowledge/guard-submission-prompt.js +1 -1
  85. package/dist/knowledge/index.d.ts +6 -4
  86. package/dist/knowledge/index.js +1 -1
  87. package/dist/knowledge/industry-registry.js +1 -1
  88. package/dist/knowledge/industry-strategy.d.ts +91 -0
  89. package/dist/knowledge/industry-strategy.js +1 -0
  90. package/dist/knowledge/jsonrpc-enum.js +1 -1
  91. package/dist/knowledge/market-metrics.d.ts +14 -3
  92. package/dist/knowledge/market-metrics.js +1 -1
  93. package/dist/knowledge/migration-preflight.js +1 -1
  94. package/dist/knowledge/operation-dictionary.d.ts +1 -1
  95. package/dist/knowledge/safety-rules.js +1 -1
  96. package/dist/knowledge/scenario-topology.d.ts +6 -1
  97. package/dist/knowledge/scenario-topology.js +1 -1
  98. package/dist/knowledge/service-ledger.js +1 -1
  99. package/dist/knowledge/service-risk-node.d.ts +3 -0
  100. package/dist/knowledge/service-risk-node.js +1 -0
  101. package/dist/knowledge/service-risk.d.ts +2 -0
  102. package/dist/knowledge/service-risk.js +1 -1
  103. package/dist/knowledge/service-templates.d.ts +2 -0
  104. package/dist/knowledge/service-templates.js +1 -1
  105. package/dist/knowledge/strategy-manuals.d.ts +17 -0
  106. package/dist/knowledge/strategy-manuals.js +1 -0
  107. package/dist/knowledge/supply-chain.d.ts +3 -1
  108. package/dist/knowledge/supply-chain.js +1 -1
  109. package/dist/knowledge/template-registry.js +1 -1
  110. package/dist/knowledge/tools-reference.js +1 -1
  111. package/dist/knowledge/workflow-guidance.d.ts +3 -118
  112. package/dist/knowledge/workflow-guidance.js +1 -1
  113. package/dist/knowledge/workspace-lists.js +1 -1
  114. package/dist/monitor/MonitorLoop.js +1 -1
  115. package/dist/monitor/ScopeResolver.js +1 -1
  116. package/dist/participation/radar-core.d.ts +15 -15
  117. package/dist/participation/radar-core.js +1 -1
  118. package/dist/persona/analyzer.d.ts +2 -1
  119. package/dist/persona/bridge.d.ts +5 -1
  120. package/dist/persona/bridge.js +1 -1
  121. package/dist/persona/defaults.js +1 -1
  122. package/dist/persona/distill-goal.d.ts +7 -1
  123. package/dist/persona/distill-goal.js +1 -1
  124. package/dist/persona/index.d.ts +13 -3
  125. package/dist/persona/index.js +1 -1
  126. package/dist/persona/model.d.ts +12 -2
  127. package/dist/persona/model.js +1 -1
  128. package/dist/persona/overrides.d.ts +1 -0
  129. package/dist/persona/overrides.js +1 -1
  130. package/dist/persona/topology-focus.d.ts +29 -0
  131. package/dist/persona/topology-focus.js +1 -0
  132. package/dist/persona/types.d.ts +81 -0
  133. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  134. package/dist/playbooks/service-build/context-assembly.js +1 -1
  135. package/dist/playbooks/service-build/machine-nodes.js +1 -1
  136. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  137. package/dist/playbooks/service-build/object-panorama.js +1 -1
  138. package/dist/playbooks/service-build/participation-radar.js +1 -1
  139. package/dist/playbooks/service-build/relationship-profile.d.ts +1 -0
  140. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  141. package/dist/playbooks/service-build/service-panorama.d.ts +4 -0
  142. package/dist/playbooks/service-build/service-panorama.js +1 -1
  143. package/dist/playbooks/service-build/topology-query.d.ts +14 -0
  144. package/dist/playbooks/service-build/topology-query.js +1 -0
  145. package/dist/role/index.d.ts +1 -0
  146. package/dist/role/index.js +1 -1
  147. package/dist/role/profiles.d.ts +26 -0
  148. package/dist/role/profiles.js +1 -0
  149. package/dist/safety/confirm-gate.d.ts +4 -1
  150. package/dist/safety/confirm-gate.js +1 -1
  151. package/dist/schema/call/allocation.d.ts +11 -6
  152. package/dist/schema/call/arbitration.d.ts +5 -0
  153. package/dist/schema/call/base.d.ts +5 -0
  154. package/dist/schema/call/base.js +1 -1
  155. package/dist/schema/call/bridge.d.ts +26 -1
  156. package/dist/schema/call/contact.d.ts +5 -0
  157. package/dist/schema/call/demand.d.ts +5 -0
  158. package/dist/schema/call/guard.d.ts +35 -20
  159. package/dist/schema/call/machine.d.ts +10 -0
  160. package/dist/schema/call/order.d.ts +5 -0
  161. package/dist/schema/call/payment.d.ts +5 -0
  162. package/dist/schema/call/permission.d.ts +5 -0
  163. package/dist/schema/call/personal.d.ts +5 -0
  164. package/dist/schema/call/progress.d.ts +5 -0
  165. package/dist/schema/call/proof.d.ts +10 -0
  166. package/dist/schema/call/repository.d.ts +5 -0
  167. package/dist/schema/call/repository.js +1 -1
  168. package/dist/schema/call/reward.d.ts +5 -0
  169. package/dist/schema/call/semantic.js +1 -1
  170. package/dist/schema/call/service.d.ts +9 -4
  171. package/dist/schema/call/treasury.d.ts +5 -0
  172. package/dist/schema/common/index.js +1 -1
  173. package/dist/schema/employee/index.d.ts +7 -7
  174. package/dist/schema/evaluation/index.d.ts +22 -9
  175. package/dist/schema/evaluation/index.js +1 -1
  176. package/dist/schema/goal/index.d.ts +37 -1
  177. package/dist/schema/goal/index.js +1 -1
  178. package/dist/schema/goal/planning.d.ts +1 -1
  179. package/dist/schema/index.d.ts +2 -0
  180. package/dist/schema/index.js +1 -1
  181. package/dist/schema/industry-pack/index.d.ts +7 -0
  182. package/dist/schema/industry-pack/index.js +1 -1
  183. package/dist/schema/interaction/index.d.ts +34 -0
  184. package/dist/schema/interaction/index.js +1 -0
  185. package/dist/schema/local/index.d.ts +8 -4
  186. package/dist/schema/local/index.js +1 -1
  187. package/dist/schema/messenger/index.d.ts +324 -64
  188. package/dist/schema/messenger/index.js +1 -1
  189. package/dist/schema/operations.d.ts +236 -11
  190. package/dist/schema/operations.js +1 -1
  191. package/dist/schema/persona/index.d.ts +15743 -0
  192. package/dist/schema/persona/index.js +1 -1
  193. package/dist/schema/query/bi.d.ts +869 -2
  194. package/dist/schema/query/bi.js +1 -1
  195. package/dist/schema/query/index.d.ts +163 -41
  196. package/dist/schema/query/index.js +1 -1
  197. package/dist/schema/schema-query/index.d.ts +16 -0
  198. package/dist/schema/schema-query/index.js +1 -1
  199. package/dist/schema/schema-version.js +1 -1
  200. package/dist/schema/strategy-review/index.d.ts +137 -0
  201. package/dist/schema/strategy-review/index.js +1 -0
  202. package/dist/schema/trust/index.d.ts +6 -6
  203. package/dist/schema/workflow/index.d.ts +2 -2
  204. package/dist/schema-query-impl/index.js +1 -1
  205. package/dist/schemas/account_operation.output.json +8 -4
  206. package/dist/schemas/account_operation.schema.json +6 -2
  207. package/dist/schemas/ask_user.output.json +54 -0
  208. package/dist/schemas/ask_user.schema.json +78 -0
  209. package/dist/schemas/bridge_operation.schema.json +50 -5
  210. package/dist/schemas/evaluation_operation.output.json +24 -0
  211. package/dist/schemas/goal_operation.schema.json +124 -0
  212. package/dist/schemas/guard2file.schema.json +10 -1
  213. package/dist/schemas/index.json +13 -1
  214. package/dist/schemas/industry_pack_operation.output.json +39 -0
  215. package/dist/schemas/local_mark_operation.schema.json +2 -2
  216. package/dist/schemas/machineNode2file.schema.json +10 -1
  217. package/dist/schemas/messenger_operation.output.json +678 -200
  218. package/dist/schemas/messenger_operation.schema.json +74 -239
  219. package/dist/schemas/onchain_events.output.json +2 -2
  220. package/dist/schemas/onchain_operations.schema.json +183 -21
  221. package/dist/schemas/onchain_operations_allocation.schema.json +10 -1
  222. package/dist/schemas/onchain_operations_arbitration.schema.json +10 -1
  223. package/dist/schemas/onchain_operations_contact.schema.json +10 -1
  224. package/dist/schemas/onchain_operations_demand.schema.json +10 -1
  225. package/dist/schemas/onchain_operations_gen_passport.schema.json +10 -1
  226. package/dist/schemas/onchain_operations_gen_proof.schema.json +10 -1
  227. package/dist/schemas/onchain_operations_guard.schema.json +10 -1
  228. package/dist/schemas/onchain_operations_machine.schema.json +10 -1
  229. package/dist/schemas/onchain_operations_order.schema.json +10 -1
  230. package/dist/schemas/onchain_operations_payment.schema.json +10 -1
  231. package/dist/schemas/onchain_operations_permission.schema.json +10 -1
  232. package/dist/schemas/onchain_operations_personal.schema.json +10 -1
  233. package/dist/schemas/onchain_operations_progress.schema.json +10 -1
  234. package/dist/schemas/onchain_operations_proof.schema.json +10 -1
  235. package/dist/schemas/onchain_operations_repository.schema.json +13 -4
  236. package/dist/schemas/onchain_operations_reward.schema.json +10 -1
  237. package/dist/schemas/onchain_operations_service.schema.json +10 -1
  238. package/dist/schemas/onchain_operations_treasury.schema.json +10 -1
  239. package/dist/schemas/onchain_table_data.output.json +184 -0
  240. package/dist/schemas/onchain_table_data.schema.json +43 -43
  241. package/dist/schemas/persona_operation.output.json +37778 -262
  242. package/dist/schemas/persona_operation.schema.json +5960 -1
  243. package/dist/schemas/query_toolkit.output.json +1580 -2
  244. package/dist/schemas/query_toolkit.schema.json +194 -32
  245. package/dist/schemas/schema_query.schema.json +25 -1
  246. package/dist/schemas/strategy_review_operation.output.json +532 -0
  247. package/dist/schemas/strategy_review_operation.schema.json +66 -0
  248. package/dist/schemas/wowok_buildin_info.output.json +188 -6
  249. package/dist/schemas/wowok_buildin_info.schema.json +14 -0
  250. package/dist/strategy/collectors.d.ts +66 -0
  251. package/dist/strategy/collectors.js +1 -0
  252. package/dist/strategy/collectors.spec.d.ts +1 -0
  253. package/dist/strategy/collectors.spec.js +1 -0
  254. package/dist/strategy/index.d.ts +5 -0
  255. package/dist/strategy/index.js +1 -0
  256. package/dist/strategy/metrics.d.ts +20 -0
  257. package/dist/strategy/metrics.js +1 -0
  258. package/dist/strategy/review.d.ts +48 -0
  259. package/dist/strategy/review.js +1 -0
  260. package/dist/strategy/scorecard.d.ts +32 -0
  261. package/dist/strategy/scorecard.js +1 -0
  262. package/dist/strategy/store.d.ts +26 -0
  263. package/dist/strategy/store.js +1 -0
  264. package/dist/tools/handlers/ask-user.d.ts +3 -0
  265. package/dist/tools/handlers/ask-user.js +1 -0
  266. package/dist/tools/handlers/config.js +1 -1
  267. package/dist/tools/handlers/evaluation.js +1 -1
  268. package/dist/tools/handlers/goal.js +1 -1
  269. package/dist/tools/handlers/industry-pack.js +1 -1
  270. package/dist/tools/handlers/local.js +1 -1
  271. package/dist/tools/handlers/messenger.js +1 -1
  272. package/dist/tools/handlers/onchain.js +1 -1
  273. package/dist/tools/handlers/permission.js +1 -1
  274. package/dist/tools/handlers/persona.js +1 -1
  275. package/dist/tools/handlers/query.d.ts +6 -0
  276. package/dist/tools/handlers/query.js +1 -1
  277. package/dist/tools/handlers/schema-query.js +1 -1
  278. package/dist/tools/handlers/strategy-review.d.ts +2 -0
  279. package/dist/tools/handlers/strategy-review.js +1 -0
  280. package/dist/tools/handlers/watch.js +1 -1
  281. package/dist/tools/handlers/workflow.js +1 -1
  282. package/dist/tools/index.d.ts +5 -2
  283. package/dist/tools/index.js +1 -1
  284. package/dist/tools/registry/agent.js +1 -1
  285. package/dist/tools/registry/bridge.js +1 -1
  286. package/dist/tools/registry/business.js +1 -1
  287. package/dist/tools/registry/interaction.d.ts +2 -0
  288. package/dist/tools/registry/interaction.js +1 -0
  289. package/dist/tools/registry/local.js +1 -1
  290. package/dist/tools/registry/messenger.js +1 -1
  291. package/dist/tools/registry/monitor.js +1 -1
  292. package/dist/tools/registry/onchain.js +1 -1
  293. package/dist/tools/registry/query.js +1 -1
  294. package/dist/tools/rules-hook.js +1 -1
  295. package/dist/tools/shared.d.ts +2 -1
  296. package/dist/tools/shared.js +1 -1
  297. package/dist/tools/types.d.ts +7 -1
  298. package/dist/tools/wrap.d.ts +3 -3
  299. package/dist/tools/wrap.js +1 -1
  300. package/package.json +2 -2
@@ -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{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';export{monitorEventStore,MonitorEventStore,monitorEventId}from'../monitor/EventStore.js';export{monitorLoop,MonitorLoop}from'../monitor/MonitorLoop.js';export{MONITOR_CAPTURE_TYPES}from'../monitor/normalize.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];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'),WOWOK_TOOL_DESCRIPTION=['WoWok\x20MCP\x20unified\x20interface.\x20Call\x20with\x20{\x20tool:\x20\x22<sub-tool>\x22,\x20data:\x20{<params>}\x20}.','','\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\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 formatZodErrors(a,b){return a['issues']['map'](c=>{const d=c['path']['length']>0x0?c['path']['map'](j=>typeof j==='number'?'['+j+']':j)['join']('.')['replace']('.[','['):'(root)',e=c['code'],f=c['message'];let g='';const h=c;if(e==='invalid_type'){const j=h['expected'],k=h['received'];typeof j==='string'&&typeof k==='string'&&(g='\x20(expected:\x20'+j+';\x20received:\x20'+k+')');}else{if(e==='invalid_value'){const l=h['expected'];if(l!==undefined){const m=typeof l==='string'?l:JSON['stringify'](l);g='\x20(expected:\x20'+m['slice'](0x0,0x3c)+')';}}else{if(e==='too_big'||e==='too_small'){const n=h['maximum']??h['minimum'],o=h['origin'];n!==undefined&&o!==undefined&&(g='\x20('+o+':\x20'+n+')');}}}const i=extractValueAtPath(b,c['path']);if(i!==undefined){const p=typeof i==='string'?'\x22'+i['slice'](0x0,0x3c)+'\x22':typeof i==='object'?JSON['stringify'](i)['slice'](0x0,0x3c):String(i);!g['includes']('received:')&&(g+='\x20(received\x20value:\x20'+p+')');}return d+'\x20['+e+']:\x20'+f+g;});}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.\x20Check\x20the\x20schema\x20for\x20valid\x20shapes.';}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 a['issues']['map'](c=>{const d=c['path']['length']>0x0?c['path']['map'](k=>typeof k==='number'?'['+k+']':k)['join']('.')['replace']('.[','['):'(root)',e=c['code'],f=c['message'],g=c;let h;if(e==='invalid_type'){const k=g['expected'],l=g['received'];typeof k==='string'&&typeof l==='string'&&(h=k);}else{if(e==='invalid_value'){const m=g['expected'],n=g['options'];if(Array['isArray'](n))h=n['map'](o=>JSON['stringify'](o))['join']('\x20|\x20');else m!==undefined&&(h=typeof m==='string'?m:JSON['stringify'](m));}else{if(e==='too_big'||e==='too_small'){const o=g['maximum']??g['minimum'];o!==undefined&&(h=String(o));}}}const i=extractValueAtPath(b,c['path']),j=generateSuggestion(e,c,i);return{'path':d,'code':e,'message':f,'expected':h,'received_value':i,'suggestion':j};});}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 buildSchemaPreview(a,b,c){try{const d=['Schema\x20preview\x20for\x20'+b+':'];let e,g=[],h='';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'])){const l=a['oneOf']??a['anyOf'];for(const m of l){if(m&&typeof m==='object'){const n=m;if(n['properties']&&typeof n['properties']==='object'){e=n['properties'],g=Array['isArray'](n['required'])?n['required']:[],h=typeof n['description']==='string'?n['description']:'';break;}}}if(!e)return d['push']('\x20\x20(discriminated\x20union\x20with\x20'+l['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 i=new Set(g),j=g['length']>0x0?g['join'](',\x20'):'(none)',k=Object['keys'](e)['filter'](o=>!i['has'](o))['join'](',\x20');d['push']('Required:\x20'+j);k&&d['push']('Optional:\x20'+k);d['push']('Fields:');for(const [o,p]of Object['entries'](e)){if(p&&typeof p==='object'){const q=p,r=describeSchemaType(q),s=i['has'](o)?'required':'optional';let t=typeof q['description']==='string'?q['description']:'';if(t['length']>0x78)t=t['slice'](0x0,0x75)+'...';let u='';if(q['properties']&&typeof q['properties']==='object'){const w=Object['keys'](q['properties']);w['length']>0x0&&(u='\x20{\x20'+w['slice'](0x0,0x8)['join'](',\x20')+(w['length']>0x8?',\x20...':'')+'\x20}');}if(q['items']&&typeof q['items']==='object'){const x=q['items'],y=describeSchemaType(x);u='\x20(array\x20of\x20'+y+')';}Array['isArray'](q['enum'])&&(u='\x20(enum:\x20'+q['enum']['slice'](0x0,0x6)['map'](A=>JSON['stringify'](A))['join'](',\x20')+(q['enum']['length']>0x6?',\x20...':'')+')'),d['push']('\x20\x20-\x20'+o+'\x20('+r+',\x20'+s+')'+u+(t?'\x20—\x20'+t:''));}}if(b==='onchain_operations'&&typeof c==='object'&&c!==null){const A=c['operation_type'];typeof A==='string'&&(d['push'](''),d['push']('operation_type-specific\x20schema:\x20onchain_operations_'+A),d['push']('(Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations_'+A+'\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){if(a==='wowok')return handleWowok(b);const d=TOOL_REGISTRY_MAP['get'](a);if(!d)throw new Error('Unknown\x20tool:\x20'+a+'.\x20Available:\x20'+TOOL_REGISTRY['map'](h=>h['name'])['join'](',\x20'));if(d['applyRules']&&!c?.['skipRules']){const h=await d['applyRules'](b);if(h)return h;}const e=dispatchWithHarness(d['handler'],a),f=d['timeoutMs']??0xea60,g=wrapHandlerWithErrorShape(e,f,a,d['errorShapeBuilder']);return g(b);}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};}async function handleWowok(a){const {tool:b,data:c,normalizationNotes:d}=normalizeInput(a);if(a&&typeof a==='object'&&!Array['isArray'](a)){const i=a;if(i['submission']!==undefined){const j=c['submission'];if(j!==undefined)return{'content':[{'type':'text','text':'Schema\x20mismatch\x20for\x20'+b+'.\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}};c['submission']=i['submission'],d['push']('merged\x20top-level\x20\x27submission\x27\x20into\x20data');}}if(!b){const k=a&&typeof a==='object'&&!Array['isArray'](a)?Object['keys'](a)['join'](',\x20')||'(none)':'(non-object\x20input:\x20'+typeof a+')',l=['Missing\x20\x27tool\x27\x20field.\x20Received\x20keys:\x20'+k,'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'+k+'.\x20Available\x20sub-tools:\x20'+SUB_TOOL_NAMES['join'](',\x20')}],'structuredContent':{'result':{'status':'schema_mismatch','errors':l,'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 e=TOOL_REGISTRY_MAP['get'](b);if(!e){const m=TOOL_REGISTRY['map'](n=>n['name'])['filter'](n=>n['includes'](b)||b['includes'](n))['slice'](0x0,0x5);return{'content':[{'type':'text','text':'Unknown\x20sub-tool:\x20\x27'+b+'\x27.\x20Available:\x20'+TOOL_REGISTRY['map'](n=>n['name'])['join'](',\x20')+(m['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+m['join'](',\x20')+'?':'')}],'structuredContent':{'result':{'status':'error','errors':['Unknown\x20sub-tool:\x20'+b],'hint':'Available\x20sub-tools:\x20'+TOOL_REGISTRY['map'](n=>n['name'])['join'](',\x20')+(m['length']>0x0?'.\x20Did\x20you\x20mean:\x20'+m['join'](',\x20')+'?':''),'suggestions':m},'schema':null}};}d['length']>0x0&&console['warn']('[wowok]\x20input\x20normalization\x20for\x20\x27'+b+'\x27:\x20'+d['join'](';\x20'));const g=e['config']['inputSchema']['safeParse'](c),h=checkUnknownFields(e['config']['inputSchema'],c);if(!g['success']||h['length']>0x0){const n=[];!g['success']&&n['push'](...formatZodErrors(g['error'],c));h['length']>0x0&&n['push']('Unknown\x20field(s):\x20'+h['join'](',\x20'));const o=[];!g['success']&&o['push'](...formatZodErrorsStructured(g['error'],c));if(h['length']>0x0)for(const v of h){o['push']({'path':v,'code':'unrecognized_keys','message':'Unknown\x20field\x20\x27'+v+'\x27\x20is\x20not\x20allowed','suggestion':'Remove\x20field\x20\x27'+v+'\x27\x20or\x20check\x20the\x20schema\x20for\x20valid\x20field\x20names'});}const p=loadPreGeneratedSchema(b)??zodToJsonSchemaSafe(e['config']['inputSchema'],b),q=extractRelevantSchema(p,b,c),r=o[0x0]?.['suggestion']?'\x20FIRST\x20ERROR\x20SUGGESTION:\x20'+o[0x0]['suggestion']:'',s=n['slice'](0x0,0x5)['map']((w,x)=>'\x20\x20'+(x+0x1)+'.\x20'+w)['join']('\x0a'),t=buildSchemaPreview(q,b,c),u=['Schema\x20mismatch\x20for\x20'+b+'.\x20'+n['length']+'\x20error(s).'+r,s,'',t,'','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'+b+'\x20calls).','Structured\x20errors\x20with\x20fix\x20suggestions\x20are\x20in\x20structuredContent.result.structured_errors\x20(ARCH-02).']['filter'](Boolean)['join']('\x0a');return{'content':[{'type':'text','text':u}],'structuredContent':{'result':{'status':'schema_mismatch','errors':n,'structured_errors':o,'hint':'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+b+'\x20calls\x20—\x20you\x20don\x27t\x20need\x20to\x20query\x20it\x20again.'},'schema':{'input':q,'tool':b}}};}try{const w=await dispatchToolCall(b,c),x=w['structuredContent'],y=x?.['result'],A=y?.['status']==='error'||y?.['operation']==='error';if(A)return{'content':w['content'],'structuredContent':{'result':{'status':'error','data':w['structuredContent'],'errors':[w['content'][0x0]?.['text']??'Sub-tool\x20returned\x20an\x20error']},'schema':null}};return{'content':w['content'],'structuredContent':{'result':{'status':'success','data':w['structuredContent']},'schema':null}};}catch(B){const C=B instanceof Error?B['message']:String(B);if(isSchemaValidationError(C)){const D=loadPreGeneratedSchema(b)??zodToJsonSchemaSafe(e['config']['inputSchema'],b),E=extractRelevantSchema(D,b,c),F=buildSchemaPreview(E,b,c),G=[{'path':'(runtime)','code':'schema_validation_error','message':C,'suggestion':'Check\x20the\x20error\x20message\x20and\x20the\x20schema\x20below\x20for\x20the\x20correct\x20field\x20format'}],H=['Schema\x20mismatch\x20for\x20'+b+':\x20'+C,'',F,'','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).']['join']('\x0a');return{'content':[{'type':'text','text':H}],'structuredContent':{'result':{'status':'schema_mismatch','errors':[C],'structured_errors':G,'hint':'Fix\x20your\x20parameters\x20based\x20on\x20the\x20schema\x20below\x20and\x20retry.\x20CACHE\x20THIS\x20SCHEMA\x20for\x20future\x20'+b+'\x20calls.'},'schema':{'input':E,'tool':b}}};}return{'content':[{'type':'text','text':'Error:\x20'+C}],'structuredContent':{'result':{'status':'error','errors':[C]},'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=0x1d4c0,c=wrapHandlerWithErrorShape(handleWowok,b,'wowok',undefined);a['registerTool']('wowok',{'title':'WoWok\x20MCP','description':WOWOK_TOOL_DESCRIPTION,'inputSchema':WowokToolRuntimeSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]}},c),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{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=i>0x0?(p?'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':'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':q});d&&(b[b['length']-0x1]={'kind':'header','path':o+'\x20['+d+']','code':'invalid_union','message':q});continue;}const k=j['map']((r,s)=>({'idx':s,'err':r,'score':variantScore(r)}))['sort']((r,s)=>r['score']-s['score']),l=k[0x0],m=k['slice'](0x1)['map'](r=>'variant\x20'+(r['idx']+0x1)+':\x20'+variantSummary(r['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']((r,s)=>e[s]===r)?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 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??(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';if(C)return{'content':y['content'],'structuredContent':{'result':{'status':'error','data':y['structuredContent'],'errors':[y['content'][0x0]?.['text']??'Sub-tool\x20returned\x20an\x20error']},'schema':null}};return{'content':y['content'],'structuredContent':{'result':{'status':'success','data':y['structuredContent']},'schema':null}};}catch(D){const E=D instanceof Error?D['message']:String(D);if(isSchemaValidationError(E)){const F=loadPreGeneratedSchema(d)??zodToJsonSchemaSafe(h['config']['inputSchema'],d),G=extractRelevantSchema(F,d,e),H=buildSchemaPreview(G,d,e),I=[{'path':'(runtime)','code':'schema_validation_error','message':E,'suggestion':'Check\x20the\x20error\x20message\x20and\x20the\x20schema\x20below\x20for\x20the\x20correct\x20field\x20format'}],J=['Schema\x20mismatch\x20for\x20'+d+':\x20'+E,'',H,'','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':J}],'structuredContent':{'result':{'status':'schema_mismatch','errors':[E],'structured_errors':I,'hint':schemaMismatchHint(d)},'schema':{'input':G,'tool':d}}};}return{'content':[{'type':'text','text':'Error:\x20'+E}],'structuredContent':{'result':{'status':'error','errors':[E]},'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 +1 @@
1
- import{handleIntentRadar}from'../handlers/intent-radar.js';import{handleGoalOperation}from'../handlers/goal.js';import{handleEmployeeOperation}from'../handlers/employee.js';import{createToolMeta,IntentRadarInputSchema,IntentRadarOutputSchema,GoalOperationInputSchema,EmployeeOperationInputSchema,EmployeeOperationOutputSchema}from'../../schema/index.js';export const AGENT_TOOLS=[{'name':'intent_radar','handler':handleIntentRadar,'config':{'title':'📡\x20Intent\x20Radar\x20-\x20User\x20Intent\x20×\x20Chain\x20Event\x20Matching','summary':'Persist\x20user\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events.','description':'Persist\x20the\x20user\x27s\x20standing\x20business\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events/data.\x20'+'This\x20closes\x20the\x20loop:\x20user\x20records\x20an\x20intent\x20(e.g.\x20\x27find\x20subscription\x20services\x27),\x20'+'the\x20system\x20pulls\x20recent\x20chain\x20events\x20and\x20returns\x20ranked\x20hits.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20save\x20—\x20record\x20an\x20intent\x20(industry/keywords\x20resolved\x20once;\x20optionally\x20bound\x20to\x20an\x20account).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20persisted\x20intents\x20(optionally\x20filtered\x20by\x20account).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20intent.\x0a'+'\x20\x20•\x20match\x20—\x20score\x20events\x20against\x20intents\x20(pass\x20`events`\x20from\x20onchain_events,\x20or\x20auto-pull\x20recent\x20events).\x0a\x0a'+'Watchable\x20event\x20families\x20(target_types):\x20market\x20opportunity\x20(ServiceEvent,\x20DemandChangedEvent,\x20'+'DemandPresentEvent\x20—\x20the\x20supply/demand\x20discovery\x20signals),\x20order/workflow\x20(NewOrderEvent,\x20'+'ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20'+'NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20'+'NewPaymentEvent).\x20Each\x20hit\x27s\x20business_meaning\x20comes\x20from\x20the\x20Event\x20Semantics\x20Registry.\x0a\x0a'+'Read-only\x20w.r.t.\x20chain\x20state\x20(reads\x20events\x20+\x20local\x20intent\x20store\x20only).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27intent_radar\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IntentRadarInputSchema,'outputSchema':IntentRadarOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('intent',['intent','radar','match','event','watch','business','intelligence'])}},{'name':'goal_operation','handler':handleGoalOperation,'config':{'title':'🎯\x20Goal\x20-\x20Goal-Driven\x20Lifecycle\x20(GoalEngine)','summary':'Goal-driven\x20lifecycle:\x20create/list/get/approve/advance/pause/complete/abandon/delete\x20goals\x20+\x20event-bridged\x20advancement\x20suggestions.','description':'GoalEngine\x20Agent\x20portal\x20(K3\x2024)\x20—\x20the\x20business-layer\x20storyline\x20ABOVE\x20projects/tasks:\x20'+'record\x20a\x20user\x20goal\x20once,\x20then\x20track\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20'+'RECOGNIZE\x20→\x20CONFIRM\x20→\x20BIND\x20→\x20PLAN\x20→\x20APPROVE\x20→\x20ACT\x20→\x20MONITOR\x20→\x20COMPLETE\x20(→\x20REFLECT).\x20'+'Near-duplicate\x20create\x20calls\x20ADOPT\x20the\x20existing\x20active\x20goal\x20(same\x20type\x20+\x20account\x20+\x20similar\x20intent)\x20'+'instead\x20of\x20forking\x20a\x20second\x20storyline.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20create\x20—\x20record\x20a\x20goal\x20from\x20intent_text\x20(goal_type\x20auto-classified;\x20override\x20with\x20goal_type).\x20'+'Pass\x20account\x20to\x20BIND\x20immediately\x20(local-account\x20preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).\x20'+'Goal\x20types\x20with\x20a\x20dedicated\x20playbook\x20(publish_service,\x20fulfill_order,\x20capture_demand,\x20publish_demand,\x20'+'purchase_service)\x20AUTOMATICALLY\x20attach\x20a\x20TaskProcess\x20(K3\x2024\x20§3.5):\x20the\x20long-task\x20carrier\x20with\x20a\x20named\x20'+'stage\x20sequence\x20+\x20events/problems/feedback/decisions\x20memory\x20streams;\x20create_process=true\x20forces\x20one\x20for\x20'+'the\x20other\x20(generic)\x20goal\x20types.\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20goals\x20(stage/account\x20filters;\x20include_finished\x20for\x20completed/abandoned)\x20+\x20per-stage\x20counts.\x0a'+'\x20\x20•\x20get\x20—\x20one\x20goal\x27s\x20full\x20record\x20(stage,\x20objects,\x20monitor\x20bindings,\x20approvals,\x20outcome).\x20Goals\x20with\x20a\x20'+'TaskProcess\x20also\x20return\x20process_summary\x20(current\x20stage,\x20per-stage\x20progress,\x20open\x20problems,\x20pending\x20'+'suggestions,\x20last\x20events,\x20feedback\x20count)\x20—\x20the\x20interrupted-task\x20resume\x20surface:\x20read\x20it,\x20then\x20continue\x20'+'with\x20advance\x20(there\x20is\x20no\x20separate\x20resume\x20action).\x0a'+'\x20\x20•\x20approve\x20—\x20APPROVE\x20station:\x20records\x20a\x20plan\x20approval;\x20while\x20active,\x20fail-open\x20ConfirmGate\x20rules\x20'+'(standard/none\x20levels)\x20auto-pass\x20for\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>,\x20and\x20successful\x20'+'creation\x20operations\x20carrying\x20that\x20stamp\x20auto-register\x20their\x20created\x20objects\x20into\x20the\x20goal\x20'+'(ACT\x20station\x20\x27execution\x20registers\x27).\x20'+'Fail-closed\x20levels\x20(irreversible/publish/amount)\x20ALWAYS\x20still\x20ask.\x0a'+'\x20\x20•\x20advance\x20—\x20forward\x20stage\x20move\x20(BIND/PLAN/ACT/MONITOR)\x20and/or\x20ACT\x20object\x20registration\x20'+'(objects:\x20[{type,\x20object}];\x20also\x20written\x20back\x20into\x20the\x20goal\x27s\x20TaskProcess\x20manifest).\x20'+'Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20for\x20the\x20goal\x27s\x20objects\x20'+'(and\x20a\x20radar\x20intent\x20for\x20demand\x20goals),\x20so\x20progress\x20surfaces\x20in\x20the\x20monitor\x20todo\x20stream.\x0a'+'\x20\x20•\x20pause\x20—\x20off-axis\x20hold\x20from\x20any\x20non-terminal\x20stage;\x20resume\x20via\x20advance.\x0a'+'\x20\x20•\x20complete\x20—\x20COMPLETE\x20station:\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20'+'(e.g.\x20publish_service\x20needs\x20a\x20live\x20Service;\x20purchase_service\x20needs\x20a\x20completed\x20Order).\x20'+'force=true\x20skips\x20verification\x20(audited\x20as\x20outcome.forced).\x20Tears\x20down\x20the\x20goal\x27s\x20monitor\x20bindings.\x20'+'Pass\x20feedback\x20{sentiment,\x20comment}\x20to\x20record\x20user\x20feedback\x20on\x20the\x20process;\x20the\x20outcome\x20is\x20distilled\x20'+'into\x20the\x20experience\x20layer\x20(REFLECT).\x0a'+'\x20\x20•\x20abandon\x20—\x20terminal\x20give-up\x20(reason\x20required);\x20same\x20monitor\x20teardown,\x20outcome.success=false.\x0a'+'\x20\x20•\x20delete\x20—\x20housekeeping:\x20remove\x20a\x20TERMINAL\x20goal\x20record\x20entirely\x20(record\x20+\x20stage-index\x20entries\x20+\x20'+'TaskProcess\x20dir).\x20force=true\x20also\x20allows\x20non-terminal\x20goals\x20(monitor\x20teardown\x20runs\x20first).\x0a'+'\x20\x20•\x20suggestions\x20—\x20T5-C:\x20the\x20goal\x27s\x20PENDING\x20advancement\x20suggestions\x20(monitor-bridged\x20POSITIVE\x20events:\x20'+'first\x20order\x20received\x20→\x20enter\x20monitoring;\x20arbitration\x20finished\x20→\x20verify\x20completion;\x20service\x20live\x20→\x20'+'verify\x20completion)\x20joined\x20with\x20its\x20OPEN\x20problems\x20—\x20the\x20single\x20consumption\x20face\x20for\x20\x27what\x20wants\x20my\x20'+'decision\x20on\x20this\x20goal\x27.\x20include_resolved=true\x20also\x20returns\x20confirmed/dismissed\x20ones.\x0a'+'\x20\x20•\x20suggestion_resolve\x20—\x20one-shot\x20decision\x20on\x20one\x20suggestion:\x20confirm\x20(apply=true\x20runs\x20the\x20suggested\x20'+'move\x20through\x20the\x20NORMAL\x20engine\x20stations\x20—\x20advance/complete\x20with\x20chain\x20verification\x20still\x20gating;\x20'+'apply=false\x20just\x20acknowledges)\x20or\x20dismiss\x20(note\x20optional,\x20audited).\x20A\x20suggestion\x20NEVER\x20auto-applies;\x20'+'when\x20applying\x20fails\x20the\x20suggestion\x20stays\x20pending\x20and\x20apply_error\x20explains\x20why.\x0a'+'\x20\x20•\x20analyze_intent\x20(C1)\x20—\x20natural-language\x20business\x20intent\x20→\x20parsed\x20intent\x20(primary/secondary\x20objects,\x20'+'detected\x20scenes,\x20industry)\x20+\x20per-object\x20puzzle\x20snapshots\x20+\x20recommended\x20creation\x20order.\x0a'+'\x20\x20•\x20aggregate_risks\x20(C2)\x20—\x20puzzle\x20snapshots\x20→\x20cross-object\x20risk\x20calibration\x20(CRITICAL/HIGH/MEDIUM/LOW/INFO)\x20'+'with\x20blocking\x20status\x20(RISK_PASSED/RISK_BLOCKED/RISK_PENDING_CONFIRM).\x20Omit\x20\x27puzzles\x27\x20but\x20pass\x20\x27intent\x27\x20'+'to\x20run\x20C1→C2\x20in\x20one\x20call.\x0a'+'\x20\x20•\x20trace_substeps\x20(C3)\x20—\x20substep\x20execution\x20records\x20→\x20DAG\x20coherence\x20analysis\x20(dangling\x20inputs,\x20circular\x20'+'refs,\x20missing\x20outputs,\x20cross-step\x20breaks,\x20topological\x20order,\x20D-10\x20verdict).\x0a'+'\x20\x20•\x20merchant_guide\x20—\x2010-step\x20merchant\x20onboarding\x20wizard:\x20intent\x20→\x20industry\x20confirmation\x20→\x20module\x20adoption\x20→\x20'+'SemanticObjectGraph\x20blueprint\x20→\x20evaluation\x20preview\x20→\x20harness\x20check\x20→\x20creation\x20plan.\x20Stateless\x20(pass\x20'+'guide_state/guide_confirm\x20to\x20advance);\x20NEVER\x20executes\x20on-chain\x20operations.\x0a\x0a'+'Local\x20goal\x20state\x20only;\x20the\x20only\x20chain\x20access\x20is\x20READ-ONLY\x20completion\x20verification\x20in\x20\x27complete\x27.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27goal_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':GoalOperationInputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('goal',['goal','lifecycle','plan','approve','monitor','complete','abandon','objective'])}},{'name':'employee_operation','handler':handleEmployeeOperation,'config':{'title':'👥\x20Employee\x20-\x20Merchant\x20Staff\x20Profile','summary':'Merchant\x20employee\x20profile,\x20KPI\x20assessment,\x20liability\x20resolution.','description':'Read/write\x20a\x20merchant\x20employee\x27s\x20LOCAL\x20organizational\x20profile:\x20department\x20'+'(customer_service/logistics/finance/operations),\x20liability\x20(merchant_bears/self_bears/hybrid),\x20'+'and\x20response-time\x20budget.\x20LOCAL\x20ONLY\x20—\x20never\x20mutates\x20chain\x20state;\x20the\x20employee\x27s\x20on-chain\x20'+'authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20set\x20—\x20persist\x20an\x20employee\x20profile\x20(validated:\x20department+liability\x20required,\x20budget\x20must\x20be\x20positive).\x0a'+'\x20\x20•\x20get\x20—\x20read\x20an\x20employee\x20profile\x20(null\x20when\x20absent).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20employee\x20profile.\x0a'+'\x20\x20•\x20assess_kpi\x20—\x20measure\x20an\x20employee\x27s\x20node\x20reaction\x20speed\x20(assigned_at\x20→\x20advanced_at\x20vs\x20budget:\x20pass/warn/fail).\x20Timestamps:\x20pass\x20them\x20explicitly,\x20OR\x20pass\x20`progress`\x20(progress\x20object\x20address)\x20to\x20auto-derive\x20them\x20from\x20monitored\x20ProgressEvents\x20—\x20explicit\x20values\x20override\x20derived\x20ones.\x20Budget\x20precedence:\x20explicit\x20budget_ms\x20>\x20stored\x20profile\x20>\x2048h\x20default.\x0a'+'\x20\x20•\x20resolve_liability\x20—\x20resolve\x20who\x20internally\x20bears\x20an\x20employee-error\x20loss\x20(merchant/employee,\x20hybrid\x20threshold\x20split)\x20and\x20whether\x20the\x20order\x20user\x20must\x20be\x20compensated\x20BEFORE\x20the\x20workflow\x20resumes.\x20Outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s.\x0a'+'\x20\x20•\x20suggest_incentive\x20—\x20the\x20employment\x20relationship\x27s\x20action\x20layer:\x20node\x20KPIs\x20(from\x20assess_kpi)\x20+\x20WIP\x20acceptance\x20evidence\x20+\x20liability\x20resolution\x20→\x20a\x20Reward\x20suggestion\x20(reward_grant\x20/\x20compensation_offset\x20/\x20correction_notice\x20/\x20none)\x20with\x20rationale\x20and\x20execution\x20hints.\x20Suggestion\x20ONLY\x20—\x20never\x20auto-executes;\x20the\x20merchant\x20confirms\x20and\x20runs\x20the\x20on-chain\x20reward/payment\x20ops\x20separately.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27employee_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EmployeeOperationInputSchema,'outputSchema':EmployeeOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('employee',['employee','staff','merchant','department','kpi','liability','local'])}}];
1
+ import{handleIntentRadar}from'../handlers/intent-radar.js';import{handleGoalOperation}from'../handlers/goal.js';import{handleEmployeeOperation}from'../handlers/employee.js';import{createToolMeta,IntentRadarInputSchema,IntentRadarOutputSchema,GoalOperationInputSchema,EmployeeOperationInputSchema,EmployeeOperationOutputSchema}from'../../schema/index.js';export const AGENT_TOOLS=[{'name':'intent_radar','handler':handleIntentRadar,'config':{'title':'📡\x20Intent\x20Radar\x20-\x20User\x20Intent\x20×\x20Chain\x20Event\x20Matching','summary':'Persist\x20user\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events.','description':'Persist\x20the\x20user\x27s\x20standing\x20business\x20intents\x20and\x20match\x20them\x20against\x20on-chain\x20events/data.\x20'+'This\x20closes\x20the\x20loop:\x20user\x20records\x20an\x20intent\x20(e.g.\x20\x27find\x20subscription\x20services\x27),\x20'+'the\x20system\x20pulls\x20recent\x20chain\x20events\x20and\x20returns\x20ranked\x20hits.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20save\x20—\x20record\x20an\x20intent\x20(industry/keywords\x20resolved\x20once;\x20optionally\x20bound\x20to\x20an\x20account).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20persisted\x20intents\x20(optionally\x20filtered\x20by\x20account).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20intent.\x0a'+'\x20\x20•\x20match\x20—\x20score\x20events\x20against\x20intents\x20(pass\x20`events`\x20from\x20onchain_events,\x20or\x20auto-pull\x20recent\x20events).\x0a\x0a'+'Watchable\x20event\x20families\x20(target_types):\x20market\x20opportunity\x20(ServiceEvent,\x20DemandChangedEvent,\x20'+'DemandPresentEvent\x20—\x20the\x20supply/demand\x20discovery\x20signals),\x20order/workflow\x20(NewOrderEvent,\x20'+'ProgressEvent),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent),\x20reputation\x20(DemandFeedbackEvent,\x20'+'NewEntityEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20'+'NewPaymentEvent).\x20Each\x20hit\x27s\x20business_meaning\x20comes\x20from\x20the\x20Event\x20Semantics\x20Registry.\x0a\x0a'+'Read-only\x20w.r.t.\x20chain\x20state\x20(reads\x20events\x20+\x20local\x20intent\x20store\x20only).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27intent_radar\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IntentRadarInputSchema,'outputSchema':IntentRadarOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('intent',['intent','radar','match','event','watch','business','intelligence'])}},{'name':'goal_operation','handler':handleGoalOperation,'config':{'title':'🎯\x20Goal\x20-\x20Goal-Driven\x20Lifecycle\x20(GoalEngine)','summary':'Goal-driven\x20lifecycle:\x20create/list/get/approve/advance/pause/complete/abandon/delete\x20goals\x20+\x20event-bridged\x20advancement\x20suggestions\x20+\x20G5\x20boundaries/pursue/next-steps\x20(self-driving\x20within\x20user-granted\x20autonomy).','description':'GoalEngine\x20Agent\x20portal\x20(K3\x2024)\x20—\x20the\x20business-layer\x20storyline\x20ABOVE\x20projects/tasks:\x20'+'record\x20a\x20user\x20goal\x20once,\x20then\x20track\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20'+'RECOGNIZE\x20→\x20CONFIRM\x20→\x20BIND\x20→\x20PLAN\x20→\x20APPROVE\x20→\x20ACT\x20→\x20MONITOR\x20→\x20COMPLETE\x20(→\x20REFLECT).\x20'+'Near-duplicate\x20create\x20calls\x20ADOPT\x20the\x20existing\x20active\x20goal\x20(same\x20type\x20+\x20account\x20+\x20similar\x20intent)\x20'+'instead\x20of\x20forking\x20a\x20second\x20storyline.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20create\x20—\x20record\x20a\x20goal\x20from\x20intent_text\x20(goal_type\x20auto-classified;\x20override\x20with\x20goal_type).\x20'+'Pass\x20account\x20to\x20BIND\x20immediately\x20(local-account\x20preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).\x20'+'Goal\x20types\x20with\x20a\x20dedicated\x20playbook\x20(publish_service,\x20fulfill_order,\x20capture_demand,\x20publish_demand,\x20'+'purchase_service)\x20AUTOMATICALLY\x20attach\x20a\x20TaskProcess\x20(K3\x2024\x20§3.5):\x20the\x20long-task\x20carrier\x20with\x20a\x20named\x20'+'stage\x20sequence\x20+\x20events/problems/feedback/decisions\x20memory\x20streams;\x20create_process=true\x20forces\x20one\x20for\x20'+'the\x20other\x20(generic)\x20goal\x20types.\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20goals\x20(stage/account\x20filters;\x20include_finished\x20for\x20completed/abandoned)\x20+\x20per-stage\x20counts.\x0a'+'\x20\x20•\x20get\x20—\x20one\x20goal\x27s\x20full\x20record\x20(stage,\x20objects,\x20monitor\x20bindings,\x20approvals,\x20outcome).\x20Goals\x20with\x20a\x20'+'TaskProcess\x20also\x20return\x20process_summary\x20(current\x20stage,\x20per-stage\x20progress,\x20open\x20problems,\x20pending\x20'+'suggestions,\x20last\x20events,\x20feedback\x20count)\x20—\x20the\x20interrupted-task\x20resume\x20surface:\x20read\x20it,\x20then\x20continue\x20'+'with\x20advance\x20(there\x20is\x20no\x20separate\x20resume\x20action).\x0a'+'\x20\x20•\x20approve\x20—\x20APPROVE\x20station:\x20records\x20a\x20plan\x20approval;\x20while\x20active,\x20fail-open\x20ConfirmGate\x20rules\x20'+'(standard/none\x20levels)\x20auto-pass\x20for\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>,\x20and\x20successful\x20'+'creation\x20operations\x20carrying\x20that\x20stamp\x20auto-register\x20their\x20created\x20objects\x20into\x20the\x20goal\x20'+'(ACT\x20station\x20\x27execution\x20registers\x27).\x20'+'Fail-closed\x20levels\x20(irreversible/publish/amount)\x20ALWAYS\x20still\x20ask.\x0a'+'\x20\x20•\x20advance\x20—\x20forward\x20stage\x20move\x20(BIND/PLAN/ACT/MONITOR)\x20and/or\x20ACT\x20object\x20registration\x20'+'(objects:\x20[{type,\x20object}];\x20also\x20written\x20back\x20into\x20the\x20goal\x27s\x20TaskProcess\x20manifest).\x20'+'Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20for\x20the\x20goal\x27s\x20objects\x20'+'(and\x20a\x20radar\x20intent\x20for\x20demand\x20goals),\x20so\x20progress\x20surfaces\x20in\x20the\x20monitor\x20todo\x20stream.\x0a'+'\x20\x20•\x20pause\x20—\x20off-axis\x20hold\x20from\x20any\x20non-terminal\x20stage;\x20resume\x20via\x20advance.\x0a'+'\x20\x20•\x20complete\x20—\x20COMPLETE\x20station:\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20'+'(e.g.\x20publish_service\x20needs\x20a\x20live\x20Service;\x20purchase_service\x20needs\x20a\x20completed\x20Order).\x20'+'force=true\x20skips\x20verification\x20(audited\x20as\x20outcome.forced).\x20Tears\x20down\x20the\x20goal\x27s\x20monitor\x20bindings.\x20'+'Pass\x20feedback\x20{sentiment,\x20comment}\x20to\x20record\x20user\x20feedback\x20on\x20the\x20process;\x20the\x20outcome\x20is\x20distilled\x20'+'into\x20the\x20experience\x20layer\x20(REFLECT).\x0a'+'\x20\x20•\x20abandon\x20—\x20terminal\x20give-up\x20(reason\x20required);\x20same\x20monitor\x20teardown,\x20outcome.success=false.\x0a'+'\x20\x20•\x20delete\x20—\x20housekeeping:\x20remove\x20a\x20TERMINAL\x20goal\x20record\x20entirely\x20(record\x20+\x20stage-index\x20entries\x20+\x20'+'TaskProcess\x20dir).\x20force=true\x20also\x20allows\x20non-terminal\x20goals\x20(monitor\x20teardown\x20runs\x20first).\x0a'+'\x20\x20•\x20suggestions\x20—\x20T5-C:\x20the\x20goal\x27s\x20PENDING\x20advancement\x20suggestions\x20(monitor-bridged\x20POSITIVE\x20events:\x20'+'first\x20order\x20received\x20→\x20enter\x20monitoring;\x20arbitration\x20finished\x20→\x20verify\x20completion;\x20service\x20live\x20→\x20'+'verify\x20completion)\x20joined\x20with\x20its\x20OPEN\x20problems\x20—\x20the\x20single\x20consumption\x20face\x20for\x20\x27what\x20wants\x20my\x20'+'decision\x20on\x20this\x20goal\x27.\x20include_resolved=true\x20also\x20returns\x20confirmed/dismissed\x20ones.\x0a'+'\x20\x20•\x20suggestion_resolve\x20—\x20one-shot\x20decision\x20on\x20one\x20suggestion:\x20confirm\x20(apply=true\x20runs\x20the\x20suggested\x20'+'move\x20through\x20the\x20NORMAL\x20engine\x20stations\x20—\x20advance/complete\x20with\x20chain\x20verification\x20still\x20gating;\x20'+'apply=false\x20just\x20acknowledges)\x20or\x20dismiss\x20(note\x20optional,\x20audited).\x20A\x20suggestion\x20NEVER\x20auto-applies;\x20'+'when\x20applying\x20fails\x20the\x20suggestion\x20stays\x20pending\x20and\x20apply_error\x20explains\x20why.\x0a'+'\x20\x20•\x20boundaries\x20—\x20G5\x20CONFIRM\x20station:\x20the\x20boundary\x20questions\x20to\x20ask\x20the\x20user\x20BEFORE\x20the\x20goal\x20pursues\x20'+'autonomously\x20(budget\x20/\x20deadline\x20/\x20acceptance\x20requirements\x20/\x20autonomy)\x20+\x20the\x20current\x20boundaries\x20and\x20'+'what\x20is\x20still\x20missing.\x0a'+'\x20\x20•\x20boundaries_set\x20—\x20G5\x20CONFIRM\x20station:\x20set/merge-patch\x20the\x20boundaries.\x20budget\x20=\x20total\x20spend\x20ceiling\x20'+'(smallest\x20unit,\x20decimal\x20string;\x20over-budget\x20candidates\x20are\x20rejected,\x20never\x20asked),\x20deadline\x20=\x20ms\x20epoch\x20'+'(past\x20it\x20everything\x20stalls),\x20requirements\x20=\x20hard\x20acceptance\x20red\x20lines\x20(commitment\x20moves\x20wait\x20for\x20'+'verification),\x20autonomy\x20=\x20confirm_all\x20|\x20execute_low_risk\x20|\x20execute_all\x20(irreversible/publish/amount\x20'+'operations\x20ALWAYS\x20ask\x20regardless).\x20Setting\x20any\x20field\x20marks\x20CONFIRM\x20done.\x0a'+'\x20\x20•\x20pursue\x20—\x20G5\x20self-driving\x20tick:\x20gathers\x20the\x20goal\x27s\x20pending\x20suggestions\x20+\x20the\x20engine\x20completion\x20'+'check\x20(monitoring\x20station),\x20runs\x20them\x20through\x20the\x20boundary\x20filter\x20and\x20the\x20autonomy\x20mapping,\x20then\x20'+'APPLIES\x20the\x20allowed\x20moves\x20through\x20the\x20normal\x20engine\x20stations\x20(execute)\x20or\x20surfaces\x20them\x20as\x20pending\x20'+'suggestions\x20(ask_user).\x20Boundary\x20violations\x20stall\x20and\x20are\x20reported.\x20A\x20paused\x20goal\x20does\x20not\x20pursue.\x20'+'Call\x20it\x20after\x20monitor\x20events\x20/\x20periodically\x20—\x20the\x20monitor\x20loop\x20bridges\x20events\x20into\x20suggestions\x20in\x20'+'the\x20background\x20either\x20way.\x0a'+'\x20\x20•\x20next_steps\x20—\x20G5\x20user-driven\x20follow-ups:\x20recommended\x20next\x20steps\x20for\x20this\x20goal\x20—\x20station\x20steps\x20'+'(confirm\x20boundaries,\x20bind,\x20resolve\x20pending\x20suggestions,\x20advance),\x20the\x20G2\x20role-interest\x20view\x20pointer\x20'+'(when\x20the\x20goal\x20has\x20objects\x20+\x20a\x20binding:\x20operable\x20forwards,\x20blocked\x20moves,\x20risks\x20via\x20topology_bi\x20'+'interest_role),\x20and\x20business-loop\x20follow-ups\x20(what\x20goals\x20naturally\x20follow\x20this\x20one).\x20Works\x20for\x20'+'completed\x20goals\x20too\x20(follow-ups\x20lead).\x0a'+'\x20\x20•\x20analyze_intent\x20(C1)\x20—\x20natural-language\x20business\x20intent\x20→\x20parsed\x20intent\x20(primary/secondary\x20objects,\x20'+'detected\x20scenes,\x20industry)\x20+\x20per-object\x20puzzle\x20snapshots\x20+\x20recommended\x20creation\x20order.\x0a'+'\x20\x20•\x20aggregate_risks\x20(C2)\x20—\x20puzzle\x20snapshots\x20→\x20cross-object\x20risk\x20calibration\x20(CRITICAL/HIGH/MEDIUM/LOW/INFO)\x20'+'with\x20blocking\x20status\x20(RISK_PASSED/RISK_BLOCKED/RISK_PENDING_CONFIRM).\x20Omit\x20\x27puzzles\x27\x20but\x20pass\x20\x27intent\x27\x20'+'to\x20run\x20C1→C2\x20in\x20one\x20call.\x0a'+'\x20\x20•\x20trace_substeps\x20(C3)\x20—\x20substep\x20execution\x20records\x20→\x20DAG\x20coherence\x20analysis\x20(dangling\x20inputs,\x20circular\x20'+'refs,\x20missing\x20outputs,\x20cross-step\x20breaks,\x20topological\x20order,\x20D-10\x20verdict).\x0a'+'\x20\x20•\x20merchant_guide\x20—\x2010-step\x20merchant\x20onboarding\x20wizard:\x20intent\x20→\x20industry\x20confirmation\x20→\x20module\x20adoption\x20→\x20'+'SemanticObjectGraph\x20blueprint\x20→\x20evaluation\x20preview\x20→\x20harness\x20check\x20→\x20creation\x20plan.\x20Stateless\x20(pass\x20'+'guide_state/guide_confirm\x20to\x20advance);\x20NEVER\x20executes\x20on-chain\x20operations.\x0a\x0a'+'Local\x20goal\x20state\x20only;\x20the\x20only\x20chain\x20access\x20is\x20READ-ONLY\x20completion\x20verification\x20(complete\x20/\x20the\x20pursue\x20tick\x27s\x20completion\x20check).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27goal_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':GoalOperationInputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':![]},'_meta':createToolMeta('goal',['goal','lifecycle','plan','approve','monitor','complete','abandon','objective'])}},{'name':'employee_operation','handler':handleEmployeeOperation,'config':{'title':'👥\x20Employee\x20-\x20Merchant\x20Staff\x20Profile','summary':'Merchant\x20employee\x20profile,\x20KPI\x20assessment,\x20liability\x20resolution.','description':'Read/write\x20a\x20merchant\x20employee\x27s\x20LOCAL\x20organizational\x20profile:\x20department\x20'+'(customer_service/logistics/finance/operations),\x20liability\x20(merchant_bears/self_bears/hybrid),\x20'+'and\x20response-time\x20budget.\x20LOCAL\x20ONLY\x20—\x20never\x20mutates\x20chain\x20state;\x20the\x20employee\x27s\x20on-chain\x20'+'authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20set\x20—\x20persist\x20an\x20employee\x20profile\x20(validated:\x20department+liability\x20required,\x20budget\x20must\x20be\x20positive).\x0a'+'\x20\x20•\x20get\x20—\x20read\x20an\x20employee\x20profile\x20(null\x20when\x20absent).\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20an\x20employee\x20profile.\x0a'+'\x20\x20•\x20assess_kpi\x20—\x20measure\x20an\x20employee\x27s\x20node\x20reaction\x20speed\x20(assigned_at\x20→\x20advanced_at\x20vs\x20budget:\x20pass/warn/fail).\x20Timestamps:\x20pass\x20them\x20explicitly,\x20OR\x20pass\x20`progress`\x20(progress\x20object\x20address)\x20to\x20auto-derive\x20them\x20from\x20monitored\x20ProgressEvents\x20—\x20explicit\x20values\x20override\x20derived\x20ones.\x20Budget\x20precedence:\x20explicit\x20budget_ms\x20>\x20stored\x20profile\x20>\x2048h\x20default.\x0a'+'\x20\x20•\x20resolve_liability\x20—\x20resolve\x20who\x20internally\x20bears\x20an\x20employee-error\x20loss\x20(merchant/employee,\x20hybrid\x20threshold\x20split)\x20and\x20whether\x20the\x20order\x20user\x20must\x20be\x20compensated\x20BEFORE\x20the\x20workflow\x20resumes.\x20Outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s.\x0a'+'\x20\x20•\x20suggest_incentive\x20—\x20the\x20employment\x20relationship\x27s\x20action\x20layer:\x20node\x20KPIs\x20(from\x20assess_kpi)\x20+\x20WIP\x20acceptance\x20evidence\x20+\x20liability\x20resolution\x20→\x20a\x20Reward\x20suggestion\x20(reward_grant\x20/\x20compensation_offset\x20/\x20correction_notice\x20/\x20none)\x20with\x20rationale\x20and\x20execution\x20hints.\x20Suggestion\x20ONLY\x20—\x20never\x20auto-executes;\x20the\x20merchant\x20confirms\x20and\x20runs\x20the\x20on-chain\x20reward/payment\x20ops\x20separately.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27employee_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':EmployeeOperationInputSchema,'outputSchema':EmployeeOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('employee',['employee','staff','merchant','department','kpi','liability','local'])}}];
@@ -1 +1 @@
1
- import{handleBridgeOperations}from'../handlers/bridge.js';import{applyBridgeRules}from'../rules-hook.js';import{createToolMeta,BridgeOperationsSchema,BridgeCallOutputSchema}from'../../schema/index.js';export const BRIDGE_TOOLS=[{'name':'bridge_operation','handler':handleBridgeOperations,'config':{'title':'🌉\x20Bridge\x20-\x20Cross-Chain\x20Operations','summary':'Cross-chain\x20bridge\x20WOW↔EVM\x20(mainnet\x20only).\x20WOW→EVM\x20is\x202\x20steps:\x20deposit,\x20then\x20claim_wow_to_evm.','description':'🌉\x20Simplified\x20cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.\x0a\x0a'+'Key\x20concepts\x20(transparent\x20to\x20user):\x0a'+'\x20\x20•\x20Global\x20single\x20activeEvmAccount\x20-\x20auto-generated\x20on\x20first\x20use,\x20holds\x20cross-chain\x20assets.\x0a'+'\x20\x20•\x20WOW→EVM\x20is\x20TWO\x20steps:\x20step1\x20cross_chain_wow_to_evm\x20(deposit/lock\x20on\x20WOW,\x20returns\x20transferId)\x20→\x20poll\x20query_transfer_status\x20until\x20latestState.step=\x27signatures_ready\x27\x20(~1-5\x20min)\x20→\x20step2\x20claim_wow_to_evm\x20(claim\x20assets\x20on\x20EVM;\x20needs\x20EVM\x20gas\x20on\x20activeEvmAccount).\x20Assets\x20arrive\x20ONLY\x20after\x20step2.\x20Optional\x20withdrawTo\x20forwards\x20assets\x20to\x20a\x20final\x20EVM\x20address.\x0a'+'\x20\x20•\x20EVM→WOW\x20is\x20ONE\x20step:\x20cross_chain_evm_to_wow\x20deposits\x20from\x20activeEvmAccount\x20(balance\x20checked\x20first);\x20bridge\x20auto-claims\x20on\x20WOW\x20(~10-20\x20min),\x20no\x20user\x20action\x20needed.\x0a\x0a'+'Operations\x20(operation_type):\x0a'+'\x20\x20•\x20cross_chain_wow_to_evm\x20-\x20WOW→EVM\x20step\x201:\x20deposit/lock\x20assets\x20on\x20WOW\x20(to\x20activeEvmAccount\x20or\x20withdrawTo).\x20Does\x20NOT\x20complete\x20the\x20transfer\x20by\x20itself.\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20claim_wow_to_evm\x20-\x20WOW→EVM\x20step\x202:\x20claim\x20assets\x20on\x20EVM\x20after\x20bridge\x20nodes\x20signed\x20(latestState.step=\x27signatures_ready\x27).\x20Returns\x20claimTxHash.\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20cross_chain_evm_to_wow\x20-\x20EVM→WOW\x20cross-chain\x20(from\x20activeEvmAccount\x20to\x20WOW\x20account,\x20auto-claim\x20on\x20WOW).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20resume_transfer\x20-\x20Resume\x20an\x20interrupted\x20transfer\x20from\x20its\x20current\x20step\x20(safe\x20retry\x20after\x20MCP\x20restart\x20or\x20network\x20error).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20withdraw\x20-\x20Withdraw\x20from\x20activeEvmAccount\x20to\x20another\x20EVM\x20address\x20(non-cross-chain).\x20[env\x20optional:\x20pass\x20env.confirmed=true\x20after\x20a\x20confirmation\x20block]\x0a'+'\x20\x20•\x20query_active_evm_account\x20-\x20Query\x20activeEvmAccount\x20address\x20+\x20balances\x20(per\x20chain\x20or\x20all).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_evm_chains\x20-\x20List\x20supported\x20EVM\x20chains\x20(enum/description/chainId/RPC\x20health).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_tokens\x20-\x20List\x20supported\x20Bridge\x20tokens\x20per\x20chain\x20(WOW/EVM\x20contract\x20addresses,\x20decimals,\x20description).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_list\x20-\x20Query\x20transfer\x20history\x20list\x20with\x20optional\x20filters\x20(status/direction/token/limit).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_status\x20-\x20Query\x20single\x20transfer\x20detail\x20by\x20transferId;\x20returns\x20latestState.step\x20and\x20a\x20hint\x20for\x20the\x20next\x20action\x20(e.g.\x20\x27call\x20claim_wow_to_evm\x27).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20manage_evm_rpc\x20-\x20Manage\x20EVM\x20RPC\x20endpoints\x20(list/add/remove/set/ping)\x20to\x20handle\x20429\x20rate\x20limits.\x20[No\x20env\x20needed]\x0a\x0a'+'Token\x20support\x20follows\x20SDK\x20config\x20(ETH/WETH/WBTC/USDC/USDT).\x20WOW\x20account\x20names\x20are\x20supported\x20(resolved\x20via\x20LocalMark).\x0a'+'NOTE:\x20Use\x20schema_query\x20(name=\x27bridge_operation\x27)\x20to\x20retrieve\x20the\x20exact\x20JSON\x20Schema\x20with\x20all\x20field\x20definitions\x20before\x20calling.','inputSchema':BridgeOperationsSchema,'outputSchema':BridgeCallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['bridge','cross-chain','claim','withdraw','resume','evm','ethereum','wow','transfer','rpc'])},'applyRules':applyBridgeRules}];
1
+ import{handleBridgeOperations}from'../handlers/bridge.js';import{applyBridgeRules}from'../rules-hook.js';import{createToolMeta,BridgeOperationsSchema,BridgeCallOutputSchema}from'../../schema/index.js';export const BRIDGE_TOOLS=[{'name':'bridge_operation','handler':handleBridgeOperations,'config':{'title':'🌉\x20Bridge\x20-\x20Cross-Chain\x20Operations','summary':'Cross-chain\x20bridge\x20WOW↔EVM\x20(mainnet\x20only).\x20WOW→EVM\x20is\x202\x20steps:\x20deposit,\x20then\x20claim_wow_to_evm.','description':'🌉\x20Simplified\x20cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.\x0a\x0a'+'Key\x20concepts\x20(transparent\x20to\x20user):\x0a'+'\x20\x20•\x20Global\x20single\x20activeEvmAccount\x20-\x20auto-generated\x20on\x20first\x20use,\x20holds\x20cross-chain\x20assets.\x0a'+'\x20\x20•\x20WOW→EVM\x20is\x20TWO\x20steps:\x20step1\x20cross_chain_wow_to_evm\x20(deposit/lock\x20on\x20WOW,\x20returns\x20transferId)\x20→\x20poll\x20query_transfer_status\x20until\x20latestState.step=\x27signatures_ready\x27\x20(~1-5\x20min)\x20→\x20step2\x20claim_wow_to_evm\x20(claim\x20assets\x20on\x20EVM;\x20needs\x20EVM\x20gas\x20on\x20activeEvmAccount).\x20Assets\x20arrive\x20ONLY\x20after\x20step2.\x20Optional\x20withdrawTo\x20forwards\x20assets\x20to\x20a\x20final\x20EVM\x20address.\x0a'+'\x20\x20•\x20EVM→WOW\x20is\x20ONE\x20step:\x20cross_chain_evm_to_wow\x20deposits\x20from\x20activeEvmAccount\x20(balance\x20checked\x20first);\x20bridge\x20auto-claims\x20on\x20WOW\x20(~10-20\x20min),\x20no\x20user\x20action\x20needed.\x0a\x0a'+'Operations\x20(operation_type):\x0a'+'\x20\x20•\x20cross_chain_wow_to_evm\x20-\x20WOW→EVM\x20step\x201:\x20deposit/lock\x20assets\x20on\x20WOW\x20(to\x20activeEvmAccount\x20or\x20withdrawTo).\x20Does\x20NOT\x20complete\x20the\x20transfer\x20by\x20itself.\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20claim_wow_to_evm\x20-\x20WOW→EVM\x20step\x202:\x20claim\x20assets\x20on\x20EVM\x20after\x20bridge\x20nodes\x20signed\x20(latestState.step=\x27signatures_ready\x27).\x20Returns\x20claimTxHash.\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20cross_chain_evm_to_wow\x20-\x20EVM→WOW\x20cross-chain\x20(from\x20activeEvmAccount\x20to\x20WOW\x20account,\x20auto-claim\x20on\x20WOW).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20resume_transfer\x20-\x20Resume\x20an\x20interrupted\x20transfer\x20from\x20its\x20current\x20step\x20(safe\x20retry\x20after\x20MCP\x20restart\x20or\x20network\x20error).\x20[Requires\x20WOW\x20mainnet\x20env]\x0a'+'\x20\x20•\x20withdraw\x20-\x20Withdraw\x20from\x20activeEvmAccount\x20to\x20another\x20EVM\x20address\x20(non-cross-chain).\x20[env\x20optional:\x20pass\x20env.confirmed=true\x20after\x20a\x20confirmation\x20block]\x0a'+'\x20\x20•\x20query_active_evm_account\x20-\x20Query\x20activeEvmAccount\x20address\x20+\x20balances\x20(per\x20chain\x20or\x20all).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_evm_chains\x20-\x20List\x20supported\x20EVM\x20chains\x20(enum/description/chainId/RPC\x20health).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_supported_tokens\x20-\x20List\x20supported\x20Bridge\x20tokens\x20per\x20chain\x20(WOW/EVM\x20contract\x20addresses,\x20decimals,\x20description).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_list\x20-\x20Query\x20transfer\x20history\x20list\x20with\x20optional\x20filters\x20(status/direction/token/limit).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20query_transfer_status\x20-\x20Query\x20single\x20transfer\x20detail\x20by\x20transferId;\x20returns\x20latestState.step\x20and\x20a\x20hint\x20for\x20the\x20next\x20action\x20(e.g.\x20\x27call\x20claim_wow_to_evm\x27).\x20[No\x20env\x20needed]\x0a'+'\x20\x20•\x20manage_evm_rpc\x20-\x20Manage\x20EVM\x20RPC\x20endpoints\x20(list/add/remove/set/ping)\x20to\x20handle\x20429\x20rate\x20limits.\x20[No\x20env\x20needed]\x0a\x0a'+'Token\x20support\x20follows\x20SDK\x20config\x20(ETH/WETH/WBTC/USDC/USDT).\x20WOW\x20account\x20names\x20are\x20supported\x20(resolved\x20via\x20LocalMark).\x0a'+'NOTE:\x20Use\x20schema_query\x20(name=\x27bridge_operation\x27)\x20to\x20retrieve\x20the\x20exact\x20JSON\x20Schema\x20with\x20all\x20field\x20definitions\x20before\x20calling.','inputSchema':BridgeOperationsSchema,'outputSchema':BridgeCallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['bridge','cross-chain','claim','withdraw','resume','evm','ethereum','wow','transfer','rpc'])},'applyRules':applyBridgeRules,'timeoutMs':0x1d4c0}];
@@ -1 +1 @@
1
- import{handleIndustryPackOperation}from'../handlers/industry-pack.js';import{handleWorkspaceOperation}from'../handlers/workspace.js';import{handleWorkflowOperation}from'../handlers/workflow.js';import{handlePermissionOperation}from'../handlers/permission.js';import{createToolMeta,IndustryPackOperationInputSchema,IndustryPackOperationOutputSchema,WorkspaceOperationInputSchema,WorkspaceOperationOutputSchema,WorkflowOperationInputSchema,WorkflowOperationOutputSchema,PermissionOperationInputSchema,PermissionOperationOutputSchema}from'../../schema/index.js';export const BUSINESS_TOOLS=[{'name':'industry_pack_operation','handler':handleIndustryPackOperation,'config':{'title':'🧩\x20Industry\x20Pack\x20-\x20Knowledge\x20Template\x20Orchestration','summary':'Industry\x20knowledge\x20packs:\x20scaffold,\x20register,\x20list,\x20reset\x20templates.','description':'Manage\x20industry\x20knowledge\x20packs\x20(distributable,\x20registrable,\x20versionable\x20units\x20carrying\x20'+'one\x20industry\x27s\x20object-shape,\x20matching\x20rules,\x20and\x20role\x20personae).\x0a\x0a'+'Pack\x20layout\x20(merged\x20v2):\x20pack.json\x20(settings\x20only\x20—\x20manifest\x20+\x20match\x20+\x20personae\x20+\x20'+'dispute/compliance/supply/rules\x20sections;\x20field\x20explanations\x20live\x20in\x20the\x20industry-root\x20'+'README.md)\x20and\x20playbook.md\x20(chaptered\x20AI\x20prompt\x20guide).\x20Legacy\x20split-file\x20layouts\x20'+'(manifest.json/match.json/personae)\x20are\x20still\x20read\x20for\x20backward\x20compatibility.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20scaffold\x20—\x20generate\x20a\x20pack\x20template\x20skeleton\x20(pack.json\x20+\x20playbook.md,\x20settings\x20only)\x20'+'into\x20the\x20industry\x20directory;\x20the\x20user\x20fills\x20in\x20the\x20content.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20currently\x20registered\x20packs.\x0a'+'\x20\x20•\x20scan\x20—\x20scan\x20+\x20register\x20every\x20pack\x20under\x20the\x20default\x20industry\x20directory.\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20industry\x20root\x20directory.\x0a'+'\x20\x20•\x20list_files\x20—\x20list\x20files\x20under\x20the\x20industry\x20directory.\x0a'+'\x20\x20•\x20read_file\x20—\x20read\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20write_file\x20—\x20write\x20content\x20to\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20+\x20content\x20required).\x0a'+'\x20\x20•\x20get\x20—\x20return\x20registered\x20layer\x20data\x20for\x20an\x20industry\x20(name\x20required;\x20dispute/compliance/supply/rules/playbook).\x0a'+'\x20\x20•\x20diff\x20—\x20compare\x20registered\x20vs\x20on-disk\x20manifest\x20version/layers\x20(name\x20required).\x0a'+'\x20\x20•\x20reset\x20—\x20restore\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20(path\x20required).\x0a'+'\x20\x20•\x20delete_file\x20—\x20delete\x20a\x20file\x20or\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20/\x20rename\x20—\x20move\x20or\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20recommend_industry\x20—\x20business\x20intent\x20text\x20→\x20top-3\x20similar\x20industry\x20modes\x20(trait\x20similarity;\x20optional\x20strategy\x20statements\x20re-rank\x20by\x20lever\x20alignment).\x0a'+'\x20\x20•\x20list_modes\x20—\x20list\x20builtin\x20+\x20caller\x27s\x20custom\x20industry\x20modes.\x0a'+'\x20\x20•\x20derive_user_mode\x20—\x20derive\x20(and\x20register)\x20a\x20custom\x20mode\x20from\x20a\x20builtin\x20mode.\x0a'+'\x20\x20•\x20evolve_user_mode\x20—\x20iterate\x20an\x20existing\x20custom\x20mode\x20(version-bumped\x20evolution\x20history).\x0a'+'\x20\x20•\x20register_user_mode\x20—\x20register\x20a\x20fully\x20custom\x20mode\x20(machine_shape\x20+\x20key_risk\x20required).\x0a'+'\x20\x20•\x20unregister_user_mode\x20—\x20delete\x20a\x20custom\x20mode\x20(owner\x20only).\x0a'+'\x20\x20•\x20register_custom_metric\x20—\x20register\x20a\x20global\x20custom\x20evaluation\x20metric\x20(risk/benefit;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_metric\x20—\x20delete\x20a\x20custom\x20metric\x20(custom\x20only;\x20builtin\x20metrics\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20register_custom_constraint\x20—\x20register\x20a\x20custom\x20mode\x20constraint\x20(4\x20rule\x20types;\x20hard/soft;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_constraint\x20—\x20delete\x20a\x20custom\x20constraint\x20(custom\x20only;\x20builtin\x20constraints\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20list_metrics_constraints\x20—\x20list\x20metrics\x20+\x20constraints\x20(filterable\x20by\x20type/scope).\x0a\x0a'+'Local\x20filesystem\x20+\x20in-memory\x20registry\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27industry_pack_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IndustryPackOperationInputSchema,'outputSchema':IndustryPackOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('industry_pack',['industry','pack','mode','match','persona','scaffold','template'])}},{'name':'workspace_operation','handler':handleWorkspaceOperation,'config':{'title':'📁\x20Workspace\x20-\x20File\x20Generation\x20&\x20User\x20Data','summary':'Local\x20workspace\x20files:\x20list,\x20read,\x20write,\x20move,\x20copy,\x20delete.','description':'Manage\x20the\x20local\x20workspace\x20directory\x20(`.wowok/workspace`):\x20files\x20generated\x20for\x20review\x20'+'(machine/guard/wts/wip\x20JSON)\x20and\x20user-created\x20documents.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20workspace\x20root\x20directory.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20files\x20under\x20the\x20workspace.\x0a'+'\x20\x20•\x20read\x20—\x20read\x20a\x20file\x27s\x20content\x20(use\x20as\x20AI\x20context).\x0a'+'\x20\x20•\x20write\x20—\x20write/overwrite\x20a\x20file\x20(path\x20+\x20content).\x0a'+'\x20\x20•\x20delete\x20—\x20delete\x20a\x20file.\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20—\x20move\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20rename\x20—\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a\x0a'+'Local\x20filesystem\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workspace_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkspaceOperationInputSchema,'outputSchema':WorkspaceOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('workspace',['workspace','file','document','machine','guard','wts','wip','context'])}},{'name':'workflow_operation','handler':handleWorkflowOperation,'config':{'title':'🔀\x20Workflow\x20-\x20Local-Account\x20Progress\x20Tasks','summary':'List\x20local-account\x20progress\x20(actionable\x20+\x20related/history)\x20+\x20advance/hold/unhold\x20forwards\x20+\x20view\x20progress\x20history.','description':'Local-account\x20workflow\x20view\x20over\x20on-chain\x20Progress\x20objects.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20progress\x20related\x20to\x20local\x20accounts:\x20actionable\x20first\x20(a\x20'+'local\x20account\x20can\x20advance\x20a\x20forward),\x20plus\x20related\x20/\x20completed\x20progress\x20(order\x20'+'holder,\x20named\x20operator,\x20or\x20session\x20operator\x20involvement)\x20so\x20the\x20user\x20always\x20'+'keeps\x20visibility\x20of\x20their\x20own\x20progress\x20history.\x20Each\x20task\x20carries\x20every\x20'+'reachable\x20next\x20node\x20+\x20forward,\x20the\x20local\x20accounts\x20that\x20can\x20execute\x20each\x20'+'forward\x20(order\x20holder\x20/\x20named\x20operator\x20/\x20permission\x20index,\x20including\x20admin),\x20'+'guard\x20reminders\x20(a\x20forward\x20with\x20a\x20guard\x20must\x20be\x20verified\x20via\x20passport),\x20and\x20'+'the\x20on-chain\x20history_count.\x0a'+'\x20\x20•\x20operate\x20—\x20advance\x20(\x27next\x27)\x20/\x20block\x20(\x27hold\x27)\x20/\x20release\x20(\x27unhold\x27)\x20/\x20force-release\x20'+'(\x27adminUnhold\x27)\x20a\x20forward\x20as\x20a\x20chosen\x20local\x20account\x20(env.account).\x20Delegates\x20to\x20the\x20'+'on-chain\x20progress\x20operation\x20(guard-aware).\x0a'+'\x20\x20•\x20history\x20—\x20incrementally\x20sync\x20a\x20progress\x27s\x20ON-CHAIN\x20history\x20(Progress.history\x20'+'append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20'+'(only\x20NEW\x20records\x20are\x20pulled),\x20then\x20return\x20the\x20migration\x20timeline\x20(newest\x20first)\x20'+'with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20address\x20/\x20weight\x20/\x20time).\x20'+'Also\x20runs\x20a\x2090-day\x20retention\x20cleanup\x20of\x20stale\x20progress\x20histories\x20by\x20default.\x0a\x0a'+'Permission\x20model\x20(chain-authoritative):\x20a\x20forward\x20is\x20executable\x20by\x20an\x20account\x20when\x20'+'(a)\x20namedOperator=\x22\x22\x20and\x20the\x20account\x20is\x20the\x20order\x20holder\x20(order\x20builder\x20or\x20agent),\x20'+'or\x20(b)\x20namedOperator=name\x20and\x20the\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20'+'(c)\x20permissionIndex\x20is\x20set\x20and\x20the\x20account\x20is\x20in\x20permission.admin\x20or\x20permission.table.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workflow_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkflowOperationInputSchema,'outputSchema':WorkflowOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('workflow',['workflow','progress','forward','permission','named-operator','guard','advance','hold'])}},{'name':'permission_operation','handler':handlePermissionOperation,'config':{'title':'🛡️\x20Permissions\x20-\x20Local-Account\x20Overview','summary':'List\x20Permissions\x20related\x20to\x20local\x20accounts\x20with\x20related\x20accounts/objects.','description':'Local-account\x20Permission\x20overview.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20every\x20on-chain\x20Permission\x20object\x20related\x20to\x20at\x20least\x20one\x20LOCAL\x20'+'account\x20(reverse-looked-up\x20via\x20the\x20global\x20entity_permission\x20index\x20@0xaad),\x20deduplicated\x20'+'and\x20merged.\x20Each\x20row\x20includes\x20description,\x20owner,\x20latest\x20on-chain\x20update\x20time,\x20related\x20'+'accounts\x20(owner/admin/entity),\x20and\x20related\x20objects\x20(grouped\x20by\x20type\x20via\x20the\x20registrar\x20'+'linker).\x20Pass\x20`permission`\x20to\x20scope\x20the\x20listing\x20to\x20ONE\x20Permission\x20address\x20—\x20fast\x20path\x20'+'(metadata\x20+\x20local-account\x20roles\x20only;\x20skips\x20the\x20per-permission\x20linker/tx-time\x20fan-out)\x20'+'for\x20detail-page\x20Permission\x20rows.\x0a\x0a'+'Read-only\x20(no\x20on-chain\x20mutation).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27permission_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PermissionOperationInputSchema,'outputSchema':PermissionOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('query',['permission','account','role','owner','admin','entity','overview','registrar','reverse-index'])}}];
1
+ import{handleIndustryPackOperation}from'../handlers/industry-pack.js';import{handleStrategyReviewOperation}from'../handlers/strategy-review.js';import{handleWorkspaceOperation}from'../handlers/workspace.js';import{handleWorkflowOperation}from'../handlers/workflow.js';import{handlePermissionOperation}from'../handlers/permission.js';import{createToolMeta,IndustryPackOperationInputSchema,IndustryPackOperationOutputSchema,StrategyReviewOperationInputSchema,StrategyReviewOperationOutputSchema,WorkspaceOperationInputSchema,WorkspaceOperationOutputSchema,WorkflowOperationInputSchema,WorkflowOperationOutputSchema,PermissionOperationInputSchema,PermissionOperationOutputSchema}from'../../schema/index.js';export const BUSINESS_TOOLS=[{'name':'industry_pack_operation','handler':handleIndustryPackOperation,'config':{'title':'🧩\x20Industry\x20Pack\x20-\x20Knowledge\x20Template\x20Orchestration','summary':'Industry\x20knowledge\x20packs:\x20scaffold,\x20register,\x20list,\x20reset\x20templates.','description':'Manage\x20industry\x20knowledge\x20packs\x20(distributable,\x20registrable,\x20versionable\x20units\x20carrying\x20'+'one\x20industry\x27s\x20object-shape,\x20matching\x20rules,\x20and\x20role\x20personae).\x0a\x0a'+'Pack\x20layout\x20(merged\x20v2):\x20pack.json\x20(settings\x20only\x20—\x20manifest\x20+\x20match\x20+\x20personae\x20+\x20'+'dispute/compliance/supply/rules\x20sections;\x20field\x20explanations\x20live\x20in\x20the\x20industry-root\x20'+'README.md)\x20and\x20playbook.md\x20(chaptered\x20AI\x20prompt\x20guide).\x20Legacy\x20split-file\x20layouts\x20'+'(manifest.json/match.json/personae)\x20are\x20still\x20read\x20for\x20backward\x20compatibility.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20scaffold\x20—\x20generate\x20a\x20pack\x20template\x20skeleton\x20(pack.json\x20+\x20playbook.md,\x20settings\x20only)\x20'+'into\x20the\x20industry\x20directory;\x20the\x20user\x20fills\x20in\x20the\x20content.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20currently\x20registered\x20packs.\x0a'+'\x20\x20•\x20scan\x20—\x20scan\x20+\x20register\x20every\x20pack\x20under\x20the\x20default\x20industry\x20directory.\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20industry\x20root\x20directory.\x0a'+'\x20\x20•\x20list_files\x20—\x20list\x20files\x20under\x20the\x20industry\x20directory.\x0a'+'\x20\x20•\x20read_file\x20—\x20read\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20write_file\x20—\x20write\x20content\x20to\x20a\x20file\x20under\x20the\x20industry\x20directory\x20(path\x20+\x20content\x20required).\x0a'+'\x20\x20•\x20get\x20—\x20return\x20registered\x20layer\x20data\x20for\x20an\x20industry\x20(name\x20required;\x20dispute/compliance/supply/rules/playbook).\x0a'+'\x20\x20•\x20diff\x20—\x20compare\x20registered\x20vs\x20on-disk\x20manifest\x20version/layers\x20(name\x20required).\x0a'+'\x20\x20•\x20reset\x20—\x20restore\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20(path\x20required).\x0a'+'\x20\x20•\x20delete_file\x20—\x20delete\x20a\x20file\x20or\x20directory\x20(path\x20required).\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20/\x20rename\x20—\x20move\x20or\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20recommend_industry\x20—\x20business\x20intent\x20text\x20→\x20top-3\x20similar\x20industry\x20modes\x20(trait\x20similarity;\x20optional\x20strategy\x20statements\x20re-rank\x20by\x20lever\x20alignment).\x0a'+'\x20\x20•\x20list_modes\x20—\x20list\x20builtin\x20+\x20caller\x27s\x20custom\x20industry\x20modes.\x0a'+'\x20\x20•\x20derive_user_mode\x20—\x20derive\x20(and\x20register)\x20a\x20custom\x20mode\x20from\x20a\x20builtin\x20mode.\x0a'+'\x20\x20•\x20evolve_user_mode\x20—\x20iterate\x20an\x20existing\x20custom\x20mode\x20(version-bumped\x20evolution\x20history).\x0a'+'\x20\x20•\x20register_user_mode\x20—\x20register\x20a\x20fully\x20custom\x20mode\x20(machine_shape\x20+\x20key_risk\x20required).\x0a'+'\x20\x20•\x20unregister_user_mode\x20—\x20delete\x20a\x20custom\x20mode\x20(owner\x20only).\x0a'+'\x20\x20•\x20register_custom_metric\x20—\x20register\x20a\x20global\x20custom\x20evaluation\x20metric\x20(risk/benefit;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_metric\x20—\x20delete\x20a\x20custom\x20metric\x20(custom\x20only;\x20builtin\x20metrics\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20register_custom_constraint\x20—\x20register\x20a\x20custom\x20mode\x20constraint\x20(4\x20rule\x20types;\x20hard/soft;\x20persisted).\x0a'+'\x20\x20•\x20unregister_custom_constraint\x20—\x20delete\x20a\x20custom\x20constraint\x20(custom\x20only;\x20builtin\x20constraints\x20cannot\x20be\x20deleted).\x0a'+'\x20\x20•\x20list_metrics_constraints\x20—\x20list\x20metrics\x20+\x20constraints\x20(filterable\x20by\x20type/scope).\x0a\x0a'+'Local\x20filesystem\x20+\x20in-memory\x20registry\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27industry_pack_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':IndustryPackOperationInputSchema,'outputSchema':IndustryPackOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('industry_pack',['industry','pack','mode','match','persona','scaffold','template'])}},{'name':'strategy_review_operation','handler':handleStrategyReviewOperation,'config':{'title':'📈\x20Strategy\x20Review\x20-\x20Posture-Weighted\x20Scorecard\x20&\x20Periodic\x20Review','summary':'Collect\x20on-chain/derived\x20evidence\x20for\x20an\x20(account,\x20industry),\x20snapshot\x20it\x20locally,\x20and\x20assemble\x20posture-weighted\x20strategy\x20reviews\x20with\x20current-layer\x20persona\x20proposals.','description':'Evidence-driven\x20operating\x20review\x20for\x20one\x20merchant\x20account\x20in\x20one\x20industry,\x20built\x20on\x20the\x20six-industry\x20'+'strategy\x20catalog\x20(education/rental/freelance/subscription/travel/retail\x20+\x20pack-registered\x20ids).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20collect\x20—\x20gather\x20fresh\x20evidence\x20(journey\x20funnel,\x20order\x20flow,\x20market\x20metrics,\x20service\x20discovery\x20/\x20'+'competitor\x20count,\x20arbitration\x20trust,\x20account\x20attention),\x20persist\x20ONE\x20append-only\x20snapshot\x20in\x20local\x20'+'SQLite\x20KV,\x20and\x20return\x20the\x20raw\x20collection.\x20Failed\x20evidence\x20sources\x20degrade\x20single\x20metrics\x20to\x20'+'unavailable/error\x20—\x20never\x20zero-filled;\x20storage\x20failure\x20is\x20fail-soft\x20and\x20never\x20loses\x20the\x20collection.\x0a'+'\x20\x20•\x20review\x20—\x20gather\x20fresh\x20evidence\x20WITHOUT\x20persisting,\x20diff\x20against\x20the\x20latest\x20stored\x20snapshot,\x20'+'score\x200–100\x20under\x20the\x20persona\x27s\x20merchant\x20posture\x20(volume/balanced/margin,\x20renormalized\x20over\x20'+'available\x20anchored\x20metrics),\x20and\x20return\x20findings,\x20deterministic\x20pricing/posture\x20recommendations,\x20'+'cadence\x20status\x20and\x20at\x20most\x20two\x20persona\x20proposals.\x20Proposals\x20target\x20the\x20CURRENT\x20layer\x20ONLY\x20and\x20are\x20'+'applied\x20only\x20when\x20the\x20user\x20explicitly\x20calls\x20persona_operation\x20apply\x20—\x20this\x20tool\x20never\x20writes\x20the\x20'+'persona\x20and\x20never\x20mutates\x20chain\x20state.\x0a'+'\x20\x20•\x20list_snapshots\x20—\x20list\x20stored\x20snapshot\x20summaries\x20(oldest-first)\x20for\x20account+industry.\x0a\x0a'+'Posture\x20defaults:\x20explicit\x20`posture`\x20arg\x20→\x20merchant\x20posture\x20in\x20the\x20effective\x20persona\x20→\x20\x27balanced\x27.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27strategy_review_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':StrategyReviewOperationInputSchema,'outputSchema':StrategyReviewOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('strategy',['strategy','scorecard','review','posture','metrics','industry','competitor','retention','dispute'])},'timeoutMs':0x1d4c0},{'name':'workspace_operation','handler':handleWorkspaceOperation,'config':{'title':'📁\x20Workspace\x20-\x20File\x20Generation\x20&\x20User\x20Data','summary':'Local\x20workspace\x20files:\x20list,\x20read,\x20write,\x20move,\x20copy,\x20delete.','description':'Manage\x20the\x20local\x20workspace\x20directory\x20(`.wowok/workspace`):\x20files\x20generated\x20for\x20review\x20'+'(machine/guard/wts/wip\x20JSON)\x20and\x20user-created\x20documents.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20resolve\x20—\x20return\x20the\x20workspace\x20root\x20directory.\x0a'+'\x20\x20•\x20list\x20—\x20list\x20files\x20under\x20the\x20workspace.\x0a'+'\x20\x20•\x20read\x20—\x20read\x20a\x20file\x27s\x20content\x20(use\x20as\x20AI\x20context).\x0a'+'\x20\x20•\x20write\x20—\x20write/overwrite\x20a\x20file\x20(path\x20+\x20content).\x0a'+'\x20\x20•\x20delete\x20—\x20delete\x20a\x20file.\x0a'+'\x20\x20•\x20create_file\x20—\x20create\x20an\x20empty\x20file\x20(path\x20required;\x20content\x20optional).\x0a'+'\x20\x20•\x20create_dir\x20—\x20create\x20a\x20directory\x20recursively\x20(path\x20required).\x0a'+'\x20\x20•\x20copy\x20—\x20copy\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20move\x20—\x20move\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a'+'\x20\x20•\x20rename\x20—\x20rename\x20a\x20file\x20or\x20directory\x20(from\x20+\x20to\x20required).\x0a\x0a'+'Local\x20filesystem\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workspace_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkspaceOperationInputSchema,'outputSchema':WorkspaceOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('workspace',['workspace','file','document','machine','guard','wts','wip','context'])}},{'name':'workflow_operation','handler':handleWorkflowOperation,'config':{'title':'🔀\x20Workflow\x20-\x20Local-Account\x20Progress\x20Tasks','summary':'List\x20local-account\x20progress\x20(actionable\x20+\x20related/history)\x20+\x20advance/hold/unhold\x20forwards\x20+\x20view\x20progress\x20history.','description':'Local-account\x20workflow\x20view\x20over\x20on-chain\x20Progress\x20objects.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20progress\x20related\x20to\x20local\x20accounts:\x20actionable\x20first\x20(a\x20'+'local\x20account\x20can\x20advance\x20a\x20forward),\x20plus\x20related\x20/\x20completed\x20progress\x20(order\x20'+'holder,\x20named\x20operator,\x20or\x20session\x20operator\x20involvement)\x20so\x20the\x20user\x20always\x20'+'keeps\x20visibility\x20of\x20their\x20own\x20progress\x20history.\x20Each\x20task\x20carries\x20every\x20'+'reachable\x20next\x20node\x20+\x20forward,\x20the\x20local\x20accounts\x20that\x20can\x20execute\x20each\x20'+'forward\x20(order\x20holder\x20/\x20named\x20operator\x20/\x20permission\x20index,\x20including\x20admin),\x20'+'guard\x20reminders\x20(a\x20forward\x20with\x20a\x20guard\x20must\x20be\x20verified\x20via\x20passport),\x20and\x20'+'the\x20on-chain\x20history_count.\x0a'+'\x20\x20•\x20operate\x20—\x20advance\x20(\x27next\x27)\x20/\x20block\x20(\x27hold\x27)\x20/\x20release\x20(\x27unhold\x27)\x20/\x20force-release\x20'+'(\x27adminUnhold\x27)\x20a\x20forward\x20as\x20a\x20chosen\x20local\x20account\x20(env.account).\x20Delegates\x20to\x20the\x20'+'on-chain\x20progress\x20operation\x20(guard-aware).\x0a'+'\x20\x20•\x20history\x20—\x20incrementally\x20sync\x20a\x20progress\x27s\x20ON-CHAIN\x20history\x20(Progress.history\x20'+'append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20'+'(only\x20NEW\x20records\x20are\x20pulled),\x20then\x20return\x20the\x20migration\x20timeline\x20(newest\x20first)\x20'+'with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20address\x20/\x20weight\x20/\x20time).\x20'+'Also\x20runs\x20a\x2090-day\x20retention\x20cleanup\x20of\x20stale\x20progress\x20histories\x20by\x20default.\x0a\x0a'+'Permission\x20model\x20(chain-authoritative):\x20a\x20forward\x20is\x20executable\x20by\x20an\x20account\x20when\x20'+'(a)\x20namedOperator=\x22\x22\x20and\x20the\x20account\x20is\x20the\x20order\x20holder\x20(order\x20builder\x20or\x20agent),\x20'+'or\x20(b)\x20namedOperator=name\x20and\x20the\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20'+'(c)\x20permissionIndex\x20is\x20set\x20and\x20the\x20account\x20is\x20in\x20permission.admin\x20or\x20permission.table.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27workflow_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WorkflowOperationInputSchema,'outputSchema':WorkflowOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('workflow',['workflow','progress','forward','permission','named-operator','guard','advance','hold'])},'timeoutMs':0x1d4c0},{'name':'permission_operation','handler':handlePermissionOperation,'config':{'title':'🛡️\x20Permissions\x20-\x20Local-Account\x20Overview','summary':'List\x20Permissions\x20related\x20to\x20local\x20accounts\x20with\x20related\x20accounts/objects.','description':'Local-account\x20Permission\x20overview.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20list\x20—\x20enumerate\x20every\x20on-chain\x20Permission\x20object\x20related\x20to\x20at\x20least\x20one\x20LOCAL\x20'+'account\x20(reverse-looked-up\x20via\x20the\x20global\x20entity_permission\x20index\x20@0xaad),\x20deduplicated\x20'+'and\x20merged.\x20Each\x20row\x20includes\x20description,\x20owner,\x20latest\x20on-chain\x20update\x20time,\x20related\x20'+'accounts\x20(owner/admin/entity),\x20and\x20related\x20objects\x20(grouped\x20by\x20type\x20via\x20the\x20registrar\x20'+'linker).\x20Pass\x20`permission`\x20to\x20scope\x20the\x20listing\x20to\x20ONE\x20Permission\x20address\x20—\x20fast\x20path\x20'+'(metadata\x20+\x20local-account\x20roles\x20only;\x20skips\x20the\x20per-permission\x20linker/tx-time\x20fan-out)\x20'+'for\x20detail-page\x20Permission\x20rows.\x0a\x0a'+'Read-only\x20(no\x20on-chain\x20mutation).\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27permission_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PermissionOperationInputSchema,'outputSchema':PermissionOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('query',['permission','account','role','owner','admin','entity','overview','registrar','reverse-index'])}}];
@@ -0,0 +1,2 @@
1
+ import type { ToolEntry } from "../types.js";
2
+ export declare const INTERACTION_TOOLS: ToolEntry[];
@@ -0,0 +1 @@
1
+ import{handleAskUser}from'../handlers/ask-user.js';import{AskUserInputSchema,createToolMeta}from'../../schema/index.js';export const INTERACTION_TOOLS=[{'name':'ask_user','handler':handleAskUser,'config':{'title':'💬\x20Ask\x20User\x20-\x20Structured\x20Choice\x20Elicitation','summary':'Ask\x20the\x20user\x20to\x20choose\x20between\x202-8\x20concrete\x20options\x20(one\x20recommendation\x20allowed;\x20multi-select/free-text\x20optional)\x20and\x20get\x20a\x20structured\x20answer.','description':'Use\x20WHENEVER\x20a\x20business\x20decision\x20belongs\x20to\x20the\x20user\x20and\x20continuing\x20requires\x20it:\x20'+'choosing\x20between\x20genuinely\x20different\x20plans,\x20pricing,\x20guard\x20strength,\x20accounts,\x20tokens,\x20'+'scope\x20trade-offs,\x20or\x20confirming\x20a\x20destructive/expensive\x20path\x20the\x20user\x20did\x20not\x20explicitly\x20request.\x20'+'The\x20user\x20picks\x20from\x20the\x20offered\x20cards\x20(or\x20cancels)\x20and\x20you\x20receive\x20a\x20structured\x20result\x20'+'({action,\x20selected_ids,\x20selected_labels,\x20freeform_text})\x20—\x20never\x20guess\x20or\x20silently\x20default\x20an\x20unanswered\x20choice.\x0a\x0a'+'Rules:\x0a'+'\x20\x20•\x20Ask\x20ONE\x20question\x20per\x20call;\x202-8\x20self-contained\x20options\x20whose\x20labels\x20make\x20sense\x20without\x20surrounding\x20context.\x0a'+'\x20\x20•\x20Set\x20recommended_id\x20when\x20you\x20have\x20a\x20professional\x20recommendation\x20(most\x20cases)\x20—\x20the\x20user\x20sees\x20it\x20marked.\x0a'+'\x20\x20•\x20multi_select=true\x20only\x20when\x20options\x20are\x20combinable;\x20allow_freeform=true\x20only\x20when\x20the\x20offered\x20set\x20may\x20not\x20cover\x20reality.\x0a'+'\x20\x20•\x20action\x20\x27decline\x27/\x27cancel\x27\x20means\x20STOP\x20and\x20ask\x20how\x20to\x20proceed\x20in\x20plain\x20text\x20—\x20do\x20not\x20execute\x20a\x20default\x20path.\x0a'+'\x20\x20•\x20Do\x20not\x20use\x20for\x20yes/no\x20confirmations\x20of\x20tool\x20safety\x20(the\x20confirmation\x20gate\x20handles\x20that)\x20or\x20for\x20questions\x20you\x20can\x20answer\x20from\x20data.\x0a\x0a'+'Transport\x20note:\x20on\x20clients\x20without\x20elicitation\x20support\x20the\x20call\x20returns\x20a\x20structured\x20error\x20—\x20'+'then\x20ask\x20the\x20SAME\x20question\x20in\x20plain\x20prose\x20with\x20numbered\x20options.','inputSchema':AskUserInputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('interaction',['ask','question','choice','elicit','clarify','decision','confirm'])}}];
@@ -1 +1 @@
1
- import{handleAccountOperation,handleMarkOperation,handleInfoOperation,handleHistoryOperation}from'../handlers/local.js';import{statusErrorShape}from'../wrap.js';import{createToolMeta,AccountOperationSchema,LocalMarkOperationSchema,LocalInfoOperationSchema,LocalHistoryOperationSchema,AccountOperationOutputWrappedSchema,LocalMarkOperationOutputWrappedSchema,LocalInfoOperationOutputWrappedSchema,LocalHistoryOperationOutputWrappedSchema}from'../../schema/index.js';export const LOCAL_TOOLS=[{'name':'account_operation','handler':handleAccountOperation,'config':{'title':'Account\x20-\x20Wallet\x20Management\x20&\x20Token\x20Transfer','summary':'Wallet\x20management\x20(local)\x20+\x20token\x20transfer\x20(on-chain,\x20confirmed).','description':'Manage\x20WoWok\x20accounts\x20locally:\x20generate,\x20suspend,\x20resume,\x20faucet-test,\x20sign\x20data,\x20etc.\x0a\x0a💰\x20TRANSFER\x20(on-chain\x20fund\x20movement):\x20the\x20`transfer`\x20sub-op\x20moves\x20tokens\x20on-chain\x20and\x20is\x20IRREVERSIBLE.\x20Amounts\x20accept\x20display\x20format\x20with\x20symbol\x20(\x222.5WOW\x22)\x20—\x20converted\x20with\x20the\x20token\x27s\x20decimals\x20—\x20or\x20raw\x20smallest-unit\x20integers;\x20bare\x20decimals\x20are\x20rejected.\x20The\x20first\x20call\x20returns\x20a\x20pending_confirmation\x20preview\x20(amount,\x20token\x20full\x20type,\x20recipient);\x20re-call\x20with\x20transfer.confirmed=true\x20after\x20user\x20consent\x20to\x20execute.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27account_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':AccountOperationSchema,'outputSchema':AccountOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['account','local','private','wallet','transfer','fund'])},'errorShapeBuilder':statusErrorShape},{'name':'local_mark_operation','handler':handleMarkOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalMark\x20-\x20Address\x20Book\x20Management','summary':'LOCAL\x20address\x20book\x20(name/tag\x20for\x20addresses\x20and\x20object\x20IDs).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20ID\x20names\x20and\x20tags\x20stored\x20ONLY\x20on\x20your\x20local\x20device\x20for\x20easy\x20identification\x20of\x20user\x20address\x20or\x20object\x20IDs\x20by\x20name.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_mark_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalMarkOperationSchema,'outputSchema':LocalMarkOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['mark','local','private','address-book','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_info_operation','handler':handleInfoOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalInfo\x20-\x20Private\x20Data\x20Management','summary':'LOCAL\x20private\x20data\x20(delivery\x20addresses,\x20phone\x20numbers).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20sensitive\x20personal\x20information\x20stored\x20ONLY\x20on\x20your\x20device:\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_info_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalInfoOperationSchema,'outputSchema':LocalInfoOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['info','local','private','data-management','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_history_operation','handler':handleHistoryOperation,'config':{'title':'🕘\x20LOCAL\x20ONLY:\x20LocalHistory\x20-\x20Explorer\x20Visit\x20History','summary':'LOCAL\x20visit\x20history\x20of\x20Explorer\x20objects\x20(recently\x20viewed,\x20newest\x20first).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20the\x20Explorer\x20visit\x20history\x20stored\x20ONLY\x20on\x20your\x20device.\x20Each\x20entry\x20keeps\x20the\x20stable\x20object\x20key,\x20canonical\x200x\x20address,\x20object\x20type\x20tag\x20(detail\x20visits\x20only),\x20network\x20and\x20visit\x20timestamp\x20—\x20display\x20names\x20are\x20NEVER\x20stored\x20and\x20are\x20resolved\x20live\x20at\x20render\x20time.\x0a\x0aOmit\x20every\x20operation\x20field\x20to\x20LIST\x20history\x20(newest\x20first,\x20auto-pruned\x20to\x20the\x20last\x2030\x20recorded\x20days\x20/\x20300\x20entries).\x20Use\x20{add:{op:\x27add\x27,data:[...]}}\x20to\x20record\x20visits\x20(upsert\x20by\x20key),\x20{remove:{op:\x27remove\x27,keys:[...]}}\x20to\x20delete\x20entries,\x20or\x20{clear:{op:\x27clear\x27}}\x20to\x20erase\x20all\x20history.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_history_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalHistoryOperationSchema,'outputSchema':LocalHistoryOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['history','local','private','recent','off-chain'])},'errorShapeBuilder':statusErrorShape}];
1
+ import{handleAccountOperation,handleMarkOperation,handleInfoOperation,handleHistoryOperation}from'../handlers/local.js';import{statusErrorShape}from'../wrap.js';import{createToolMeta,AccountOperationSchema,LocalMarkOperationSchema,LocalInfoOperationSchema,LocalHistoryOperationSchema,AccountOperationOutputWrappedSchema,LocalMarkOperationOutputWrappedSchema,LocalInfoOperationOutputWrappedSchema,LocalHistoryOperationOutputWrappedSchema}from'../../schema/index.js';export const LOCAL_TOOLS=[{'name':'account_operation','handler':handleAccountOperation,'config':{'title':'Account\x20-\x20Wallet\x20Management\x20&\x20On-Chain\x20Coin\x20Transactions','summary':'Wallet\x20management\x20(local)\x20+\x20token\x20transfer\x20and\x20coin-object\x20production\x20(on-chain,\x20confirmed).','description':'Manage\x20WoWok\x20accounts\x20locally:\x20generate,\x20suspend,\x20resume,\x20faucet-test,\x20sign\x20data,\x20etc.\x0a\x0a💰\x20ON-CHAIN\x20COIN\x20TRANSACTIONS\x20(IRREVERSIBLE,\x20confirmed):\x20`transfer`\x20moves\x20tokens\x20to\x20another\x20account\x20(fund\x20movement);\x20`get`\x20splits/merges\x20the\x20account\x27s\x20coins\x20to\x20produce\x20a\x20coin\x20object\x20carrying\x20at\x20least\x20the\x20required\x20balance\x20and\x20self-delivers\x20it\x20to\x20the\x20same\x20account\x20(fund\x20never\x20leaves\x20the\x20account\x20minus\x20gas,\x20but\x20a\x20real\x20transaction\x20IS\x20executed\x20and\x20SPENDS\x20GAS,\x20and\x20its\x20digest\x20is\x20returned).\x20Both\x20amounts\x20accept\x20display\x20format\x20with\x20symbol\x20(\x222.5WOW\x22)\x20—\x20converted\x20with\x20the\x20token\x27s\x20decimals\x20—\x20or\x20raw\x20smallest-unit\x20integers;\x20bare\x20decimals\x20are\x20rejected.\x20The\x20first\x20call\x20returns\x20a\x20pending_confirmation\x20preview\x20(amount,\x20token\x20full\x20type,\x20counterparty/account);\x20re-call\x20with\x20transfer.confirmed=true\x20or\x20get.confirmed=true\x20after\x20user\x20consent\x20to\x20execute.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27account_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':AccountOperationSchema,'outputSchema':AccountOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['account','local','private','wallet','transfer','fund'])},'errorShapeBuilder':statusErrorShape,'timeoutMs':0x1d4c0},{'name':'local_mark_operation','handler':handleMarkOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalMark\x20-\x20Address\x20Book\x20Management','summary':'LOCAL\x20address\x20book\x20(name/tag\x20for\x20addresses\x20and\x20object\x20IDs).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20ID\x20names\x20and\x20tags\x20stored\x20ONLY\x20on\x20your\x20local\x20device\x20for\x20easy\x20identification\x20of\x20user\x20address\x20or\x20object\x20IDs\x20by\x20name.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_mark_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalMarkOperationSchema,'outputSchema':LocalMarkOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['mark','local','private','address-book','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_info_operation','handler':handleInfoOperation,'config':{'title':'🔒\x20LOCAL\x20ONLY:\x20LocalInfo\x20-\x20Private\x20Data\x20Management','summary':'LOCAL\x20private\x20data\x20(delivery\x20addresses,\x20phone\x20numbers).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20sensitive\x20personal\x20information\x20stored\x20ONLY\x20on\x20your\x20device:\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_info_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalInfoOperationSchema,'outputSchema':LocalInfoOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['info','local','private','data-management','off-chain'])},'errorShapeBuilder':statusErrorShape},{'name':'local_history_operation','handler':handleHistoryOperation,'config':{'title':'🕘\x20LOCAL\x20ONLY:\x20LocalHistory\x20-\x20Explorer\x20Visit\x20History','summary':'LOCAL\x20visit\x20history\x20of\x20Explorer\x20objects\x20(recently\x20viewed,\x20newest\x20first).','description':'100%\x20LOCAL,\x20NEVER\x20ON-CHAIN\x20🔒\x20Manage\x20the\x20Explorer\x20visit\x20history\x20stored\x20ONLY\x20on\x20your\x20device.\x20Each\x20entry\x20keeps\x20the\x20stable\x20object\x20key,\x20canonical\x200x\x20address,\x20object\x20type\x20tag\x20(detail\x20visits\x20only),\x20network\x20and\x20visit\x20timestamp\x20—\x20display\x20names\x20are\x20NEVER\x20stored\x20and\x20are\x20resolved\x20live\x20at\x20render\x20time.\x0a\x0aOmit\x20every\x20operation\x20field\x20to\x20LIST\x20history\x20(newest\x20first,\x20auto-pruned\x20to\x20the\x20last\x2030\x20recorded\x20days\x20/\x20300\x20entries).\x20Use\x20{add:{op:\x27add\x27,data:[...]}}\x20to\x20record\x20visits\x20(upsert\x20by\x20key),\x20{remove:{op:\x27remove\x27,keys:[...]}}\x20to\x20delete\x20entries,\x20or\x20{clear:{op:\x27clear\x27}}\x20to\x20erase\x20all\x20history.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27local_history_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':LocalHistoryOperationSchema,'outputSchema':LocalHistoryOperationOutputWrappedSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('operation',['history','local','private','recent','off-chain'])},'errorShapeBuilder':statusErrorShape}];
@@ -1 +1 @@
1
- import{handleMessengerOperation}from'../handlers/messenger.js';import{operationErrorShape}from'../wrap.js';import{createToolMeta,MessengerOperationInputSchema,MessengerOperationOutputSchema}from'../../schema/index.js';export const MESSENGER_TOOLS=[{'name':'messenger_operation','handler':handleMessengerOperation,'config':{'title':'💬\x20Messenger\x20Operations','summary':'End-to-end\x20encrypted\x20messaging\x20(send/watch/WTS/blacklist).','description':'WoWok\x20encrypted\x20messenger\x20operations:\x20watch\x20conversations\x20(with\x20unread\x20filtering,\x20preview\x20messages),\x20send\x20message,\x20send\x20file,\x20watch\x20messages\x20(with\x20viewed\x20status\x20filtering),\x20extract\x20zip\x20messages,\x20generate\x20WTS,\x20verify\x20WTS,\x20sign\x20WTS,\x20WTS\x20to\x20HTML,\x20proof\x20message\x20on-chain,\x20manage\x20blacklist,\x20friendslist,\x20guardlist,\x20settings,\x20mark\x20messages\x20as\x20viewed,\x20mark\x20conversation\x20as\x20viewed,\x20and\x20pull\x20messages\x20from\x20server.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27messenger_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':MessengerOperationInputSchema,'outputSchema':MessengerOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['messenger','message','file','wts','blacklist','friendslist','guardlist','settings','proof','communication'])},'errorShapeBuilder':operationErrorShape,'timeoutMs':0x7530}];
1
+ import{handleMessengerOperation}from'../handlers/messenger.js';import{operationErrorShape}from'../wrap.js';import{createToolMeta,MessengerOperationInputSchema,MessengerOperationOutputSchema}from'../../schema/index.js';export const MESSENGER_TOOLS=[{'name':'messenger_operation','handler':handleMessengerOperation,'config':{'title':'💬\x20Messenger\x20Operations','summary':'End-to-end\x20encrypted\x20messaging\x20(send/watch/WTS/blacklist).','description':'WoWok\x20encrypted\x20messenger\x20operations:\x20watch\x20conversations\x20(unread\x20filtering,\x20preview\x20messages),\x20send\x20message,\x20send\x20file\x20(E2EE\x20attachment\x20envelope),\x20send\x20required\x20info\x20(one-shot\x20LocalInfo\x20delivery),\x20watch\x20messages\x20(viewed-status\x20/\x20relationship\x20/\x20keyword\x20filters),\x20save\x20attachment\x20to\x20disk,\x20generate\x20WTS\x20evidence,\x20verify\x20WTS,\x20sign\x20WTS,\x20WTS\x20to\x20HTML,\x20proof\x20message\x20on-chain,\x20blacklist,\x20friendslist,\x20guardlist,\x20settings,\x20mark\x20messages/conversation\x20as\x20viewed,\x20and\x20pull\x20messages\x20from\x20server\x20(supports\x20allAccounts\x20fan-out).\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27messenger_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20before\x20calling.','inputSchema':MessengerOperationInputSchema,'outputSchema':MessengerOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['messenger','message','file','wts','blacklist','friendslist','guardlist','settings','proof','communication'])},'errorShapeBuilder':operationErrorShape,'timeoutMs':0x7530}];
@@ -1 +1 @@
1
- import{handleMonitorEvents,handleMonitorSubscription}from'../handlers/monitor.js';import{handleKeeperOperation}from'../handlers/keeper.js';import{createToolMeta,MonitorEventsInputSchema,MonitorEventsResultSchema,MonitorSubscriptionInputSchema,MonitorSubscriptionResultSchema,KeeperOperationInputSchema,KeeperOperationOutputSchema}from'../../schema/index.js';export const MONITOR_TOOLS=[{'name':'monitor_events','handler':handleMonitorEvents,'config':{'title':'🔔\x20Monitor\x20Events\x20-\x20Persistent\x20Store\x20&\x20Read\x20State','summary':'Persistent\x20monitor\x20event\x20store:\x20paginated\x20events\x20with\x20read\x20flags;\x20mark\x20read/unread.','description':'Query\x20and\x20manage\x20the\x20PERSISTENT\x20monitor\x20event\x20store\x20—\x20the\x20same\x20store\x20the\x20client\x20UI\x27s\x20'+'Monitor\x20page\x20reads.\x20Events\x20are\x20captured\x20by\x20the\x20resident\x20MonitorLoop\x20(client\x20sidecar,\x20'+'or\x20the\x20stdio\x20MCP\x20server\x20when\x20MONITOR_LOOP=1)\x20across\x209\x20modules\x20(order\x20/\x20arb\x20/\x20demand\x20/\x20'+'progress\x20/\x20treasury\x20/\x20reward\x20/\x20service\x20/\x20entity\x20/\x20payment),\x20stored\x20APPEND-ONLY\x20per\x20'+'event\x20(no\x20ring\x20buffer,\x20survives\x20restarts),\x20and\x20carry\x20a\x20per-event\x20read\x20flag\x20persisted\x20in\x20SQLite.\x0a\x0a'+'Actions\x20(action):\x0a'+'\x20\x20•\x20query\x20—\x20paginated\x20events,\x20newest\x20first.\x20Returns\x20events[]\x20(id,\x20module,\x20type,\x20time,\x20seen,\x20event),\x20'+'total,\x20module_counts,\x20unread_by_module,\x20total_unread.\x20Filter\x20with\x20module/event_type/since/until;\x20'+'paginate\x20with\x20limit/offset.\x20relevant_only\x20(default\x20TRUE)\x20restricts\x20to\x20events\x20that\x20hit\x20your\x20scope\x20'+'closure/focus/filters\x20(the\x20de-noised\x20agent\x20todo\x20stream);\x20pass\x20false\x20for\x20the\x20full\x20firehose.\x20'+'with_reason\x20attaches\x20each\x20event\x27s\x20relevance\x20annotation\x20(why\x20it\x20concerns\x20you)\x20+\x20a\x20delivered\x20flag.\x0a'+'\x20\x20•\x20mark_read\x20—\x20mark\x20event_ids\x20(format\x20\x27<eventSeq>:<txDigest>\x27)\x20as\x20read.\x20Idempotent;\x20returns\x20marked\x20count\x20+\x20total_unread.\x0a'+'\x20\x20•\x20mark_all_read\x20—\x20mark\x20ALL\x20stored\x20events\x20read\x20(optionally\x20scoped\x20to\x20module).\x20Returns\x20marked\x20count\x20+\x20total_unread.\x0a\x0a'+'Cross-process\x20note:\x20read\x20state\x20is\x20SHARED\x20with\x20the\x20client\x20app\x20(same\x20SQLite\x20store)\x20—\x20marking\x20'+'events\x20read\x20here\x20clears\x20the\x20client\x27s\x20Monitor\x20unread\x20badge\x20and\x20vice\x20versa.\x20Configure\x20the\x20'+'scope/filters\x20behind\x20relevant_only\x20via\x20the\x20monitor_subscription\x20tool.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27monitor_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':MonitorEventsInputSchema,'outputSchema':MonitorEventsResultSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('monitor',['monitor','events','unread','read','notification','order','arbitration','demand','progress'])}},{'name':'monitor_subscription','handler':handleMonitorSubscription,'config':{'title':'🔔\x20Monitor\x20Subscription\x20-\x20Scope,\x20Filters\x20&\x20Todo-Stream\x20Config','summary':'Monitor\x20subscription\x20config:\x20scope-closure\x20rules,\x20focus\x20objects,\x20per-type\x20switches,\x20conditional\x20filters;\x20scope\x20preview\x20+\x20filter\x20dry-run.','description':'The\x20SINGLE\x20entry\x20point\x20for\x20monitor\x20v4\x20subscription\x20configuration\x20(the\x20client\x20settings\x20'+'panel\x20and\x20agent\x20conversations\x20both\x20use\x20this\x20tool).\x20The\x20config\x20drives\x20three\x20layers:\x20'+'the\x20SCOPE\x20CLOSURE\x20(which\x20objects\x27\x20events\x20are\x20relevant\x20to\x20you:\x20anchor\x20accounts\x20→\x20'+'permissions\x20→\x20managed\x20objects\x20→\x20merchant/buyer\x20orders\x20→\x20order\x20children,\x20plus\x20explicit\x20'+'focus\x20objects),\x20the\x20TODO-STREAM\x20switches\x20(per-event-type\x20delivery\x20on/off),\x20and\x20'+'conditional\x20FILTERS\x20(field-path\x20predicates\x20over\x20event\x20payloads).\x20Event\x20CAPTURE\x20is\x20'+'unaffected\x20by\x20these\x20switches\x20EXCEPT\x20NewPaymentEvent,\x20which\x20is\x20captured\x20only\x20when\x20'+'switched\x20ON\x20here\x20(high-volume\x20fund\x20receipts,\x20opt-in).\x0a\x0a'+'Actions\x20(action):\x0a'+'\x20\x20•\x20get\x20—\x20effective\x20config\x20(defaults\x20merged)\x20+\x20resolved\x20state:\x20scope_version,\x20per-layer\x20'+'closure\x20counts,\x20capture_types,\x20last_poll_at,\x20and\x20this\x20process\x27s\x20MonitorLoop\x20status.\x0a'+'\x20\x20•\x20save\x20—\x20merge\x20a\x20partial\x20config\x20(scope.rules/events/loop\x20merge\x20field-wise;\x20'+'focus_objects/filters\x20REPLACE\x20wholesale;\x20loop\x20params\x20clamped\x20to\x20safe\x20bounds),\x20then\x20'+'trigger\x20an\x20IMMEDIATE\x20scope\x20re-resolve;\x20a\x20scope\x20change\x20schedules\x20a\x20non-blocking\x20'+'re-annotation\x20backfill\x20over\x20loop.backfill_days.\x0a'+'\x20\x20•\x20reset\x20—\x20restore\x20the\x20default\x20config\x20and\x20re-resolve.\x0a'+'\x20\x20•\x20scope_preview\x20—\x20the\x20current\x20scope\x20closure\x20grouped\x20by\x20layer\x20(accounts\x20/\x20permissions\x20/\x20'+'managed_objects\x20/\x20services\x20/\x20orders\x20/\x20order_children\x20/\x20focus),\x20paginated\x20with\x20limit/offset,\x20'+'optionally\x20restricted\x20to\x20one\x20layer\x20via\x20rule.\x20Inspect\x20this\x20BEFORE\x20tuning\x20the\x20rule\x20switches.\x0a'+'\x20\x20•\x20test_filter\x20—\x20dry-run\x20a\x20filter\x20draft\x20over\x20the\x20most\x20recent\x20captured\x20events\x20(sample,\x20'+'default\x20200,\x20max\x201000):\x20returns\x20matched\x20count,\x20scanned\x20count,\x20and\x20up\x20to\x205\x20sample\x20events.\x20'+'Preview\x20a\x20filter\x27s\x20noise/hit\x20rate\x20BEFORE\x20saving\x20it\x20into\x20config.filters.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27monitor_subscription\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':MonitorSubscriptionInputSchema,'outputSchema':MonitorSubscriptionResultSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('monitor',['monitor','subscription','scope','focus','filter','config','todo','relevance'])}},{'name':'keeper_operation','handler':handleKeeperOperation,'config':{'title':'⏰\x20Keeper\x20—\x20Actionable\x20Reminders\x20&\x20Authorized\x20Auto-Execution','summary':'Who-benefits-who-pushes:\x20scans\x20the\x20monitor\x20scope\x20for\x20actionable\x20state\x20(unclaimed\x20funds,\x20advanceable\x20workflow\x20nodes),\x20routes\x20tasks\x20to\x20beneficiaries;\x20per-task\x20dismiss/execute\x20+\x20standing\x20auto-execute\x20rules.','description':'The\x20chain\x20has\x20NO\x20time-triggered\x20execution:\x20a\x20time-locked\x20Guard\x20becoming\x20satisfiable,\x20'+'CoinWrappers\x20waiting\x20to\x20be\x20unwrapped,\x20or\x20a\x20stalled\x20workflow\x20node\x20produce\x20NO\x20events\x20—\x20'+'someone\x20must\x20send\x20a\x20transaction\x20(gas).\x20The\x20keeper\x20is\x20the\x20MCP-side\x20answer,\x20built\x20on\x20one\x20'+'principle:\x20WHO\x20BENEFITS,\x20WHO\x20PUSHES.\x20It\x20scans\x20the\x20monitor\x20scope\x20(accounts/orders\x20resolved\x20'+'by\x20monitor_subscription)\x20on\x20its\x20own\x20cadence\x20inside\x20the\x20MonitorLoop\x20tick,\x20and\x20routes\x20every\x20'+'actionable\x20item\x20to\x20its\x20beneficiary\x20as\x20a\x20KeeperTask.\x0a\x0a'+'Detectors\x20(v1):\x0a'+'\x20\x20•\x20payment_unclaimed\x20—\x20you\x20own\x20unclaimed\x20CoinWrapper(s):\x20funds\x20one\x20\x27payment\x20{receive:true}\x27\x20'+'away\x20from\x20your\x20wallet.\x20Keeper-executable\x20and\x20auto-executable\x20(claim-to-self:\x20funds\x20only\x20ever\x20'+'move\x20INTO\x20your\x20own\x20wallet).\x0a'+'\x20\x20•\x20progress_actionable\x20—\x20an\x20in-scope\x20order\x27s\x20workflow\x20has\x20a\x20forward\x20YOU\x20can\x20execute\x20from\x20the\x20'+'current\x20node\x20(session-aware;\x20guard/permission/named-operator\x20judged\x20on-chain).\x20Reminder-only:\x20'+'advancing\x20may\x20release\x20funds\x20to\x20a\x20counterparty,\x20so\x20execution\x20stays\x20with\x20you\x20via\x20workflow_operation.\x0a\x0a'+'Actions\x20(action):\x0a'+'\x20\x20•\x20tasks\x20—\x20list\x20reminders\x20(pending\x20first).\x20Filter\x20by\x20status/detector/beneficiary;\x20paginate.\x0a'+'\x20\x20•\x20dismiss\x20—\x20record\x20\x27I\x20won\x27t\x20act\x20on\x20this\x27.\x20A\x20dismissed\x20task\x20re-opens\x20ONLY\x20when\x20the\x20underlying\x20'+'state\x20materially\x20changes\x20(new\x20funds\x20arrived,\x20a\x20new\x20forward\x20opened)\x20—\x20never\x20for\x20the\x20identical\x20state.\x0a'+'\x20\x20•\x20execute\x20—\x20act\x20NOW\x20on\x20one\x20keeper-executable\x20task\x20as\x20its\x20beneficiary.\x20This\x20explicit\x20call\x20IS\x20the\x20'+'user\x20decision\x20(no\x20rule\x20needed).\x20Signing\x20stays\x20in\x20the\x20existing\x20on-chain\x20pipeline\x20(env.account\x20=\x20'+'beneficiary);\x20the\x20keeper\x20never\x20touches\x20keys.\x0a'+'\x20\x20•\x20rules\x20/\x20rule_set\x20/\x20rule_remove\x20—\x20standing\x20AUTO-EXECUTE\x20authorizations\x20(用户授权的自动决策).\x20'+'Nothing\x20auto-executes\x20without\x20an\x20enabled\x20rule;\x20v1\x20restricts\x20auto-execution\x20to\x20payment_unclaimed.\x20'+'Every\x20auto-exec\x20stamps\x20the\x20rule\x20id\x20into\x20the\x20task\x27s\x20resolution\x20audit;\x20failed\x20attempts\x20cool\x20down\x20'+'(no\x20gas-burn\x20retry\x20loops);\x20per-scan\x20auto-exec\x20is\x20capped.\x0a'+'\x20\x20•\x20config\x20/\x20config_set\x20—\x20master\x20switch,\x20per-detector\x20switches,\x20scan\x20cadence\x20(default\x202min),\x20'+'scan\x20bounds,\x20auto-exec\x20gas\x20guard\x20and\x20failure\x20cooldown.\x0a'+'\x20\x20•\x20scan\x20—\x20force\x20a\x20scan\x20now\x20(cadence\x20gate\x20bypassed).\x20Requires\x20a\x20resolved\x20monitor\x20scope.\x0a'+'\x20\x20•\x20status\x20—\x20last\x20scan\x20time,\x20next\x20due,\x20pending\x20counts\x20per\x20detector.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27keeper_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':KeeperOperationInputSchema,'outputSchema':KeeperOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('monitor',['keeper','reminder','todo','auto-execute','rule','unclaimed','payment','workflow','task'])}}];
1
+ import{handleMonitorEvents,handleMonitorSubscription}from'../handlers/monitor.js';import{handleKeeperOperation}from'../handlers/keeper.js';import{createToolMeta,MonitorEventsInputSchema,MonitorEventsResultSchema,MonitorSubscriptionInputSchema,MonitorSubscriptionResultSchema,KeeperOperationInputSchema,KeeperOperationOutputSchema}from'../../schema/index.js';export const MONITOR_TOOLS=[{'name':'monitor_events','handler':handleMonitorEvents,'config':{'title':'🔔\x20Monitor\x20Events\x20-\x20Persistent\x20Store\x20&\x20Read\x20State','summary':'Persistent\x20monitor\x20event\x20store:\x20paginated\x20events\x20with\x20read\x20flags;\x20mark\x20read/unread.','description':'Query\x20and\x20manage\x20the\x20PERSISTENT\x20monitor\x20event\x20store\x20—\x20the\x20same\x20store\x20the\x20client\x20UI\x27s\x20'+'Monitor\x20page\x20reads.\x20Events\x20are\x20captured\x20by\x20the\x20resident\x20MonitorLoop\x20(client\x20sidecar,\x20'+'or\x20the\x20stdio\x20MCP\x20server\x20when\x20MONITOR_LOOP=1)\x20across\x209\x20modules\x20(order\x20/\x20arb\x20/\x20demand\x20/\x20'+'progress\x20/\x20treasury\x20/\x20reward\x20/\x20service\x20/\x20entity\x20/\x20payment),\x20stored\x20APPEND-ONLY\x20per\x20'+'event\x20(no\x20ring\x20buffer,\x20survives\x20restarts),\x20and\x20carry\x20a\x20per-event\x20read\x20flag\x20persisted\x20in\x20SQLite.\x0a\x0a'+'Actions\x20(action):\x0a'+'\x20\x20•\x20query\x20—\x20paginated\x20events,\x20newest\x20first.\x20Returns\x20events[]\x20(id,\x20module,\x20type,\x20time,\x20seen,\x20event),\x20'+'total,\x20module_counts,\x20unread_by_module,\x20total_unread.\x20Filter\x20with\x20module/event_type/since/until;\x20'+'paginate\x20with\x20limit/offset.\x20relevant_only\x20(default\x20TRUE)\x20restricts\x20to\x20events\x20that\x20hit\x20your\x20scope\x20'+'closure/focus/filters\x20(the\x20de-noised\x20agent\x20todo\x20stream);\x20pass\x20false\x20for\x20the\x20full\x20firehose.\x20'+'with_reason\x20attaches\x20each\x20event\x27s\x20relevance\x20annotation\x20(why\x20it\x20concerns\x20you)\x20+\x20a\x20delivered\x20flag.\x0a'+'\x20\x20•\x20mark_read\x20—\x20mark\x20event_ids\x20(format\x20\x27<eventSeq>:<txDigest>\x27)\x20as\x20read.\x20Idempotent;\x20returns\x20marked\x20count\x20+\x20total_unread.\x0a'+'\x20\x20•\x20mark_all_read\x20—\x20mark\x20ALL\x20stored\x20events\x20read\x20(optionally\x20scoped\x20to\x20module).\x20Returns\x20marked\x20count\x20+\x20total_unread.\x0a\x0a'+'Cross-process\x20note:\x20read\x20state\x20is\x20SHARED\x20with\x20the\x20client\x20app\x20(same\x20SQLite\x20store)\x20—\x20marking\x20'+'events\x20read\x20here\x20clears\x20the\x20client\x27s\x20Monitor\x20unread\x20badge\x20and\x20vice\x20versa.\x20Configure\x20the\x20'+'scope/filters\x20behind\x20relevant_only\x20via\x20the\x20monitor_subscription\x20tool.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27monitor_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':MonitorEventsInputSchema,'outputSchema':MonitorEventsResultSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('monitor',['monitor','events','unread','read','notification','order','arbitration','demand','progress'])}},{'name':'monitor_subscription','handler':handleMonitorSubscription,'config':{'title':'🔔\x20Monitor\x20Subscription\x20-\x20Scope,\x20Filters\x20&\x20Todo-Stream\x20Config','summary':'Monitor\x20subscription\x20config:\x20scope-closure\x20rules,\x20focus\x20objects,\x20per-type\x20switches,\x20conditional\x20filters;\x20scope\x20preview\x20+\x20filter\x20dry-run.','description':'The\x20SINGLE\x20entry\x20point\x20for\x20monitor\x20v4\x20subscription\x20configuration\x20(the\x20client\x20settings\x20'+'panel\x20and\x20agent\x20conversations\x20both\x20use\x20this\x20tool).\x20The\x20config\x20drives\x20three\x20layers:\x20'+'the\x20SCOPE\x20CLOSURE\x20(which\x20objects\x27\x20events\x20are\x20relevant\x20to\x20you:\x20anchor\x20accounts\x20→\x20'+'permissions\x20→\x20managed\x20objects\x20→\x20merchant/buyer\x20orders\x20→\x20order\x20children,\x20plus\x20explicit\x20'+'focus\x20objects),\x20the\x20TODO-STREAM\x20switches\x20(per-event-type\x20delivery\x20on/off),\x20and\x20'+'conditional\x20FILTERS\x20(field-path\x20predicates\x20over\x20event\x20payloads).\x20Event\x20CAPTURE\x20is\x20'+'unaffected\x20by\x20these\x20switches\x20EXCEPT\x20NewPaymentEvent,\x20which\x20is\x20captured\x20only\x20when\x20'+'switched\x20ON\x20here\x20(high-volume\x20fund\x20receipts,\x20opt-in).\x0a\x0a'+'Actions\x20(action):\x0a'+'\x20\x20•\x20get\x20—\x20effective\x20config\x20(defaults\x20merged)\x20+\x20resolved\x20state:\x20scope_version,\x20per-layer\x20'+'closure\x20counts,\x20capture_types,\x20last_poll_at,\x20and\x20this\x20process\x27s\x20MonitorLoop\x20status.\x0a'+'\x20\x20•\x20save\x20—\x20merge\x20a\x20partial\x20config\x20(scope.rules/events/loop\x20merge\x20field-wise;\x20'+'focus_objects/filters\x20REPLACE\x20wholesale;\x20loop\x20params\x20clamped\x20to\x20safe\x20bounds),\x20then\x20'+'trigger\x20an\x20IMMEDIATE\x20scope\x20re-resolve;\x20a\x20scope\x20change\x20schedules\x20a\x20non-blocking\x20'+'re-annotation\x20backfill\x20over\x20loop.backfill_days.\x0a'+'\x20\x20•\x20reset\x20—\x20restore\x20the\x20default\x20config\x20and\x20re-resolve.\x0a'+'\x20\x20•\x20scope_preview\x20—\x20the\x20current\x20scope\x20closure\x20grouped\x20by\x20layer\x20(accounts\x20/\x20permissions\x20/\x20'+'managed_objects\x20/\x20services\x20/\x20orders\x20/\x20order_children\x20/\x20focus),\x20paginated\x20with\x20limit/offset,\x20'+'optionally\x20restricted\x20to\x20one\x20layer\x20via\x20rule.\x20Inspect\x20this\x20BEFORE\x20tuning\x20the\x20rule\x20switches.\x0a'+'\x20\x20•\x20test_filter\x20—\x20dry-run\x20a\x20filter\x20draft\x20over\x20the\x20most\x20recent\x20captured\x20events\x20(sample,\x20'+'default\x20200,\x20max\x201000):\x20returns\x20matched\x20count,\x20scanned\x20count,\x20and\x20up\x20to\x205\x20sample\x20events.\x20'+'Preview\x20a\x20filter\x27s\x20noise/hit\x20rate\x20BEFORE\x20saving\x20it\x20into\x20config.filters.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27monitor_subscription\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':MonitorSubscriptionInputSchema,'outputSchema':MonitorSubscriptionResultSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('monitor',['monitor','subscription','scope','focus','filter','config','todo','relevance'])}},{'name':'keeper_operation','handler':handleKeeperOperation,'config':{'title':'⏰\x20Keeper\x20—\x20Actionable\x20Reminders\x20&\x20Authorized\x20Auto-Execution','summary':'Who-benefits-who-pushes:\x20scans\x20the\x20monitor\x20scope\x20for\x20actionable\x20state\x20(unclaimed\x20funds,\x20advanceable\x20workflow\x20nodes),\x20routes\x20tasks\x20to\x20beneficiaries;\x20per-task\x20dismiss/execute\x20+\x20standing\x20auto-execute\x20rules.','description':'The\x20chain\x20has\x20NO\x20time-triggered\x20execution:\x20a\x20time-locked\x20Guard\x20becoming\x20satisfiable,\x20'+'CoinWrappers\x20waiting\x20to\x20be\x20unwrapped,\x20or\x20a\x20stalled\x20workflow\x20node\x20produce\x20NO\x20events\x20—\x20'+'someone\x20must\x20send\x20a\x20transaction\x20(gas).\x20The\x20keeper\x20is\x20the\x20MCP-side\x20answer,\x20built\x20on\x20one\x20'+'principle:\x20WHO\x20BENEFITS,\x20WHO\x20PUSHES.\x20It\x20scans\x20the\x20monitor\x20scope\x20(accounts/orders\x20resolved\x20'+'by\x20monitor_subscription)\x20on\x20its\x20own\x20cadence\x20inside\x20the\x20MonitorLoop\x20tick,\x20and\x20routes\x20every\x20'+'actionable\x20item\x20to\x20its\x20beneficiary\x20as\x20a\x20KeeperTask.\x0a\x0a'+'Detectors\x20(v1):\x0a'+'\x20\x20•\x20payment_unclaimed\x20—\x20you\x20own\x20unclaimed\x20CoinWrapper(s):\x20funds\x20one\x20\x27payment\x20{receive:true}\x27\x20'+'away\x20from\x20your\x20wallet.\x20Keeper-executable\x20and\x20auto-executable\x20(claim-to-self:\x20funds\x20only\x20ever\x20'+'move\x20INTO\x20your\x20own\x20wallet).\x0a'+'\x20\x20•\x20progress_actionable\x20—\x20an\x20in-scope\x20order\x27s\x20workflow\x20has\x20a\x20forward\x20YOU\x20can\x20execute\x20from\x20the\x20'+'current\x20node\x20(session-aware;\x20guard/permission/named-operator\x20judged\x20on-chain).\x20Reminder-only:\x20'+'advancing\x20may\x20release\x20funds\x20to\x20a\x20counterparty,\x20so\x20execution\x20stays\x20with\x20you\x20via\x20workflow_operation.\x0a\x0a'+'Actions\x20(action):\x0a'+'\x20\x20•\x20tasks\x20—\x20list\x20reminders\x20(pending\x20first).\x20Filter\x20by\x20status/detector/beneficiary;\x20paginate.\x0a'+'\x20\x20•\x20dismiss\x20—\x20record\x20\x27I\x20won\x27t\x20act\x20on\x20this\x27.\x20A\x20dismissed\x20task\x20re-opens\x20ONLY\x20when\x20the\x20underlying\x20'+'state\x20materially\x20changes\x20(new\x20funds\x20arrived,\x20a\x20new\x20forward\x20opened)\x20—\x20never\x20for\x20the\x20identical\x20state.\x0a'+'\x20\x20•\x20execute\x20—\x20act\x20NOW\x20on\x20one\x20keeper-executable\x20task\x20as\x20its\x20beneficiary.\x20This\x20explicit\x20call\x20IS\x20the\x20'+'user\x20decision\x20(no\x20rule\x20needed).\x20Signing\x20stays\x20in\x20the\x20existing\x20on-chain\x20pipeline\x20(env.account\x20=\x20'+'beneficiary);\x20the\x20keeper\x20never\x20touches\x20keys.\x0a'+'\x20\x20•\x20rules\x20/\x20rule_set\x20/\x20rule_remove\x20—\x20standing\x20AUTO-EXECUTE\x20authorizations\x20(用户授权的自动决策).\x20'+'Nothing\x20auto-executes\x20without\x20an\x20enabled\x20rule;\x20v1\x20restricts\x20auto-execution\x20to\x20payment_unclaimed.\x20'+'Every\x20auto-exec\x20stamps\x20the\x20rule\x20id\x20into\x20the\x20task\x27s\x20resolution\x20audit;\x20failed\x20attempts\x20cool\x20down\x20'+'(no\x20gas-burn\x20retry\x20loops);\x20per-scan\x20auto-exec\x20is\x20capped.\x0a'+'\x20\x20•\x20config\x20/\x20config_set\x20—\x20master\x20switch,\x20per-detector\x20switches,\x20scan\x20cadence\x20(default\x202min),\x20'+'scan\x20bounds,\x20auto-exec\x20gas\x20guard\x20and\x20failure\x20cooldown.\x0a'+'\x20\x20•\x20scan\x20—\x20force\x20a\x20scan\x20now\x20(cadence\x20gate\x20bypassed).\x20Requires\x20a\x20resolved\x20monitor\x20scope.\x0a'+'\x20\x20•\x20status\x20—\x20last\x20scan\x20time,\x20next\x20due,\x20pending\x20counts\x20per\x20detector.\x0a\x0a'+'💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27keeper_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':KeeperOperationInputSchema,'outputSchema':KeeperOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('monitor',['keeper','reminder','todo','auto-execute','rule','unclaimed','payment','workflow','task'])},'timeoutMs':0x1d4c0}];
@@ -1 +1 @@
1
- import{handleOnchainOperations}from'../handlers/onchain.js';import{applyOnchainRules}from'../rules-hook.js';import{createToolMeta,OnchainOperationsSchema,CallOutputSchema}from'../../schema/index.js';export const ONCHAIN_TOOLS=[{'name':'onchain_operations','handler':handleOnchainOperations,'config':{'title':'⛓️\x20On-chain\x20Operations','summary':'On-chain\x20ops:\x20service,\x20machine,\x20progress,\x20repository,\x20arbitration,\x20etc.','description':'On-chain\x20operations\x20for\x20WoWok\x20object:\x20service\x20(marketplace\x20listings),\x20machine\x20(workflow\x20templates),\x20progress\x20(order\x20tracking),\x20repository\x20(on-chain\x20database),\x20arbitration\x20(dispute\x20resolution),\x20contact\x20(IM\x20management),\x20treasury\x20(team\x20funds),\x20reward\x20(incentive\x20pools),\x20allocation\x20(auto-distribution),\x20permission\x20(access\x20control),\x20guard\x20(programmable\x20trust\x20rules),\x20personal\x20(public\x20profile),\x20payment\x20(direct\x20coin\x20transfers),\x20demand\x20(service\x20requests),\x20order\x20(order\x20management),\x20gen_passport\x20(verified\x20credentials),\x20proof\x20(on-chain\x20proof\x20objects),\x20gen_proof\x20(generate\x20proof\x20shortcut).\x0a\x0a💰\x20FUND\x20SAFETY\x20(service/arbitration/treasury/reward/allocation/payment):\x20amounts\x20are\x20parsed\x20against\x20the\x20target\x20object\x27s\x20IMMUTABLE\x20generic\x20token\x20type\x20(e.g.\x20Treasury<USDT>\x20accepts\x20ONLY\x20USDT\x20—\x20mismatched\x20coins/token_types\x20are\x20BLOCKED\x20before\x20execution).\x20Monetary\x20input\x20with\x20unresolvable\x20token\x20precision\x20is\x20BLOCKED\x20(never\x20guesses\x20decimals)\x20with\x20known-token\x20suggestions;\x20retry\x20once\x20the\x20token\x20info\x20resolves.\x20Display-format\x20amounts\x20like\x20\x222WOW\x22\x20are\x20converted\x20to\x20raw\x20u64\x20using\x20the\x20token\x27s\x20own\x20decimals.\x0a\x0a🔒\x20GUARD\x20PRESET\x20BINDINGS:\x20objects\x20declare\x20preset\x20slots\x20where\x20guard\x20submissions\x20gain\x20business\x20meaning\x20—\x20Reward\x20reads\x20claim\x20recipient\x20(address)\x20/\x20amount\x20(u64)\x20/\x20expiration_time\x20(claim\x20deadline;\x20contract\x20asserts\x20clock\x20≤\x20expiration_time);\x20Allocation\x20reads\x20split\x20payee\x20(address)\x20and\x20Rate\x20(basis\x20points,\x20must\x20complete\x2010000\x20unless\x20a\x20Surplus\x20entry\x20exists);\x20Demand\x20reads\x20the\x20presented\x20service\x20(address);\x20Treasury\x20reads\x20deposit/withdraw\x20amounts\x20(number)\x20—\x20external_withdraw\x20is\x20a\x20PAYMENT\x20AUTHORIZATION;\x20Repository\x20reads\x20row\x20key\x20(address)\x20and\x20row\x20data\x20(any\x20type);\x20Arbitration\x20reads\x20vote\x20weight\x20(number)\x20and\x20usage_guard\x20(dispute-opening\x20gate);\x20Machine\x20Forward\x20requires\x20retained_submissions\x20as\x20mandatory\x20evidence.\x20When\x20configuring\x20rewards\x20for\x20staff:\x20consider\x20an\x20owner\x20fund-recovery\x20escape\x20guard\x20(Signer\x20recipient\x20+\x20GuardU64Identifier\x20amount\x20+\x20Clock-based\x20lock)\x20—\x20claim\x20is\x20the\x20ONLY\x20exit\x20from\x20a\x20Reward\x27s\x20balance\x20(owner_receive\x20extracts\x20RECEIVED\x20objects,\x20never\x20the\x20balance).\x20relationship_profile\x20surfaces\x20these\x20creator/user\x20semantics\x20on\x20touched\x20objects.\x0a\x0a🌐\x20SCENARIO\x20TOPOLOGY:\x20object\x20fields\x20that\x20reference\x20other\x20objects\x20are\x20SCENARIO\x20BRIDGES,\x20not\x20data\x20pointers\x20—\x20Demand.present(Service)\x20welds\x20need-expression\x20and\x20product-listing\x20into\x20a\x20matchmaking\x20capability\x20that\x20belongs\x20to\x20neither\x20object\x20alone;\x20Order\x20copies\x20the\x20Service\x27s\x20machine\x20at\x20creation\x20(order\x20keeps\x20its\x20own\x20fulfillment\x20path);\x20Service\x20pre-binds\x20arbitrations\x20+\x20compensation_fund\x20(fairness:\x20E_ARBITRATION_PERMISSION_CONFLICT\x20rejects\x20arbitrations\x20sharing\x20the\x20service\x27s\x20own\x20permission);\x20um\x20binds\x20a\x20Contact\x20per\x20object;\x20permission\x20fields\x20route\x20ALL\x20admin\x20operations\x20through\x20one\x20governance\x20backbone.\x20Whole\x20applications\x20are\x20BRIDGE\x20CHAINS\x20(standard\x20e-commerce:\x20qualification→purchase→communication→fulfillment→escrow_split→incentive;\x20procurement\x20tender:\x20supply_match→…→dispute).\x20relationship_profile\x20auto-surfaces\x20the\x20bridges\x20implied\x20by\x20a\x20topology\x27s\x20touched\x20objects\x20(K3\x2003\x20§3.5).\x0a\x0a⚡\x20MACHINE\x20FORWARD\x20LOCK\x20(threshold\x20design):\x20each\x20forward\x20is\x20SINGLE-OPERATOR-LOCKED\x20—\x20it\x20contributes\x20its\x20weight\x20AT\x20MOST\x20ONCE\x20(progress.move\x20session_accomplish_imp;\x20a\x20second\x20operator\x20re-executing\x20the\x20same\x20accomplished\x20forward\x20aborts\x20E_NOT_THE_HOLDER).\x20A\x20Pair\x27s\x20maximum\x20achievable\x20weight\x20=\x20sum\x20of\x20its\x20DISTINCT\x20forward\x20weights;\x20if\x20that\x20sum\x20<\x20threshold\x20the\x20transition\x20can\x20never\x20migrate\x20(workflow\x20stuck).\x20Multi-operator\x20cooperation\x20(threshold\x20>\x201)\x20MUST\x20use\x20one\x20DISTINCT\x20forward\x20per\x20contributing\x20operator\x20(e.g.\x20threshold\x202\x20→\x20begin_a\x20+\x20begin_b,\x20each\x20weight\x201)\x20—\x20never\x20one\x20forward\x20reused\x20by\x20several\x20people.\x20machine-risk\x20R-M1-12/13\x20and\x20machine-confirm\x20C-12\x20flag\x20such\x20designs\x20before\x20publish.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations\x27\x20to\x20retrieve\x20the\x20complete\x20parameter\x20schema.\x20For\x20individual\x20operation\x20schemas\x20(e.g.,\x20\x27onchain_operations_permission\x27),\x20use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20available\x20operation\x20schemas.','inputSchema':OnchainOperationsSchema,'outputSchema':CallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','payment','demand','order','gen_passport','proof','gen_proof','on-chain','blockchain'])},'applyRules':applyOnchainRules}];
1
+ import{handleOnchainOperations}from'../handlers/onchain.js';import{applyOnchainRules}from'../rules-hook.js';import{createToolMeta,OnchainOperationsSchema,CallOutputSchema}from'../../schema/index.js';export const ONCHAIN_TOOLS=[{'name':'onchain_operations','handler':handleOnchainOperations,'config':{'title':'⛓️\x20On-chain\x20Operations','summary':'On-chain\x20ops:\x20service,\x20machine,\x20progress,\x20repository,\x20arbitration,\x20etc.','description':'On-chain\x20operations\x20for\x20WoWok\x20object:\x20service\x20(marketplace\x20listings),\x20machine\x20(workflow\x20templates),\x20progress\x20(order\x20tracking),\x20repository\x20(on-chain\x20database),\x20arbitration\x20(dispute\x20resolution),\x20contact\x20(IM\x20management),\x20treasury\x20(team\x20funds),\x20reward\x20(incentive\x20pools),\x20allocation\x20(auto-distribution),\x20permission\x20(access\x20control),\x20guard\x20(programmable\x20trust\x20rules),\x20personal\x20(public\x20profile),\x20payment\x20(direct\x20coin\x20transfers),\x20demand\x20(service\x20requests),\x20order\x20(order\x20management),\x20gen_passport\x20(verified\x20credentials),\x20proof\x20(on-chain\x20proof\x20objects),\x20gen_proof\x20(generate\x20proof\x20shortcut).\x0a\x0a💰\x20FUND\x20SAFETY\x20(service/arbitration/treasury/reward/allocation/payment):\x20amounts\x20are\x20parsed\x20against\x20the\x20target\x20object\x27s\x20IMMUTABLE\x20generic\x20token\x20type\x20(e.g.\x20Treasury<USDT>\x20accepts\x20ONLY\x20USDT\x20—\x20mismatched\x20coins/token_types\x20are\x20BLOCKED\x20before\x20execution).\x20Monetary\x20input\x20with\x20unresolvable\x20token\x20precision\x20is\x20BLOCKED\x20(never\x20guesses\x20decimals)\x20with\x20known-token\x20suggestions;\x20retry\x20once\x20the\x20token\x20info\x20resolves.\x20Display-format\x20amounts\x20like\x20\x222WOW\x22\x20are\x20converted\x20to\x20raw\x20u64\x20using\x20the\x20token\x27s\x20own\x20decimals.\x0a\x0a🔒\x20GUARD\x20PRESET\x20BINDINGS:\x20objects\x20declare\x20preset\x20slots\x20where\x20guard\x20submissions\x20gain\x20business\x20meaning\x20—\x20Reward\x20reads\x20claim\x20recipient\x20(address)\x20/\x20amount\x20(u64)\x20/\x20expiration_time\x20(claim\x20deadline;\x20contract\x20asserts\x20clock\x20≤\x20expiration_time);\x20Allocation\x20reads\x20split\x20payee\x20(address)\x20and\x20Rate\x20(basis\x20points,\x20must\x20complete\x2010000\x20unless\x20a\x20Surplus\x20entry\x20exists);\x20Demand\x20reads\x20the\x20presented\x20service\x20(address);\x20Treasury\x20reads\x20deposit/withdraw\x20amounts\x20(number)\x20—\x20external_withdraw\x20is\x20a\x20PAYMENT\x20AUTHORIZATION;\x20Repository\x20reads\x20row\x20key\x20(address)\x20and\x20row\x20data\x20(any\x20type);\x20Arbitration\x20reads\x20vote\x20weight\x20(number)\x20and\x20usage_guard\x20(dispute-opening\x20gate);\x20Machine\x20Forward\x20requires\x20retained_submissions\x20as\x20mandatory\x20evidence.\x20When\x20configuring\x20rewards\x20for\x20staff:\x20consider\x20an\x20owner\x20fund-recovery\x20escape\x20guard\x20(Signer\x20recipient\x20+\x20GuardU64Identifier\x20amount\x20+\x20Clock-based\x20lock)\x20—\x20claim\x20is\x20the\x20ONLY\x20exit\x20from\x20a\x20Reward\x27s\x20balance\x20(owner_receive\x20extracts\x20RECEIVED\x20objects,\x20never\x20the\x20balance).\x20relationship_profile\x20surfaces\x20these\x20creator/user\x20semantics\x20on\x20touched\x20objects.\x0a\x0a🌐\x20SCENARIO\x20TOPOLOGY:\x20object\x20fields\x20that\x20reference\x20other\x20objects\x20are\x20SCENARIO\x20BRIDGES,\x20not\x20data\x20pointers\x20—\x20Demand.present(Service)\x20welds\x20need-expression\x20and\x20product-listing\x20into\x20a\x20matchmaking\x20capability\x20that\x20belongs\x20to\x20neither\x20object\x20alone;\x20Order\x20copies\x20the\x20Service\x27s\x20machine\x20at\x20creation\x20(order\x20keeps\x20its\x20own\x20fulfillment\x20path);\x20Service\x20pre-binds\x20arbitrations\x20+\x20compensation_fund\x20(fairness:\x20E_ARBITRATION_PERMISSION_CONFLICT\x20rejects\x20arbitrations\x20sharing\x20the\x20service\x27s\x20own\x20permission);\x20um\x20binds\x20a\x20Contact\x20per\x20object;\x20permission\x20fields\x20route\x20ALL\x20admin\x20operations\x20through\x20one\x20governance\x20backbone.\x20Whole\x20applications\x20are\x20BRIDGE\x20CHAINS\x20(standard\x20e-commerce:\x20qualification→purchase→communication→fulfillment→escrow_split→incentive;\x20procurement\x20tender:\x20supply_match→…→dispute).\x20relationship_profile\x20auto-surfaces\x20the\x20bridges\x20implied\x20by\x20a\x20topology\x27s\x20touched\x20objects\x20(K3\x2003\x20§3.5).\x0a\x0a⚡\x20MACHINE\x20FORWARD\x20LOCK\x20(threshold\x20design):\x20each\x20forward\x20is\x20SINGLE-OPERATOR-LOCKED\x20—\x20it\x20contributes\x20its\x20weight\x20AT\x20MOST\x20ONCE\x20(progress.move\x20session_accomplish_imp;\x20a\x20second\x20operator\x20re-executing\x20the\x20same\x20accomplished\x20forward\x20aborts\x20E_NOT_THE_HOLDER).\x20A\x20Pair\x27s\x20maximum\x20achievable\x20weight\x20=\x20sum\x20of\x20its\x20DISTINCT\x20forward\x20weights;\x20if\x20that\x20sum\x20<\x20threshold\x20the\x20transition\x20can\x20never\x20migrate\x20(workflow\x20stuck).\x20Multi-operator\x20cooperation\x20(threshold\x20>\x201)\x20MUST\x20use\x20one\x20DISTINCT\x20forward\x20per\x20contributing\x20operator\x20(e.g.\x20threshold\x202\x20→\x20begin_a\x20+\x20begin_b,\x20each\x20weight\x201)\x20—\x20never\x20one\x20forward\x20reused\x20by\x20several\x20people.\x20machine-risk\x20R-M1-12/13\x20and\x20machine-confirm\x20C-12\x20flag\x20such\x20designs\x20before\x20publish.\x0a\x0a💡\x20Schema\x20hint:\x20Use\x20schema_query\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_operations\x27\x20to\x20retrieve\x20the\x20complete\x20parameter\x20schema.\x20For\x20individual\x20operation\x20schemas\x20(e.g.,\x20\x27onchain_operations_permission\x27),\x20use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20available\x20operation\x20schemas.','inputSchema':OnchainOperationsSchema,'outputSchema':CallOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![],'openWorldHint':!![]},'_meta':createToolMeta('operation',['service','machine','progress','repository','arbitration','contact','treasury','reward','allocation','permission','guard','personal','payment','demand','order','gen_passport','proof','gen_proof','on-chain','blockchain'])},'applyRules':applyOnchainRules,'timeoutMs':0x1d4c0}];