@wowok/agent-mcp 3.3.9 → 3.4.1

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 (480) hide show
  1. package/README.md +8 -0
  2. package/dist/chain-semantics/composition-truth.d.ts +102 -0
  3. package/dist/chain-semantics/composition-truth.js +1 -0
  4. package/dist/chain-semantics/eval-order.js +1 -1
  5. package/dist/chain-semantics/field-capability.js +1 -1
  6. package/dist/chain-semantics/freeze-map.js +1 -1
  7. package/dist/chain-semantics/fund-flow.js +1 -1
  8. package/dist/chain-semantics/guard-verbs.js +1 -1
  9. package/dist/chain-semantics/index.d.ts +1 -0
  10. package/dist/chain-semantics/index.js +1 -1
  11. package/dist/chain-semantics/object-graph.js +1 -1
  12. package/dist/composition/audit.js +1 -1
  13. package/dist/composition/blueprint-view.d.ts +3 -3
  14. package/dist/composition/blueprint-view.js +1 -1
  15. package/dist/composition/compile.d.ts +26 -4
  16. package/dist/composition/compile.js +1 -1
  17. package/dist/composition/emit-phases.d.ts +206 -0
  18. package/dist/composition/emit-phases.js +1 -0
  19. package/dist/composition/generate.d.ts +40 -0
  20. package/dist/composition/generate.js +1 -0
  21. package/dist/composition/guard-fill.d.ts +44 -0
  22. package/dist/composition/guard-fill.js +1 -0
  23. package/dist/composition/inflight.d.ts +26 -2
  24. package/dist/composition/inflight.js +1 -1
  25. package/dist/composition/input-normalize.d.ts +15 -0
  26. package/dist/composition/input-normalize.js +1 -0
  27. package/dist/composition/materialize.d.ts +22 -13
  28. package/dist/composition/materialize.js +1 -1
  29. package/dist/composition/mode-gates.d.ts +35 -0
  30. package/dist/composition/mode-gates.js +1 -0
  31. package/dist/composition/param-disclosure.d.ts +61 -0
  32. package/dist/composition/param-disclosure.js +1 -0
  33. package/dist/composition/plan-retry-ledger.d.ts +21 -0
  34. package/dist/composition/plan-retry-ledger.js +1 -0
  35. package/dist/composition/plan.d.ts +17 -2
  36. package/dist/composition/plan.js +1 -1
  37. package/dist/composition/product-card.d.ts +94 -0
  38. package/dist/composition/product-card.js +1 -0
  39. package/dist/composition/supply-chain-emit.d.ts +46 -0
  40. package/dist/composition/supply-chain-emit.js +1 -0
  41. package/dist/config/config-audit.spec.js +1 -1
  42. package/dist/config/config-warnings.d.ts +2 -0
  43. package/dist/config/config-warnings.js +1 -0
  44. package/dist/config/exposure.d.ts +2 -2
  45. package/dist/config/judgment.d.ts +31 -5
  46. package/dist/config/judgment.js +1 -1
  47. package/dist/config/judgment.spec.js +1 -1
  48. package/dist/config/match-policy-file.d.ts +34 -0
  49. package/dist/config/match-policy-file.js +1 -0
  50. package/dist/config/match-policy-file.spec.d.ts +1 -0
  51. package/dist/config/match-policy-file.spec.js +1 -0
  52. package/dist/config/rule-engine.d.ts +5 -5
  53. package/dist/config/rule-engine.js +1 -1
  54. package/dist/config/runtime.d.ts +0 -1
  55. package/dist/config/runtime.js +1 -1
  56. package/dist/config/severity.d.ts +0 -2
  57. package/dist/config/severity.js +1 -1
  58. package/dist/config/store-policy.spec.js +1 -1
  59. package/dist/config/template-params.d.ts +42 -0
  60. package/dist/config/template-params.js +1 -0
  61. package/dist/config/template-params.spec.d.ts +1 -0
  62. package/dist/config/template-params.spec.js +1 -0
  63. package/dist/customer/account-events.js +1 -1
  64. package/dist/data/api/api.spec.js +1 -1
  65. package/dist/data/api/cli.js +1 -1
  66. package/dist/data/api/server.d.ts +1 -0
  67. package/dist/data/api/server.js +1 -1
  68. package/dist/data/projection/store.d.ts +3 -1
  69. package/dist/data/projection/store.js +1 -1
  70. package/dist/data/projection/types.d.ts +32 -0
  71. package/dist/data/sync/cdc.d.ts +1 -2
  72. package/dist/data/sync/cdc.js +1 -1
  73. package/dist/data/sync/cdc.spec.js +1 -1
  74. package/dist/data/sync/store.d.ts +5 -0
  75. package/dist/data/sync/store.js +1 -1
  76. package/dist/data/sync/types.d.ts +2 -0
  77. package/dist/evaluation/acceptance.d.ts +8 -0
  78. package/dist/evaluation/acceptance.js +1 -1
  79. package/dist/evaluation/builtins/demand-match.js +1 -1
  80. package/dist/evaluation/builtins/graph-service.spec.js +1 -1
  81. package/dist/evaluation/capability.d.ts +2 -0
  82. package/dist/evaluation/category-match-rules.d.ts +0 -1
  83. package/dist/evaluation/category-match-rules.js +1 -1
  84. package/dist/evaluation/composer.d.ts +25 -0
  85. package/dist/evaluation/composer.js +1 -1
  86. package/dist/evaluation/engine.js +1 -1
  87. package/dist/evaluation/extract.d.ts +7 -0
  88. package/dist/evaluation/extract.js +1 -1
  89. package/dist/evaluation/game-strategy.d.ts +0 -3
  90. package/dist/evaluation/game-strategy.js +1 -1
  91. package/dist/evaluation/guard-scan.js +1 -1
  92. package/dist/evaluation/match-operation.d.ts +9 -0
  93. package/dist/evaluation/match-operation.js +1 -1
  94. package/dist/evaluation/match-policy-resolver.d.ts +9 -0
  95. package/dist/evaluation/match-policy-resolver.js +1 -0
  96. package/dist/evaluation/match-policy.d.ts +3 -1
  97. package/dist/evaluation/match-policy.js +1 -1
  98. package/dist/evaluation/region.d.ts +0 -6
  99. package/dist/evaluation/region.js +1 -1
  100. package/dist/evaluation/standards.d.ts +2 -1
  101. package/dist/evaluation/standards.js +1 -1
  102. package/dist/evaluation/structured-lines.d.ts +8 -0
  103. package/dist/evaluation/structured-lines.js +1 -0
  104. package/dist/evaluation/types.d.ts +6 -0
  105. package/dist/experience/realtime-feedback.js +1 -1
  106. package/dist/extensions/capability-manifest.d.ts +1 -0
  107. package/dist/extensions/capability-manifest.js +1 -1
  108. package/dist/extensions/capability.d.ts +91 -0
  109. package/dist/extensions/capability.js +1 -0
  110. package/dist/extensions/industry-audit.spec.js +1 -1
  111. package/dist/extensions/industry-pack.d.ts +13 -0
  112. package/dist/extensions/industry-pack.js +1 -1
  113. package/dist/extensions/modes.js +1 -1
  114. package/dist/extensions/registry.d.ts +0 -2
  115. package/dist/extensions/registry.js +1 -1
  116. package/dist/goal/GoalEngine.js +1 -1
  117. package/dist/graph/onchain/analyze.js +1 -1
  118. package/dist/graph/onchain/expand.js +1 -1
  119. package/dist/graph/onchain/exposure.js +1 -1
  120. package/dist/graph/onchain/facts.js +1 -1
  121. package/dist/graph/onchain/order-status.d.ts +0 -1
  122. package/dist/graph/onchain/order-status.js +1 -1
  123. package/dist/harness/recover.js +1 -1
  124. package/dist/harness/verify.d.ts +0 -3
  125. package/dist/harness/verify.js +1 -1
  126. package/dist/index.js +1 -1
  127. package/dist/intent/types.d.ts +0 -1
  128. package/dist/intent/types.js +1 -1
  129. package/dist/keeper/detectors.js +1 -1
  130. package/dist/keeper/types.d.ts +0 -1
  131. package/dist/keeper/types.js +1 -1
  132. package/dist/knowledge/allocation-risk.d.ts +1 -0
  133. package/dist/knowledge/allocation-risk.js +1 -1
  134. package/dist/knowledge/allocation-templates.js +1 -1
  135. package/dist/knowledge/allocator-rail-verifier.d.ts +6 -1
  136. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  137. package/dist/knowledge/arb-fund-facts.d.ts +1 -0
  138. package/dist/knowledge/arb-fund-facts.js +1 -1
  139. package/dist/knowledge/arbitration-ledger.js +1 -1
  140. package/dist/knowledge/arbitration-puzzle.js +1 -1
  141. package/dist/knowledge/arbitration-risk.d.ts +1 -0
  142. package/dist/knowledge/arbitration-risk.js +1 -1
  143. package/dist/knowledge/audit-rules.d.ts +2 -2
  144. package/dist/knowledge/audit-rules.js +1 -1
  145. package/dist/knowledge/baselines/judgment-baselines.json +21 -2
  146. package/dist/knowledge/baselines/rules/allocation.json +6 -6
  147. package/dist/knowledge/baselines/rules/arb.json +2 -2
  148. package/dist/knowledge/baselines/rules/guard.json +11 -11
  149. package/dist/knowledge/baselines/rules/oracle.json +120 -0
  150. package/dist/knowledge/baselines/rules/order.json +1 -1
  151. package/dist/knowledge/baselines/rules/plan.json +385 -18
  152. package/dist/knowledge/baselines/rules/progress.json +20 -2
  153. package/dist/knowledge/baselines/semantic-facts.js +1 -1
  154. package/dist/knowledge/builtin-templates.d.ts +25 -1
  155. package/dist/knowledge/builtin-templates.js +1 -1
  156. package/dist/knowledge/catalog-facts.d.ts +4 -0
  157. package/dist/knowledge/catalog-facts.js +1 -0
  158. package/dist/knowledge/commission-landing.js +1 -1
  159. package/dist/knowledge/component-schema.d.ts +64 -0
  160. package/dist/knowledge/component-schema.js +1 -0
  161. package/dist/knowledge/contact-templates.d.ts +0 -1
  162. package/dist/knowledge/contact-templates.js +1 -1
  163. package/dist/knowledge/dynamic-pricing.js +1 -1
  164. package/dist/knowledge/entity-recipient-guard.js +1 -1
  165. package/dist/knowledge/event-semantics.js +1 -1
  166. package/dist/knowledge/fee-param-bindings.d.ts +26 -0
  167. package/dist/knowledge/fee-param-bindings.js +1 -0
  168. package/dist/knowledge/fund-layer.d.ts +1 -0
  169. package/dist/knowledge/fund-layer.js +1 -1
  170. package/dist/knowledge/game-scenarios.js +1 -1
  171. package/dist/knowledge/getting-started.d.ts +2 -2
  172. package/dist/knowledge/getting-started.js +1 -1
  173. package/dist/knowledge/guard-anchor-reach.js +1 -1
  174. package/dist/knowledge/guard-binding-table.d.ts +52 -0
  175. package/dist/knowledge/guard-binding-table.js +1 -0
  176. package/dist/knowledge/guard-binding-verifier.d.ts +30 -0
  177. package/dist/knowledge/guard-binding-verifier.js +1 -0
  178. package/dist/knowledge/guard-bindings.js +1 -1
  179. package/dist/knowledge/guard-blueprint.d.ts +68 -0
  180. package/dist/knowledge/guard-blueprint.js +1 -0
  181. package/dist/knowledge/guard-design-patterns.d.ts +1 -1
  182. package/dist/knowledge/guard-design-patterns.js +1 -1
  183. package/dist/knowledge/guard-field-cognition.js +1 -1
  184. package/dist/knowledge/guard-host-context.d.ts +24 -0
  185. package/dist/knowledge/guard-host-context.js +1 -0
  186. package/dist/knowledge/guard-ledger.js +1 -1
  187. package/dist/knowledge/guard-lint.d.ts +1 -0
  188. package/dist/knowledge/guard-lint.js +1 -1
  189. package/dist/knowledge/guard-node-gates.d.ts +3 -0
  190. package/dist/knowledge/guard-node-gates.js +1 -1
  191. package/dist/knowledge/guard-puzzle.js +1 -1
  192. package/dist/knowledge/guard-render.js +1 -1
  193. package/dist/knowledge/guard-risk.js +1 -1
  194. package/dist/knowledge/guard-submission-prompt.d.ts +11 -0
  195. package/dist/knowledge/guard-submission-prompt.js +1 -1
  196. package/dist/knowledge/guard-templates.d.ts +1 -1
  197. package/dist/knowledge/guard-templates.js +1 -1
  198. package/dist/knowledge/guard-translation.js +1 -1
  199. package/dist/knowledge/index.d.ts +1 -1
  200. package/dist/knowledge/index.js +1 -1
  201. package/dist/knowledge/industry-generalizer.d.ts +6 -1
  202. package/dist/knowledge/industry-generalizer.js +1 -1
  203. package/dist/knowledge/industry-registry.js +1 -1
  204. package/dist/knowledge/industry-strategy.js +1 -1
  205. package/dist/knowledge/jsonrpc-enum.d.ts +52 -3
  206. package/dist/knowledge/jsonrpc-enum.js +1 -1
  207. package/dist/knowledge/knob-docs.d.ts +5 -0
  208. package/dist/knowledge/knob-docs.js +1 -0
  209. package/dist/knowledge/machine-templates.js +1 -1
  210. package/dist/knowledge/machine-topology.js +1 -1
  211. package/dist/knowledge/machine-translation.js +1 -1
  212. package/dist/knowledge/object-dependency.d.ts +31 -0
  213. package/dist/knowledge/object-dependency.js +1 -0
  214. package/dist/knowledge/onchain-constants.d.ts +4 -0
  215. package/dist/knowledge/onchain-constants.js +1 -1
  216. package/dist/knowledge/order-ledger.js +1 -1
  217. package/dist/knowledge/param-schema.d.ts +93 -0
  218. package/dist/knowledge/param-schema.js +1 -0
  219. package/dist/knowledge/param-tiers.d.ts +25 -0
  220. package/dist/knowledge/param-tiers.js +1 -0
  221. package/dist/knowledge/passport-ledger.d.ts +1 -1
  222. package/dist/knowledge/passport-ledger.js +1 -1
  223. package/dist/knowledge/path-oracle/coverage.d.ts +16 -0
  224. package/dist/knowledge/path-oracle/coverage.js +1 -0
  225. package/dist/knowledge/path-oracle/index.d.ts +5 -0
  226. package/dist/knowledge/path-oracle/index.js +1 -0
  227. package/dist/knowledge/path-oracle/products/food-delivery.d.ts +2 -0
  228. package/dist/knowledge/path-oracle/products/food-delivery.js +1 -0
  229. package/dist/knowledge/path-oracle/schema.d.ts +188 -0
  230. package/dist/knowledge/path-oracle/schema.js +1 -0
  231. package/dist/knowledge/pattern-resolutions.d.ts +108 -0
  232. package/dist/knowledge/pattern-resolutions.js +1 -0
  233. package/dist/knowledge/progress-ledger.js +1 -1
  234. package/dist/knowledge/progress-risk.js +1 -1
  235. package/dist/knowledge/projection.spec.js +1 -1
  236. package/dist/knowledge/protocol-facts.js +1 -1
  237. package/dist/knowledge/requirement-families.d.ts +13 -0
  238. package/dist/knowledge/requirement-families.js +1 -0
  239. package/dist/knowledge/reward-ledger.js +1 -1
  240. package/dist/knowledge/safety-rules.js +1 -1
  241. package/dist/knowledge/scenario-modes.d.ts +2 -0
  242. package/dist/knowledge/scenario-modes.js +1 -1
  243. package/dist/knowledge/scenario-topology.js +1 -1
  244. package/dist/knowledge/semantic-ir.d.ts +4 -0
  245. package/dist/knowledge/semantic-ir.js +1 -1
  246. package/dist/knowledge/service-allocation-semantics.js +1 -1
  247. package/dist/knowledge/service-ledger.d.ts +1 -1
  248. package/dist/knowledge/service-ledger.js +1 -1
  249. package/dist/knowledge/service-templates.js +1 -1
  250. package/dist/knowledge/sku-name-gate.d.ts +17 -0
  251. package/dist/knowledge/sku-name-gate.js +1 -0
  252. package/dist/knowledge/strategy-manuals.d.ts +1 -1
  253. package/dist/knowledge/strategy-manuals.js +1 -1
  254. package/dist/knowledge/supply-chain.d.ts +9 -0
  255. package/dist/knowledge/supply-chain.js +1 -1
  256. package/dist/knowledge/template-loader.d.ts +114 -6
  257. package/dist/knowledge/template-loader.js +1 -1
  258. package/dist/knowledge/template-nav.d.ts +9 -0
  259. package/dist/knowledge/template-nav.js +1 -0
  260. package/dist/knowledge/template-prose.d.ts +1 -1
  261. package/dist/knowledge/template-registry.js +1 -1
  262. package/dist/knowledge/template-scanner.d.ts +95 -0
  263. package/dist/knowledge/template-scanner.js +1 -1
  264. package/dist/knowledge/template-test-profiles.d.ts +17 -0
  265. package/dist/knowledge/template-test-profiles.js +1 -0
  266. package/dist/knowledge/template-validation.d.ts +1 -0
  267. package/dist/knowledge/template-validation.js +1 -1
  268. package/dist/knowledge/tools-reference.js +1 -1
  269. package/dist/knowledge/treasury-templates.js +1 -1
  270. package/dist/knowledge/workflow-guidance.d.ts +5 -0
  271. package/dist/knowledge/workflow-guidance.js +1 -1
  272. package/dist/monitor/MonitorLoop.js +1 -1
  273. package/dist/participation/radar-core.js +1 -1
  274. package/dist/participation/time-window.d.ts +37 -0
  275. package/dist/participation/time-window.js +1 -0
  276. package/dist/persona/address-format.d.ts +0 -1
  277. package/dist/persona/address-format.js +1 -1
  278. package/dist/persona/bridge.js +1 -1
  279. package/dist/persona/index.d.ts +0 -2
  280. package/dist/persona/index.js +1 -1
  281. package/dist/persona/model.js +1 -1
  282. package/dist/persona/persona-audit.spec.js +1 -1
  283. package/dist/persona/types.d.ts +6 -0
  284. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  285. package/dist/playbooks/service-build/game-theory.d.ts +2 -2
  286. package/dist/playbooks/service-build/intent-analyzer.js +1 -1
  287. package/dist/playbooks/service-build/machine-panorama.d.ts +1 -0
  288. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  289. package/dist/playbooks/service-build/merchant-guide.d.ts +52 -22
  290. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  291. package/dist/playbooks/service-build/migration-planner.d.ts +2 -0
  292. package/dist/playbooks/service-build/migration-planner.js +1 -1
  293. package/dist/playbooks/service-build/mode-actions.js +1 -1
  294. package/dist/playbooks/service-build/object-panorama.d.ts +8 -0
  295. package/dist/playbooks/service-build/object-panorama.js +1 -1
  296. package/dist/playbooks/service-build/participation-radar.d.ts +1 -0
  297. package/dist/playbooks/service-build/participation-radar.js +1 -1
  298. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  299. package/dist/playbooks/service-build/reverse-mapping.d.ts +6 -0
  300. package/dist/playbooks/service-build/reverse-mapping.js +1 -1
  301. package/dist/playbooks/service-build/service-panorama.d.ts +2 -0
  302. package/dist/playbooks/service-build/service-panorama.js +1 -1
  303. package/dist/playbooks/service-build/service-quote.js +1 -1
  304. package/dist/playbooks/service-build/service-quote.spec.js +1 -1
  305. package/dist/playbooks/service-build/workflow-design-assessment.d.ts +10 -1
  306. package/dist/playbooks/service-build/workflow-design-assessment.js +1 -1
  307. package/dist/relationship/registry.js +1 -1
  308. package/dist/review/index.js +1 -1
  309. package/dist/review/repository.js +1 -1
  310. package/dist/runtime/instance-registry.d.ts +7 -1
  311. package/dist/runtime/instance-registry.js +1 -1
  312. package/dist/safety/confirm-gate.js +1 -1
  313. package/dist/schema/benchmark-migration/index.d.ts +106 -0
  314. package/dist/schema/benchmark-migration/index.js +1 -1
  315. package/dist/schema/call/allocation.d.ts +15 -6
  316. package/dist/schema/call/allocation.js +1 -1
  317. package/dist/schema/call/arbitration.js +1 -1
  318. package/dist/schema/call/base.d.ts +264 -0
  319. package/dist/schema/call/base.js +1 -1
  320. package/dist/schema/call/bridge.d.ts +34 -6
  321. package/dist/schema/call/demand.d.ts +15 -6
  322. package/dist/schema/call/demand.js +1 -1
  323. package/dist/schema/call/error-codes.d.ts +1 -1
  324. package/dist/schema/call/error-codes.js +1 -1
  325. package/dist/schema/call/guard.d.ts +8 -8
  326. package/dist/schema/call/guard.js +1 -1
  327. package/dist/schema/call/handler.d.ts +3 -0
  328. package/dist/schema/call/handler.js +1 -1
  329. package/dist/schema/call/machine.d.ts +32 -8
  330. package/dist/schema/call/machine.js +1 -1
  331. package/dist/schema/call/order.d.ts +26 -8
  332. package/dist/schema/call/order.js +1 -1
  333. package/dist/schema/call/payment.d.ts +20 -8
  334. package/dist/schema/call/payment.js +1 -1
  335. package/dist/schema/call/permission-handler.js +1 -1
  336. package/dist/schema/call/permission.d.ts +330 -114
  337. package/dist/schema/call/permission.js +1 -1
  338. package/dist/schema/call/personal.d.ts +10 -4
  339. package/dist/schema/call/personal.js +1 -1
  340. package/dist/schema/call/progress.d.ts +16 -4
  341. package/dist/schema/call/reward.d.ts +10 -4
  342. package/dist/schema/call/reward.js +1 -1
  343. package/dist/schema/call/semantic.d.ts +1 -0
  344. package/dist/schema/call/semantic.js +1 -1
  345. package/dist/schema/call/service.d.ts +131 -43
  346. package/dist/schema/call/service.js +1 -1
  347. package/dist/schema/call/treasury.d.ts +15 -6
  348. package/dist/schema/call/treasury.js +1 -1
  349. package/dist/schema/common/index.js +1 -1
  350. package/dist/schema/config/index.d.ts +61 -0
  351. package/dist/schema/config/index.js +1 -1
  352. package/dist/schema/envelope-unify.d.ts +4 -0
  353. package/dist/schema/envelope-unify.js +1 -0
  354. package/dist/schema/evaluation/index.d.ts +224 -19
  355. package/dist/schema/evaluation/index.js +1 -1
  356. package/dist/schema/goal/index.d.ts +47 -0
  357. package/dist/schema/goal/planning.d.ts +116 -1
  358. package/dist/schema/goal/planning.js +1 -1
  359. package/dist/schema/industry-pack/index.d.ts +166 -6
  360. package/dist/schema/industry-pack/index.js +1 -1
  361. package/dist/schema/industry-pack/modes.d.ts +6 -6
  362. package/dist/schema/keeper/index.d.ts +26 -0
  363. package/dist/schema/local/index.d.ts +157 -0
  364. package/dist/schema/local/index.js +1 -1
  365. package/dist/schema/local/wip.d.ts +6 -0
  366. package/dist/schema/local/wip.js +1 -1
  367. package/dist/schema/messenger/index.d.ts +28 -0
  368. package/dist/schema/messenger/index.js +1 -1
  369. package/dist/schema/operations.d.ts +343 -84
  370. package/dist/schema/operations.js +1 -1
  371. package/dist/schema/persona/index.d.ts +2907 -640
  372. package/dist/schema/persona/index.js +1 -1
  373. package/dist/schema/query/bi.d.ts +251 -4
  374. package/dist/schema/query/bi.js +1 -1
  375. package/dist/schema/query/index.d.ts +271 -78
  376. package/dist/schema/query/index.js +1 -1
  377. package/dist/schema/schema-query/index.d.ts +1 -1
  378. package/dist/schema/schema-query/index.js +1 -1
  379. package/dist/schema/schema-version.js +1 -1
  380. package/dist/schema/utils/permission-machine-check.d.ts +2 -0
  381. package/dist/schema/utils/permission-machine-check.js +1 -1
  382. package/dist/schema/watch/index.d.ts +16 -0
  383. package/dist/schema/watch/index.js +1 -1
  384. package/dist/schema/workflow/index.d.ts +2 -2
  385. package/dist/schema/workflow/index.js +1 -1
  386. package/dist/schema-query-impl/index.d.ts +1 -1
  387. package/dist/schema-query-impl/index.js +1 -1
  388. package/dist/schemas/account_operation.output.json +98 -2
  389. package/dist/schemas/benchmark_migration_operation.output.json +341 -12
  390. package/dist/schemas/benchmark_migration_operation.schema.json +42 -3
  391. package/dist/schemas/bridge_operation.output.json +98 -2
  392. package/dist/schemas/bridge_operation.schema.json +5 -5
  393. package/dist/schemas/config_operation.output.json +352 -0
  394. package/dist/schemas/config_operation.schema.json +20 -2
  395. package/dist/schemas/evaluation_operation.output.json +586 -4
  396. package/dist/schemas/evaluation_operation.schema.json +194 -3
  397. package/dist/schemas/goal_operation.schema.json +183 -0
  398. package/dist/schemas/guard2file.schema.json +1 -1
  399. package/dist/schemas/index.json +1 -1
  400. package/dist/schemas/industry_pack_operation.output.json +771 -1
  401. package/dist/schemas/industry_pack_operation.schema.json +28 -4
  402. package/dist/schemas/keeper_operation.output.json +96 -2
  403. package/dist/schemas/local_cache_operation.output.json +98 -2
  404. package/dist/schemas/local_history_operation.output.json +98 -2
  405. package/dist/schemas/local_info_operation.output.json +98 -2
  406. package/dist/schemas/local_mark_operation.output.json +98 -2
  407. package/dist/schemas/machineNode2file.schema.json +1 -1
  408. package/dist/schemas/messenger_operation.output.json +107 -2
  409. package/dist/schemas/messenger_operation.schema.json +41 -34
  410. package/dist/schemas/monitor_events.output.json +96 -2
  411. package/dist/schemas/monitor_subscription.output.json +96 -2
  412. package/dist/schemas/onchain_events.output.json +108 -14
  413. package/dist/schemas/onchain_operations.output.json +326 -11
  414. package/dist/schemas/onchain_operations.schema.json +1343 -734
  415. package/dist/schemas/onchain_operations_allocation.schema.json +35 -19
  416. package/dist/schemas/onchain_operations_arbitration.schema.json +16 -8
  417. package/dist/schemas/onchain_operations_contact.schema.json +12 -4
  418. package/dist/schemas/onchain_operations_demand.schema.json +33 -17
  419. package/dist/schemas/onchain_operations_gen_passport.schema.json +12 -4
  420. package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
  421. package/dist/schemas/onchain_operations_guard.schema.json +297 -111
  422. package/dist/schemas/onchain_operations_machine.schema.json +56 -39
  423. package/dist/schemas/onchain_operations_order.schema.json +67 -42
  424. package/dist/schemas/onchain_operations_payment.schema.json +27 -12
  425. package/dist/schemas/onchain_operations_permission.schema.json +363 -232
  426. package/dist/schemas/onchain_operations_personal.schema.json +43 -28
  427. package/dist/schemas/onchain_operations_progress.schema.json +49 -32
  428. package/dist/schemas/onchain_operations_proof.schema.json +12 -4
  429. package/dist/schemas/onchain_operations_repository.schema.json +17 -8
  430. package/dist/schemas/onchain_operations_reward.schema.json +36 -20
  431. package/dist/schemas/onchain_operations_service.schema.json +230 -130
  432. package/dist/schemas/onchain_operations_treasury.schema.json +36 -20
  433. package/dist/schemas/onchain_table_data.output.json +276 -19
  434. package/dist/schemas/onchain_table_data.schema.json +104 -64
  435. package/dist/schemas/persona_operation.output.json +7752 -0
  436. package/dist/schemas/persona_operation.schema.json +1232 -4
  437. package/dist/schemas/query_toolkit.output.json +1054 -146
  438. package/dist/schemas/query_toolkit.schema.json +144 -13
  439. package/dist/schemas/schema_query.schema.json +1 -1
  440. package/dist/schemas/watch_operation.output.json +86 -3
  441. package/dist/schemas/wip_file.output.json +8 -0
  442. package/dist/schemas/workflow_operation.schema.json +5 -4
  443. package/dist/schemas/wowok_buildin_info.schema.json +1 -1
  444. package/dist/task/playbook.js +1 -1
  445. package/dist/tools/handlers/benchmark-migration.d.ts +12 -3
  446. package/dist/tools/handlers/benchmark-migration.js +1 -1
  447. package/dist/tools/handlers/config.js +1 -1
  448. package/dist/tools/handlers/evaluation.js +1 -1
  449. package/dist/tools/handlers/evaluation.spec.js +1 -1
  450. package/dist/tools/handlers/industry-pack.js +1 -1
  451. package/dist/tools/handlers/messenger.js +1 -1
  452. package/dist/tools/handlers/onchain.d.ts +24 -0
  453. package/dist/tools/handlers/onchain.js +1 -1
  454. package/dist/tools/handlers/persona.js +1 -1
  455. package/dist/tools/handlers/query.d.ts +8 -0
  456. package/dist/tools/handlers/query.js +1 -1
  457. package/dist/tools/handlers/winner-derivation.d.ts +20 -0
  458. package/dist/tools/handlers/winner-derivation.js +1 -0
  459. package/dist/tools/handlers/wip-upload.js +1 -1
  460. package/dist/tools/index.d.ts +1 -0
  461. package/dist/tools/index.js +1 -1
  462. package/dist/tools/registry/business.js +1 -1
  463. package/dist/tools/registry/config.js +1 -1
  464. package/dist/tools/registry/evaluation.js +1 -1
  465. package/dist/tools/registry/identity.js +1 -1
  466. package/dist/tools/registry/onchain.js +1 -1
  467. package/dist/tools/registry/query.js +1 -1
  468. package/dist/tools/sanitize-output.js +1 -1
  469. package/dist/tools/sanitize-output.spec.js +1 -1
  470. package/dist/tools/transport-integrity.d.ts +7 -0
  471. package/dist/tools/transport-integrity.js +1 -0
  472. package/dist/tools/types.d.ts +1 -0
  473. package/dist/tools/upgrade-check.d.ts +22 -0
  474. package/dist/tools/upgrade-check.js +1 -1
  475. package/dist/tools/wrap.d.ts +6 -1
  476. package/dist/tools/wrap.js +1 -1
  477. package/package.json +7 -6
  478. package/dist/extensions/business-modules.d.ts +0 -54
  479. package/dist/extensions/business-modules.js +0 -1
  480. package/dist/schemas/guard-templates.json +0 -379
@@ -1 +1 @@
1
- import{handleWatchOperation}from'../handlers/watch.js';import{handlePersonaOperation}from'../handlers/persona.js';import{createToolMeta,WatchOperationInputSchema,WatchOperationOutputSchema,PersonaOperationInputSchema,PersonaOperationOutputSchema}from'../../schema/index.js';export const IDENTITY_TOOLS=[{'name':'watch_operation','handler':handleWatchOperation,'config':{'title':'🔭\x20Watch\x20-\x20Identity-Centric\x20On-chain\x20Console','summary':'Resolve\x20who\x20you\x20are\x20against\x20an\x20object,\x20expand\x20its\x20relations,\x20enumerate\x20actions,\x20and\x20reason\x20value→game→path.','description':'Identity-centric\x20on-chain\x20console\x20(K3\x2023).\x20Read-only.\x20Resolves\x20YOUR\x20identity\x20against\x20a\x20focus\x20object\x20(on-chain\x20manifest\x20role\x20⊕\x20persona),\x20then\x20layers\x20its\x20base\x20data,\x20relation\x20expansion,\x20actionable\x20operations,\x20and\x20four-stage\x20reasoning.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20focus\x20—\x20resolve\x20who\x20the\x20active\x20account\x20is\x20relative\x20to\x20a\x20focus\x20object\x20(order\x20holder\x20/\x20demander\x20/\x20merchant\x20/\x20supplier\x20/\x20collaborator\x20/\x20arbitrator\x20/\x20neutral)\x20+\x20its\x20base\x20data.\x20The\x20resolved\x20identity\x20decides\x20the\x20reasoning\x20direction:\x20neutral\x20→\x20objective\x20narration\x20only;\x20operative\x20role\x20→\x20game/path\x20reasoning.\x0a'+'\x20\x20•\x20expand\x20—\x20enumerate\x20direct\x20relations\x20out\x20of\x20the\x20focus\x20object\x20(machine\x20/\x20permission\x20/\x20arbitration\x20/\x20order\x20/\x20reward\x20/\x20repository\x20/\x20buy_guard\x20…),\x20plus\x20the\x20transparent\x20sub-order\x20purchasing\x20graph\x20for\x20a\x20Service\x20(frozen\x20forward\x20guards\x20→\x20purchased\x20sub-services\x20+\x20required\x20proofs).\x0a'+'\x20\x20•\x20actions\x20—\x20enumerate\x20actionable\x20on-chain\x20operations\x20for\x20the\x20active\x20account\x20on\x20the\x20focus\x20object\x20(e.g.\x20progress_next\x20per\x20forward\x20with\x20executability\x20judgment\x20via\x20order-holder\x20/\x20permission-index\x20/\x20named-operator\x20paths).\x0a'+'\x20\x20•\x20reason\x20—\x20four-stage\x20reasoning\x20(identity\x20→\x20value\x20→\x20game\x20→\x20path)\x20for\x20the\x20account.\x20neutral/system\x20→\x20objective\x20narration\x20only\x20(no\x20recommendation);\x20operative\x20role\x20→\x20value\x20perspective\x20+\x20interest\x20anchors,\x20game\x20power\x20+\x20strategy,\x20and\x20the\x20actionable\x20path.\x0a\x0a'+'🔭\x20Tool\x20selection\x20(avoid\x20confusion):\x20query_toolkit\x20/\x20onchain_table_data\x20=\x20PURE\x20DATA\x20queries\x20(\x22what\x20data\x20is\x20here?\x22,\x20no\x20identity).\x20watch_operation\x20=\x20IDENTITY-CENTERED\x20orchestration\x20(\x22who\x20am\x20I\x20relative\x20to\x20this\x20object,\x20what\x20is\x20it\x20related\x20to,\x20and\x20what\x20can\x20I\x20do?\x22).\x20For\x20a\x20raw\x20object\x20or\x20the\x20address\x27s\x20objective\x20profile,\x20use\x20query_toolkit\x20(incl.\x20query_type=\x22address_profile\x22);\x20for\x20identity\x20+\x20relations\x20+\x20operations\x20+\x20reasoning,\x20use\x20watch_operation.\x0a\x0a'+'Read-only:\x20never\x20mutates\x20chain\x20state.\x20The\x20caller\x20decides\x20and\x20acts\x20via\x20onchain_operations.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27watch_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WatchOperationInputSchema,'outputSchema':WatchOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('watch',['watch','identity','role','relation','operation','console','focus','expand','actions','reason','game','value','path'])}},{'name':'persona_operation','handler':handlePersonaOperation,'config':{'title':'👤\x20Persona\x20-\x20User\x20Identity\x20Setting','summary':'User\x20identity\x20setting\x20(preferences,\x20strategy,\x20spec;\x20long-term\x20+\x20current).','description':'Read/write\x20the\x20user\x27s\x20systematic\x20identity\x20setting\x20(persona):\x20preferences,\x20'+'competitive\x20strategy,\x20experience\x20rules,\x20self\x20profile,\x20and\x20spec.\x0a\x0a'+'LAYERS:\x20long_term\x20=\x20STABLE\x20identity\x20(USER-DRIVEN\x20only\x20—\x20never\x20auto-rewrite).\x20'+'current\x20=\x20transient\x20context\x20(SMART-UPDATABLE\x20—\x20AI\x20may\x20merge/replace\x20from\x20'+'conversation\x20experience\x20or\x20account\x20behavior).\x20Scope:\x20system\x20(all\x20accounts,\x20'+'be\x20conservative)\x20or\x20account\x20(one\x20chain\x20address,\x20higher\x20priority).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20get\x20—\x20resolve\x20the\x20priority-merged\x20effective\x20persona\x20(+\x20injection\x20+\x20context\x20text).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20stored\x20personas\x20and\x20built-in\x20industry\x20defaults.\x0a'+'\x20\x20•\x20set\x20—\x20user-driven\x20write/update\x20of\x20any\x20layer\x20(≤300\x20lines\x20enforced).\x0a'+'\x20\x20•\x20analyze\x20—\x20extract\x20identity\x20signals\x20from\x20free-form\x20context\x20(website\x20/\x20experience\x20summary).\x0a'+'\x20\x20•\x20apply\x20—\x20merge/replace\x20analyzed\x20signals\x20into\x20the\x20CURRENT\x20layer\x20only.\x0a'+'\x20\x20•\x20sync\x20—\x20merge\x20account\x20behavior\x20(experience\x20layer)\x20into\x20the\x20CURRENT\x20layer.\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20a\x20persona\x20(fall\x20back\x20to\x20defaults).\x0a'+'\x20\x20•\x20strategy\x20—\x20resolve\x20a\x20merchant\x27s\x20strategy\x20statements\x20into\x20structured\x20StrategyIntents\x20+\x20deterministic\x20infrastructure-lever\x20suggestions\x20(discount\x20/\x20reward\x20/\x20buy_guard\x20/\x20machine_design).\x20Producer-only;\x20other\x20roles\x20get\x20an\x20explanatory\x20note.\x0a'+'\x20\x20•\x20region_hint\x20—\x20read\x20the\x20locally-stored\x20delivery\x20address\x20as\x20a\x20region-matching\x20hint;\x20or\x20(with\x20`propose`)\x20build\x20a\x20CONSENT-GATED\x20save\x20proposal\x20—\x20never\x20auto-writes\x20private\x20data.\x0a'+'\x20\x20•\x20distill\x20—\x20turn\x20one\x20goal\x27s\x20memory\x20(outcome,\x20TaskProcess\x20problems/feedback,\x20registered\x20objects)\x20into\x20a\x20CURRENT-layer\x20PROPOSAL\x20(+\x20evidence\x20+\x20summary).\x20Never\x20auto-writes:\x20persist\x20via\x20set/apply\x20after\x20the\x20user\x20confirms.\x20Industry\x20pack.json\x20files\x20stay\x20read-only\x20knowledge.\x0a\x0a'+'Read/write\x20local\x20state\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27persona_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PersonaOperationInputSchema,'outputSchema':PersonaOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('persona',['persona','profile','identity','preference','strategy','spec','portrait'])}}];
1
+ import{handleWatchOperation}from'../handlers/watch.js';import{handlePersonaOperation}from'../handlers/persona.js';import{createToolMeta,WatchOperationInputSchema,WatchOperationOutputSchema,PersonaOperationInputSchema,PersonaOperationOutputSchema}from'../../schema/index.js';export const IDENTITY_TOOLS=[{'name':'watch_operation','handler':handleWatchOperation,'config':{'title':'🔭\x20Watch\x20-\x20Identity-Centric\x20On-chain\x20Console','summary':'Resolve\x20who\x20you\x20are\x20against\x20an\x20object,\x20expand\x20its\x20relations,\x20enumerate\x20actions,\x20and\x20reason\x20value→game→path.','description':'Identity-centric\x20on-chain\x20console\x20(K3\x2023).\x20Read-only.\x20Resolves\x20YOUR\x20identity\x20against\x20a\x20focus\x20object\x20(on-chain\x20manifest\x20role\x20⊕\x20persona),\x20then\x20layers\x20its\x20base\x20data,\x20relation\x20expansion,\x20actionable\x20operations,\x20and\x20four-stage\x20reasoning.\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20focus\x20—\x20resolve\x20who\x20the\x20active\x20account\x20is\x20relative\x20to\x20a\x20focus\x20object\x20(order\x20holder\x20/\x20demander\x20/\x20merchant\x20/\x20supplier\x20/\x20collaborator\x20/\x20arbitrator\x20/\x20neutral)\x20+\x20its\x20base\x20data.\x20The\x20resolved\x20identity\x20decides\x20the\x20reasoning\x20direction:\x20neutral\x20→\x20objective\x20narration\x20only;\x20operative\x20role\x20→\x20game/path\x20reasoning.\x0a'+'\x20\x20•\x20expand\x20—\x20enumerate\x20direct\x20relations\x20out\x20of\x20the\x20focus\x20object\x20(machine\x20/\x20permission\x20/\x20arbitration\x20/\x20order\x20/\x20reward\x20/\x20repository\x20/\x20buy_guard\x20…),\x20plus\x20the\x20transparent\x20sub-order\x20purchasing\x20graph\x20for\x20a\x20Service\x20(frozen\x20forward\x20guards\x20→\x20purchased\x20sub-services\x20+\x20required\x20proofs).\x0a'+'\x20\x20•\x20actions\x20—\x20enumerate\x20actionable\x20on-chain\x20operations\x20for\x20the\x20active\x20account\x20on\x20the\x20focus\x20object\x20(e.g.\x20progress_next\x20per\x20forward\x20with\x20executability\x20judgment\x20via\x20order-holder\x20/\x20permission-index\x20/\x20named-operator\x20paths).\x0a'+'\x20\x20•\x20reason\x20—\x20four-stage\x20reasoning\x20(identity\x20→\x20value\x20→\x20game\x20→\x20path)\x20for\x20the\x20account.\x20neutral/system\x20→\x20objective\x20narration\x20only\x20(no\x20recommendation);\x20operative\x20role\x20→\x20value\x20perspective\x20+\x20interest\x20anchors,\x20game\x20power\x20+\x20strategy,\x20and\x20the\x20actionable\x20path.\x0a\x0a'+'🔭\x20Tool\x20selection\x20(avoid\x20confusion):\x20query_toolkit\x20/\x20onchain_table_data\x20=\x20PURE\x20DATA\x20queries\x20(\x22what\x20data\x20is\x20here?\x22,\x20no\x20identity).\x20watch_operation\x20=\x20IDENTITY-CENTERED\x20orchestration\x20(\x22who\x20am\x20I\x20relative\x20to\x20this\x20object,\x20what\x20is\x20it\x20related\x20to,\x20and\x20what\x20can\x20I\x20do?\x22).\x20For\x20a\x20raw\x20object\x20or\x20the\x20address\x27s\x20objective\x20profile,\x20use\x20query_toolkit\x20(incl.\x20query_type=\x22address_profile\x22);\x20for\x20identity\x20+\x20relations\x20+\x20operations\x20+\x20reasoning,\x20use\x20watch_operation.\x0a\x0a'+'Read-only:\x20never\x20mutates\x20chain\x20state.\x20The\x20caller\x20decides\x20and\x20acts\x20via\x20onchain_operations.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27watch_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':WatchOperationInputSchema,'outputSchema':WatchOperationOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('watch',['watch','identity','role','relation','operation','console','focus','expand','actions','reason','game','value','path'])}},{'name':'persona_operation','handler':handlePersonaOperation,'config':{'title':'👤\x20Persona\x20-\x20User\x20Identity\x20Setting','summary':'User\x20identity\x20setting\x20(preferences,\x20strategy,\x20spec;\x20long-term\x20+\x20current).','description':'Read/write\x20the\x20user\x27s\x20systematic\x20identity\x20setting\x20(persona):\x20preferences,\x20'+'competitive\x20strategy,\x20experience\x20rules,\x20self\x20profile,\x20and\x20spec.\x0a\x0a'+'LAYERS:\x20long_term\x20=\x20STABLE\x20identity\x20(USER-DRIVEN\x20only\x20—\x20never\x20auto-rewrite).\x20'+'current\x20=\x20transient\x20context\x20(SMART-UPDATABLE\x20—\x20AI\x20may\x20merge/replace\x20from\x20'+'conversation\x20experience\x20or\x20account\x20behavior).\x20Scope:\x20system\x20(all\x20accounts,\x20'+'be\x20conservative)\x20or\x20account\x20(one\x20chain\x20address,\x20higher\x20priority).\x0a\x0a'+'Actions:\x0a'+'\x20\x20•\x20get\x20—\x20resolve\x20the\x20priority-merged\x20effective\x20persona\x20(+\x20injection\x20+\x20context\x20text).\x0a'+'\x20\x20•\x20list\x20—\x20list\x20stored\x20personas\x20and\x20built-in\x20industry\x20defaults.\x0a'+'\x20\x20•\x20set\x20—\x20write/update\x20any\x20layer\x20(≤300\x20lines\x20enforced).\x20long_term\x20is\x20CODE-GATED\x20on\x20confirm=true\x20'+'(the\x20stable\x20identity\x20layer\x20is\x20user-driven:\x20the\x20AI\x20proposes,\x20the\x20human\x20confirms\x20—\x20the\x20call\x20throws\x20'+'without\x20confirm=true\x20when\x20a\x20long_term\x20payload\x20is\x20present);\x20current\x20needs\x20no\x20confirmation.\x0a'+'\x20\x20•\x20analyze\x20—\x20extract\x20identity\x20signals\x20from\x20free-form\x20context\x20(website\x20/\x20experience\x20summary).\x0a'+'\x20\x20•\x20apply\x20—\x20merge/replace\x20analyzed\x20signals\x20into\x20the\x20CURRENT\x20layer\x20only.\x0a'+'\x20\x20•\x20sync\x20—\x20merge\x20account\x20behavior\x20(experience\x20layer)\x20into\x20the\x20CURRENT\x20layer.\x0a'+'\x20\x20•\x20remove\x20—\x20delete\x20a\x20persona\x20(fall\x20back\x20to\x20defaults).\x0a'+'\x20\x20•\x20strategy\x20—\x20resolve\x20a\x20merchant\x27s\x20strategy\x20statements\x20into\x20structured\x20StrategyIntents\x20+\x20deterministic\x20infrastructure-lever\x20suggestions\x20(discount\x20/\x20reward\x20/\x20buy_guard\x20/\x20machine_design).\x20Producer-only;\x20other\x20roles\x20get\x20an\x20explanatory\x20note.\x0a'+'\x20\x20•\x20region_hint\x20—\x20read\x20the\x20locally-stored\x20delivery\x20address\x20as\x20a\x20region-matching\x20hint;\x20or\x20(with\x20`propose`)\x20build\x20a\x20CONSENT-GATED\x20save\x20proposal\x20—\x20never\x20auto-writes\x20private\x20data.\x0a'+'\x20\x20•\x20distill\x20—\x20turn\x20one\x20goal\x27s\x20memory\x20(outcome,\x20TaskProcess\x20problems/feedback,\x20registered\x20objects)\x20into\x20a\x20CURRENT-layer\x20PROPOSAL\x20(+\x20evidence\x20+\x20summary).\x20Never\x20auto-writes:\x20persist\x20via\x20set/apply\x20after\x20the\x20user\x20confirms.\x20Industry\x20pack.json\x20files\x20stay\x20read-only\x20knowledge.\x0a\x0a'+'Read/write\x20local\x20state\x20only;\x20never\x20mutates\x20chain\x20state.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27persona_operation\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema.','inputSchema':PersonaOperationInputSchema,'outputSchema':PersonaOperationOutputSchema,'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('persona',['persona','profile','identity','preference','strategy','spec','portrait'])}}];
@@ -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🎯\x20NETWORK\x20(CRITICAL):\x20never\x20guess\x20or\x20hardcode\x20a\x20network.\x20OMIT\x20env.network\x20—\x20the\x20runtime\x20stamps\x20the\x20user\x27s\x20CURRENT\x20network\x20(the\x20client\x27s\x20UI\x20selection)\x20onto\x20every\x20call;\x20the\x20confirmation\x20card\x20and\x20response\x20echo\x20the\x20actual\x20network.\x20Set\x20env.network\x20ONLY\x20when\x20the\x20user\x20explicitly\x20names\x20a\x20different\x20network\x20(a\x20mismatch\x20pauses\x20for\x20user\x20confirmation).\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(a\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:\x20call\x20the\x20OTHER\x20tool\x20`schema_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.\x0a\x0a🏷️\x20AUTO\x20NAMING:\x20a\x20successful\x20creation\x20auto-registers\x20the\x20primary\x20created\x20object\x20in\x20the\x20local\x20name\x20index\x20as\x20<type>_<last-6-hex>\x20(e.g.\x20guard_a1b2c3)\x20unless\x20you\x20supplied\x20a\x20name\x20—\x20you\x20NEVER\x20need\x20local_mark_operation\x20add\x20after\x20a\x20create;\x20keep\x20the\x20returned\x20address\x20(or\x20the\x20derived\x20name)\x20and\x20reference\x20either\x20everywhere.','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}];
1
+ import{handleOnchainOperations,onchainTimeoutVerify}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🎯\x20NETWORK\x20(CRITICAL):\x20never\x20guess\x20or\x20hardcode\x20a\x20network.\x20OMIT\x20env.network\x20—\x20the\x20runtime\x20stamps\x20the\x20user\x27s\x20CURRENT\x20network\x20(the\x20client\x27s\x20UI\x20selection)\x20onto\x20every\x20call;\x20the\x20confirmation\x20card\x20and\x20response\x20echo\x20the\x20actual\x20network.\x20Set\x20env.network\x20ONLY\x20when\x20the\x20user\x20explicitly\x20names\x20a\x20different\x20network\x20(a\x20mismatch\x20pauses\x20for\x20user\x20confirmation).\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(a\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🧱\x20REBUILD\x20COST\x20(machine\x20publish\x20/\x20re-publish\x20class\x20ops,\x20S12-②):\x20publishing\x20a\x20Machine\x20is\x20a\x20one-way\x20door\x20—\x20business\x20constants\x20baked\x20into\x20the\x20node\x20graph\x20(deadline/goal/windows)\x20freeze\x20WITH\x20it.\x20Any\x20later\x20change\x20requires\x20a\x20NEW\x20machine\x20+\x20a\x20NEW\x20Service\x20+\x20re-hanging\x20every\x20repository/reward/arbitration/allocator\x20(≈5\x20txs\x20/\x20~1\x20min\x20on\x20a\x2016-node\x20graph);\x20in-flight\x20orders\x20stay\x20on\x20the\x20OLD\x20machine\x20forever.\x20THIS\x20OPERATION\x20WILL\x20REQUIRE\x20A\x20NEW\x20SERVICE\x20if\x20a\x20baked-in\x20parameter\x20later\x20changes\x20—\x20finalize\x20mutable\x20parameters\x20BEFORE\x20publish\x20(details\x20in\x20the\x20machine\x20publish\x20field\x20description;\x20protocol-train\x20item\x20for\x20a\x20Campaign\x20structure).\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_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.\x0a\x0a🏷️\x20AUTO\x20NAMING:\x20a\x20successful\x20creation\x20auto-registers\x20the\x20primary\x20created\x20object\x20in\x20the\x20local\x20name\x20index\x20as\x20<type>_<last-6-hex>\x20(e.g.\x20guard_a1b2c3)\x20unless\x20you\x20supplied\x20a\x20name\x20—\x20you\x20NEVER\x20need\x20local_mark_operation\x20add\x20after\x20a\x20create;\x20keep\x20the\x20returned\x20address\x20(or\x20the\x20derived\x20name)\x20and\x20reference\x20either\x20everywhere.','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,'onTimeoutVerify':onchainTimeoutVerify,'timeoutMs':0x1d4c0}];
@@ -1 +1 @@
1
- import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'../handlers/query.js';import{handleSchemaQuery}from'../handlers/schema-query.js';import{createToolMeta,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainTableDataResultSchema,OnchainEventsInputSchema,OnchainEventsResultSchema,ProtocolInfoQuerySchema,ProtocolInfoResultSchema,SchemaQueryInputSchema,SchemaQueryOutputSchema}from'../../schema/index.js';export const QUERY_TOOLS=[{'name':'query_toolkit','handler':handleWatchQueryOperations,'timeoutMs':0x493e0,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens,\x20topology\x20(21\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2021\x20query\x20types\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data:\x0a\x0a'+'LOCAL\x20(device-only,\x20never\x20on-chain):\x0a'+'1.\x20local_mark_list\x20—\x20Query\x20your\x20LOCAL\x20address\x20book:\x20maps\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20optional\x20tags.\x20Use\x20to\x20resolve\x20names→addresses\x20or\x20find\x20addresses\x20by\x20tag.\x0a'+'2.\x20account_list\x20—\x20Query\x20your\x20LOCAL\x20accounts\x20(addresses,\x20messenger\x20status,\x20suspension\x20state).\x20Use\x20filter.includePubkey=true\x20to\x20also\x20include\x20public\x20keys.\x20Use\x20to\x20discover\x20available\x20accounts\x20before\x20operations.\x20NOTE:\x20local\x20accounts\x20are\x20just\x20ONE\x20form\x20of\x20distributed\x20account\x20—\x20WoWok\x20serves\x20ANY\x20account\x20on\x20ANY\x20device;\x20every\x20on-chain/BI\x20query\x20below\x20also\x20accepts\x20any\x200x\x20address\x20(LocalMark\x20names\x20are\x20a\x20convenience,\x20not\x20a\x20requirement).\x0a'+'3.\x20local_info_list\x20—\x20Query\x20your\x20LOCAL\x20private\x20info:\x20sensitive\x20data\x20like\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts\x20stored\x20ONLY\x20on\x20this\x20device.\x0a'+'4.\x20token_list\x20—\x20Query\x20cached\x20token\x20metadata:\x20symbol,\x20decimals,\x20icon\x20URL,\x20description\x20for\x20tokens\x20previously\x20fetched\x20from\x20chain.\x20Use\x20to\x20look\x20up\x20token\x20precision/decimals\x20before\x20performing\x20token\x20operations.\x20Returns:\x20TokenTypeInfo[]\x20(type,\x20alias,\x20name,\x20symbol,\x20decimals,\x20iconUrl).\x0a'+'5.\x20account_balance\x20—\x20Query\x20an\x20account\x27s\x20coin\x20balance\x20OR\x20Paginated\x20coin\x20objects.\x20Use\x20balance=true\x20for\x20total\x20amount,\x20or\x20coin={cursor,limit}\x20to\x20list\x20individual\x20coin\x20objects.\x20Supports\x20multi-token\x20via\x20token_type\x20parameter.\x20Results\x20include\x20`_money_display`\x20with\x20unit-converted\x20values\x20+\x20decimals\x20reminder.\x20LIVE\x20QUERY\x20(no\x20cache\x20—\x20no_cache\x20not\x20needed).\x20If\x20the\x20input\x20is\x20an\x20on-chain\x20OBJECT\x20(e.g.\x20a\x20Treasury\x20mark\x20name),\x20the\x20result\x20auto-routes\x20to\x20that\x20object\x27s\x20\x27balance\x27\x20field\x20with\x20a\x20hint\x20—\x20wallet\x20gas\x20balances\x20vs\x20object\x20funds\x20are\x20different\x20concepts.\x0a'+'6.\x20local_names\x20—\x20Query\x20local\x20names\x20by\x20a\x20list\x20of\x20addresses.\x20For\x20each\x20address,\x20returns\x20the\x20resolved\x20account\x20name\x20(if\x20exists)\x20and\x20local\x20mark\x20name\x20(if\x20exists).\x20Returns:\x20{\x20account?,\x20local_mark?,\x20address\x20}[].\x0a\x0a'+'ONCHAIN\x20(blockchain):\x0a'+'7.\x20onchain_personal_profile\x20—\x20Query\x20any\x20user\x27s\x20PUBLIC\x20on-chain\x20profile:\x20social\x20links,\x20reputation\x20(likes/dislikes),\x20personal\x20info\x20records,\x20voting\x20history,\x20referrer.\x0a'+'8.\x20onchain_objects\x20—\x20Batch\x20query\x20on-chain\x20WOWOK\x20objects\x20by\x20ID\x20or\x20name:\x20supports\x20Service,\x20Machine,\x20Order,\x20Treasury,\x20Reward,\x20Arb,\x20Personal,\x20Contact,\x20and\x20more.\x20Monetary\x20fields\x20include\x20`_money_display`\x20annotations\x20(token\x20type\x20from\x20the\x20object\x27s\x20immutable\x20generic).\x0a'+'9.\x20onchain_received\x20—\x20Query\x20objects\x20(Payments,\x20Tokens,\x20NFTs)\x20received\x20by\x20a\x20specific\x20object.\x20Supports\x20pagination\x20and\x20type\x20filter.\x20CoinWrapper\x20mode\x20returns\x20token-aware\x20`_money_display`;\x20for\x20an\x20OBJECT\x20holder\x20(e.g.\x20an\x20Order\x20escrow)\x20whose\x20wrappers\x20the\x20owned-object\x20index\x20cannot\x20see,\x20the\x20records\x20are\x20recovered\x20from\x20the\x20allocation\x20transaction\x20effects\x20and\x20the\x20envelope\x20sets\x20`read_path=\x27allocation-transaction-effects\x27`.\x0a'+'10.\x20onchain_transaction\x20—\x20Verify\x20what\x20a\x20specific\x20transaction\x20did\x20on-chain\x20(status,\x20object\x20changes,\x20balance\x20changes,\x20gas,\x20events).\x20Balance\x20changes\x20include\x20`_money_display`\x20(unit-converted\x20via\x20each\x20change\x27s\x20own\x20coin_type;\x20signed\x20amounts\x20supported).\x0a'+'11.\x20onchain_block\x20—\x20Query\x20ONE\x20checkpoint\x20(block)\x20by\x20sequence\x20number\x20or\x20digest;\x20returns\x20the\x20RAW\x20fullnode\x20checkpoint\x20summary\x20verbatim\x20(sequence,\x20digest,\x20timestamp,\x20tx\x20count,\x20epoch).\x20Block-level\x20facts\x20—\x20distinct\x20from\x20onchain_transaction\x20(per-tx\x20proof).\x0a'+'12.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'13.\x20onchain_address_activity\x20—\x20FORENSICS:\x20an\x20address\x27s\x20transaction\x20history\x20(auditing\x20only).\x20direction=\x27sent\x27\x20(default)\x20lists\x20transactions\x20SENT\x20BY\x20the\x20address;\x20direction=\x27received\x27\x20lists\x20transactions\x20that\x20delivered\x20objects/coins\x20TO\x20it\x20(inbound\x20—\x20the\x20route\x20for\x20\x27when\x20did\x20this\x20arrive\x27\x20without\x20knowing\x20the\x20sender).\x0a'+'14.\x20token_value_convert\x20—\x20Convert\x20between\x20raw\x20on-chain\x20smallest\x20units\x20(u64)\x20and\x20human\x20unit\x20values\x20in\x20EITHER\x20direction\x20(e.g.\x20\x222200000000\x22\x20↔\x20\x222.2\x22\x20WOW).\x20Unit→raw\x20is\x20REFUSED\x20when\x20token\x20precision\x20cannot\x20be\x20resolved\x20(never\x20guesses\x20decimals).\x0a'+'15.\x20address_profile\x20—\x20Unified\x20address\x20profile:\x20classifies\x20an\x20address\x20(user\x20/\x20business\x20object\x20/\x20system\x20singleton),\x20then\x20batches\x20identity\x20+\x20reputation\x20(like/dislike/favor)\x20+\x20order/contact\x20membership\x20+\x20core/tx\x20reverse\x20bindings\x20+\x20the\x20object\x20itself.\x20For\x20Service\x20addresses\x20the\x20result\x20merges\x20a\x20service_analysis\x20block\x20(description\x20/\x20payment\x20token\x20/\x20shelf\x20split\x20/\x20location\x20/\x20on-chain\x20last\x20update).\x20The\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20entry.\x0a'+'16.\x20address_profiles\x20—\x20BATCH\x20form\x20of\x20address_profile\x20(up\x20to\x2050\x20addresses\x20in\x20ONE\x20call):\x20same\x20per-address\x20shape\x20—\x20classification,\x20identity,\x20reputation\x20votes,\x20memberships,\x20reverse\x20bindings,\x20object,\x20activity,\x20role\x20evidence,\x20plus\x20the\x20service_analysis\x20merge\x20for\x20Service\x20addresses.\x20List\x20views\x20needing\x20profiles\x20for\x20many\x20rows\x20should\x20ALWAYS\x20prefer\x20this\x20over\x20N\x20single\x20calls.\x20Returns:\x20(AddressProfile\x20|\x20null)[]\x20(result\x20order\x20matches\x20the\x20request).\x0a'+'17.\x20service_supply_chain\x20—\x20Resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph\x20(K3\x2023\x20§3.6):\x20reads\x20the\x20bound\x20Machine\x27s\x20frozen\x20forwards,\x20finds\x20purchasing-commitment\x20Guards,\x20and\x20returns\x20each\x20forward\x27s\x20purchased\x20sub-services\x20+\x20required\x20sub-order\x20proof\x20fields.\x20Use\x20for\x20buyer\x20due-diligence,\x20compose_service,\x20anti_cheat\x20(shell-merchant\x20detection),\x20merchant\x20self-check,\x20or\x20Watch\x20relation\x20expansion.\x0a'+'18.\x20workspace_lists\x20—\x20ONE-CALL\x20Quick\x20Access\x20workspace\x20object\x20lists\x20for\x20an\x20account\x20(treasuries/repositories/contacts/machines/rewards/others)\x20via\x20the\x20permission\x20reverse\x20chain,\x20TTL-cached.\x0a'+'19.\x20marks_of_account\x20—\x20Like/Favor\x20list:\x20every\x20address\x20(object\x20or\x20user)\x20the\x20account\x20ever\x20liked/disliked/favored,\x20deduplicated,\x20with\x20the\x20CURRENT\x20active\x20vote\x20kinds\x20per\x20target\x20(voter\x20Resource\x20mark\x20table\x20+\x20EntityLinker\x20clock),\x20TTL-cached.\x0a'+'20.\x20migration_preflight\x20—\x20Cross-network\x20build\x20detection:\x20report\x20an\x20account\x27s\x20Services/Machines/Treasuries/etc.\x20on\x20a\x20source\x20network\x20(default\x20testnet)\x20vs\x20target\x20network\x20(default\x20mainnet),\x20plus\x20a\x20business-facing\x20checklist\x20of\x20settings\x20to\x20confirm/change\x20when\x20migrating\x20(payment\x20token\x20/\x20location\x20/\x20arbitration\x20/\x20WIP\x20/\x20gas).\x0a'+'21.\x20onchain_topology\x20—\x20Read-only\x20on-chain\x20TOPOLOGY\x20network\x20around\x20ONE\x20seed\x20address\x20(any\x20EOA/object\x20or\x20LocalMark\x20name):\x20batched\x20multi-hop\x20BFS\x20over\x20the\x20machine-readable\x20EdgeSchema\x20—\x20nodes\x20+\x20typed\x20edges\x20(F=field\x20/\x20R=reverse-index\x20/\x20W=workflow\x20/\x20M=money-flow\x20/\x20S=social)\x20with\x20retention\x20semantics\x20(complete/bounded/window/membership/derived),\x20the\x20structural\x20workflow\x20subgraph\x20+\x20terminal\x20set\x20of\x20each\x20reached\x20Machine,\x20structural\x20completion\x20of\x20every\x20Order\x20reached,\x20and\x20R/A/O/G\x20analyzer\x20findings.\x20Use\x20for\x20multi-hop\x20relationship/permission/fund-flow\x20questions,\x20risk/arbitrage/opportunity\x20scans,\x20and\x20\x27what\x20is\x20connected\x20to\x20what\x20and\x20how\x20strongly\x27\x20due\x20diligence.\x20Truncation/gap/budget\x20markers\x20are\x20always\x20reported\x20honestly.\x0a\x0a'+'For\x20dynamic\x20table\x20data\x20queries\x20(pagination,\x20table\x20items),\x20use\x20the\x20\x27onchain_table_data\x27\x20tool.\x20For\x20state-transition\x20events,\x20use\x20the\x20\x27onchain_events\x27\x20tool.\x0a\x0a'+'🌐\x20Network\x20parameter:\x20on-chain\x20query\x20types\x20accept\x20`network`\x20and\x20`context_network`\x20INTERCHANGEABLY\x20—\x20either\x20spelling\x20is\x20normalized\x20to\x20the\x20right\x20field\x20before\x20validation,\x20and\x20the\x20response\x20echoes\x20the\x20resolved\x20network\x20(`network`\x20+\x20`network_source`)\x20so\x20results\x20can\x20never\x20be\x20silently\x20misattributed.\x20The\x20different\x20key\x20names\x20per\x20query\x20type\x20are\x20a\x20display\x20convention,\x20NOT\x20a\x20trap:\x20passing\x20the\x20opposite\x20spelling\x20still\x20works.\x20local_*\x20/\x20account_list\x20/\x20token_list\x20queries\x20are\x20device-local\x20and\x20network-free\x20BY\x20DESIGN\x20—\x20they\x20ignore\x20a\x20network\x20key\x20rather\x20than\x20erroring.\x20onchain_transaction\x20without\x20an\x20explicit\x20network\x20tries\x20the\x20session\x20default\x20first;\x20on\x20a\x20miss\x20it\x20PROBES\x20the\x20remaining\x20networks\x20and\x20answers\x20from\x20wherever\x20the\x20digest\x20is\x20live\x20(`network_source=\x27probed\x27`\x20+\x20result._network_probe\x20name\x20the\x20answering\x20network\x20—\x20never\x20cite\x20a\x20probed\x20result\x20as\x20default-network\x20data;\x20an\x20all-network\x20miss\x20is\x20an\x20authoritative\x20\x22did\x20not\x20commit\x22).\x0a\x0a'+'🕒\x20Runtime\x20freshness:\x20when\x20an\x20observed\x20behavior\x20contradicts\x20documented\x20schema/knowledge\x20text,\x20FIRST\x20check\x20the\x20running\x20process\x20is\x20not\x20stale\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20—\x20its\x20build_stamp\x20reports\x20mcp_dist_stale\x20/\x20sdk_dist_stale\x20(source-newer-than-dist\x20detection)\x20and\x20runtime_health\x20before\x20you\x20classify\x20the\x20mismatch\x20as\x20a\x20design\x20defect.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_toolkit\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20query\x20types\x20and\x20field\x20definitions.','inputSchema':WatchQueryOperationsSchema,'outputSchema':WatchQueryOperationsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['watch','query','on-chain','local','events','objects','tokens','balance','profile','block'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(table\x20+\x20table-item\x20queries).','description':'Query\x20the\x20dynamic\x20table\x20data\x20of\x20on-chain\x20objects\x20(ONE-TIME\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.\x20Each\x20table\x20item\x20belongs\x20to\x20a\x20parent\x20object\x20type\x20and\x20has\x20a\x20specific\x20meaning:\x0a\x0a'+'1.\x20onchain_table\x20—\x20Paginated\x20query\x20of\x20ANY\x20object\x27s\x20dynamic\x20fields\x20table\x20(Parent:\x20any\x20object).\x20Returns\x20all\x20entries\x20with\x20keys,\x20types,\x20and\x20object\x20IDs.\x20Use\x20to\x20explore\x20all\x20sub-items\x20of\x20an\x20object.\x0a'+'2.\x20onchain_table_item_repository_data\x20—\x20Query\x20a\x20record\x20from\x20a\x20Repository\x27s\x20on-chain\x20key-value\x20database\x20(Parent:\x20Repository).\x20Key:\x20name\x20+\x20entity\x20(address\x20or\x20number).\x20Returns\x20the\x20stored\x20data\x20record\x20with\x20typed\x20value.\x0a'+'3.\x20onchain_table_item_permission_perm\x20—\x20Query\x20a\x20permission\x20entry\x20from\x20a\x20Permission\x20object\x27s\x20access\x20control\x20table\x20(Parent:\x20Permission).\x20Key:\x20user\x20address\x20or\x20Guard\x20ID.\x20Returns\x20the\x20permission\x20list\x20(perm[])\x20granted\x20to\x20that\x20user/guard.\x0a'+'4.\x20onchain_table_item_entity_registrar\x20—\x20Query\x20an\x20entity\x27s\x20registration\x20record\x20from\x20the\x20GLOBAL\x20EntityRegistrar\x20(Parent:\x20system\x20EntityRegistrar).\x20Key:\x20user\x20address.\x20Returns\x20registration\x20info:\x20description,\x20referrer,\x20records,\x20mark_object.\x0a'+'5.\x20onchain_table_item_entity_linker\x20—\x20Query\x20community\x20votes/endorsements\x20for\x20an\x20entity\x20from\x20the\x20GLOBAL\x20EntityLinker\x20(Parent:\x20system\x20EntityLinker).\x20Key:\x20entity\x20address.\x20Returns\x20vote\x20records\x20(likes/dislikes/favor)\x20showing\x20community\x20trust.\x0a'+'6.\x20onchain_table_item_entity_contact\x20—\x20Query\x20which\x20customer-service\x20Contacts\x20an\x20entity\x20is\x20a\x20member\x20of,\x20from\x20the\x20GLOBAL\x20EntityContact\x20reverse\x20index\x20(Parent:\x200xaa9).\x20Key:\x20entity\x20address.\x20Returns\x20contact\x20memberships\x20(contact\x20+\x20time).\x0a'+'7.\x20onchain_table_item_object_linker_core\x20—\x20Query\x20which\x20bounded\x20core\x20objects\x20(Service/Machine/Treasury/Reward/Demand/Arbitration/Arb/Contact)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerCore\x20reverse\x20index\x20(Parent:\x200xaae).\x20Lossless\x20fixed;\x20use\x20for\x20DEFAULT\x20reverse\x20lookups\x20(e.g.\x20which\x20services\x20use\x20a\x20permission).\x0a'+'8.\x20onchain_table_item_object_linker_tx\x20—\x20Query\x20which\x20operational\x20objects\x20(Order/Progress/Payment/Allocation/Guard/Permission)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerTx\x20reverse\x20index\x20(Parent:\x200xaaf).\x20Lossy\x20FIFO\x20(recent\x20only);\x20use\x20for\x20ORDER/PROGRESS/operational\x20reverse\x20lookups\x20(e.g.\x20which\x20orders\x20a\x20service\x20has).\x0a'+'9.\x20onchain_table_item_reward_record\x20—\x20Query\x20a\x20reward\x20claim\x20record\x20from\x20a\x20Reward\x20object\x27s\x20distribution\x20table\x20(Parent:\x20Reward).\x20Key:\x20recipient\x20address.\x20Returns\x20claim\x20history:\x20guard\x20used,\x20total\x20claimed,\x20per-claim\x20details.\x0a'+'10.\x20onchain_table_item_demand_presenter\x20—\x20Query\x20a\x20demand\x20submission\x20from\x20a\x20Demand\x20object\x27s\x20presenter\x20table\x20(Parent:\x20Demand).\x20Key:\x20presenter\x20address.\x20Returns\x20submission\x20details:\x20recommendation,\x20service,\x20feedback,\x20acceptance\x20score.\x0a'+'11.\x20onchain_table_item_treasury_history\x20—\x20Query\x20a\x20payment\x20record\x20from\x20a\x20Treasury\x27s\x20history\x20table\x20(Parent:\x20Treasury).\x20Key:\x20payment\x20ID\x20(address).\x20Returns\x20payment\x20details:\x20operation\x20type,\x20signer,\x20amount,\x20external\x20guard.\x0a'+'12.\x20onchain_table_item_machine_node\x20—\x20Query\x20a\x20workflow\x20node\x20definition\x20from\x20a\x20Machine\x20object\x27s\x20node\x20table\x20(Parent:\x20Machine).\x20Key:\x20node\x20name\x20(string).\x20Returns\x20node\x20configuration:\x20pairs,\x20forwards,\x20guards,\x20thresholds.\x0a'+'13.\x20onchain_table_item_progress_history\x20—\x20Query\x20a\x20progress\x20step\x20record\x20from\x20a\x20Progress\x20object\x27s\x20history\x20table\x20(Parent:\x20Progress).\x20Key:\x20sequence\x20number\x20(u64).\x20Returns\x20step\x20details:\x20node,\x20next_node,\x20session\x20state,\x20time.\x0a'+'14.\x20onchain_table_item_address_mark\x20—\x20Query\x20a\x20PUBLIC\x20on-chain\x20name/tag\x20mark\x20from\x20an\x20AddressMark\x20object\x27s\x20table\x20(Parent:\x20AddressMark).\x20Key:\x20address.\x20Returns\x20public\x20labels:\x20entity,\x20name,\x20tags[].\x20Unlike\x20local\x20marks,\x20these\x20are\x20published\x20on-chain.\x0a'+'15.\x20onchain_table_item_entity_order\x20—\x20Query\x20the\x20orders\x20a\x20user\x20participates\x20in,\x20from\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8).\x20Key:\x20user\x20address.\x20Returns\x20order\x20addresses\x20with\x20role\x20bitmask\x20(1=owner,\x202=agent)\x20and\x20last\x20role-update\x20time\x20(raw\x20index,\x20without\x20full\x20order\x20objects).\x0a'+'16.\x20onchain_orders_of_user\x20—\x20Query\x20EVERY\x20order\x20a\x20user\x20participates\x20in\x20(as\x20owner\x20and/or\x20agent)\x20via\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8),\x20resolving\x20each\x20to\x20its\x20full\x20on-chain\x20Order\x20object.\x20Each\x20result\x20includes\x20role\x20info:\x20role\x20bitmask,\x20is_owner,\x20is_agent,\x20role\x20update\x20time,\x20and\x20the\x20full\x20order.\x20Use\x20to\x20get\x20a\x20user\x27s\x20complete\x20order\x20list\x20with\x20role\x20attributes.\x0a'+'17.\x20onchain_orders_of_users\x20—\x20Cross-account\x20variant:\x20query\x20EVERY\x20order\x20that\x20ANY\x20of\x20the\x20given\x20accounts\x20participates\x20in,\x20merged\x20into\x20ONE\x20deduped\x20list\x20(per-account\x20roles\x20merged)\x20with\x20SERVER-SIDE\x20enrichment\x20identical\x20to\x20the\x20Service\x20panorama\x20Orders\x20tab\x20—\x20amount/item\x20prices\x20as\x20human\x20token\x20display,\x20progress\x20node\x20+\x20entry\x20time,\x20allocation\x20fund\x20state,\x20updated\x20time.\x20Non-blocking\x20per-account\x20errors\x20(account_errors).\x20Use\x20for\x20a\x20local\x20wallet\x27s\x20complete\x20order\x20list\x20in\x20ONE\x20call.\x0a'+'18.\x20onchain_table_item_generic\x20—\x20Query\x20a\x20generic\x20table\x20item\x20from\x20ANY\x20object\x27s\x20dynamic\x20fields\x20(Parent:\x20any\x20object).\x20Supports\x20arbitrary\x20key\x20types\x20(address,\x20u64,\x20string,\x20object\x20ID,\x20etc.).\x20Use\x20for\x20custom\x20objects\x20and\x20general-purpose\x20table\x20lookups.\x20Returns:\x20ObjectBase\x20|\x20undefined.\x0a'+'19.\x20address_profile\x20—\x20unified\x20address\x20profile\x20(classification\x20+\x20identity\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings\x20+\x20the\x20object,\x20with\x20a\x20merged\x20service_analysis\x20block\x20for\x20Service\x20addresses).\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22address_profile\x22).\x0a'+'20.\x20service_supply_chain\x20—\x20resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph.\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22service_supply_chain\x22).\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20a\x20WHOLE\x20object/balance/profile;\x20use\x20onchain_events\x20to\x20query\x20state-transition\x20events;\x20use\x20onchain_table_data\x20(this\x20tool)\x20to\x20paginate\x20over\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields\x20or\x20read\x20a\x20single\x20table\x20item.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_table_data\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20table\x20item\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainTableDataSchema,'outputSchema':OnchainTableDataResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('table\x20query',['on-chain','table','dynamic\x20fields','pagination','repository','permission','reward','demand','treasury','machine','progress'])}},{'name':'onchain_events','handler':handleOnchainEvents,'config':{'title':'📅\x20Query\x20WoWok\x20On-chain\x20Events','summary':'Watch\x20on-chain\x20state-transition\x20and\x20fund-flow\x20events\x20(all\x2024\x20framework\x20types).','description':'Query\x20on-chain\x20WoWok\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20All\x2024\x20framework\x20event\x20types\x20are\x20supported,\x20grouped\x20by\x20business\x20family:\x20market\x20opportunity\x20(ServiceEvent,\x20ArbitrationEvent,\x20DemandChangedEvent,\x20DemandPresentEvent),\x20order/workflow\x20(NewOrderEvent,\x20ProgressEvent,\x20ThresholdPendingEvent\x20—\x20the\x20below-threshold\x20multi-sig/vote\x20accumulation,\x20protocol\x20version\x20137),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent,\x20ArbStatementEvent),\x20reputation\x20(DemandFeedbackEvent,\x20NewEntityEvent,\x20VoteEvictedEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20RewardWithdrawEvent,\x20NewPaymentEvent),\x20service\x20administration\x20(OrderAllocatorsAppendedEvent),\x20audit/watch\x20(PermissionChangedEvent,\x20RepositoryDataOverwriteEvent).\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x0a\x0a💰\x20NewPaymentEvent\x20is\x20the\x20universal\x20fund-flow\x20receipt:\x20every\x20treasury\x20withdraw/deposit,\x20allocation\x20split\x20and\x20compensation\x20payout\x20mints\x20one.\x20Its\x20`from_object`\x20is\x20the\x20internal-only\x20funding-source\x20object\x20(Treasury/Allocation/Service\x20—\x20set\x20by\x20the\x20framework,\x20never\x20user\x20code),\x20and\x20`info.for_object`/`info.for_guard`\x20are\x20user-settable\x20business\x20routing\x20hints;\x20both\x20are\x20registered\x20as\x20on-chain\x20affiliations.\x20RewardWithdrawEvent\x20is\x20the\x20only\x20non-claim\x20outflow\x20from\x20a\x20reward\x20pool\x20(permission-gated)\x20and\x20mirrors\x20the\x20claim\x20event\x27s\x20balance_left.\x20NewOrderEvent.amount\x20includes\x20`_money_display`\x20annotation\x20(unit-converted\x20via\x20the\x20order\x27s\x20Service\x20generic\x20token\x20type;\x20raw-only\x20with\x20retry\x20hint\x20when\x20precision\x20is\x20unavailable).\x0a\x0a🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20whole\x20objects/balances/profiles;\x20use\x20onchain_table_data\x20to\x20query\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields;\x20use\x20onchain_events\x20(this\x20tool)\x20to\x20query\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20event\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainEventsInputSchema,'outputSchema':OnchainEventsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('watch\x20wowook\x20events',['events','on-chain','arbitration','order','progress','demand','entity'])}},{'name':'wowok_buildin_info','handler':handleWowokInfo,'config':{'title':'ℹ️\x20WoWok\x20Build-in\x20Information','summary':'Getting-started\x20orientation,\x20protocol\x20constants,\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance,\x20upgrade\x20check.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27getting\x20started\x27,\x20\x27constants\x27,\x20\x27built-in\x20permissions\x27,\x20\x27common\x20mistakes\x27,\x20\x27guard\x20instructions\x27,\x20\x27current\x20network\x27,\x20\x27value\x20types\x27,\x20\x27mainnet\x20bridge\x20tokens\x27,\x20\x27funding\x20guidance\x27,\x20\x27upgrade_check\x27,\x20or\x20\x27universal_template\x27.\x20Call\x20\x27getting\x20started\x27\x20at\x20conversation\x20start\x20when\x20no\x20WoWok\x20Skill\x20guidance\x20is\x20loaded\x20—\x20it\x20explains\x20what\x20the\x20companion\x20@wowok/skills\x20package\x20is,\x20gives\x20install/doctor/repair\x20commands,\x20best-effort\x20local\x20detection\x20of\x20installed\x20skills,\x20the\x20~20s\x20cold-start\x20window,\x20and\x20maps\x20common\x20goals\x20to\x20sub-tools.\x20Use\x20\x27common\x20mistakes\x27\x20to\x20proactively\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls\x20before\x20submitting\x20an\x20operation\x20(e.g.\x20filter\x20operation:\x22compensation_fund_add\x22).\x20For\x20\x27mainnet\x20bridge\x20tokens\x27:\x20returns\x20cross-chain\x20bridge\x20tokens\x20(ETH,\x20WETH,\x20WBTC,\x20USDC,\x20USDT)\x20with\x20each\x20token\x27s\x20symbol,\x20WOW-side\x20type\x20tag\x20(wowTypeTag),\x20EVM\x20address,\x20decimals,\x20and\x20description.\x20The\x20wowTypeTag\x20(format\x20{address}::{module}::{struct})\x20can\x20be\x20used\x20directly\x20as\x20the\x20`type_parameter`\x20of\x20Service\x20/\x20Treasury\x20/\x20Reward\x20/\x20Allocation\x20objects\x20to\x20set\x20their\x20payment\x20token\x20—\x20e.g.\x20use\x20USDT\x27s\x20wowTypeTag\x20to\x20create\x20a\x20Service\x20that\x20accepts\x20USDT\x20payments.\x20For\x20\x27funding\x20guidance\x27:\x20returns\x20how\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens\x20—\x20testnet\x20faucet,\x20mainnet\x20ETH\x20cross-chain\x20bridge\x20flow,\x20and\x20the\x20WOW\x20mainnet\x20airdrop\x20link.\x20Use\x20this\x20when\x20a\x20user\x20asks\x20how\x20to\x20obtain\x20tokens/gas/funds,\x20or\x20as\x20a\x20proactive\x20first-use\x20reminder.','inputSchema':ProtocolInfoQuerySchema,'outputSchema':ProtocolInfoResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('WoWok\x20info',['build-in','getting-started','skills','constants','permissions','guard','network','value-types','bridge-tokens','funding-guidance','faucet','airdrop'])}},{'name':'schema_query','handler':handleSchemaQuery,'config':{'title':'📋\x20Schema\x20Query','summary':'Query\x20JSON\x20schemas\x20for\x20any\x20sub-tool\x20(action:\x20list/get/get_output/search).','description':'Look\x20up\x20JSON\x20Schemas\x20for\x20WoWok\x20MCP\x20tools\x20and\x20on-chain\x20operations.\x20'+'This\x20is\x20the\x20authoritative\x20reference\x20for\x20exact\x20parameter\x20structures,\x20types,\x20and\x20required\x20fields.\x20'+'Always\x20check\x20the\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.\x0a\x0a'+'Actions:\x0a'+'\x20\x20\x27list\x27\x20-\x20Show\x20all\x20available\x20schemas\x20(tools\x20+\x20on-chain\x20operations).\x20Start\x20here\x20to\x20discover\x20what\x20exists.\x0a'+'\x20\x20\x27get\x27\x20-\x20Fetch\x20the\x20full\x20input\x20JSON\x20Schema\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x0a'+'\x20\x20\x27get_output\x27\x20-\x20Fetch\x20the\x20output\x20JSON\x20Schema\x20of\x20a\x20tool\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x20Use\x20this\x20to\x20understand\x20a\x20tool\x27s\x20return\x20value\x20structure.\x0a'+'\x20\x20\x27get_field\x27\x20-\x20Query\x20a\x20single\x20field\x20by\x20dot-path\x20(e.g.\x20field_path=\x27data.node.nodes.0.pairs\x27).\x20Cheaper\x20than\x20\x27get\x27\x20when\x20you\x20only\x20need\x20one\x20subtree.\x0a'+'\x20\x20\x27search\x27\x20-\x20Find\x20schemas\x20by\x20keyword,\x20matching\x20name/title/description.\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27list_operations\x27\x20-\x20Show\x20only\x20on-chain\x20operation\x20schemas\x20(prefixed\x20\x27onchain_operations_\x27).\x20Narrower\x20than\x20\x27list\x27.\x0a'+'\x20\x20\x27get_guard_templates\x27\x20-\x20Guard\x20creation\x20templates\x20+\x20best\x20practices\x20(e.g.\x20signer_verification,\x20progress_node_check).\x20Omit\x20\x27template\x27\x20to\x20list\x20all.\x0a'+'\x20\x20\x27get_tool_reference\x27\x20-\x20MCP\x20tool\x20usage\x20reference\x20(summaries,\x20actions,\x20prerequisites,\x20notes).\x20Pass\x20name=\x27<tool>\x27\x20for\x20one\x20tool,\x20query=\x27<keyword>\x27\x20to\x20search,\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_guard_design_patterns\x27\x20-\x20Curated\x20Guard\x20design\x20patterns\x20(business\x20requirement\x20→\x20logic\x20tree\x20template).\x20Pass\x20name=\x27<pattern_id>\x27,\x20query=\x27<host>\x27\x20(e.g.\x20\x27service_buy_guard\x27,\x20\x27machine_forward\x27),\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_safety_rules\x27\x20-\x20Safety\x20rule\x20tables\x20sunk\x20from\x20the\x20wowok-safety\x20skill:\x20object\x20reuse,\x20immutability-after-publish,\x20LOCAL/ONCHAIN/QUERY\x20classification,\x20naming\x20conventions.\x0a'+'\x20\x20\x27analyze_guard_semantics\x27\x20-\x20Parse\x20+\x20evaluate\x20ANY\x20Guard\x20JSON\x20(pass\x20guard=<json>):\x20rendered\x20logic\x20tree,\x20lint\x20+\x20risk\x20diagnostics,\x20and\x20a\x20party-perspective\x20fact\x20sheet\x20(who\x20can\x20trigger,\x20time\x20constraints,\x20evidence\x20required,\x20data\x20sources\x20read\x20—\x20including\x20which\x20are\x20mutable\x20on-chain).\x20BOTH\x20transacting\x20parties\x20should\x20run\x20this\x20before\x20relying\x20on\x20a\x20Guard\x20(e.g.\x20a\x20refund\x20or\x20fund-release\x20Guard\x20is\x20a\x20free-form\x20game\x20condition\x20tree,\x20not\x20necessarily\x20tied\x20to\x20any\x20Machine\x20node).','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}}];
1
+ import{handleWatchQueryOperations,handleOnchainTableData,handleOnchainEvents,handleWowokInfo}from'../handlers/query.js';import{handleSchemaQuery}from'../handlers/schema-query.js';import{createToolMeta,WatchQueryOperationsSchema,WatchQueryOperationsResultSchema,OnchainTableDataSchema,OnchainTableDataResultSchema,OnchainEventsInputSchema,OnchainEventsResultSchema,ProtocolInfoQuerySchema,ProtocolInfoResultSchema,SchemaQueryInputSchema,SchemaQueryOutputSchema}from'../../schema/index.js';export const QUERY_TOOLS=[{'name':'query_toolkit','handler':handleWatchQueryOperations,'timeoutMs':0x493e0,'config':{'title':'🔍\x20Data\x20Query\x20Toolkit','summary':'Query\x20on-chain\x20objects,\x20balances,\x20profiles,\x20history,\x20tokens,\x20topology\x20(21\x20types).','description':'WOWOK\x20data\x20query\x20toolkit\x20—\x2021\x20query\x20types\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data:\x0a\x0a'+'LOCAL\x20(device-only,\x20never\x20on-chain):\x0a'+'1.\x20local_mark_list\x20—\x20Query\x20your\x20LOCAL\x20address\x20book:\x20maps\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20optional\x20tags.\x20Use\x20to\x20resolve\x20names→addresses\x20or\x20find\x20addresses\x20by\x20tag.\x0a'+'2.\x20account_list\x20—\x20Query\x20your\x20LOCAL\x20accounts\x20(addresses,\x20messenger\x20status,\x20suspension\x20state).\x20Use\x20filter.includePubkey=true\x20to\x20also\x20include\x20public\x20keys.\x20Use\x20to\x20discover\x20available\x20accounts\x20before\x20operations.\x20NOTE:\x20local\x20accounts\x20are\x20just\x20ONE\x20form\x20of\x20distributed\x20account\x20—\x20WoWok\x20serves\x20ANY\x20account\x20on\x20ANY\x20device;\x20every\x20on-chain/BI\x20query\x20below\x20also\x20accepts\x20any\x200x\x20address\x20(LocalMark\x20names\x20are\x20a\x20convenience,\x20not\x20a\x20requirement).\x0a'+'3.\x20local_info_list\x20—\x20Query\x20your\x20LOCAL\x20private\x20info:\x20sensitive\x20data\x20like\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts\x20stored\x20ONLY\x20on\x20this\x20device.\x0a'+'4.\x20token_list\x20—\x20Query\x20cached\x20token\x20metadata:\x20symbol,\x20decimals,\x20icon\x20URL,\x20description\x20for\x20tokens\x20previously\x20fetched\x20from\x20chain.\x20Use\x20to\x20look\x20up\x20token\x20precision/decimals\x20before\x20performing\x20token\x20operations.\x20Returns:\x20TokenTypeInfo[]\x20(type,\x20alias,\x20name,\x20symbol,\x20decimals,\x20iconUrl).\x0a'+'5.\x20account_balance\x20—\x20Query\x20an\x20account\x27s\x20coin\x20balance\x20OR\x20Paginated\x20coin\x20objects.\x20Use\x20balance=true\x20for\x20total\x20amount,\x20or\x20coin={cursor,limit}\x20to\x20list\x20individual\x20coin\x20objects.\x20Supports\x20multi-token\x20via\x20token_type\x20parameter.\x20Results\x20include\x20`_money_display`\x20with\x20unit-converted\x20values\x20+\x20decimals\x20reminder.\x20LIVE\x20QUERY\x20(no\x20cache\x20—\x20no_cache\x20not\x20needed).\x20If\x20the\x20input\x20is\x20an\x20on-chain\x20OBJECT\x20(e.g.\x20a\x20Treasury\x20mark\x20name),\x20the\x20result\x20auto-routes\x20to\x20that\x20object\x27s\x20\x27balance\x27\x20field\x20with\x20a\x20hint\x20—\x20wallet\x20gas\x20balances\x20vs\x20object\x20funds\x20are\x20different\x20concepts.\x0a'+'6.\x20local_names\x20—\x20Query\x20local\x20names\x20by\x20a\x20list\x20of\x20addresses.\x20For\x20each\x20address,\x20returns\x20the\x20resolved\x20account\x20name\x20(if\x20exists)\x20and\x20local\x20mark\x20name\x20(if\x20exists).\x20Returns:\x20{\x20account?,\x20local_mark?,\x20address\x20}[].\x0a\x0a'+'ONCHAIN\x20(blockchain):\x0a'+'7.\x20onchain_personal_profile\x20—\x20Query\x20any\x20user\x27s\x20PUBLIC\x20on-chain\x20profile:\x20social\x20links,\x20reputation\x20(likes/dislikes),\x20personal\x20info\x20records,\x20voting\x20history,\x20referrer.\x0a'+'8.\x20onchain_objects\x20—\x20Batch\x20query\x20on-chain\x20WOWOK\x20objects\x20by\x20ID\x20or\x20name:\x20supports\x20Service,\x20Machine,\x20Order,\x20Treasury,\x20Reward,\x20Arb,\x20Personal,\x20Contact,\x20and\x20more.\x20Monetary\x20fields\x20include\x20`_money_display`\x20annotations\x20(token\x20type\x20from\x20the\x20object\x27s\x20immutable\x20generic).\x0a'+'9.\x20onchain_received\x20—\x20Query\x20objects\x20(Payments,\x20Tokens,\x20NFTs)\x20received\x20by\x20a\x20specific\x20object.\x20Supports\x20pagination\x20and\x20type\x20filter.\x20CoinWrapper\x20mode\x20returns\x20token-aware\x20`_money_display`;\x20for\x20an\x20OBJECT\x20holder\x20(e.g.\x20an\x20Order\x20escrow)\x20whose\x20wrappers\x20the\x20owned-object\x20index\x20cannot\x20see,\x20the\x20records\x20are\x20recovered\x20from\x20the\x20allocation\x20transaction\x20effects\x20and\x20the\x20envelope\x20sets\x20`read_path=\x27allocation-transaction-effects\x27`.\x0a'+'10.\x20onchain_transaction\x20—\x20Verify\x20what\x20a\x20specific\x20transaction\x20did\x20on-chain\x20(status,\x20object\x20changes,\x20balance\x20changes,\x20gas,\x20events).\x20Balance\x20changes\x20include\x20`_money_display`\x20(unit-converted\x20via\x20each\x20change\x27s\x20own\x20coin_type;\x20signed\x20amounts\x20supported).\x0a'+'11.\x20onchain_block\x20—\x20Query\x20ONE\x20checkpoint\x20(block)\x20by\x20sequence\x20number\x20or\x20digest;\x20returns\x20the\x20RAW\x20fullnode\x20checkpoint\x20summary\x20verbatim\x20(sequence,\x20digest,\x20timestamp,\x20tx\x20count,\x20epoch).\x20Block-level\x20facts\x20—\x20distinct\x20from\x20onchain_transaction\x20(per-tx\x20proof).\x0a'+'12.\x20onchain_object_history\x20—\x20FORENSICS:\x20all\x20transactions\x20that\x20touched\x20an\x20object\x20(auditing\x20only\x20—\x20prefer\x20assemble_context\x20for\x20AI\x20context\x20building).\x0a'+'13.\x20onchain_address_activity\x20—\x20FORENSICS:\x20an\x20address\x27s\x20transaction\x20history\x20(auditing\x20only).\x20direction=\x27sent\x27\x20(default)\x20lists\x20transactions\x20SENT\x20BY\x20the\x20address;\x20direction=\x27received\x27\x20lists\x20transactions\x20that\x20delivered\x20objects/coins\x20TO\x20it\x20(inbound\x20—\x20the\x20route\x20for\x20\x27when\x20did\x20this\x20arrive\x27\x20without\x20knowing\x20the\x20sender).\x0a'+'14.\x20token_value_convert\x20—\x20Convert\x20between\x20raw\x20on-chain\x20smallest\x20units\x20(u64)\x20and\x20human\x20unit\x20values\x20in\x20EITHER\x20direction\x20(e.g.\x20\x222200000000\x22\x20↔\x20\x222.2\x22\x20WOW).\x20Unit→raw\x20is\x20REFUSED\x20when\x20token\x20precision\x20cannot\x20be\x20resolved\x20(never\x20guesses\x20decimals).\x0a'+'15.\x20address_profile\x20—\x20Unified\x20address\x20profile:\x20classifies\x20an\x20address\x20(user\x20/\x20business\x20object\x20/\x20system\x20singleton),\x20then\x20batches\x20identity\x20+\x20reputation\x20(like/dislike/favor)\x20+\x20order/contact\x20membership\x20+\x20core/tx\x20reverse\x20bindings\x20+\x20the\x20object\x20itself.\x20For\x20Service\x20addresses\x20the\x20result\x20merges\x20a\x20service_analysis\x20block\x20(description\x20/\x20payment\x20token\x20/\x20shelf\x20split\x20/\x20location\x20/\x20on-chain\x20last\x20update).\x20The\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20entry.\x0a'+'16.\x20address_profiles\x20—\x20BATCH\x20form\x20of\x20address_profile\x20(up\x20to\x2050\x20addresses\x20in\x20ONE\x20call):\x20same\x20per-address\x20shape\x20—\x20classification,\x20identity,\x20reputation\x20votes,\x20memberships,\x20reverse\x20bindings,\x20object,\x20activity,\x20role\x20evidence,\x20plus\x20the\x20service_analysis\x20merge\x20for\x20Service\x20addresses.\x20List\x20views\x20needing\x20profiles\x20for\x20many\x20rows\x20should\x20ALWAYS\x20prefer\x20this\x20over\x20N\x20single\x20calls.\x20Returns:\x20(AddressProfile\x20|\x20null)[]\x20(result\x20order\x20matches\x20the\x20request).\x0a'+'17.\x20service_supply_chain\x20—\x20Resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph\x20(K3\x2023\x20§3.6):\x20reads\x20the\x20bound\x20Machine\x27s\x20frozen\x20forwards,\x20finds\x20purchasing-commitment\x20Guards,\x20and\x20returns\x20each\x20forward\x27s\x20purchased\x20sub-services\x20+\x20required\x20sub-order\x20proof\x20fields.\x20Use\x20for\x20buyer\x20due-diligence,\x20compose_service,\x20anti_cheat\x20(shell-merchant\x20detection),\x20merchant\x20self-check,\x20or\x20Watch\x20relation\x20expansion.\x0a'+'18.\x20workspace_lists\x20—\x20ONE-CALL\x20Quick\x20Access\x20workspace\x20object\x20lists\x20for\x20an\x20account\x20(treasuries/repositories/contacts/machines/rewards/others)\x20via\x20the\x20permission\x20reverse\x20chain,\x20TTL-cached.\x0a'+'19.\x20marks_of_account\x20—\x20Like/Favor\x20list:\x20every\x20address\x20(object\x20or\x20user)\x20the\x20account\x20ever\x20liked/disliked/favored,\x20deduplicated,\x20with\x20the\x20CURRENT\x20active\x20vote\x20kinds\x20per\x20target\x20(voter\x20Resource\x20mark\x20table\x20+\x20EntityLinker\x20clock),\x20TTL-cached.\x0a'+'20.\x20migration_preflight\x20—\x20Cross-network\x20build\x20detection:\x20report\x20an\x20account\x27s\x20Services/Machines/Treasuries/etc.\x20on\x20a\x20source\x20network\x20(default\x20testnet)\x20vs\x20target\x20network\x20(default\x20mainnet),\x20plus\x20a\x20business-facing\x20checklist\x20of\x20settings\x20to\x20confirm/change\x20when\x20migrating\x20(payment\x20token\x20/\x20location\x20/\x20arbitration\x20/\x20WIP\x20/\x20gas).\x0a'+'21.\x20onchain_topology\x20—\x20Read-only\x20on-chain\x20TOPOLOGY\x20network\x20around\x20ONE\x20seed\x20address\x20(any\x20EOA/object\x20or\x20LocalMark\x20name):\x20batched\x20multi-hop\x20BFS\x20over\x20the\x20machine-readable\x20EdgeSchema\x20—\x20nodes\x20+\x20typed\x20edges\x20(F=field\x20/\x20R=reverse-index\x20/\x20W=workflow\x20/\x20M=money-flow\x20/\x20S=social)\x20with\x20retention\x20semantics\x20(complete/bounded/window/membership/derived),\x20the\x20structural\x20workflow\x20subgraph\x20+\x20terminal\x20set\x20of\x20each\x20reached\x20Machine,\x20structural\x20completion\x20of\x20every\x20Order\x20reached,\x20and\x20R/A/O/G\x20analyzer\x20findings.\x20Use\x20for\x20multi-hop\x20relationship/permission/fund-flow\x20questions,\x20risk/arbitrage/opportunity\x20scans,\x20and\x20\x27what\x20is\x20connected\x20to\x20what\x20and\x20how\x20strongly\x27\x20due\x20diligence.\x20Truncation/gap/budget\x20markers\x20are\x20always\x20reported\x20honestly.\x0a\x0a'+'For\x20dynamic\x20table\x20data\x20queries\x20(pagination,\x20table\x20items),\x20use\x20the\x20\x27onchain_table_data\x27\x20tool.\x20For\x20state-transition\x20events,\x20use\x20the\x20\x27onchain_events\x27\x20tool.\x0a\x0a'+'🌐\x20Network\x20parameter:\x20on-chain\x20query\x20types\x20accept\x20`network`\x20and\x20`context_network`\x20INTERCHANGEABLY\x20—\x20either\x20spelling\x20is\x20normalized\x20to\x20the\x20right\x20field\x20before\x20validation,\x20and\x20the\x20response\x20echoes\x20the\x20resolved\x20network\x20(`network`\x20+\x20`network_source`)\x20so\x20results\x20can\x20never\x20be\x20silently\x20misattributed.\x20The\x20different\x20key\x20names\x20per\x20query\x20type\x20are\x20a\x20display\x20convention,\x20NOT\x20a\x20trap:\x20passing\x20the\x20opposite\x20spelling\x20still\x20works.\x20local_*\x20/\x20account_list\x20/\x20token_list\x20queries\x20are\x20device-local\x20and\x20network-free\x20BY\x20DESIGN\x20—\x20they\x20ignore\x20a\x20network\x20key\x20rather\x20than\x20erroring.\x20onchain_transaction\x20without\x20an\x20explicit\x20network\x20tries\x20the\x20session\x20default\x20first;\x20on\x20a\x20miss\x20it\x20PROBES\x20the\x20remaining\x20networks\x20and\x20answers\x20from\x20wherever\x20the\x20digest\x20is\x20live\x20(`network_source=\x27probed\x27`\x20+\x20result._network_probe\x20name\x20the\x20answering\x20network\x20—\x20never\x20cite\x20a\x20probed\x20result\x20as\x20default-network\x20data;\x20an\x20all-network\x20miss\x20is\x20an\x20authoritative\x20\x22did\x20not\x20commit\x22).\x0a\x0a'+'🕒\x20Runtime\x20freshness:\x20when\x20an\x20observed\x20behavior\x20contradicts\x20documented\x20schema\x20and\x20knowledge\x20text,\x20FIRST\x20check\x20the\x20running\x20process\x20is\x20not\x20stale\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20—\x20its\x20build_stamp\x20reports\x20mcp_dist_stale\x20/\x20sdk_dist_stale\x20(source-newer-than-dist\x20detection)\x20and\x20runtime_health\x20before\x20you\x20classify\x20the\x20mismatch\x20as\x20a\x20design\x20defect.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27query_toolkit\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20query\x20types\x20and\x20field\x20definitions.','inputSchema':WatchQueryOperationsSchema,'outputSchema':WatchQueryOperationsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('query',['watch','query','on-chain','local','events','objects','tokens','balance','profile','block'])}},{'name':'onchain_table_data','handler':handleOnchainTableData,'config':{'title':'📊\x20Query\x20WoWok\x20On-chain\x20Table\x20Data','summary':'Query\x20on-chain\x20dynamic\x20field\x20tables\x20with\x20pagination\x20(table\x20+\x20table-item\x20queries).','description':'Query\x20the\x20dynamic\x20table\x20data\x20of\x20on-chain\x20objects\x20(ONE-TIME\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20Supports\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.\x20Each\x20table\x20item\x20belongs\x20to\x20a\x20parent\x20object\x20type\x20and\x20has\x20a\x20specific\x20meaning:\x0a\x0a'+'1.\x20onchain_table\x20—\x20Paginated\x20query\x20of\x20ANY\x20object\x27s\x20dynamic\x20fields\x20table\x20(Parent:\x20any\x20object).\x20Returns\x20all\x20entries\x20with\x20keys,\x20types,\x20and\x20object\x20IDs.\x20Use\x20to\x20explore\x20all\x20sub-items\x20of\x20an\x20object.\x0a'+'2.\x20onchain_table_item_repository_data\x20—\x20Query\x20a\x20record\x20from\x20a\x20Repository\x27s\x20on-chain\x20key-value\x20database\x20(Parent:\x20Repository).\x20Key:\x20name\x20+\x20entity\x20(address\x20or\x20number).\x20Returns\x20the\x20stored\x20data\x20record\x20with\x20typed\x20value.\x0a'+'3.\x20onchain_table_item_permission_perm\x20—\x20Query\x20a\x20permission\x20entry\x20from\x20a\x20Permission\x20object\x27s\x20access\x20control\x20table\x20(Parent:\x20Permission).\x20Key:\x20user\x20address\x20or\x20Guard\x20ID.\x20Returns\x20the\x20permission\x20list\x20(perm[])\x20granted\x20to\x20that\x20user/guard.\x0a'+'4.\x20onchain_table_item_entity_registrar\x20—\x20Query\x20an\x20entity\x27s\x20registration\x20record\x20from\x20the\x20GLOBAL\x20EntityRegistrar\x20(Parent:\x20system\x20EntityRegistrar).\x20Key:\x20user\x20address.\x20Returns\x20registration\x20info:\x20description,\x20referrer,\x20records,\x20mark_object.\x0a'+'5.\x20onchain_table_item_entity_linker\x20—\x20Query\x20community\x20votes/endorsements\x20for\x20an\x20entity\x20from\x20the\x20GLOBAL\x20EntityLinker\x20(Parent:\x20system\x20EntityLinker).\x20Key:\x20entity\x20address.\x20Returns\x20vote\x20records\x20(likes/dislikes/favor)\x20showing\x20community\x20trust.\x0a'+'6.\x20onchain_table_item_entity_contact\x20—\x20Query\x20which\x20customer-service\x20Contacts\x20an\x20entity\x20is\x20a\x20member\x20of,\x20from\x20the\x20GLOBAL\x20EntityContact\x20reverse\x20index\x20(Parent:\x200xaa9).\x20Key:\x20entity\x20address.\x20Returns\x20contact\x20memberships\x20(contact\x20+\x20time).\x0a'+'7.\x20onchain_table_item_object_linker_core\x20—\x20Query\x20which\x20bounded\x20core\x20objects\x20(Service/Machine/Treasury/Reward/Demand/Arbitration/Arb/Contact)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerCore\x20reverse\x20index\x20(Parent:\x200xaae).\x20Lossless\x20fixed;\x20use\x20for\x20DEFAULT\x20reverse\x20lookups\x20(e.g.\x20which\x20services\x20use\x20a\x20permission).\x0a'+'8.\x20onchain_table_item_object_linker_tx\x20—\x20Query\x20which\x20operational\x20objects\x20(Order/Progress/Payment/Allocation/Guard/Permission)\x20bind\x20to\x20a\x20target,\x20from\x20the\x20GLOBAL\x20ObjectLinkerTx\x20reverse\x20index\x20(Parent:\x200xaaf).\x20Lossy\x20FIFO\x20(recent\x20only);\x20use\x20for\x20ORDER/PROGRESS/operational\x20reverse\x20lookups\x20(e.g.\x20which\x20orders\x20a\x20service\x20has).\x0a'+'9.\x20onchain_table_item_reward_record\x20—\x20Query\x20a\x20reward\x20claim\x20record\x20from\x20a\x20Reward\x20object\x27s\x20distribution\x20table\x20(Parent:\x20Reward).\x20Key:\x20recipient\x20address.\x20Returns\x20claim\x20history:\x20guard\x20used,\x20total\x20claimed,\x20per-claim\x20details.\x0a'+'10.\x20onchain_table_item_demand_presenter\x20—\x20Query\x20a\x20demand\x20submission\x20from\x20a\x20Demand\x20object\x27s\x20presenter\x20table\x20(Parent:\x20Demand).\x20Key:\x20presenter\x20address.\x20Returns\x20submission\x20details:\x20recommendation,\x20service,\x20feedback,\x20acceptance\x20score.\x0a'+'11.\x20onchain_table_item_treasury_history\x20—\x20Query\x20a\x20payment\x20record\x20from\x20a\x20Treasury\x27s\x20history\x20table\x20(Parent:\x20Treasury).\x20Key:\x20payment\x20ID\x20(address).\x20Returns\x20payment\x20details:\x20operation\x20type,\x20signer,\x20amount,\x20external\x20guard.\x0a'+'12.\x20onchain_table_item_machine_node\x20—\x20Query\x20a\x20workflow\x20node\x20definition\x20from\x20a\x20Machine\x20object\x27s\x20node\x20table\x20(Parent:\x20Machine).\x20Key:\x20node\x20name\x20(string).\x20Returns\x20node\x20configuration:\x20pairs,\x20forwards,\x20guards,\x20thresholds.\x0a'+'13.\x20onchain_table_item_progress_history\x20—\x20Query\x20a\x20progress\x20step\x20record\x20from\x20a\x20Progress\x20object\x27s\x20history\x20table\x20(Parent:\x20Progress).\x20Key:\x20sequence\x20number\x20(u64).\x20Returns\x20step\x20details:\x20node,\x20next_node,\x20session\x20state,\x20time.\x0a'+'14.\x20onchain_table_item_address_mark\x20—\x20Query\x20a\x20PUBLIC\x20on-chain\x20name/tag\x20mark\x20from\x20an\x20AddressMark\x20object\x27s\x20table\x20(Parent:\x20AddressMark).\x20Key:\x20address.\x20Returns\x20public\x20labels:\x20entity,\x20name,\x20tags[].\x20Unlike\x20local\x20marks,\x20these\x20are\x20published\x20on-chain.\x0a'+'15.\x20onchain_table_item_entity_order\x20—\x20Query\x20the\x20orders\x20a\x20user\x20participates\x20in,\x20from\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8).\x20Key:\x20user\x20address.\x20Returns\x20order\x20addresses\x20with\x20role\x20bitmask\x20(1=owner,\x202=agent)\x20and\x20last\x20role-update\x20time\x20(raw\x20index,\x20without\x20full\x20order\x20objects).\x0a'+'16.\x20onchain_orders_of_user\x20—\x20Query\x20EVERY\x20order\x20a\x20user\x20participates\x20in\x20(as\x20owner\x20and/or\x20agent)\x20via\x20the\x20GLOBAL\x20EntityOrder\x20reverse\x20index\x20(Parent:\x200xaa8),\x20resolving\x20each\x20to\x20its\x20full\x20on-chain\x20Order\x20object.\x20Each\x20result\x20includes\x20role\x20info:\x20role\x20bitmask,\x20is_owner,\x20is_agent,\x20role\x20update\x20time,\x20and\x20the\x20full\x20order.\x20Use\x20to\x20get\x20a\x20user\x27s\x20complete\x20order\x20list\x20with\x20role\x20attributes.\x0a'+'17.\x20onchain_orders_of_users\x20—\x20Cross-account\x20variant:\x20query\x20EVERY\x20order\x20that\x20ANY\x20of\x20the\x20given\x20accounts\x20participates\x20in,\x20merged\x20into\x20ONE\x20deduped\x20list\x20(per-account\x20roles\x20merged)\x20with\x20SERVER-SIDE\x20enrichment\x20identical\x20to\x20the\x20Service\x20panorama\x20Orders\x20tab\x20—\x20amount/item\x20prices\x20as\x20human\x20token\x20display,\x20progress\x20node\x20+\x20entry\x20time,\x20allocation\x20fund\x20state,\x20updated\x20time.\x20Non-blocking\x20per-account\x20errors\x20(account_errors).\x20Use\x20for\x20a\x20local\x20wallet\x27s\x20complete\x20order\x20list\x20in\x20ONE\x20call.\x0a'+'18.\x20onchain_table_item_generic\x20—\x20Query\x20a\x20generic\x20table\x20item\x20from\x20ANY\x20object\x27s\x20dynamic\x20fields\x20(Parent:\x20any\x20object).\x20Supports\x20arbitrary\x20key\x20types\x20(address,\x20u64,\x20string,\x20object\x20ID,\x20etc.).\x20Use\x20for\x20custom\x20objects\x20and\x20general-purpose\x20table\x20lookups.\x20Returns:\x20ObjectBase\x20|\x20undefined.\x0a'+'19.\x20address_profile\x20—\x20unified\x20address\x20profile\x20(classification\x20+\x20identity\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings\x20+\x20the\x20object,\x20with\x20a\x20merged\x20service_analysis\x20block\x20for\x20Service\x20addresses).\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22address_profile\x22).\x0a'+'20.\x20service_supply_chain\x20—\x20resolve\x20a\x20Service\x27s\x20transparent\x20sub-order\x20purchasing\x20graph.\x20Also\x20available\x20via\x20query_toolkit\x20(query_type=\x22service_supply_chain\x22).\x0a\x0a'+'🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20a\x20WHOLE\x20object/balance/profile;\x20use\x20onchain_events\x20to\x20query\x20state-transition\x20events;\x20use\x20onchain_table_data\x20(this\x20tool)\x20to\x20paginate\x20over\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields\x20or\x20read\x20a\x20single\x20table\x20item.\x0a\x0a'+'💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_table_data\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20table\x20item\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainTableDataSchema,'outputSchema':OnchainTableDataResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('table\x20query',['on-chain','table','dynamic\x20fields','pagination','repository','permission','reward','demand','treasury','machine','progress'])}},{'name':'onchain_events','handler':handleOnchainEvents,'config':{'title':'📅\x20Query\x20WoWok\x20On-chain\x20Events','summary':'Watch\x20on-chain\x20state-transition\x20and\x20fund-flow\x20events\x20(all\x2024\x20framework\x20types).','description':'Query\x20on-chain\x20WoWok\x20events\x20by\x20type\x20(a\x20ONE-TIME\x20paginated\x20query\x20—\x20NOT\x20a\x20realtime\x20subscription).\x20All\x2024\x20framework\x20event\x20types\x20are\x20supported,\x20grouped\x20by\x20business\x20family:\x20market\x20opportunity\x20(ServiceEvent,\x20ArbitrationEvent,\x20DemandChangedEvent,\x20DemandPresentEvent),\x20order/workflow\x20(NewOrderEvent,\x20ProgressEvent,\x20ThresholdPendingEvent\x20—\x20the\x20below-threshold\x20multi-sig/vote\x20accumulation,\x20protocol\x20version\x20137),\x20dispute\x20(ArbEvent,\x20VoteEvent,\x20FeedbackEvent,\x20ArbStatementEvent),\x20reputation\x20(DemandFeedbackEvent,\x20NewEntityEvent,\x20VoteEvictedEvent),\x20fund\x20flow\x20(AllocationEvent,\x20TreasuryEvent,\x20RewardClaimEvent,\x20RewardFundEvent,\x20RewardWithdrawEvent,\x20NewPaymentEvent),\x20service\x20administration\x20(OrderAllocatorsAppendedEvent),\x20audit/watch\x20(PermissionChangedEvent,\x20RepositoryDataOverwriteEvent).\x20Use\x20pagination\x20cursor\x20for\x20fetching\x20large\x20result\x20sets.\x0a\x0a💰\x20NewPaymentEvent\x20is\x20the\x20universal\x20fund-flow\x20receipt:\x20every\x20treasury\x20withdraw/deposit,\x20allocation\x20split\x20and\x20compensation\x20payout\x20mints\x20one.\x20Its\x20`from_object`\x20is\x20the\x20internal-only\x20funding-source\x20object\x20(Treasury/Allocation/Service\x20—\x20set\x20by\x20the\x20framework,\x20never\x20user\x20code),\x20and\x20`info.for_object`/`info.for_guard`\x20are\x20user-settable\x20business\x20routing\x20hints;\x20both\x20are\x20registered\x20as\x20on-chain\x20affiliations.\x20RewardWithdrawEvent\x20is\x20the\x20only\x20non-claim\x20outflow\x20from\x20a\x20reward\x20pool\x20(permission-gated)\x20and\x20mirrors\x20the\x20claim\x20event\x27s\x20balance_left.\x20NewOrderEvent.amount\x20includes\x20`_money_display`\x20annotation\x20(unit-converted\x20via\x20the\x20order\x27s\x20Service\x20generic\x20token\x20type;\x20raw-only\x20with\x20retry\x20hint\x20when\x20precision\x20is\x20unavailable).\x0a\x0a🧭\x20Tool\x20selection\x20(avoid\x20confusion):\x20use\x20query_toolkit\x20to\x20query\x20whole\x20objects/balances/profiles;\x20use\x20onchain_table_data\x20to\x20query\x20ONE\x20object\x27s\x20dynamic\x20table\x20fields;\x20use\x20onchain_events\x20(this\x20tool)\x20to\x20query\x20EVENTS\x20by\x20type.\x0a\x0a💡\x20Schema\x20hint:\x20call\x20the\x20OTHER\x20tool\x20`schema_query`\x20with\x20action=\x27get\x27\x20and\x20name=\x27onchain_events\x27\x20to\x20retrieve\x20the\x20exact\x20parameter\x20schema\x20with\x20all\x20event\x20types\x20and\x20field\x20definitions.','inputSchema':OnchainEventsInputSchema,'outputSchema':OnchainEventsResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('watch\x20wowook\x20events',['events','on-chain','arbitration','order','progress','demand','entity'])}},{'name':'wowok_buildin_info','handler':handleWowokInfo,'config':{'title':'ℹ️\x20WoWok\x20Build-in\x20Information','summary':'Getting-started\x20orientation,\x20protocol\x20constants,\x20permissions,\x20bridge\x20tokens,\x20funding\x20guidance,\x20upgrade\x20check.','description':'Query\x20WoWok\x20protocol\x20information:\x20\x27getting\x20started\x27,\x20\x27constants\x27,\x20\x27built-in\x20permissions\x27,\x20\x27common\x20mistakes\x27,\x20\x27guard\x20instructions\x27,\x20\x27current\x20network\x27,\x20\x27value\x20types\x27,\x20\x27mainnet\x20bridge\x20tokens\x27,\x20\x27funding\x20guidance\x27,\x20\x27upgrade_check\x27,\x20or\x20\x27universal_template\x27.\x20Call\x20\x27getting\x20started\x27\x20at\x20conversation\x20start\x20when\x20no\x20WoWok\x20Skill\x20guidance\x20is\x20loaded\x20—\x20it\x20explains\x20what\x20the\x20companion\x20@wowok'+'/skills\x20package\x20is,\x20gives\x20install/doctor/repair\x20commands,\x20best-effort\x20local\x20detection\x20of\x20installed\x20skills,\x20the\x20~20s\x20cold-start\x20window,\x20and\x20maps\x20common\x20goals\x20to\x20sub-tools.\x20Use\x20\x27common\x20mistakes\x27\x20to\x20proactively\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls\x20before\x20submitting\x20an\x20operation\x20(e.g.\x20filter\x20operation:\x22compensation_fund_add\x22).\x20For\x20\x27mainnet\x20bridge\x20tokens\x27:\x20returns\x20cross-chain\x20bridge\x20tokens\x20(ETH,\x20WETH,\x20WBTC,\x20USDC,\x20USDT)\x20with\x20each\x20token\x27s\x20symbol,\x20WOW-side\x20type\x20tag\x20(wowTypeTag),\x20EVM\x20address,\x20decimals,\x20and\x20description.\x20The\x20wowTypeTag\x20(format\x20{address}::{module}::{struct})\x20can\x20be\x20used\x20directly\x20as\x20the\x20`type_parameter`\x20of\x20Service\x20/\x20Treasury\x20/\x20Reward\x20/\x20Allocation\x20objects\x20to\x20set\x20their\x20payment\x20token\x20—\x20e.g.\x20use\x20USDT\x27s\x20wowTypeTag\x20to\x20create\x20a\x20Service\x20that\x20accepts\x20USDT\x20payments.\x20For\x20\x27funding\x20guidance\x27:\x20returns\x20how\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens\x20—\x20testnet\x20faucet,\x20mainnet\x20ETH\x20cross-chain\x20bridge\x20flow,\x20and\x20the\x20WOW\x20mainnet\x20airdrop\x20link.\x20Use\x20this\x20when\x20a\x20user\x20asks\x20how\x20to\x20obtain\x20tokens/gas/funds,\x20or\x20as\x20a\x20proactive\x20first-use\x20reminder.','inputSchema':ProtocolInfoQuerySchema,'outputSchema':ProtocolInfoResultSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':!![]},'_meta':createToolMeta('WoWok\x20info',['build-in','getting-started','skills','constants','permissions','guard','network','value-types','bridge-tokens','funding-guidance','faucet','airdrop'])}},{'name':'schema_query','handler':handleSchemaQuery,'config':{'title':'📋\x20Schema\x20Query','summary':'Query\x20JSON\x20schemas\x20for\x20any\x20sub-tool\x20(action:\x20list/get/get_output/search).','description':'Look\x20up\x20JSON\x20Schemas\x20for\x20WoWok\x20MCP\x20tools\x20and\x20on-chain\x20operations.\x20'+'This\x20is\x20the\x20authoritative\x20reference\x20for\x20exact\x20parameter\x20structures,\x20types,\x20and\x20required\x20fields.\x20'+'Always\x20check\x20the\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.\x0a\x0a'+'Actions:\x0a'+'\x20\x20\x27list\x27\x20-\x20Show\x20all\x20available\x20schemas\x20(tools\x20+\x20on-chain\x20operations).\x20Start\x20here\x20to\x20discover\x20what\x20exists.\x0a'+'\x20\x20\x27get\x27\x20-\x20Fetch\x20the\x20full\x20input\x20JSON\x20Schema\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x0a'+'\x20\x20\x27get_output\x27\x20-\x20Fetch\x20the\x20output\x20JSON\x20Schema\x20of\x20a\x20tool\x20by\x20name\x20(e.g.\x20\x27onchain_operations\x27).\x20Use\x20with\x20the\x20\x27name\x27\x20param.\x20Use\x20this\x20to\x20understand\x20a\x20tool\x27s\x20return\x20value\x20structure.\x0a'+'\x20\x20\x27get_field\x27\x20-\x20Query\x20a\x20single\x20field\x20by\x20dot-path\x20(e.g.\x20field_path=\x27data.node.nodes.0.pairs\x27).\x20Cheaper\x20than\x20\x27get\x27\x20when\x20you\x20only\x20need\x20one\x20subtree.\x0a'+'\x20\x20\x27search\x27\x20-\x20Find\x20schemas\x20by\x20keyword,\x20matching\x20name/title/description.\x20Use\x20with\x20the\x20\x27query\x27\x20param.\x0a'+'\x20\x20\x27list_operations\x27\x20-\x20Show\x20only\x20on-chain\x20operation\x20schemas\x20(prefixed\x20\x27onchain_operations_\x27).\x20Narrower\x20than\x20\x27list\x27.\x0a'+'\x20\x20\x27get_guard_templates\x27\x20-\x20Guard\x20creation\x20templates\x20from\x20the\x20unified\x20library:\x20omit\x20\x27template\x27\x20to\x20list\x20every\x20tpl_*\x20id,\x20or\x20pass\x20one\x20for\x20the\x20full\x20parameterized\x20disclosure\x20(each\x20parameter\x20with\x20meaning,\x20default,\x20constraint,\x20and\x20derived\x20importance\x20—\x20identity-critical\x20first).\x0a'+'\x20\x20\x27get_tool_reference\x27\x20-\x20MCP\x20tool\x20usage\x20reference\x20(summaries,\x20actions,\x20prerequisites,\x20notes).\x20Pass\x20name=\x27<tool>\x27\x20for\x20one\x20tool,\x20query=\x27<keyword>\x27\x20to\x20search,\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_guard_design_patterns\x27\x20-\x20Curated\x20Guard\x20design\x20patterns\x20(business\x20requirement\x20→\x20logic\x20tree\x20template).\x20Pass\x20name=\x27<pattern_id>\x27,\x20query=\x27<host>\x27\x20(e.g.\x20\x27service_buy_guard\x27,\x20\x27machine_forward\x27),\x20or\x20omit\x20for\x20the\x20full\x20catalog.\x0a'+'\x20\x20\x27get_safety_rules\x27\x20-\x20Safety\x20rule\x20tables\x20sunk\x20from\x20the\x20wowok-safety\x20skill:\x20object\x20reuse,\x20immutability-after-publish,\x20LOCAL/ONCHAIN/QUERY\x20classification,\x20naming\x20conventions.\x0a'+'\x20\x20\x27analyze_guard_semantics\x27\x20-\x20Parse\x20+\x20evaluate\x20ANY\x20Guard\x20JSON\x20(pass\x20guard=<json>):\x20rendered\x20logic\x20tree,\x20lint\x20+\x20risk\x20diagnostics,\x20and\x20a\x20party-perspective\x20fact\x20sheet\x20(who\x20can\x20trigger,\x20time\x20constraints,\x20evidence\x20required,\x20data\x20sources\x20read\x20—\x20including\x20which\x20are\x20mutable\x20on-chain).\x20BOTH\x20transacting\x20parties\x20should\x20run\x20this\x20before\x20relying\x20on\x20a\x20Guard\x20(e.g.\x20a\x20refund\x20or\x20fund-release\x20Guard\x20is\x20a\x20free-form\x20game\x20condition\x20tree,\x20not\x20necessarily\x20tied\x20to\x20any\x20Machine\x20node).','inputSchema':SchemaQueryInputSchema,'outputSchema':SchemaQueryOutputSchema,'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![],'openWorldHint':![]},'_meta':createToolMeta('schema',['schema','json-schema','types','structure','validation','reference'])}}];
@@ -1 +1 @@
1
- import{MOVE_FUNCTIONS,MOVE_MODULE_NAMES}from'./move-fn-index.gen.js';const PROTOCOL_MOVE_MODULES=['object_linker','entity_order','entity_permission','entity_contact','arbitration','allocation','repository','permission','progress','registrar','passport','treasury','contact','service','machine','payment','reward','demand','guard','order','proof','resource','bridge','common','arb'],INTERNAL_TS_FILES=['onchain-constants','guard-ins','error-codes'],LINE_ANCHOR=String['raw']`(?:\s*[#:]\s*|\s+)L?\d{1,4}(?:\s*[\-,–/]\s*L?\d{1,4})*`,FILE_TOKEN_SOURCE=String['raw']`(?<![A-Za-z0-9_-])(?:${PROTOCOL_MOVE_MODULES['join']('|')})\.move(?:${LINE_ANCHOR})?`+String['raw']`|(?<![A-Za-z0-9_-])[A-Za-z_][A-Za-z0-9_-]*\.(?:move|ts|rs)(?:${LINE_ANCHOR})`+String['raw']`|(?<![A-Za-z0-9_-])(?:${INTERNAL_TS_FILES['join']('|')})\.ts\b`;function fileTokenRegex(){return new RegExp(FILE_TOKEN_SOURCE,'g');}const ORPHAN_LINE_ANCHOR=/\bL\d{1,4}(?:\s*[\-,–/]\s*L?\d{1,4})*/g,DANGLING_LINE_ANCHOR=/[#,\s]L\d{2,4}(?:\s*[\-,–/]\s*L?\d{2,4})+/g;function hasFileToken(a){return fileTokenRegex()['test'](a);}function escapeRegExp(a){return a['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}let moveFnRefRegex=null;function moveFnRefTokenRegex(){if(!moveFnRefRegex){const a=[...MOVE_MODULE_NAMES]['sort']((c,d)=>d['length']-c['length'])['map'](escapeRegExp),b=[...new Set(Object['values'](MOVE_FUNCTIONS)['flat']())]['sort']((c,d)=>d['length']-c['length'])['map'](escapeRegExp);moveFnRefRegex=new RegExp('\x5cb(?:'+a['join']('|')+')::(?:'+b['join']('|')+')\x5cb','g');}return moveFnRefRegex;}const VERBATIM_TEXT_FIELDS=new Set(['description']);export function isVerbatimTextField(a){return VERBATIM_TEXT_FIELDS['has'](a);}export function redactInternalSources(a){if(!hasFileToken(a)&&!a['includes']('::'))return a;let b=a;for(let c=0x0;c<0x3;c++){const d=b;b=b['replace'](/\(([^()]*)\)/g,(e,f)=>{if(!hasFileToken(f)&&!f['includes']('::'))return e;let g=f['replace'](fileTokenRegex(),'')['replace'](moveFnRefTokenRegex(),'')['replace'](ORPHAN_LINE_ANCHOR,'');return g=g['replace'](/\s+/g,'\x20')['trim']()['replace'](/^[\s,;:/·.\-–—]+|[\s,;:/·.\-–—]+$/g,'')['trim'](),g?'('+g+')':'';});if(b===d)break;}b=b['replace'](fileTokenRegex(),''),b=b['replace'](moveFnRefTokenRegex(),'');if(!hasFileToken(a)&&b===a)return a;return b=b['replace'](DANGLING_LINE_ANCHOR,''),b=b['replace'](/\s+[,;:]\s+/g,'\x20'),b=b['replace'](/\(\s+/g,'(')['replace'](/\s+\)/g,')')['replace'](/\(\s*[\s,;:/·.\-–—]*\)/g,'')['replace'](/([(\[])\s+/g,'$1')['replace'](/\s{2,}/g,'\x20')['replace'](/\s+([,.;:])/g,'$1'),b=b['replace'](/[\s,;:+\u00b7\-–—]+(\.\s*)$/,'$1')['replace'](/[\s,;:+\u00b7\-–—]+\s*$/,''),b!==a&&(b=b['replace'](/^ /,'')['replace'](/ $/,'')),b;}function sanitizeDeep(a,b){if(typeof a==='string')return redactInternalSources(a);if(Array['isArray'](a))return a['map'](c=>sanitizeDeep(c,b));if(a&&typeof a==='object'){if(b['has'](a))return a;b['add'](a);const c={};for(const [d,e]of Object['entries'](a)){c[d]=isVerbatimTextField(d)?e:sanitizeDeep(e,b);}return c;}return a;}function collectVerbatimStrings(a,b,c){if(Array['isArray'](a)){for(const e of a)collectVerbatimStrings(e,b,c);return;}if(!a||typeof a!=='object')return;if(c['has'](a))return;c['add'](a);const d=a;for(const [f,g]of Object['entries'](d)){if(isVerbatimTextField(f)){if(typeof g==='string'&&g['length']>0x0)b['push'](g);continue;}collectVerbatimStrings(g,b,c);}}const MASK_PREFIX='\x00wv',MASK_SUFFIX='\x00';function redactTextBlockPreservingVerbatim(a,b){if(b['length']===0x0)return redactInternalSources(a);const c=[];for(const g of b){c['push'](g);const h=JSON['stringify'](g)['slice'](0x1,-0x1);if(h!==g)c['push'](h);}c['sort']((j,k)=>k['length']-j['length']);const d=[];let e=a;for(let j=0x0;j<c['length'];j++){if(c[j]['length']===0x0||!e['includes'](c[j]))continue;const k=''+MASK_PREFIX+j+MASK_SUFFIX;e=e['split'](c[j])['join'](k),d['push']({'marker':k,'original':c[j]});}if(d['length']===0x0)return redactInternalSources(a);let f=redactInternalSources(e);for(const {marker:l,original:m}of d){f=f['split'](l)['join'](m);}return f;}export function sanitizeToolDispatchResult(a){try{const b=a['structuredContent']?sanitizeDeep(a['structuredContent'],new WeakSet()):a['structuredContent'],c=[];a['structuredContent']&&collectVerbatimStrings(a['structuredContent'],c,new WeakSet());const d=a['content']?.['map'](e=>e['type']==='text'?{...e,'text':redactTextBlockPreservingVerbatim(e['text'],c)}:e);return{...a,'content':d,'structuredContent':b};}catch{return a;}}
1
+ import{MOVE_FUNCTIONS,MOVE_MODULE_NAMES}from'./move-fn-index.gen.js';const PROTOCOL_MOVE_MODULES=['object_linker','entity_order','entity_permission','entity_contact','arbitration','allocation','repository','permission','progress','registrar','passport','treasury','contact','service','machine','payment','reward','demand','guard','order','proof','resource','bridge','common','arb'],INTERNAL_TS_FILES=['onchain-constants','guard-ins','error-codes'],LINE_ANCHOR=String['raw']`(?:\s*[#:]\s*|\s+)L?\d{1,4}(?:\s*[\-,–/]\s*L?\d{1,4})*`,INTERNAL_PATH_ROOTS=['ts-sdk','packages','src','client','mcp','skills','wow','schema','knowledge','graph','tools','composition','harness','chain-semantics'],DANGLING_DIR_SOURCE=String['raw']`(?<![A-Za-z0-9_.-])(?:${INTERNAL_PATH_ROOTS['join']('|')})/(?:[A-Za-z0-9_.-]+/)+(?=\s|[.,;:)])`,FILE_TOKEN_SOURCE=String['raw']`(?<![A-Za-z0-9_.\-/])(?:[A-Za-z_][A-Za-z0-9_.-]*/)+(?:(?:${PROTOCOL_MOVE_MODULES['join']('|')})\.move(?:${LINE_ANCHOR})?|[A-Za-z_][A-Za-z0-9_-]*\.(?:move|ts|rs)(?:${LINE_ANCHOR})?)`+String['raw']`|(?<![A-Za-z0-9_-])(?:${PROTOCOL_MOVE_MODULES['join']('|')})\.move(?:${LINE_ANCHOR})?`+String['raw']`|(?<![A-Za-z0-9_-])[A-Za-z_][A-Za-z0-9_-]*\.(?:move|ts|rs)(?:${LINE_ANCHOR})`+String['raw']`|(?<![A-Za-z0-9_-])(?:${INTERNAL_TS_FILES['join']('|')})\.ts\b`;function fileTokenRegex(){return new RegExp(FILE_TOKEN_SOURCE,'g');}function danglingDirRegex(){return new RegExp(DANGLING_DIR_SOURCE,'g');}function hasInternalDir(a){return danglingDirRegex()['test'](a);}const ORPHAN_LINE_ANCHOR=/\bL\d{1,4}(?:\s*[\-,–/]\s*L?\d{1,4})*/g,DANGLING_LINE_ANCHOR=/[#,\s]L\d{2,4}(?:\s*[\-,–/]\s*L?\d{2,4})+/g;function hasFileToken(a){return fileTokenRegex()['test'](a);}function escapeRegExp(a){return a['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}let moveFnRefRegex=null;function moveFnRefTokenRegex(){if(!moveFnRefRegex){const a=[...MOVE_MODULE_NAMES]['sort']((c,d)=>d['length']-c['length'])['map'](escapeRegExp),b=[...new Set(Object['values'](MOVE_FUNCTIONS)['flat']())]['sort']((c,d)=>d['length']-c['length'])['map'](escapeRegExp);moveFnRefRegex=new RegExp('\x5cb(?:'+a['join']('|')+')::(?:'+b['join']('|')+')\x5cb','g');}return moveFnRefRegex;}const VERBATIM_TEXT_FIELDS=new Set(['description']);export function isVerbatimTextField(a){return VERBATIM_TEXT_FIELDS['has'](a);}export function redactInternalSources(a){if(!hasFileToken(a)&&!a['includes']('::')&&!hasInternalDir(a))return a;let b=a;for(let c=0x0;c<0x3;c++){const d=b;b=b['replace'](/\(([^()]*)\)/g,(e,f)=>{if(!hasFileToken(f)&&!f['includes']('::'))return e;let g=f['replace'](fileTokenRegex(),'')['replace'](moveFnRefTokenRegex(),'')['replace'](ORPHAN_LINE_ANCHOR,'');return g=g['replace'](/\s+/g,'\x20')['trim']()['replace'](/^[\s,;:/·.\-–—]+|[\s,;:/·.\-–—]+$/g,'')['trim'](),g?'('+g+')':'';});if(b===d)break;}b=b['replace'](fileTokenRegex(),'')['replace'](danglingDirRegex(),''),b=b['replace'](moveFnRefTokenRegex(),'');if(!hasFileToken(a)&&b===a)return a;return b=b['replace'](DANGLING_LINE_ANCHOR,''),b=b['replace'](/\s+[,;:]\s+/g,'\x20'),b=b['replace'](/\(\s+/g,'(')['replace'](/\s+\)/g,')')['replace'](/\(\s*[\s,;:/·.\-–—]*\)/g,'')['replace'](/([(\[])\s+/g,'$1')['replace'](/\s{2,}/g,'\x20')['replace'](/\s+([,.;:])/g,'$1'),b=b['replace'](/[\s,;:+\u00b7\-–—]+(\.\s*)$/,'$1')['replace'](/[\s,;:+\u00b7\-–—]+\s*$/,''),b!==a&&(b=b['replace'](/^ /,'')['replace'](/ $/,'')),b;}function sanitizeDeep(a,b){if(typeof a==='string')return redactInternalSources(a);if(Array['isArray'](a))return a['map'](c=>sanitizeDeep(c,b));if(a&&typeof a==='object'){if(b['has'](a))return a;b['add'](a);const c={};for(const [d,e]of Object['entries'](a)){c[d]=isVerbatimTextField(d)?e:sanitizeDeep(e,b);}return c;}return a;}function collectVerbatimStrings(a,b,c){if(Array['isArray'](a)){for(const e of a)collectVerbatimStrings(e,b,c);return;}if(!a||typeof a!=='object')return;if(c['has'](a))return;c['add'](a);const d=a;for(const [f,g]of Object['entries'](d)){if(isVerbatimTextField(f)){if(typeof g==='string'&&g['length']>0x0)b['push'](g);continue;}collectVerbatimStrings(g,b,c);}}const MASK_PREFIX='\x00wv',MASK_SUFFIX='\x00';function redactTextBlockPreservingVerbatim(a,b){if(b['length']===0x0)return redactInternalSources(a);const c=[];for(const g of b){c['push'](g);const h=JSON['stringify'](g)['slice'](0x1,-0x1);if(h!==g)c['push'](h);}c['sort']((j,k)=>k['length']-j['length']);const d=[];let e=a;for(let j=0x0;j<c['length'];j++){if(c[j]['length']===0x0||!e['includes'](c[j]))continue;const k=''+MASK_PREFIX+j+MASK_SUFFIX;e=e['split'](c[j])['join'](k),d['push']({'marker':k,'original':c[j]});}if(d['length']===0x0)return redactInternalSources(a);let f=redactInternalSources(e);for(const {marker:l,original:m}of d){f=f['split'](l)['join'](m);}return f;}export function sanitizeToolDispatchResult(a){try{const b=a['structuredContent']?sanitizeDeep(a['structuredContent'],new WeakSet()):a['structuredContent'],c=[];a['structuredContent']&&collectVerbatimStrings(a['structuredContent'],c,new WeakSet());const d=a['content']?.['map'](e=>e['type']==='text'?{...e,'text':redactTextBlockPreservingVerbatim(e['text'],c)}:e);return{...a,'content':d,'structuredContent':b};}catch{return a;}}
@@ -1 +1 @@
1
- import{describe,expect,it}from'vitest';import{redactInternalSources,sanitizeToolDispatchResult}from'./sanitize-output.js';describe('redactInternalSources\x20—\x20internal\x20source\x20coordinates\x20never\x20leave\x20the\x20process',()=>{it('removes\x20the\x20user-reported\x20arbitration\x20dual\x20citation\x20cleanly',()=>{const a=redactInternalSources('Global\x20structural\x20constants:\x20payout\x20cap\x203x\x20amount,\x2030-day\x20compensation\x20withdrawal\x20lock,\x20'+'single\x20claim\x20per\x20payout,\x2030-day\x20withdraw/objection\x20window\x20(arb.move:302-358,\x20order.move:86-96).');expect(a)['toBe']('Global\x20structural\x20constants:\x20payout\x20cap\x203x\x20amount,\x2030-day\x20compensation\x20withdrawal\x20lock,\x20'+'single\x20claim\x20per\x20payout,\x2030-day\x20withdraw/objection\x20window.');}),it('removes\x20linker/object\x20edge\x20evidence\x20but\x20keeps\x20the\x20capacity\x20narrative',()=>{expect(redactInternalSources('object_linker.move\x20L37,L88\x20(≤5200\x20aborts)'))['toBe']('(≤5200\x20aborts)'),expect(redactInternalSources('service.move\x20L175-194\x20(≤20)'))['toBe']('(≤20)'),expect(redactInternalSources('capacity\x20ceiling\x20(object_linker.move\x20L37/L88,\x20aborts\x20above\x205200)'))['toBe']('capacity\x20ceiling\x20(aborts\x20above\x205200)');}),it('cleans\x20stranded\x20punctuation\x20left\x20by\x20a\x20removed\x20clause-initial\x20citation',()=>{expect(redactInternalSources('the\x20edge\x20(service.move\x20L633/L653\x20—\x20workflow\x20template)\x20carries\x20on'))['toBe']('the\x20edge\x20(workflow\x20template)\x20carries\x20on'),expect(redactInternalSources('guarded\x20by\x20repository.move#L714-717;\x2030-day\x20window'))['toBe']('guarded\x20by\x2030-day\x20window'),expect(redactInternalSources('VERIFIED\x20locally:\x20allocation.move:173-200\x20+\x20guard-ins.ts\x201166/1167.'))['toBe']('VERIFIED\x20locally.');}),it('handles\x20hash-anchored\x20and\x20TS-file\x20coordinates\x20with\x20bare\x20line\x20numbers',()=>{expect(redactInternalSources('see\x20repository.move#L714-717\x20for\x20details'))['toBe']('see\x20for\x20details'),expect(redactInternalSources('VERIFIED\x20via\x20guard-ins.ts\x201166/1167\x20plus\x20allocation.ts:318\x20locally'))['toBe']('VERIFIED\x20via\x20plus\x20locally');}),it('keeps\x20surrounding\x20words\x20when\x20the\x20file\x20name\x20is\x20used\x20mid-sentence',()=>{expect(redactInternalSources('you\x20must\x20NOT\x20hold\x20power\x20in\x20the\x20service\x27s\x20own\x20permission\x20(service.move\x20rejects\x20such\x20bindings)\x20—\x20avoid\x20it'))['toBe']('you\x20must\x20NOT\x20hold\x20power\x20in\x20the\x20service\x27s\x20own\x20permission\x20(rejects\x20such\x20bindings)\x20—\x20avoid\x20it');}),it('leaves\x20on-chain\x20type\x20tags,\x20addresses\x20and\x20ordinary\x20numbers\x20untouched',()=>{const a='Event\x200x2::order::NewOrderEvent\x20at\x200x1393d133ef422d7a232e953e25e1a1cccb8fa3415e0dbb6d709045900e64d66e,\x20cap\x203x,\x2030\x20days,\x20voters\x201-5';expect(redactInternalSources(a))['toBe'](a);}),it('does\x20not\x20treat\x20an\x20unknown\x20.move\x20name\x20without\x20a\x20line\x20anchor\x20as\x20internal',()=>{const a='the\x20attached\x20user\x20file\x20invoice.move\x20and\x20notes\x202026\x20stay\x20as-is';expect(redactInternalSources(a))['toBe'](a);}),it('is\x20idempotent',()=>{const a=redactInternalSources('window\x20(arb.move:302-358,\x20order.move:86-96)\x20and\x20order.move\x20L130\x20plus\x20service.move:38');expect(redactInternalSources(a))['toBe'](a),expect(a)['not']['toContain']('.move');});}),describe('sanitizeToolDispatchResult',()=>{it('redacts\x20text\x20content\x20and\x20every\x20string\x20in\x20structured\x20content',()=>{const a=sanitizeToolDispatchResult({'content':[{'type':'text','text':'payout\x20cap\x20(arb.move:302-358)'}],'structuredContent':{'edge':{'retention':'complete','evidence':'service.move\x20L175-194'},'nested':{'list':['see\x20order.move:110','clean']}}});expect(a['content']?.[0x0]?.['text'])['toBe']('payout\x20cap'),expect(JSON['stringify'](a['structuredContent']))['not']['toContain']('.move'),expect(a['structuredContent']['edge']['retention'])['toBe']('complete');}),it('passes\x20through\x20results\x20without\x20content',()=>{const a={'content':[],'structuredContent':undefined};expect(sanitizeToolDispatchResult(a))['toEqual'](a);});}),describe('redactInternalSources\x20—\x20qualified\x20Move\x20function\x20references\x20never\x20leave\x20the\x20process',()=>{it('removes\x20qualified\x20protocol\x20fn\x20references\x20from\x20prose',()=>{expect(redactInternalSources('withdrawal\x20reopens:\x20service::compensation_fund_withdraw'))['toBe']('withdrawal\x20reopens'),expect(redactInternalSources('the\x20order\x20advances\x20through\x20progress::next'))['toBe']('the\x20order\x20advances\x20through');}),it('strips\x20fn\x20references\x20inside\x20citation\x20parentheses',()=>{expect(redactInternalSources('funds\x20exit\x20(payment::unwrap_to_myself)\x20only\x20for\x20the\x20recipient'))['toBe']('funds\x20exit\x20only\x20for\x20the\x20recipient');}),it('never\x20touches\x20Move\x20type\x20tags\x20(CamelCase\x20after\x20::)',()=>{const a='swap\x200x2::coin::Coin<0x2::wow::WOW>\x20with\x20service::SaleItem\x20and\x20order::NewOrderEvent';expect(redactInternalSources(a))['toBe'](a);}),it('is\x20idempotent\x20for\x20fn-reference\x20redaction',()=>{const a=redactInternalSources('see\x20service::compensation_fund_withdraw\x20(order::compensate)');expect(a)['not']['toMatch'](/::/),expect(redactInternalSources(a))['toBe'](a);});});
1
+ import{describe,expect,it}from'vitest';import{redactInternalSources,sanitizeToolDispatchResult}from'./sanitize-output.js';describe('redactInternalSources\x20—\x20internal\x20source\x20coordinates\x20never\x20leave\x20the\x20process',()=>{it('removes\x20the\x20user-reported\x20arbitration\x20dual\x20citation\x20cleanly',()=>{const a=redactInternalSources('Global\x20structural\x20constants:\x20payout\x20cap\x203x\x20amount,\x2030-day\x20compensation\x20withdrawal\x20lock,\x20'+'single\x20claim\x20per\x20payout,\x2030-day\x20withdraw/objection\x20window\x20(arb.move:302-358,\x20order.move:86-96).');expect(a)['toBe']('Global\x20structural\x20constants:\x20payout\x20cap\x203x\x20amount,\x2030-day\x20compensation\x20withdrawal\x20lock,\x20'+'single\x20claim\x20per\x20payout,\x2030-day\x20withdraw/objection\x20window.');}),it('removes\x20linker/object\x20edge\x20evidence\x20but\x20keeps\x20the\x20capacity\x20narrative',()=>{expect(redactInternalSources('object_linker.move\x20L37,L88\x20(≤5200\x20aborts)'))['toBe']('(≤5200\x20aborts)'),expect(redactInternalSources('service.move\x20L175-194\x20(≤20)'))['toBe']('(≤20)'),expect(redactInternalSources('capacity\x20ceiling\x20(object_linker.move\x20L37/L88,\x20aborts\x20above\x205200)'))['toBe']('capacity\x20ceiling\x20(aborts\x20above\x205200)');}),it('cleans\x20stranded\x20punctuation\x20left\x20by\x20a\x20removed\x20clause-initial\x20citation',()=>{expect(redactInternalSources('the\x20edge\x20(service.move\x20L633/L653\x20—\x20workflow\x20template)\x20carries\x20on'))['toBe']('the\x20edge\x20(workflow\x20template)\x20carries\x20on'),expect(redactInternalSources('guarded\x20by\x20repository.move#L714-717;\x2030-day\x20window'))['toBe']('guarded\x20by\x2030-day\x20window'),expect(redactInternalSources('VERIFIED\x20locally:\x20allocation.move:173-200\x20+\x20guard-ins.ts\x201166/1167.'))['toBe']('VERIFIED\x20locally.');}),it('handles\x20hash-anchored\x20and\x20TS-file\x20coordinates\x20with\x20bare\x20line\x20numbers',()=>{expect(redactInternalSources('see\x20repository.move#L714-717\x20for\x20details'))['toBe']('see\x20for\x20details'),expect(redactInternalSources('VERIFIED\x20via\x20guard-ins.ts\x201166/1167\x20plus\x20allocation.ts:318\x20locally'))['toBe']('VERIFIED\x20via\x20plus\x20locally');}),it('keeps\x20surrounding\x20words\x20when\x20the\x20file\x20name\x20is\x20used\x20mid-sentence',()=>{expect(redactInternalSources('you\x20must\x20NOT\x20hold\x20power\x20in\x20the\x20service\x27s\x20own\x20permission\x20(service.move\x20rejects\x20such\x20bindings)\x20—\x20avoid\x20it'))['toBe']('you\x20must\x20NOT\x20hold\x20power\x20in\x20the\x20service\x27s\x20own\x20permission\x20(rejects\x20such\x20bindings)\x20—\x20avoid\x20it');}),it('leaves\x20on-chain\x20type\x20tags,\x20addresses\x20and\x20ordinary\x20numbers\x20untouched',()=>{const a='Event\x200x2::order::NewOrderEvent\x20at\x200x1393d133ef422d7a232e953e25e1a1cccb8fa3415e0dbb6d709045900e64d66e,\x20cap\x203x,\x2030\x20days,\x20voters\x201-5';expect(redactInternalSources(a))['toBe'](a);}),it('does\x20not\x20treat\x20an\x20unknown\x20.move\x20name\x20without\x20a\x20line\x20anchor\x20as\x20internal',()=>{const a='the\x20attached\x20user\x20file\x20invoice.move\x20and\x20notes\x202026\x20stay\x20as-is';expect(redactInternalSources(a))['toBe'](a);}),it('is\x20idempotent',()=>{const a=redactInternalSources('window\x20(arb.move:302-358,\x20order.move:86-96)\x20and\x20order.move\x20L130\x20plus\x20service.move:38');expect(redactInternalSources(a))['toBe'](a),expect(a)['not']['toContain']('.move');}),it('takes\x20the\x20directory\x20prefix\x20with\x20a\x20path-qualified\x20file\x20citation',()=>{const a=redactInternalSources('recipient\x20Entity\x20(an\x20empty\x20one\x20silently\x20routes\x20the\x20share\x20to\x20the\x20deploying\x20AI/host\x20—\x20'+'see\x20ts-sdk/packages/wowok/src/w/local/index.ts:89-91)');expect(a)['not']['toContain']('ts-sdk'),expect(a)['not']['toContain']('index.ts'),expect(a)['toContain']('silently\x20routes\x20the\x20share\x20to\x20the\x20deploying\x20AI/host');}),it('redacts\x20a\x20dangling\x20internal\x20directory\x20left\x20by\x20an\x20earlier\x20partial\x20pass',()=>{const a=redactInternalSources('resolved\x20by\x20the\x20SDK\x20(see\x20ts-sdk/packages/wowok/src/w/local/)\x20before\x20signing');expect(a)['not']['toContain']('ts-sdk/packages'),expect(a)['toContain']('before\x20signing');}),it('keeps\x20public\x20package\x20names\x20and\x20MCP\x20method\x20names\x20untouched',()=>{const a='install\x20`@wowok/skills`,\x20then\x20the\x20client\x20calls\x20tools/list\x20and\x20tools/call';expect(redactInternalSources(a))['toBe'](a);});}),describe('sanitizeToolDispatchResult',()=>{it('redacts\x20text\x20content\x20and\x20every\x20string\x20in\x20structured\x20content',()=>{const a=sanitizeToolDispatchResult({'content':[{'type':'text','text':'payout\x20cap\x20(arb.move:302-358)'}],'structuredContent':{'edge':{'retention':'complete','evidence':'service.move\x20L175-194'},'nested':{'list':['see\x20order.move:110','clean']}}});expect(a['content']?.[0x0]?.['text'])['toBe']('payout\x20cap'),expect(JSON['stringify'](a['structuredContent']))['not']['toContain']('.move'),expect(a['structuredContent']['edge']['retention'])['toBe']('complete');}),it('passes\x20through\x20results\x20without\x20content',()=>{const a={'content':[],'structuredContent':undefined};expect(sanitizeToolDispatchResult(a))['toEqual'](a);});}),describe('redactInternalSources\x20—\x20qualified\x20Move\x20function\x20references\x20never\x20leave\x20the\x20process',()=>{it('removes\x20qualified\x20protocol\x20fn\x20references\x20from\x20prose',()=>{expect(redactInternalSources('withdrawal\x20reopens:\x20service::compensation_fund_withdraw'))['toBe']('withdrawal\x20reopens'),expect(redactInternalSources('the\x20order\x20advances\x20through\x20progress::next'))['toBe']('the\x20order\x20advances\x20through');}),it('strips\x20fn\x20references\x20inside\x20citation\x20parentheses',()=>{expect(redactInternalSources('funds\x20exit\x20(payment::unwrap_to_myself)\x20only\x20for\x20the\x20recipient'))['toBe']('funds\x20exit\x20only\x20for\x20the\x20recipient');}),it('never\x20touches\x20Move\x20type\x20tags\x20(CamelCase\x20after\x20::)',()=>{const a='swap\x200x2::coin::Coin<0x2::wow::WOW>\x20with\x20service::SaleItem\x20and\x20order::NewOrderEvent';expect(redactInternalSources(a))['toBe'](a);}),it('is\x20idempotent\x20for\x20fn-reference\x20redaction',()=>{const a=redactInternalSources('see\x20service::compensation_fund_withdraw\x20(order::compensate)');expect(a)['not']['toMatch'](/::/),expect(redactInternalSources(a))['toBe'](a);});});
@@ -0,0 +1,7 @@
1
+ import type { ToolDispatchResult } from "./types.js";
2
+ export declare function isLatin1Mojibake(s: string): boolean;
3
+ export declare function findLatin1Mojibake(value: unknown, path?: string, depth?: number): {
4
+ path: string;
5
+ sample: string;
6
+ } | null;
7
+ export declare function mojibakeBlockResult(path: string, sample: string): ToolDispatchResult;
@@ -0,0 +1 @@
1
+ const UTF8_AS_CODEPOINTS_RE=/(?:[\xC2-\xDF][\x80-\xBF])|(?:\xE0[\xA0-\xBF][\x80-\xBF])|(?:[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2})|(?:\xED[\x80-\x9F][\x80-\xBF])|(?:\xF0[\x90-\xBF][\x80-\xBF]{2})|(?:[\xF1-\xF3][\x80-\xBF]{3})|(?:\xF4[\x80-\x8F][\x80-\xBF]{2})/;export function isLatin1Mojibake(a){if(!/[\x80-\xFF]/['test'](a))return![];if(!UTF8_AS_CODEPOINTS_RE['test'](a))return![];let b;try{b=Buffer['from'](a,'latin1')['toString']('utf8');}catch{return![];}if(b===a)return![];if(!/[^\x00-\x7F]/['test'](b))return![];try{return Buffer['from'](b,'utf8')['toString']('latin1')===a;}catch{return![];}}export function findLatin1Mojibake(a,b='$',c=0x0){if(c>0x18)return null;if(typeof a==='string')return isLatin1Mojibake(a)?{'path':b,'sample':a}:null;if(Array['isArray'](a)){for(let d=0x0;d<a['length'];d++){const e=findLatin1Mojibake(a[d],b+'['+d+']',c+0x1);if(e)return e;}return null;}if(a!==null&&typeof a==='object')for(const [f,g]of Object['entries'](a)){const h=findLatin1Mojibake(g,b+'.'+f,c+0x1);if(h)return h;}return null;}export function mojibakeBlockResult(a,b){const c=b['length']>0x40?b['slice'](0x0,0x40)+'…':b,d='Tool\x20arguments\x20at\x20\x27'+a+'\x27\x20are\x20UTF-8\x20text\x20that\x20was\x20decoded\x20as\x20single-byte\x20Latin-1\x20somewhere\x20in\x20the\x20'+('transport\x20bridge\x20(mojibake,\x20e.g.\x20\x27'+c+'\x27).\x20This\x20is\x20the\x20TRANSPORT-P0-21\x20defect:\x20the\x20host-side\x20')+'mcp_call\x20bridge\x20does\x20not\x20round-trip\x20raw\x20non-ASCII.\x20The\x20corrupted\x20text\x20would\x20silently\x20reach\x20the\x20chain\x20—\x20'+'refusing\x20the\x20call\x20instead\x20of\x20writing\x20it.',e='Resend\x20the\x20SAME\x20arguments\x20with\x20every\x20non-ASCII\x20character\x20written\x20as\x20a\x20JSON\x20\x5cuXXXX\x20escape\x20'+'(e.g.\x20\x22\x5cu660e\x5cu5236...\x22\x20instead\x20of\x20raw\x20CJK).\x20The\x20escaped\x20form\x20survives\x20the\x20broken\x20bridge\x20byte-clean\x20'+'and\x20this\x20server\x20decodes\x20it\x20to\x20the\x20identical\x20string.\x20Alternatively\x20route\x20the\x20call\x20through\x20a\x20UTF-8-clean\x20'+'transport\x20(the\x20desktop\x20sidecar\x20or\x20direct\x20stdio).';return{'content':[{'type':'text','text':'Malformed\x20transport\x20encoding\x20in\x20the\x20arguments\x20(TRANSPORT-P0-21)\x20at\x20\x27'+a+'\x27:\x20'+d+'\x0a\x0a'+e}],'structuredContent':{'result':{'status':'schema_mismatch','error_code':'encoding_corrupted','errors':[d],'retryable':!![],'recovery_hint':e,'structured_errors':[{'path':a,'code':'encoding_corrupted','message':d,'suggestion':e}]},'schema':null}};}
@@ -36,6 +36,7 @@ export interface ToolEntry {
36
36
  errorShapeBuilder?: ErrorShapeBuilder;
37
37
  timeoutMs?: number;
38
38
  applyRules?: (args: unknown) => Promise<ToolDispatchResult | null> | ToolDispatchResult | null;
39
+ onTimeoutVerify?: (args: unknown) => Promise<string | undefined>;
39
40
  }
40
41
  export interface DispatchOptions {
41
42
  skipRules?: boolean;
@@ -11,6 +11,7 @@ export interface ChainStamp {
11
11
  epoch: string | null;
12
12
  fetched: boolean;
13
13
  fetched_at: string | null;
14
+ error: string | null;
14
15
  }
15
16
  export interface UpgradeCheckResult {
16
17
  mcp: UpgradeCheckComponent;
@@ -49,4 +50,25 @@ export declare function computeSrcDistStaleness(srcDir: string, distDir: string,
49
50
  }): WorkspaceStaleness | null;
50
51
  export declare function readChainStamp(timeoutMs?: number): Promise<ChainStamp>;
51
52
  export declare function findSdkPackageDir(): string | null;
53
+ export interface NpmUpgradePolicy {
54
+ enforce: boolean;
55
+ min_version: string | null;
56
+ reason: string | null;
57
+ }
58
+ export interface StartupUpgradeNotice {
59
+ mcp: UpgradeCheckComponent;
60
+ sdk: UpgradeCheckComponent;
61
+ outdated: boolean;
62
+ enforced: boolean;
63
+ policy_source: "env" | "embedded" | "local-file" | "npm" | "none";
64
+ message: string | null;
65
+ }
66
+ export declare function upgradeEnforceEnabled(): boolean;
67
+ export declare function upgradePolicyPath(): string;
68
+ export declare function resolveUpgradeEnforcement(remote: NpmUpgradePolicy | null, current: string | null): {
69
+ enforced: boolean;
70
+ source: StartupUpgradeNotice["policy_source"];
71
+ };
72
+ export declare function primeUpgradeLookup(): void;
73
+ export declare function getStartupUpgradeNotice(waitMs?: number): Promise<StartupUpgradeNotice | null>;
52
74
  export declare function checkUpgrade(): Promise<UpgradeCheckResult>;
@@ -1 +1 @@
1
- import{readFileSync,existsSync,writeFileSync,mkdirSync,readdirSync,statSync}from'fs';import{join,dirname}from'path';import{fileURLToPath}from'url';import{getWowMcpDir,getFullnodeUrl,WowClient}from'@wowok/wowok';import{getRuntimeModuleFaults}from'./runtime-health.js';import{BUILTIN_TEMPLATES_VERSION}from'../knowledge/builtin-templates.js';import{resolveNetwork}from'./handlers/network.js';const __dirname=dirname(fileURLToPath(import.meta.url)),MCP_PACKAGE='@wowok/agent-mcp',SDK_PACKAGE='@wowok/wowok',WEEK_MS=0x7*0x18*0x3c*0x3c*0x3e8,REMINDER_FILE=join(getWowMcpDir(),'upgrade-reminder.json');function readMcpVersion(){try{const a=join(__dirname,'..','..','package.json'),b=JSON['parse'](readFileSync(a,'utf-8'));return b['version']??null;}catch{return null;}}export function computeSrcDistStaleness(a,b,c={}){try{const d=c['srcExt']??'.ts',f=c['distExt']??'.mjs';if(!existsSync(a)||!existsSync(b))return null;let g=0x0;const h=k=>{for(const l of readdirSync(k,{'withFileTypes':!![]})){const m=join(k,l['name']);if(l['isDirectory']())h(m);else{if(l['name']['endsWith'](d))g=Math['max'](g,statSync(m)['mtimeMs']);}}};h(a);let i=0x0;for(const k of readdirSync(b,{'withFileTypes':!![]})){if(k['isFile']()&&k['name']['endsWith'](f))i=Math['max'](i,statSync(join(b,k['name']))['mtimeMs']);}if(g===0x0||i===0x0)return null;const j=g-i;return{'stale':j>0x1388,'lag_minutes':Math['max'](0x0,Math['round'](j/0xea60))};}catch{return null;}}export async function readChainStamp(a=0xbb8){const b={'network':null,'protocol_version':null,'system_state_version':null,'epoch':null,'fetched':![],'fetched_at':null};try{const c=await resolveNetwork(),d=new WowClient({'url':getFullnodeUrl(c),'network':c}),e=await Promise['race']([d['core']['getCurrentSystemState'](),new Promise((g,h)=>setTimeout(()=>h(new Error('chain\x20stamp\x20timeout')),a))]),f=e['systemState'];return{'network':c,'protocol_version':f['protocolVersion']!=null?String(f['protocolVersion']):null,'system_state_version':f['systemStateVersion']!=null?String(f['systemStateVersion']):null,'epoch':f['epoch']!=null?String(f['epoch']):null,'fetched':!![],'fetched_at':new Date()['toISOString']()};}catch{return b;}}export function findSdkPackageDir(){try{const a=fileURLToPath(import.meta.resolve(SDK_PACKAGE));let b=dirname(a);for(let c=0x0;c<0x6;c++){const d=join(b,'package.json');if(existsSync(d)){const e=JSON['parse'](readFileSync(d,'utf-8'));if(e['name']===SDK_PACKAGE)return b;}b=dirname(b);}return null;}catch{return null;}}function readSdkVersion(){const a=findSdkPackageDir();if(!a)return null;try{const b=JSON['parse'](readFileSync(join(a,'package.json'),'utf-8'));return b['version']??null;}catch{return null;}}function scanSdkDistConsistency(a){const b=[];if(!a)return{'consistent':!![],'broken':b};const c=join(a,'dist','esm');if(!existsSync(c))return{'consistent':!![],'broken':b};let d;try{d=readdirSync(c)['filter'](e=>e['endsWith']('.mjs'));}catch{return{'consistent':!![],'broken':b};}for(const e of d){let g;try{g=readFileSync(join(c,e),'utf-8');}catch{continue;}const h=/(?:from\s*|import\s*\(\s*)(["'])(\.[^"']+)\1/g;let i;while((i=h['exec'](g))!==null){const j=i[0x2]['split']('?')[0x0],k=[j,j+'.mjs',j+'.js'];if(!k['some'](l=>existsSync(join(c,l)))){b['push'](e+'\x20->\x20'+i[0x2]);if(b['length']>=0x5)return{'consistent':![],'broken':b};}}}return{'consistent':b['length']===0x0,'broken':b};}function computeRuntimeHealth(){const a=getRuntimeModuleFaults(),b=scanSdkDistConsistency(findSdkPackageDir()),c=!b['consistent']||a['length']>0x0;return{'dist_consistent':b['consistent'],'broken_count':b['broken']['length'],'broken_examples':b['broken'],'runtime_faults':a,'hint':c?'The\x20SDK\x20runtime\x20of\x20this\x20MCP\x20process\x20is\x20unhealthy:\x20the\x20loaded\x20module\x20graph\x20and/or\x20the\x20SDK\x20dist\x20on\x20disk\x20reference\x20chunk(s)\x20that\x20no\x20longer\x20exist.\x20Restart\x20the\x20MCP\x20server\x20process\x20to\x20reload\x20the\x20rebuilt\x20dist\x20—\x20version\x20numbers\x20alone\x20cannot\x20detect\x20this\x20state.':null};}async function fetchNpmLatest(a){const b='https://registry.npmjs.org/'+encodeURIComponent(a)+'/latest',c=new AbortController(),d=setTimeout(()=>c['abort'](),0x1770);try{const e=await fetch(b,{'signal':c['signal']});if(!e['ok'])return null;const f=await e['json']();return f['version']??null;}catch{return null;}finally{clearTimeout(d);}}function compareVersions(c,e){const f=c['split']('.')['map'](h=>parseInt(h,0xa)||0x0),g=e['split']('.')['map'](h=>parseInt(h,0xa)||0x0);for(let h=0x0;h<Math['max'](f['length'],g['length']);h++){const j=(f[h]||0x0)-(g[h]||0x0);if(j!==0x0)return j;}return 0x0;}function detectClientInstall(){const a=[];if(process['platform']==='win32'){const b=process['env']['LOCALAPPDATA'];b&&(a['push'](join(b,'WoWok','WoWok.exe')),a['push'](join(b,'Programs','WoWok','WoWok.exe')));}else{if(process['platform']==='darwin')a['push']('/Applications/WoWok.app');else{const d=process['env']['HOME']||process['env']['USERPROFILE']||'';d&&(a['push'](join(d,'.local','share','applications','wowok.desktop')),a['push'](join(d,'Applications','WoWok.AppImage')),a['push'](join(d,'.local','bin','wowok')));}}for(const e of a){if(e&&existsSync(e))return{'installed':!![],'hint':null};}return{'installed':![],'hint':'https://download.wowok.net'};}function readReminderState(){try{const a=readFileSync(REMINDER_FILE,'utf-8'),b=JSON['parse'](a);return{'lastInstallClientReminderAt':Number(b['lastInstallClientReminderAt'])||0x0};}catch{return{'lastInstallClientReminderAt':0x0};}}function writeReminderState(a){try{mkdirSync(dirname(REMINDER_FILE),{'recursive':!![]}),writeFileSync(REMINDER_FILE,JSON['stringify'](a),'utf-8');}catch{}}export async function checkUpgrade(){const a=readMcpVersion(),b=readSdkVersion(),[c,d]=await Promise['all']([fetchNpmLatest(MCP_PACKAGE),fetchNpmLatest(SDK_PACKAGE)]),e=detectClientInstall(),f=readReminderState(),g=Date['now'](),h=computeRuntimeHealth(),i=!!(a&&c&&compareVersions(c,a)>0x0),j=!!(b&&d&&compareVersions(d,b)>0x0),k=i||j;let l='none',m=![],n=null;if(h['hint']!==null){l='restart_mcp',m=!![];const o=h['runtime_faults']['map'](p=>p['operation']);n='This\x20WoWok\x20MCP\x20process\x20has\x20a\x20broken\x20SDK\x20runtime:\x20its\x20loaded\x20module\x20graph\x20references\x20chunk(s)\x20that\x20were\x20replaced\x20by\x20a\x20rebuild'+(o['length']>0x0?'\x20(failed\x20so\x20far:\x20'+[...new Set(o)]['join'](',\x20')+')':'')+'.\x20Affected\x20operations\x20fail\x20100%\x20of\x20the\x20time\x20until\x20the\x20process\x20is\x20restarted.\x20Restart\x20the\x20MCP\x20server\x20(no\x20reinstall\x20needed)\x20to\x20reload\x20the\x20rebuilt\x20SDK.';}else{if(k){l='upgrade',m=!![];const p=c??d??'',q=a??'';n='A\x20newer\x20WoWok\x20version\x20is\x20available\x20(current\x20v'+q+'\x20→\x20latest\x20v'+p+').\x20'+('Upgrade\x20for\x20more\x20features\x20and\x20improvements.\x20Run:\x20npm\x20install\x20-g\x20'+MCP_PACKAGE+'@latest');}else!e['installed']&&g-f['lastInstallClientReminderAt']>=WEEK_MS&&(l='install_client',m=!![],n='The\x20WoWok\x20desktop\x20client\x20is\x20not\x20installed\x20yet.\x20It\x20provides\x20wallet\x20management,\x20encrypted\x20Messenger,\x20project\x20management\x20and\x20more.\x20'+'Download\x20it\x20at\x20https://download.wowok.net\x20to\x20get\x20started.',f['lastInstallClientReminderAt']=g,writeReminderState(f));}return{'mcp':{'current':a,'latest':c,'outdated':i},'sdk':{'current':b,'latest':d,'outdated':j},'client_installed':e['installed'],'client_install_hint':e['hint'],'upgrade_available':k,'runtime_health':h,'build_stamp':{'builtin_templates_version':BUILTIN_TEMPLATES_VERSION,'mcp_dist_stale':computeSrcDistStaleness(join(__dirname,'..','..','src'),join(__dirname,'..','..','dist'),{'srcExt':'.ts','distExt':'.js'}),'sdk_dist_stale':((()=>{const r=findSdkPackageDir();return r?computeSrcDistStaleness(join(r,'src'),join(r,'dist')):null;})()),'chain_stamp':await readChainStamp()},'reminder':{'type':l,'due':m,'message':n},'checked_at':new Date()['toISOString']()};}
1
+ import{readFileSync,existsSync,writeFileSync,mkdirSync,readdirSync,statSync}from'fs';import{join,dirname}from'path';import{fileURLToPath}from'url';import{getWowMcpDir,getFullnodeUrl,WowClient}from'@wowok/wowok';import{getRuntimeModuleFaults}from'./runtime-health.js';import{BUILTIN_TEMPLATES_VERSION}from'../knowledge/builtin-templates.js';import{resolveNetwork}from'./handlers/network.js';const __dirname=dirname(fileURLToPath(import.meta.url)),MCP_PACKAGE='@wowok/agent-mcp',SDK_PACKAGE='@wowok/wowok',WEEK_MS=0x7*0x18*0x3c*0x3c*0x3e8,REMINDER_FILE=join(getWowMcpDir(),'upgrade-reminder.json');function readMcpVersion(){try{const a=join(__dirname,'..','..','package.json'),b=JSON['parse'](readFileSync(a,'utf-8'));return b['version']??null;}catch{return null;}}export function computeSrcDistStaleness(a,b,c={}){try{const d=c['srcExt']??'.ts',f=c['distExt']??'.mjs';if(!existsSync(a)||!existsSync(b))return null;let g=0x0;const h=k=>{for(const l of readdirSync(k,{'withFileTypes':!![]})){const m=join(k,l['name']);if(l['isDirectory']())h(m);else{if(l['name']['endsWith'](d))g=Math['max'](g,statSync(m)['mtimeMs']);}}};h(a);let i=0x0;for(const k of readdirSync(b,{'withFileTypes':!![]})){if(k['isFile']()&&k['name']['endsWith'](f))i=Math['max'](i,statSync(join(b,k['name']))['mtimeMs']);}if(g===0x0||i===0x0)return null;const j=g-i;return{'stale':j>0x1388,'lag_minutes':Math['max'](0x0,Math['round'](j/0xea60))};}catch{return null;}}export async function readChainStamp(a=0x1f40){const b={'network':null,'protocol_version':null,'system_state_version':null,'epoch':null,'fetched':![],'fetched_at':null,'error':null};try{const c=await resolveNetwork(),d=new WowClient({'url':getFullnodeUrl(c),'network':c}),f=await Promise['race']([d['core']['getCurrentSystemState'](),new Promise((h,i)=>setTimeout(()=>i(new Error('chain\x20stamp\x20timeout\x20after\x20'+a+'ms\x20(cold-start\x20RPC)')),a))]),g=f['systemState'];return{'network':c,'protocol_version':g['protocolVersion']!=null?String(g['protocolVersion']):null,'system_state_version':g['systemStateVersion']!=null?String(g['systemStateVersion']):null,'epoch':g['epoch']!=null?String(g['epoch']):null,'fetched':!![],'fetched_at':new Date()['toISOString'](),'error':null};}catch(h){return{...b,'error':h instanceof Error?h['message']:String(h)};}}export function findSdkPackageDir(){try{const a=fileURLToPath(import.meta.resolve(SDK_PACKAGE));let b=dirname(a);for(let c=0x0;c<0x6;c++){const d=join(b,'package.json');if(existsSync(d)){const e=JSON['parse'](readFileSync(d,'utf-8'));if(e['name']===SDK_PACKAGE)return b;}b=dirname(b);}return null;}catch{return null;}}function readSdkVersion(){const a=findSdkPackageDir();if(!a)return null;try{const b=JSON['parse'](readFileSync(join(a,'package.json'),'utf-8'));return b['version']??null;}catch{return null;}}function scanSdkDistConsistency(a){const b=[];if(!a)return{'consistent':!![],'broken':b};const c=join(a,'dist','esm');if(!existsSync(c))return{'consistent':!![],'broken':b};let d;try{d=readdirSync(c)['filter'](e=>e['endsWith']('.mjs'));}catch{return{'consistent':!![],'broken':b};}for(const e of d){let g;try{g=readFileSync(join(c,e),'utf-8');}catch{continue;}const h=/(?:from\s*|import\s*\(\s*)(["'])(\.[^"']+)\1/g;let i;while((i=h['exec'](g))!==null){const j=i[0x2]['split']('?')[0x0],k=[j,j+'.mjs',j+'.js'];if(!k['some'](l=>existsSync(join(c,l)))){b['push'](e+'\x20->\x20'+i[0x2]);if(b['length']>=0x5)return{'consistent':![],'broken':b};}}}return{'consistent':b['length']===0x0,'broken':b};}function computeRuntimeHealth(){const a=getRuntimeModuleFaults(),b=scanSdkDistConsistency(findSdkPackageDir()),c=!b['consistent']||a['length']>0x0;return{'dist_consistent':b['consistent'],'broken_count':b['broken']['length'],'broken_examples':b['broken'],'runtime_faults':a,'hint':c?'The\x20SDK\x20runtime\x20of\x20this\x20MCP\x20process\x20is\x20unhealthy:\x20the\x20loaded\x20module\x20graph\x20and/or\x20the\x20SDK\x20dist\x20on\x20disk\x20reference\x20chunk(s)\x20that\x20no\x20longer\x20exist.\x20Restart\x20the\x20MCP\x20server\x20process\x20to\x20reload\x20the\x20rebuilt\x20dist\x20—\x20version\x20numbers\x20alone\x20cannot\x20detect\x20this\x20state.':null};}function parseUpgradePolicy(a){if(!a||typeof a!=='object')return null;const b=a;return{'enforce':b['enforce']===!![],'min_version':typeof b['minVersion']==='string'?b['minVersion']:null,'reason':typeof b['reason']==='string'?b['reason']:null};}async function fetchNpmManifest(a){const b='https://registry.npmjs.org/'+encodeURIComponent(a)+'/latest',c=new AbortController(),d=setTimeout(()=>c['abort'](),0x1770);try{const e=await fetch(b,{'signal':c['signal']});if(!e['ok'])return null;const f=await e['json']();return{'version':f['version']??null,'policy':parseUpgradePolicy(f['wowok']?.['upgrade'])};}catch{return null;}finally{clearTimeout(d);}}function compareVersions(c,e){const f=c['split']('.')['map'](h=>parseInt(h,0xa)||0x0),g=e['split']('.')['map'](h=>parseInt(h,0xa)||0x0);for(let h=0x0;h<Math['max'](f['length'],g['length']);h++){const j=(f[h]||0x0)-(g[h]||0x0);if(j!==0x0)return j;}return 0x0;}let npmLatestPromise=null,npmLatestResolved=null,npmLatestFetchedAt=0x0;const NPM_LATEST_TTL_MS=0xa*0x3c*0x3e8;export function upgradeEnforceEnabled(){return process['env']['WOWOK_UPGRADE_ENFORCE']==='1';}export function upgradePolicyPath(){return join(getWowMcpDir(),'upgrade-policy.json');}function readLocalUpgradePolicy(){try{const a=upgradePolicyPath();if(!existsSync(a))return null;const b=JSON['parse'](readFileSync(a,'utf-8'));return typeof b['enforce']==='boolean'?{'enforce':b['enforce']}:null;}catch{return null;}}export function resolveUpgradeEnforcement(a,b){const c=process['env']['WOWOK_UPGRADE_ENFORCE'];if(c==='1')return{'enforced':!![],'source':'env'};if(c==='0')return{'enforced':![],'source':'env'};if(process['env']['WOWOK_EMBEDDED']==='1')return{'enforced':![],'source':'embedded'};const d=readLocalUpgradePolicy();if(d)return{'enforced':d['enforce'],'source':'local-file'};if(!a)return{'enforced':![],'source':'none'};const e=a['min_version']!==null&&!!b&&compareVersions(a['min_version'],b)>0x0;return{'enforced':a['enforce']||e,'source':'npm'};}export function primeUpgradeLookup(){if(npmLatestPromise&&Date['now']()-npmLatestFetchedAt<NPM_LATEST_TTL_MS)return;npmLatestFetchedAt=Date['now'](),npmLatestResolved=null,npmLatestPromise=Promise['all']([fetchNpmManifest(MCP_PACKAGE),fetchNpmManifest(SDK_PACKAGE)])['then'](([a,b])=>{return npmLatestResolved={'mcp':a,'sdk':b},npmLatestResolved;})['catch'](()=>({'mcp':null,'sdk':null}));}async function getNpmLatest(){primeUpgradeLookup();const a=await npmLatestPromise??{'mcp':null,'sdk':null};return{'mcp':a['mcp']?.['version']??null,'sdk':a['sdk']?.['version']??null};}export async function getStartupUpgradeNotice(a=0x5dc){if(!npmLatestPromise)return null;!npmLatestResolved&&await Promise['race']([npmLatestPromise,new Promise(m=>setTimeout(m,a))]);const b=npmLatestResolved;if(!b)return null;const c=b['mcp']?.['version']??null,d=b['sdk']?.['version']??null,e=readMcpVersion(),f=readSdkVersion(),g=!!(e&&c&&compareVersions(c,e)>0x0),h=!!(f&&d&&compareVersions(d,f)>0x0);if(!g&&!h)return null;const i=[];if(g)i['push']('MCP\x20v'+e+'\x20→\x20v'+c);if(h)i['push']('SDK\x20v'+f+'\x20→\x20v'+d);const {enforced:j,source:k}=resolveUpgradeEnforcement(b['mcp']?.['policy']??null,e),l=b['mcp']?.['policy']?.['reason'];return{'mcp':{'current':e,'latest':c,'outdated':g},'sdk':{'current':f,'latest':d,'outdated':h},'outdated':!![],'enforced':j,'policy_source':k,'message':'A\x20newer\x20WoWok\x20version\x20is\x20available\x20('+i['join'](',\x20')+').'+(l?'\x20'+l:'')+('\x20Upgrade\x20for\x20more\x20features\x20and\x20improvements.\x20Run:\x20npm\x20install\x20-g\x20'+MCP_PACKAGE+'@latest')};}function detectClientInstall(){const a=[];if(process['platform']==='win32'){const b=process['env']['LOCALAPPDATA'];b&&(a['push'](join(b,'WoWok','WoWok.exe')),a['push'](join(b,'Programs','WoWok','WoWok.exe')));}else{if(process['platform']==='darwin')a['push']('/Applications/WoWok.app');else{const d=process['env']['HOME']||process['env']['USERPROFILE']||'';d&&(a['push'](join(d,'.local','share','applications','wowok.desktop')),a['push'](join(d,'Applications','WoWok.AppImage')),a['push'](join(d,'.local','bin','wowok')));}}for(const e of a){if(e&&existsSync(e))return{'installed':!![],'hint':null};}return{'installed':![],'hint':'https://download.wowok.net'};}function readReminderState(){try{const a=readFileSync(REMINDER_FILE,'utf-8'),b=JSON['parse'](a);return{'lastInstallClientReminderAt':Number(b['lastInstallClientReminderAt'])||0x0};}catch{return{'lastInstallClientReminderAt':0x0};}}function writeReminderState(a){try{mkdirSync(dirname(REMINDER_FILE),{'recursive':!![]}),writeFileSync(REMINDER_FILE,JSON['stringify'](a),'utf-8');}catch{}}export async function checkUpgrade(){const a=readMcpVersion(),b=readSdkVersion(),{mcp:c,sdk:d}=await getNpmLatest(),e=detectClientInstall(),f=readReminderState(),g=Date['now'](),h=computeRuntimeHealth(),i=!!(a&&c&&compareVersions(c,a)>0x0),j=!!(b&&d&&compareVersions(d,b)>0x0),k=i||j;let l='none',m=![],n=null;if(h['hint']!==null){l='restart_mcp',m=!![];const o=h['runtime_faults']['map'](p=>p['operation']);n='This\x20WoWok\x20MCP\x20process\x20has\x20a\x20broken\x20SDK\x20runtime:\x20its\x20loaded\x20module\x20graph\x20references\x20chunk(s)\x20that\x20were\x20replaced\x20by\x20a\x20rebuild'+(o['length']>0x0?'\x20(failed\x20so\x20far:\x20'+[...new Set(o)]['join'](',\x20')+')':'')+'.\x20Affected\x20operations\x20fail\x20100%\x20of\x20the\x20time\x20until\x20the\x20process\x20is\x20restarted.\x20Restart\x20the\x20MCP\x20server\x20(no\x20reinstall\x20needed)\x20to\x20reload\x20the\x20rebuilt\x20SDK.';}else{if(k){l='upgrade',m=!![];const p=c??d??'',q=a??'';n='A\x20newer\x20WoWok\x20version\x20is\x20available\x20(current\x20v'+q+'\x20→\x20latest\x20v'+p+').\x20'+('Upgrade\x20for\x20more\x20features\x20and\x20improvements.\x20Run:\x20npm\x20install\x20-g\x20'+MCP_PACKAGE+'@latest');}else!e['installed']&&g-f['lastInstallClientReminderAt']>=WEEK_MS&&(l='install_client',m=!![],n='The\x20WoWok\x20desktop\x20client\x20is\x20not\x20installed\x20yet.\x20It\x20provides\x20wallet\x20management,\x20encrypted\x20Messenger,\x20project\x20management\x20and\x20more.\x20'+'Download\x20it\x20at\x20https://download.wowok.net\x20to\x20get\x20started.',f['lastInstallClientReminderAt']=g,writeReminderState(f));}return{'mcp':{'current':a,'latest':c,'outdated':i},'sdk':{'current':b,'latest':d,'outdated':j},'client_installed':e['installed'],'client_install_hint':e['hint'],'upgrade_available':k,'runtime_health':h,'build_stamp':{'builtin_templates_version':BUILTIN_TEMPLATES_VERSION,'mcp_dist_stale':computeSrcDistStaleness(join(__dirname,'..','..','src'),join(__dirname,'..','..','dist'),{'srcExt':'.ts','distExt':'.js'}),'sdk_dist_stale':((()=>{const r=findSdkPackageDir();return r?computeSrcDistStaleness(join(r,'src'),join(r,'dist','esm')):null;})()),'chain_stamp':await readChainStamp()},'reminder':{'type':l,'due':m,'message':n},'checked_at':new Date()['toISOString']()};}
@@ -1,6 +1,6 @@
1
1
  import type { ErrorShapeBuilder, ToolDispatchResult, ToolRequestContext } from "./types.js";
2
2
  export declare function withTimeout<T>(promise: Promise<T>, timeoutMs?: number, operationName?: string): Promise<T>;
3
- export declare function wrapHandlerWithErrorShape(handler: (args: unknown, req?: import("./types.js").ToolRequestContext) => Promise<ToolDispatchResult>, timeoutMs: number, toolName: string, errorShapeBuilder?: ErrorShapeBuilder): (args: unknown, req?: import("./types.js").ToolRequestContext) => Promise<ToolDispatchResult>;
3
+ export declare function wrapHandlerWithErrorShape(handler: (args: unknown, req?: import("./types.js").ToolRequestContext) => Promise<ToolDispatchResult>, timeoutMs: number, toolName: string, errorShapeBuilder?: ErrorShapeBuilder, onTimeoutVerify?: (args: unknown) => Promise<string | undefined>): (args: unknown, req?: import("./types.js").ToolRequestContext) => Promise<ToolDispatchResult>;
4
4
  export declare const statusErrorShape: ErrorShapeBuilder;
5
5
  export declare const operationErrorShape: ErrorShapeBuilder;
6
6
  export declare const strictStatusErrorShape: ErrorShapeBuilder;
@@ -12,6 +12,7 @@ export interface HarnessHookContext {
12
12
  error?: unknown;
13
13
  }
14
14
  export declare function dispatchWithHarness(handler: (args: unknown, req?: ToolRequestContext) => Promise<ToolDispatchResult>, toolName: string): (args: unknown, req?: ToolRequestContext) => Promise<ToolDispatchResult>;
15
+ export declare function isGuardBindingOperation(toolName: string, args: unknown): boolean;
15
16
  export declare function skuMatchedOrderTotalExemption(data: Record<string, unknown> | undefined, network: string | undefined): Promise<{
16
17
  coinType?: string;
17
18
  } | undefined>;
@@ -19,6 +20,10 @@ export interface PrePublishCheck {
19
20
  critical: string[];
20
21
  warnings: string[];
21
22
  }
23
+ export declare function lintGuardBindingSemantics(data: Record<string, unknown>, opType: string | undefined, network: string | undefined): Promise<{
24
+ critical: string[];
25
+ warnings: string[];
26
+ }>;
22
27
  export declare function lintSalesWipBindings(sales: unknown, bindAccount: string | undefined): {
23
28
  critical: string[];
24
29
  warnings: string[];