@wowok/agent-mcp 3.4.0 → 3.4.2

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 (412) 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/fund-flow.js +1 -1
  6. package/dist/chain-semantics/index.d.ts +1 -0
  7. package/dist/chain-semantics/index.js +1 -1
  8. package/dist/composition/audit.js +1 -1
  9. package/dist/composition/blueprint-view.d.ts +3 -3
  10. package/dist/composition/blueprint-view.js +1 -1
  11. package/dist/composition/compile.d.ts +24 -3
  12. package/dist/composition/compile.js +1 -1
  13. package/dist/composition/emit-phases.d.ts +206 -0
  14. package/dist/composition/emit-phases.js +1 -0
  15. package/dist/composition/generate.d.ts +40 -0
  16. package/dist/composition/generate.js +1 -0
  17. package/dist/composition/guard-fill.d.ts +44 -0
  18. package/dist/composition/guard-fill.js +1 -0
  19. package/dist/composition/inflight.d.ts +20 -2
  20. package/dist/composition/inflight.js +1 -1
  21. package/dist/composition/input-normalize.d.ts +15 -0
  22. package/dist/composition/input-normalize.js +1 -0
  23. package/dist/composition/materialize.d.ts +18 -13
  24. package/dist/composition/materialize.js +1 -1
  25. package/dist/composition/mode-gates.d.ts +35 -0
  26. package/dist/composition/mode-gates.js +1 -0
  27. package/dist/composition/param-disclosure.js +1 -1
  28. package/dist/composition/plan-retry-ledger.d.ts +21 -0
  29. package/dist/composition/plan-retry-ledger.js +1 -0
  30. package/dist/composition/plan.d.ts +7 -2
  31. package/dist/composition/plan.js +1 -1
  32. package/dist/composition/product-card.d.ts +94 -0
  33. package/dist/composition/product-card.js +1 -0
  34. package/dist/composition/supply-chain-emit.d.ts +46 -0
  35. package/dist/composition/supply-chain-emit.js +1 -0
  36. package/dist/config/config-audit.spec.js +1 -1
  37. package/dist/config/config-warnings.d.ts +2 -0
  38. package/dist/config/config-warnings.js +1 -0
  39. package/dist/config/exposure.d.ts +2 -2
  40. package/dist/config/judgment.d.ts +31 -5
  41. package/dist/config/judgment.js +1 -1
  42. package/dist/config/judgment.spec.js +1 -1
  43. package/dist/config/match-policy-file.d.ts +34 -0
  44. package/dist/config/match-policy-file.js +1 -0
  45. package/dist/config/match-policy-file.spec.d.ts +1 -0
  46. package/dist/config/match-policy-file.spec.js +1 -0
  47. package/dist/config/rule-engine.d.ts +5 -5
  48. package/dist/config/rule-engine.js +1 -1
  49. package/dist/config/runtime.d.ts +0 -1
  50. package/dist/config/runtime.js +1 -1
  51. package/dist/config/severity.d.ts +0 -2
  52. package/dist/config/severity.js +1 -1
  53. package/dist/config/store-policy.spec.js +1 -1
  54. package/dist/config/template-params.d.ts +42 -0
  55. package/dist/config/template-params.js +1 -0
  56. package/dist/config/template-params.spec.d.ts +1 -0
  57. package/dist/config/template-params.spec.js +1 -0
  58. package/dist/data/api/api.spec.js +1 -1
  59. package/dist/data/api/server.js +1 -1
  60. package/dist/data/projection/store.d.ts +2 -1
  61. package/dist/data/projection/store.js +1 -1
  62. package/dist/data/projection/types.d.ts +22 -0
  63. package/dist/data/sync/cdc.d.ts +1 -2
  64. package/dist/data/sync/cdc.js +1 -1
  65. package/dist/evaluation/acceptance.d.ts +8 -0
  66. package/dist/evaluation/acceptance.js +1 -1
  67. package/dist/evaluation/builtins/demand-match.js +1 -1
  68. package/dist/evaluation/builtins/graph-service.spec.js +1 -1
  69. package/dist/evaluation/capability.d.ts +2 -0
  70. package/dist/evaluation/category-match-rules.d.ts +0 -1
  71. package/dist/evaluation/category-match-rules.js +1 -1
  72. package/dist/evaluation/composer.d.ts +25 -0
  73. package/dist/evaluation/composer.js +1 -1
  74. package/dist/evaluation/engine.js +1 -1
  75. package/dist/evaluation/extract.d.ts +7 -0
  76. package/dist/evaluation/extract.js +1 -1
  77. package/dist/evaluation/game-strategy.d.ts +0 -3
  78. package/dist/evaluation/game-strategy.js +1 -1
  79. package/dist/evaluation/match-operation.d.ts +9 -0
  80. package/dist/evaluation/match-operation.js +1 -1
  81. package/dist/evaluation/match-policy-resolver.d.ts +9 -0
  82. package/dist/evaluation/match-policy-resolver.js +1 -0
  83. package/dist/evaluation/match-policy.d.ts +3 -1
  84. package/dist/evaluation/match-policy.js +1 -1
  85. package/dist/evaluation/region.d.ts +0 -6
  86. package/dist/evaluation/region.js +1 -1
  87. package/dist/evaluation/standards.d.ts +2 -1
  88. package/dist/evaluation/standards.js +1 -1
  89. package/dist/evaluation/structured-lines.d.ts +8 -0
  90. package/dist/evaluation/structured-lines.js +1 -0
  91. package/dist/evaluation/types.d.ts +6 -0
  92. package/dist/experience/realtime-feedback.js +1 -1
  93. package/dist/extensions/capability-manifest.d.ts +1 -0
  94. package/dist/extensions/capability-manifest.js +1 -1
  95. package/dist/extensions/capability.d.ts +91 -0
  96. package/dist/extensions/capability.js +1 -0
  97. package/dist/extensions/industry-audit.spec.js +1 -1
  98. package/dist/extensions/industry-pack.d.ts +13 -0
  99. package/dist/extensions/industry-pack.js +1 -1
  100. package/dist/extensions/modes.js +1 -1
  101. package/dist/extensions/registry.d.ts +0 -2
  102. package/dist/extensions/registry.js +1 -1
  103. package/dist/goal/GoalEngine.js +1 -1
  104. package/dist/graph/onchain/analyze.js +1 -1
  105. package/dist/graph/onchain/expand.js +1 -1
  106. package/dist/graph/onchain/exposure.js +1 -1
  107. package/dist/graph/onchain/facts.js +1 -1
  108. package/dist/graph/onchain/order-status.d.ts +0 -1
  109. package/dist/graph/onchain/order-status.js +1 -1
  110. package/dist/harness/recover.js +1 -1
  111. package/dist/harness/verify.d.ts +0 -3
  112. package/dist/harness/verify.js +1 -1
  113. package/dist/intent/types.d.ts +0 -1
  114. package/dist/intent/types.js +1 -1
  115. package/dist/keeper/detectors.js +1 -1
  116. package/dist/keeper/types.d.ts +0 -1
  117. package/dist/keeper/types.js +1 -1
  118. package/dist/knowledge/allocation-risk.d.ts +1 -0
  119. package/dist/knowledge/allocation-risk.js +1 -1
  120. package/dist/knowledge/allocator-rail-verifier.d.ts +6 -1
  121. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  122. package/dist/knowledge/arbitration-ledger.js +1 -1
  123. package/dist/knowledge/arbitration-puzzle.js +1 -1
  124. package/dist/knowledge/arbitration-templates.js +1 -1
  125. package/dist/knowledge/audit-rules.d.ts +4 -3
  126. package/dist/knowledge/audit-rules.js +1 -1
  127. package/dist/knowledge/baselines/judgment-baselines.json +21 -2
  128. package/dist/knowledge/baselines/rules/oracle.json +120 -0
  129. package/dist/knowledge/baselines/rules/plan.json +384 -17
  130. package/dist/knowledge/baselines/rules/progress.json +20 -2
  131. package/dist/knowledge/builtin-templates.d.ts +28 -1
  132. package/dist/knowledge/builtin-templates.js +1 -1
  133. package/dist/knowledge/component-schema.js +1 -1
  134. package/dist/knowledge/contact-templates.d.ts +0 -1
  135. package/dist/knowledge/contact-templates.js +1 -1
  136. package/dist/knowledge/dynamic-pricing.js +1 -1
  137. package/dist/knowledge/fee-param-bindings.js +1 -1
  138. package/dist/knowledge/fund-layer.d.ts +1 -0
  139. package/dist/knowledge/fund-layer.js +1 -1
  140. package/dist/knowledge/game-scenarios.js +1 -1
  141. package/dist/knowledge/getting-started.js +1 -1
  142. package/dist/knowledge/guard-binding-table.d.ts +52 -0
  143. package/dist/knowledge/guard-binding-table.js +1 -0
  144. package/dist/knowledge/guard-binding-verifier.d.ts +30 -0
  145. package/dist/knowledge/guard-binding-verifier.js +1 -0
  146. package/dist/knowledge/guard-bindings.js +1 -1
  147. package/dist/knowledge/guard-blueprint.d.ts +68 -0
  148. package/dist/knowledge/guard-blueprint.js +1 -0
  149. package/dist/knowledge/guard-design-patterns.d.ts +1 -1
  150. package/dist/knowledge/guard-design-patterns.js +1 -1
  151. package/dist/knowledge/guard-field-cognition.js +1 -1
  152. package/dist/knowledge/guard-host-context.d.ts +24 -0
  153. package/dist/knowledge/guard-host-context.js +1 -0
  154. package/dist/knowledge/guard-lint.js +1 -1
  155. package/dist/knowledge/guard-node-gates.d.ts +3 -0
  156. package/dist/knowledge/guard-node-gates.js +1 -1
  157. package/dist/knowledge/guard-puzzle.js +1 -1
  158. package/dist/knowledge/guard-render.js +1 -1
  159. package/dist/knowledge/guard-risk.js +1 -1
  160. package/dist/knowledge/guard-submission-prompt.d.ts +11 -0
  161. package/dist/knowledge/guard-submission-prompt.js +1 -1
  162. package/dist/knowledge/guard-templates.d.ts +1 -1
  163. package/dist/knowledge/guard-templates.js +1 -1
  164. package/dist/knowledge/guard-translation.js +1 -1
  165. package/dist/knowledge/index.d.ts +1 -1
  166. package/dist/knowledge/index.js +1 -1
  167. package/dist/knowledge/industry-generalizer.d.ts +6 -1
  168. package/dist/knowledge/industry-generalizer.js +1 -1
  169. package/dist/knowledge/industry-registry.js +1 -1
  170. package/dist/knowledge/jsonrpc-enum.d.ts +38 -0
  171. package/dist/knowledge/jsonrpc-enum.js +1 -1
  172. package/dist/knowledge/machine-topology.js +1 -1
  173. package/dist/knowledge/machine-translation.js +1 -1
  174. package/dist/knowledge/object-dependency.d.ts +31 -0
  175. package/dist/knowledge/object-dependency.js +1 -0
  176. package/dist/knowledge/onchain-constants.d.ts +2 -0
  177. package/dist/knowledge/onchain-constants.js +1 -1
  178. package/dist/knowledge/param-schema.d.ts +23 -0
  179. package/dist/knowledge/param-schema.js +1 -1
  180. package/dist/knowledge/param-tiers.js +1 -1
  181. package/dist/knowledge/passport-ledger.js +1 -1
  182. package/dist/knowledge/path-oracle/coverage.d.ts +16 -0
  183. package/dist/knowledge/path-oracle/coverage.js +1 -0
  184. package/dist/knowledge/path-oracle/index.d.ts +5 -0
  185. package/dist/knowledge/path-oracle/index.js +1 -0
  186. package/dist/knowledge/path-oracle/products/food-delivery.d.ts +2 -0
  187. package/dist/knowledge/path-oracle/products/food-delivery.js +1 -0
  188. package/dist/knowledge/path-oracle/schema.d.ts +188 -0
  189. package/dist/knowledge/path-oracle/schema.js +1 -0
  190. package/dist/knowledge/pattern-resolutions.d.ts +2 -0
  191. package/dist/knowledge/pattern-resolutions.js +1 -1
  192. package/dist/knowledge/progress-ledger.js +1 -1
  193. package/dist/knowledge/progress-risk.js +1 -1
  194. package/dist/knowledge/projection.spec.js +1 -1
  195. package/dist/knowledge/protocol-facts.js +1 -1
  196. package/dist/knowledge/requirement-families.d.ts +13 -0
  197. package/dist/knowledge/requirement-families.js +1 -0
  198. package/dist/knowledge/reward-ledger.js +1 -1
  199. package/dist/knowledge/scenario-modes.d.ts +1 -0
  200. package/dist/knowledge/scenario-modes.js +1 -1
  201. package/dist/knowledge/semantic-ir.d.ts +4 -0
  202. package/dist/knowledge/semantic-ir.js +1 -1
  203. package/dist/knowledge/service-ledger.d.ts +1 -1
  204. package/dist/knowledge/service-ledger.js +1 -1
  205. package/dist/knowledge/sku-name-gate.d.ts +17 -0
  206. package/dist/knowledge/sku-name-gate.js +1 -0
  207. package/dist/knowledge/supply-chain.d.ts +9 -0
  208. package/dist/knowledge/supply-chain.js +1 -1
  209. package/dist/knowledge/template-loader.d.ts +14 -6
  210. package/dist/knowledge/template-loader.js +1 -1
  211. package/dist/knowledge/template-nav.d.ts +3 -1
  212. package/dist/knowledge/template-nav.js +1 -1
  213. package/dist/knowledge/template-prose.d.ts +1 -1
  214. package/dist/knowledge/template-registry.js +1 -1
  215. package/dist/knowledge/template-scanner.d.ts +62 -0
  216. package/dist/knowledge/template-scanner.js +1 -1
  217. package/dist/knowledge/template-test-profiles.js +1 -1
  218. package/dist/knowledge/tools-reference.js +1 -1
  219. package/dist/knowledge/workflow-guidance.d.ts +5 -0
  220. package/dist/knowledge/workflow-guidance.js +1 -1
  221. package/dist/monitor/MonitorLoop.js +1 -1
  222. package/dist/participation/customer-interest.d.ts +4 -0
  223. package/dist/participation/customer-interest.js +1 -1
  224. package/dist/participation/node-action-advisor.d.ts +4 -0
  225. package/dist/participation/node-action-advisor.js +1 -1
  226. package/dist/participation/radar-core.js +1 -1
  227. package/dist/participation/time-window.d.ts +11 -0
  228. package/dist/participation/time-window.js +1 -1
  229. package/dist/persona/address-format.d.ts +0 -1
  230. package/dist/persona/address-format.js +1 -1
  231. package/dist/persona/bridge.js +1 -1
  232. package/dist/persona/index.d.ts +0 -2
  233. package/dist/persona/index.js +1 -1
  234. package/dist/persona/model.js +1 -1
  235. package/dist/persona/persona-audit.spec.js +1 -1
  236. package/dist/persona/types.d.ts +6 -0
  237. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  238. package/dist/playbooks/service-build/game-theory.d.ts +2 -2
  239. package/dist/playbooks/service-build/intent-analyzer.js +1 -1
  240. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  241. package/dist/playbooks/service-build/merchant-guide.d.ts +50 -23
  242. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  243. package/dist/playbooks/service-build/migration-planner.d.ts +2 -0
  244. package/dist/playbooks/service-build/migration-planner.js +1 -1
  245. package/dist/playbooks/service-build/mode-actions.js +1 -1
  246. package/dist/playbooks/service-build/object-panorama.d.ts +8 -0
  247. package/dist/playbooks/service-build/object-panorama.js +1 -1
  248. package/dist/playbooks/service-build/participation-radar.js +1 -1
  249. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  250. package/dist/playbooks/service-build/reverse-mapping.d.ts +6 -0
  251. package/dist/playbooks/service-build/reverse-mapping.js +1 -1
  252. package/dist/playbooks/service-build/service-panorama.d.ts +1 -0
  253. package/dist/playbooks/service-build/service-panorama.js +1 -1
  254. package/dist/playbooks/service-build/service-quote.js +1 -1
  255. package/dist/playbooks/service-build/service-quote.spec.js +1 -1
  256. package/dist/playbooks/service-build/workflow-design-assessment.d.ts +10 -1
  257. package/dist/playbooks/service-build/workflow-design-assessment.js +1 -1
  258. package/dist/review/index.js +1 -1
  259. package/dist/review/repository.js +1 -1
  260. package/dist/safety/confirm-gate.js +1 -1
  261. package/dist/schema/benchmark-migration/index.d.ts +104 -0
  262. package/dist/schema/benchmark-migration/index.js +1 -1
  263. package/dist/schema/call/allocation.d.ts +15 -6
  264. package/dist/schema/call/allocation.js +1 -1
  265. package/dist/schema/call/base.d.ts +256 -0
  266. package/dist/schema/call/base.js +1 -1
  267. package/dist/schema/call/bridge.d.ts +32 -6
  268. package/dist/schema/call/demand.d.ts +15 -6
  269. package/dist/schema/call/demand.js +1 -1
  270. package/dist/schema/call/guard.d.ts +8 -8
  271. package/dist/schema/call/guard.js +1 -1
  272. package/dist/schema/call/handler.d.ts +3 -0
  273. package/dist/schema/call/handler.js +1 -1
  274. package/dist/schema/call/machine.d.ts +32 -8
  275. package/dist/schema/call/machine.js +1 -1
  276. package/dist/schema/call/order.d.ts +26 -8
  277. package/dist/schema/call/order.js +1 -1
  278. package/dist/schema/call/payment.d.ts +20 -8
  279. package/dist/schema/call/payment.js +1 -1
  280. package/dist/schema/call/permission-handler.js +1 -1
  281. package/dist/schema/call/permission.d.ts +330 -114
  282. package/dist/schema/call/permission.js +1 -1
  283. package/dist/schema/call/personal.d.ts +10 -4
  284. package/dist/schema/call/personal.js +1 -1
  285. package/dist/schema/call/progress.d.ts +16 -4
  286. package/dist/schema/call/proof.js +1 -1
  287. package/dist/schema/call/reward.d.ts +10 -4
  288. package/dist/schema/call/reward.js +1 -1
  289. package/dist/schema/call/semantic.d.ts +1 -0
  290. package/dist/schema/call/semantic.js +1 -1
  291. package/dist/schema/call/service.d.ts +143 -45
  292. package/dist/schema/call/service.js +1 -1
  293. package/dist/schema/call/treasury.d.ts +15 -6
  294. package/dist/schema/call/treasury.js +1 -1
  295. package/dist/schema/common/index.js +1 -1
  296. package/dist/schema/config/index.d.ts +61 -0
  297. package/dist/schema/config/index.js +1 -1
  298. package/dist/schema/envelope-unify.d.ts +4 -0
  299. package/dist/schema/envelope-unify.js +1 -0
  300. package/dist/schema/evaluation/index.d.ts +216 -19
  301. package/dist/schema/evaluation/index.js +1 -1
  302. package/dist/schema/goal/index.d.ts +47 -0
  303. package/dist/schema/goal/planning.d.ts +115 -1
  304. package/dist/schema/goal/planning.js +1 -1
  305. package/dist/schema/industry-pack/index.d.ts +137 -6
  306. package/dist/schema/industry-pack/index.js +1 -1
  307. package/dist/schema/industry-pack/modes.d.ts +6 -6
  308. package/dist/schema/keeper/index.d.ts +26 -0
  309. package/dist/schema/local/index.d.ts +137 -0
  310. package/dist/schema/local/index.js +1 -1
  311. package/dist/schema/local/wip.d.ts +6 -0
  312. package/dist/schema/local/wip.js +1 -1
  313. package/dist/schema/messenger/index.d.ts +26 -0
  314. package/dist/schema/operations.d.ts +345 -84
  315. package/dist/schema/operations.js +1 -1
  316. package/dist/schema/persona/index.d.ts +2907 -640
  317. package/dist/schema/persona/index.js +1 -1
  318. package/dist/schema/query/bi.d.ts +145 -4
  319. package/dist/schema/query/bi.js +1 -1
  320. package/dist/schema/query/index.d.ts +266 -73
  321. package/dist/schema/query/index.js +1 -1
  322. package/dist/schema/schema-query/index.d.ts +1 -1
  323. package/dist/schema/schema-query/index.js +1 -1
  324. package/dist/schema/schema-version.js +1 -1
  325. package/dist/schema/utils/permission-machine-check.d.ts +2 -0
  326. package/dist/schema/utils/permission-machine-check.js +1 -1
  327. package/dist/schema/watch/index.d.ts +16 -0
  328. package/dist/schema/watch/index.js +1 -1
  329. package/dist/schema/workflow/index.d.ts +2 -2
  330. package/dist/schema/workflow/index.js +1 -1
  331. package/dist/schema-query-impl/index.d.ts +1 -1
  332. package/dist/schema-query-impl/index.js +1 -1
  333. package/dist/schemas/account_operation.output.json +94 -0
  334. package/dist/schemas/benchmark_migration_operation.output.json +338 -9
  335. package/dist/schemas/benchmark_migration_operation.schema.json +27 -2
  336. package/dist/schemas/bridge_operation.output.json +94 -0
  337. package/dist/schemas/config_operation.output.json +352 -0
  338. package/dist/schemas/config_operation.schema.json +20 -2
  339. package/dist/schemas/evaluation_operation.output.json +570 -4
  340. package/dist/schemas/evaluation_operation.schema.json +194 -3
  341. package/dist/schemas/goal_operation.schema.json +183 -0
  342. package/dist/schemas/index.json +1 -1
  343. package/dist/schemas/industry_pack_operation.output.json +621 -0
  344. package/dist/schemas/industry_pack_operation.schema.json +20 -2
  345. package/dist/schemas/keeper_operation.output.json +94 -0
  346. package/dist/schemas/local_cache_operation.output.json +94 -0
  347. package/dist/schemas/local_history_operation.output.json +94 -0
  348. package/dist/schemas/local_info_operation.output.json +94 -0
  349. package/dist/schemas/local_mark_operation.output.json +94 -0
  350. package/dist/schemas/messenger_operation.output.json +94 -0
  351. package/dist/schemas/monitor_events.output.json +94 -0
  352. package/dist/schemas/monitor_subscription.output.json +94 -0
  353. package/dist/schemas/onchain_events.output.json +94 -0
  354. package/dist/schemas/onchain_operations.output.json +313 -1
  355. package/dist/schemas/onchain_operations.schema.json +1265 -671
  356. package/dist/schemas/onchain_operations_allocation.schema.json +30 -15
  357. package/dist/schemas/onchain_operations_arbitration.schema.json +9 -2
  358. package/dist/schemas/onchain_operations_contact.schema.json +8 -1
  359. package/dist/schemas/onchain_operations_demand.schema.json +29 -14
  360. package/dist/schemas/onchain_operations_gen_passport.schema.json +8 -1
  361. package/dist/schemas/onchain_operations_guard.schema.json +290 -105
  362. package/dist/schemas/onchain_operations_machine.schema.json +49 -34
  363. package/dist/schemas/onchain_operations_order.schema.json +63 -40
  364. package/dist/schemas/onchain_operations_payment.schema.json +26 -11
  365. package/dist/schemas/onchain_operations_permission.schema.json +362 -235
  366. package/dist/schemas/onchain_operations_personal.schema.json +27 -15
  367. package/dist/schemas/onchain_operations_progress.schema.json +45 -30
  368. package/dist/schemas/onchain_operations_proof.schema.json +9 -2
  369. package/dist/schemas/onchain_operations_repository.schema.json +8 -1
  370. package/dist/schemas/onchain_operations_reward.schema.json +32 -17
  371. package/dist/schemas/onchain_operations_service.schema.json +232 -125
  372. package/dist/schemas/onchain_operations_treasury.schema.json +32 -17
  373. package/dist/schemas/onchain_table_data.output.json +258 -6
  374. package/dist/schemas/onchain_table_data.schema.json +92 -52
  375. package/dist/schemas/persona_operation.output.json +7752 -0
  376. package/dist/schemas/persona_operation.schema.json +1232 -4
  377. package/dist/schemas/query_toolkit.output.json +756 -116
  378. package/dist/schemas/query_toolkit.schema.json +138 -7
  379. package/dist/schemas/schema_query.schema.json +1 -1
  380. package/dist/schemas/watch_operation.output.json +83 -0
  381. package/dist/schemas/wip_file.output.json +8 -0
  382. package/dist/schemas/workflow_operation.schema.json +2 -2
  383. package/dist/tools/handlers/benchmark-migration.d.ts +20 -3
  384. package/dist/tools/handlers/benchmark-migration.js +1 -1
  385. package/dist/tools/handlers/config.js +1 -1
  386. package/dist/tools/handlers/evaluation.js +1 -1
  387. package/dist/tools/handlers/evaluation.spec.js +1 -1
  388. package/dist/tools/handlers/industry-pack.js +1 -1
  389. package/dist/tools/handlers/onchain.d.ts +30 -0
  390. package/dist/tools/handlers/onchain.js +1 -1
  391. package/dist/tools/handlers/persona.js +1 -1
  392. package/dist/tools/handlers/query.d.ts +8 -0
  393. package/dist/tools/handlers/query.js +1 -1
  394. package/dist/tools/handlers/winner-derivation.d.ts +20 -0
  395. package/dist/tools/handlers/winner-derivation.js +1 -0
  396. package/dist/tools/handlers/wip-upload.js +1 -1
  397. package/dist/tools/index.d.ts +1 -0
  398. package/dist/tools/index.js +1 -1
  399. package/dist/tools/registry/business.js +1 -1
  400. package/dist/tools/registry/config.js +1 -1
  401. package/dist/tools/registry/evaluation.js +1 -1
  402. package/dist/tools/registry/identity.js +1 -1
  403. package/dist/tools/registry/query.js +1 -1
  404. package/dist/tools/transport-integrity.d.ts +7 -0
  405. package/dist/tools/transport-integrity.js +1 -0
  406. package/dist/tools/upgrade-check.js +1 -1
  407. package/dist/tools/wrap.d.ts +5 -0
  408. package/dist/tools/wrap.js +1 -1
  409. package/package.json +2 -2
  410. package/dist/extensions/business-modules.d.ts +0 -54
  411. package/dist/extensions/business-modules.js +0 -1
  412. package/dist/schemas/guard-templates.json +0 -379
@@ -1 +1 @@
1
- import{FEE_PARAM_BINDINGS}from'./fee-param-bindings.js';const MIN=0x1,hours=a=>a/0x3c,days=a=>a/0x5a0;export const TEMPLATE_TEST_PROFILES=[{'template':'delivery/restaurant-marketplace','note':'Lifecycle\x20windows\x20to\x20minutes:\x20auto_confirm\x201h→6m,\x20claim\x2024h→12m,\x20settle\x2024h→15m\x20'+'(settle\x20>=\x20claim\x20preserved).\x20No\x20absolute\x20cutoff\x20on\x20this\x20shape\x20—\x20nothing\x20else\x20to\x20supply.','inputs':{'auto_confirm_hours':hours(0x6),'claim_window_hours':hours(0xc),'settle_hours':hours(0xf)}},{'template':'group_buy/platform-supplied-pickup','note':'Full\x20pickup\x20lifecycle\x20to\x20minutes:\x20pickup\x20window\x2048h→10m,\x20claim\x2024h→5m,\x20return\x2048h→10m,\x20'+'lost-return\x20transit\x207d→35m,\x20settle\x20216h→50m\x20(=\x20claim\x20+\x20return\x20+\x20transit\x20sequenced\x20—\x20the\x20'+'ktt3\x20F-05\x20R-WINDOW-MATH\x20shape\x20with\x20identical\x20ratios).\x20The\x20round\x27s\x20shared\x20ABSOLUTE\x20cutoff\x20'+'(cutoff_ms\x20input)\x20is\x20build-time:\x20supply\x20now\x20+\x20cutoff_lead_minutes.','inputs':{'pickup_window_hours':hours(0xa),'claim_window_hours':hours(0x5),'return_window_hours':hours(0xa),'return_transit_days':days(0x23),'settle_hours':hours(0x32)},'cutoff_lead_minutes':0xf},{'template':'group_buy/leader-sourced-community','note':'Threshold-campaign\x20lifecycle\x20to\x20minutes:\x20claim\x2024h→5m,\x20return\x2048h→10m,\x20transit\x207d→35m.\x20'+'KEPT\x20AT\x20SHIPPED\x20DEFAULT:\x20settle_hours\x20(216h)\x20—\x20no\x20SCALED\x20binding\x20carries\x20it,\x20a\x20fractional\x20'+'value\x20would\x20truncate\x20to\x20zero\x20in\x20the\x20u256\x20guard\x20literal;\x20the\x20uncompressed\x20settle\x20only\x20'+'WIDENS\x20the\x20sequenced-coverage\x20margin\x20(216h\x20>=\x20compressed\x20return+transit),\x20so\x20R-WINDOW-MATH\x20'+'holds.\x20The\x20shared\x20deadline\x20rides\x20campaign_deadline_ms\x20(build-time\x20absolute)\x20—\x20'+'campaign_duration_days\x20stays\x20at\x20its\x20shipped\x20default\x20because\x20the\x20absolute\x20gate\x20is\x20the\x20'+'authoritative\x20one.','inputs':{'claim_window_hours':hours(0x5),'return_window_hours':hours(0xa),'return_transit_days':days(0x23)},'cutoff_lead_minutes':0xf}];const BY_ID=new Map(TEMPLATE_TEST_PROFILES['map'](a=>[a['template'],a]));export function templateTestProfile(a){return BY_ID['get'](a);}export function templateTestProfileInputs(a){return BY_ID['get'](a)?.['inputs'];}export function templateTestProfileIssues(a){const b=[],c=a(),d=new Map(c['map'](e=>[e['id'],e]));for(const e of TEMPLATE_TEST_PROFILES){const f=d['get'](e['template']);if(f===undefined){b['push']({'template':e['template'],'problem':'template\x20does\x20not\x20exist\x20in\x20the\x20catalog'});continue;}for(const [g,h]of Object['entries'](e['inputs'])){if(f['fee_params'][g]===undefined){b['push']({'template':e['template'],'problem':'fee_param\x20\x27'+g+'\x27\x20is\x20not\x20declared\x20by\x20the\x20template'});continue;}if(!(h>0x0)||!Number['isFinite'](h)){b['push']({'template':e['template'],'problem':'override\x20\x27'+g+'\x27='+String(h)+'\x20is\x20not\x20a\x20positive\x20finite\x20number'});continue;}const i=g['endsWith']('_days')?'days':g['endsWith']('_hours')?'hours':undefined;if(i===undefined){b['push']({'template':e['template'],'problem':'override\x20\x27'+g+'\x27\x20is\x20not\x20a\x20window\x20param\x20(_hours/_days)'});continue;}const j=FEE_PARAM_BINDINGS['some'](k=>k['template']===e['template']&&k['param']===g&&k['scale']!==undefined);!j&&b['push']({'template':e['template'],'problem':'override\x20\x27'+g+'\x27\x20has\x20no\x20SCALED\x20fee-param\x20binding\x20—\x20a\x20fractional\x20value\x20would\x20land\x20as\x20a\x20truncated\x20guard\x20literal'});}}return b;}
1
+ import{FEE_PARAM_BINDINGS}from'./fee-param-bindings.js';const hours=a=>a/0x3c,days=a=>a/0x5a0;export const TEMPLATE_TEST_PROFILES=[{'template':'delivery/restaurant-marketplace','note':'Lifecycle\x20windows\x20to\x20minutes:\x20auto_confirm\x201h→6m,\x20claim\x2024h→12m,\x20settle\x2024h→15m\x20'+'(settle\x20>=\x20claim\x20preserved),\x20T-02\x20return\x20window\x2024h→12m\x20(settle\x2015m\x20>=\x20return\x2012m\x20'+'preserves\x20R-WINDOW-MATH),\x20INV-FD-2\x20dispatch\x20window\x201h→2m\x20(no\x20window-math\x20coupling\x20—\x20'+'any\x20positive\x20value\x20unbars\x20the\x20force-cancel).\x20No\x20absolute\x20cutoff\x20on\x20this\x20shape\x20—\x20'+'nothing\x20else\x20to\x20supply.','inputs':{'auto_confirm_hours':hours(0x6),'claim_window_hours':hours(0xc),'settle_hours':hours(0xf),'return_window_hours':hours(0xc),'dispatch_window_hours':hours(0x2)}},{'template':'group_buy/platform-supplied-pickup','note':'Full\x20pickup\x20lifecycle\x20to\x20minutes:\x20pickup\x20window\x2048h→10m,\x20claim\x2024h→5m,\x20return\x2048h→10m,\x20'+'lost-return\x20transit\x207d→35m,\x20return-receipt\x20silence\x207d→5m\x20(the\x20F-TBPM9-O5-02\x20'+'ReturnReceiptTimeoutByKeeper\x20clock\x20—\x20also\x20compressed,\x20it\x20is\x20a\x20buyer\x20window\x20under\x20'+'R-WINDOW-MATH),\x20settle\x20216h→50m\x20(=\x20claim\x20+\x20return\x20+\x20transit\x20sequenced\x20—\x20the\x20'+'ktt3\x20F-05\x20R-WINDOW-MATH\x20shape\x20with\x20identical\x20ratios).\x20The\x20round\x27s\x20shared\x20ABSOLUTE\x20cutoff\x20'+'(cutoff_ms\x20input)\x20is\x20build-time:\x20supply\x20now\x20+\x20cutoff_lead_minutes.','inputs':{'pickup_window_hours':hours(0xa),'claim_window_hours':hours(0x5),'return_window_hours':hours(0xa),'return_transit_days':days(0x23),'return_response_days':days(0x5),'settle_hours':hours(0x32)},'cutoff_lead_minutes':0xf},{'template':'group_buy/leader-sourced-community','note':'Threshold-campaign\x20lifecycle\x20to\x20minutes:\x20claim\x2024h→5m,\x20return\x2048h→10m,\x20transit\x207d→35m.\x20'+'KEPT\x20AT\x20SHIPPED\x20DEFAULT:\x20settle_hours\x20(216h)\x20—\x20no\x20SCALED\x20binding\x20carries\x20it,\x20a\x20fractional\x20'+'value\x20would\x20truncate\x20to\x20zero\x20in\x20the\x20u256\x20guard\x20literal;\x20the\x20uncompressed\x20settle\x20only\x20'+'WIDENS\x20the\x20sequenced-coverage\x20margin\x20(216h\x20>=\x20compressed\x20return+transit),\x20so\x20R-WINDOW-MATH\x20'+'holds.\x20The\x20shared\x20deadline\x20rides\x20campaign_deadline_ms\x20(build-time\x20absolute)\x20—\x20'+'campaign_duration_days\x20stays\x20at\x20its\x20shipped\x20default\x20because\x20the\x20absolute\x20gate\x20is\x20the\x20'+'authoritative\x20one.','inputs':{'claim_window_hours':hours(0x5),'return_window_hours':hours(0xa),'return_transit_days':days(0x23)},'cutoff_lead_minutes':0xf}];const BY_ID=new Map(TEMPLATE_TEST_PROFILES['map'](a=>[a['template'],a]));export function templateTestProfile(a){return BY_ID['get'](a);}export function templateTestProfileInputs(a){return BY_ID['get'](a)?.['inputs'];}export function templateTestProfileIssues(a){const b=[],c=a(),d=new Map(c['map'](e=>[e['id'],e]));for(const e of TEMPLATE_TEST_PROFILES){const f=d['get'](e['template']);if(f===undefined){b['push']({'template':e['template'],'problem':'template\x20does\x20not\x20exist\x20in\x20the\x20catalog'});continue;}for(const [g,h]of Object['entries'](e['inputs'])){if(f['fee_params'][g]===undefined){b['push']({'template':e['template'],'problem':'fee_param\x20\x27'+g+'\x27\x20is\x20not\x20declared\x20by\x20the\x20template'});continue;}if(!(h>0x0)||!Number['isFinite'](h)){b['push']({'template':e['template'],'problem':'override\x20\x27'+g+'\x27='+String(h)+'\x20is\x20not\x20a\x20positive\x20finite\x20number'});continue;}const i=g['endsWith']('_days')?'days':g['endsWith']('_hours')?'hours':undefined;if(i===undefined){b['push']({'template':e['template'],'problem':'override\x20\x27'+g+'\x27\x20is\x20not\x20a\x20window\x20param\x20(_hours/_days)'});continue;}const j=FEE_PARAM_BINDINGS['some'](k=>k['template']===e['template']&&k['param']===g&&k['scale']!==undefined);!j&&b['push']({'template':e['template'],'problem':'override\x20\x27'+g+'\x27\x20has\x20no\x20SCALED\x20fee-param\x20binding\x20—\x20a\x20fractional\x20value\x20would\x20land\x20as\x20a\x20truncated\x20guard\x20literal'});}}return b;}
@@ -1 +1 @@
1
- import{BUILTIN_TEMPLATES}from'./builtin-templates.js';export const TOOLS_REFERENCE=[{'name':'onchain_operations','summary':'On-chain\x20object\x20creation,\x20modification,\x20and\x20publish\x20for\x20all\x2016\x20Wowok\x20object\x20types.','actions':['service','machine','guard','permission','reward','arb','progress','treasury','demand','repository','contact','order','allocation','personal','payment','proof','gen_passport','gen_proof'],'common_params':{'operation_type':'Object\x20type\x20to\x20create/modify\x20(string\x20enum).','data':'Operation\x20payload\x20—\x20shape\x20varies\x20by\x20operation_type.','object':'Object\x20name\x20or\x20address\x20(for\x20modify-by-id).','namedNew':'New\x20object\x20spec\x20(name,\x20description,\x20tags)\x20for\x20create.','env':'Execution\x20environment\x20(account,\x20network,\x20gas_budget).'},'prerequisites':['account_operation\x20(for\x20account\x20setup)'],'follow_ups':['query_toolkit\x20(verify\x20result)','local_mark_operation\x20(tag\x20object)'],'notes':['publish=true\x20is\x20irreversible\x20—\x20use\x20confirm_gate.','Service/Machine\x20require\x20publish\x20after\x20create\x20before\x20they\x20are\x20visible\x20on-chain.','Use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20operation\x20schemas.','NETWORK:\x20by\x20default\x20omit\x20env.network\x20—\x20the\x20operation\x20runs\x20on\x20the\x20user\x27s\x20CURRENT\x20network\x20(the\x20app\x27s\x20active\x20selection);\x20the\x20confirmation\x20card\x20echoes\x20the\x20actual\x20network.\x20Never\x20guess\x20or\x20invent\x20a\x20network\x20on\x20your\x20own\x20initiative.','NETWORK\x20SWITCH\x20(explicit\x20user\x20intent\x20only):\x20when\x20the\x20user\x27s\x20request\x20clearly\x20targets\x20a\x20DIFFERENT\x20network\x20(e.g.\x20\x22create\x20this\x20permission\x20on\x20testnet\x22\x20while\x20the\x20app\x20is\x20on\x20mainnet),\x20set\x20env.network\x20to\x20that\x20network\x20in\x20THIS\x20call\x20—\x20the\x20client\x20pops\x20a\x20mandatory\x20network-switch\x20confirmation\x20card;\x20only\x20after\x20the\x20user\x20approves\x20does\x20the\x20call\x20(and\x20the\x20whole\x20app)\x20run\x20on\x20the\x20new\x20network.\x20If\x20the\x20user\x20declines,\x20do\x20NOT\x20retry\x20on\x20that\x20network\x20—\x20continue\x20on\x20the\x20current\x20one.\x20Read-only\x20queries\x20(query_toolkit\x20context_network)\x20never\x20need\x20this\x20—\x20they\x20select\x20a\x20network\x20per\x20call\x20without\x20switching.']},{'name':'account_operation','summary':'Local\x20wallet\x20management\x20—\x20generate,\x20suspend,\x20resume,\x20faucet,\x20sign\x20data.','actions':['gen','resume','suspend','faucet','operate','sign','list','info'],'common_params':{'name':'Account\x20name\x20(local\x20identifier).','network':'mainnet\x20|\x20testnet\x20(determines\x20RPC).'},'prerequisites':[],'follow_ups':['onchain_operations\x20(use\x20account\x20for\x20signing)'],'notes':['100%\x20LOCAL\x20—\x20keys\x20never\x20leave\x20the\x20device.','faucet\x20only\x20works\x20on\x20testnet.']},{'name':'local_mark_operation','summary':'Local\x20address\x20book\x20—\x20map\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20tags.','actions':['add','remove','update','list','query'],'common_params':{'name':'Local\x20name.','address':'Blockchain\x20address.','tags':'Tag\x20array.'},'notes':['100%\x20LOCAL\x20—\x20never\x20on-chain.','Names\x20are\x20accepted\x20by\x20most\x20on-chain\x20query/panorama\x20tools\x20in\x20place\x20of\x20raw\x20addresses.']},{'name':'local_info_operation','summary':'Local\x20private\x20data\x20management\x20—\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.','actions':['add','remove','update','list'],'notes':['100%\x20LOCAL\x20—\x20sensitive\x20data,\x20never\x20on-chain.']},{'name':'local_history_operation','summary':'Local\x20Explorer\x20visit\x20history\x20—\x20recently\x20viewed\x20objects,\x20newest\x20first.','actions':['list\x20(default)','add\x20(upsert\x20by\x20key)','remove\x20(by\x20keys)','clear'],'common_params':{'add':'Record\x20visits:\x20{op:\x27add\x27,\x20data:[{key,\x20address,\x20object_type?,\x20network,\x20time}]}.','remove':'Delete\x20entries:\x20{op:\x27remove\x27,\x20keys:[...]}.','clear':'Erase\x20all\x20history:\x20{op:\x27clear\x27}.'},'notes':['100%\x20LOCAL\x20—\x20visit\x20records\x20never\x20leave\x20the\x20device;\x20display\x20names\x20are\x20never\x20stored\x20(resolved\x20live\x20at\x20render).','Omit\x20every\x20operation\x20field\x20to\x20list\x20history\x20(newest\x20first,\x20auto-pruned\x20to\x20last\x2030\x20days\x20/\x20300\x20entries).','detail\x20visits\x20keep\x20the\x20object\x20type\x20tag;\x20each\x20entry\x20stores\x20the\x20stable\x20object\x20key\x20+\x20canonical\x200x\x20address\x20+\x20network\x20+\x20timestamp.']},{'name':'local_cache_operation','summary':'Device-local\x20SDK\x20read\x20cache\x20—\x20report\x20diagnostics,\x20clear\x20a\x20prefix\x20or\x20everything,\x20re-detect\x20chain\x20identity\x20after\x20a\x20node\x20reset.','actions':['status\x20(read-only)','clear_prefix','clear','refresh_chain_scope'],'common_params':{'status':'Report\x20diagnostics\x20(active\x20chain\x20identity,\x20memory\x20entries,\x20persisted\x20rows):\x20{status:{op:\x27status\x27}}.','clear_prefix':'Drop\x20one\x20cache\x20family:\x20{clear_prefix:{op:\x27clear_prefix\x27,\x20prefix:\x27objectv2\x27}}.','clear':'Drop\x20the\x20whole\x20read\x20cache:\x20{clear:{op:\x27clear\x27}}.','refresh_chain_scope':'Force\x20chain-identity\x20re-detection:\x20{refresh_chain_scope:{op:\x27refresh_chain_scope\x27,\x20network?}}.'},'notes':['100%\x20LOCAL\x20—\x20never\x20on-chain;\x20does\x20NOT\x20touch\x20accounts,\x20marks,\x20info\x20or\x20history\x20(separate\x20stores,\x20separate\x20tools).','USE\x20AFTER\x20A\x20NODE\x20RESET\x20/\x20RESTART,\x20or\x20on\x20\x27object\x200x…\x20version\x200x…\x20is\x20unavailable\x27:\x20the\x20SDK\x20namespaces\x20its\x20cache\x20by\x20chain\x20identity\x20(genesis\x20checkpoint\x20digest),\x20so\x20a\x20reset\x20normally\x20self-heals;\x20refresh_chain_scope\x20forces\x20it\x20when\x20the\x20node\x20was\x20unreachable\x20at\x20startup.','A\x20chain_identity\x20of\x20null\x20in\x20`status`\x20means\x20the\x20cache\x20is\x20NOT\x20reset-safe\x20—\x20run\x20refresh_chain_scope.','Only\x20`status`\x20is\x20read-only;\x20the\x20other\x20sub-ops\x20discard\x20cached\x20reads\x20and\x20re-read\x20from\x20the\x20node\x20next\x20call.']},{'name':'wip_file','summary':'Witness\x20Immutable\x20Promise\x20file\x20operations\x20—\x20generate,\x20verify,\x20sign,\x20convert,\x20and\x20storage\x20(upload/list/delete\x20on\x20the\x20free\x20official\x20store\x20or\x20a\x20custom\x20service).','actions':['generate','verify','sign','wip2html','upload','storage_list','storage_delete'],'notes':['WIP\x20hash\x20must\x20be\x20non-empty\x20—\x20compute\x20actual\x20hash\x20before\x20calling.','Storage\x20decision:\x20storage=\x27store\x27\x20(default)\x20=\x20official\x20FREE\x20store\x20wip.store.wowok.net,\x2010\x20files\x20per\x20account,\x20files\x20retained\x206\x20months\x20(free\x20best-effort\x20service\x20—\x20force\x20majeure\x20excepted;\x20expired\x20files\x20are\x20deleted\x20ONLY\x20by\x20manual\x20admin\x20purge,\x20never\x20automatically);\x20storage=\x27custom\x27\x20+\x20customBaseUrl\x20=\x20your\x20own\x20or\x20a\x20third-party\x20wip\x20storage\x20service\x20(recommended:\x20no\x20store\x20quota,\x20full\x20control).','Network\x20independence:\x20WIP\x20files\x20are\x20off-chain\x20—\x20one\x20upload\x20serves\x20BOTH\x20testnet\x20and\x20mainnet,\x20and\x20storage_list/storage_delete\x20never\x20touch\x20the\x20chain.','Large\x20WIP\x20files\x20(multi-MB,\x20image-heavy)\x20are\x20network-sensitive:\x20compress\x20images\x20before\x20generate,\x20retry\x20transient\x20upload\x20failures,\x20and\x20verify\x20the\x20returned\x20public\x20URL\x20afterwards\x20with\x20type=\x27verify\x27.']},{'name':'messenger_operation','summary':'Encrypted\x20messenger\x20—\x20watch/send\x20messages,\x20WTS,\x20friendslist,\x20blacklist,\x20guardlist.','actions':['watch_conversations','send_message','send_file','send_required_info','watch_messages','save_attachment','generate_wts','verify_wts','sign_wts','wts2html','proof_message','blacklist','friendslist','guardlist','settings','mark_messages_as_viewed','mark_conversation_as_viewed','mark_conversation_read','pull_messages'],'notes':['Requires\x20messenger-enabled\x20account.','30s\x20timeout\x20—\x20network\x20operations.','Attachment\x20messages\x20return\x20byte-free\x20descriptors\x20(msg.attachment;\x20plaintext\x20is\x20undefined).\x20Use\x20save_attachment\x20{messageId}\x20to\x20persist\x20the\x20file\x20(e.g.\x20before\x20verify_wts);\x20bytes\x20are\x20never\x20embedded\x20in\x20message\x20outputs.','send_required_info\x20assembles\x20selected\x20LocalInfo\x20fields\x20into\x20one\x20E2E\x20message\x20(\x27field:\x20value\x27\x20lines)\x20—\x20the\x20dedicated\x20path\x20for\x20delivering\x20customer_required\x20info.','pull_messages\x20supports\x20allAccounts/accounts\x20for\x20one\x20bounded-concurrency\x20fan-out\x20across\x20accounts.','pull_messages\x20{peerAddress,\x20after}\x20is\x20an\x20incremental\x20read:\x20messages\x20with\x20seq\x20(leafIndex)\x20>\x20after,\x20plus\x20highest_seq/has_more\x20and\x20a\x20structured\x20gap\x20when\x20continuity\x20cannot\x20be\x20proven\x20(result.degraded=true).\x20The\x20cursor\x20is\x20caller-owned\x20—\x20watch_messages\x20never\x20advances\x20it.','mark_conversation_read\x20records\x20a\x20per-conversation\x20LOCAL\x20read\x20watermark\x20(monotonic).\x20The\x20network\x20has\x20no\x20receipt\x20primitive,\x20so\x20peer_read_through_seq\x20is\x20null\x20and\x20never\x20represents\x20delivery/read.']},{'name':'guard2file','summary':'Export\x20a\x20Guard\x20object\x27s\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'machineNode2file','summary':'Export\x20a\x20Machine\x20object\x27s\x20node\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'query_toolkit','summary':'Query\x20toolkit\x20covering\x20local\x20device\x20data,\x20on-chain\x20blockchain\x20data,\x20and\x20one-call\x20business-intelligence\x20panoramas/review\x20packs.','actions':['local_mark_list','account_list','local_info_list','local_names','token_list','account_balance','onchain_personal_profile','onchain_objects','onchain_received','onchain_transaction','onchain_block','onchain_object_history','onchain_address_activity','address_profile','address_profiles','migration_preflight','token_value_convert','onchain_last_updated','service_panorama','machine_panorama','object_panorama','review_pack','assemble_context','reverse_map','participation_radar','onchain_topology'],'notes':['Read-only\x20—\x20safe\x20to\x20call\x20without\x20confirmation.','local_names\x20resolves\x20a\x20batch\x20of\x20addresses\x20to\x20account/local_mark\x20names\x20(canonical\x20name\x20source\x20for\x20display);\x20address_profile(s)\x20is\x20the\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20query\x20(classification\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings;\x20batch\x20up\x20to\x2050);\x20migration_preflight\x20detects\x20existing\x20builds\x20on\x20another\x20network\x20and\x20returns\x20the\x20testnet→mainnet\x20migration\x20checklist.','BI\x20query\x20types\x20(one-call\x20panoramas):\x20service_panorama\x20(full\x20Service\x20context:\x20workflow\x20graph\x20+\x20guards\x20+\x20trust\x20+\x20supply\x20chain\x20+\x20BusinessReport\x20+\x20recent\x20orders),\x20machine_panorama\x20(head\x20+\x20fields\x20+\x20workflow\x20graph\x20+\x20Progress\x20list),\x20object_panorama\x20(Progress/Demand/Order/Arb/Repository/Proof\x20detail\x20page\x20—\x20a\x20Proof\x20returns\x20its\x20frozen\x20Merkle\x20root\x20and,\x20with\x20wts_file_path,\x20cross-checks\x20a\x20.wts\x20packet\x20against\x20that\x20anchor),\x20review_pack\x20(typed\x20ReviewPack\x20for\x20the\x20client\x27s\x20ReviewPackRenderer),\x20assemble_context\x20(semantic\x20context\x20from\x20on-chain\x20objects),\x20reverse_map\x20(deterministic\x20L4→L1\x20business\x20report\x20—\x20merchant\x20profile\x20/\x20user\x20risk\x20/\x20game\x20theory),\x20participation_radar\x20(in-flight\x20order\x20participation\x20analysis\x20for\x20ONE\x20account).','onchain_topology\x20=\x20graph\x20evaluation\x20of\x20ONE\x20object\x20(trust\x20+\x20risk\x20+\x20completeness\x20+\x20coverage\x20+\x20unverified\x20over\x20its\x20workflow/guard/fund\x20topology)\x20—\x20the\x20unified\x20read-side\x20trust/risk\x20surface;\x20use\x20when\x20the\x20user\x20asks\x20\x27is\x20this\x20service\x20trustworthy?\x27\x20or\x20\x27should\x20I\x20buy?\x27.','FUND-EXIT\x20AUDIT\x20(C-F31):\x20onchain_transaction.object_changes\x20is\x20the\x20full\x20set\x20including\x20removals\x20(deleted/wrapped/unwrapped)\x20—\x20a\x20consumed\x20object\x20(e.g.\x20a\x20CoinWrapper\x20spent\x20by\x20settle)\x20is\x20synthesized\x20from\x20the\x20tx\x20effects\x20when\x20the\x20node\x20omits\x20it\x20(entry\x20carries\x20synthesized=true,\x20no\x20object_type).\x20Every\x20removal\x20is\x20a\x20money/object\x20exit\x20door:\x20trace\x20its\x20contents\x20via\x20balance_changes\x20per-owner\x20deltas.\x20Fallback\x20when\x20an\x20exit\x20still\x20lacks\x20object-level\x20evidence:\x20diff\x20two\x20onchain_received\x20snapshots\x20taken\x20before\x20and\x20after\x20the\x20digest\x20(full-set\x20difference)\x20—\x20this\x20recovers\x20the\x20truth\x20even\x20when\x20the\x20tx\x20emitted\x20no\x20events.','REVIEW\x20SIGNAL\x20GLOSSARY\x20(three\x20layers,\x20never\x20mix):\x20(1)\x20Order\x20review\x20=\x20Repository\x20\x27review\x27\x20key\x20rows,\x20written\x20under\x20the\x20reviewed-edge\x20guard\x20so\x20only\x20completed-order\x20buyers\x20qualify\x20—\x20the\x20ONLY\x20face\x20market\x20exposure\x20consumes.\x20(2)\x20Account-level\x20vote\x20=\x20registrar\x20like/dislike/favor\x20on\x20an\x20Entity\x20(entity_linker\x20votes[])\x20—\x20an\x20account-level\x20signal,\x20NOT\x20the\x20order\x20review\x20channel;\x20show\x20only\x20as\x20auxiliary\x20display\x20with\x20the\x20voter-credibility\x20projection\x20(AC5\x20fresh-account\x20bursts\x20/\x20AC6\x20mutual\x20rings\x20/\x20AC7\x20flooded\x20targets).\x20(3)\x20Demand-side\x20feedback\x20=\x20DemandPresenter\x20acceptance_score\x20(0-100,\x20null\x20=\x20unrated)\x20—\x20the\x20demander\x27s\x20own\x20judgment\x20of\x20presenters,\x20consumed\x20via\x20O4\x20due-diligence\x20projection;\x20sparse\x20by\x20nature,\x20never\x20weighted\x20by\x20the\x20platform.']},{'name':'onchain_table_data','summary':'Dynamic\x20table\x20data\x20queries\x20—\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.','actions':['onchain_table','onchain_table_item_repository_data','onchain_table_item_permission_perm','onchain_table_item_entity_registrar','onchain_table_item_entity_linker','onchain_table_item_entity_contact','onchain_table_item_object_linker_core','onchain_table_item_object_linker_tx','onchain_table_item_reward_record','onchain_table_item_demand_presenter','onchain_table_item_treasury_history','onchain_table_item_machine_node','onchain_table_item_progress_history','onchain_table_item_address_mark','onchain_table_item_entity_order','onchain_orders_of_user','onchain_orders_of_users','onchain_affiliations_of_object','onchain_table_item_generic'],'notes':['Read-only\x20—\x20safe\x20for\x20exploration.','object_linker\x20core\x20(0xaae)\x20=\x20default\x20reverse\x20lookup\x20(bounded\x20core\x20objects);\x20object_linker\x20tx\x20(0xaaf)\x20=\x20operational\x20reverse\x20lookup\x20(orders/progress,\x20lossy\x20FIFO).','entity_order\x20(0xaa8)\x20=\x20global\x20entity->orders\x20reverse\x20index;\x20onchain_orders_of_user\x20resolves\x20each\x20order\x20to\x20its\x20full\x20on-chain\x20Order\x20object\x20with\x20role\x20attributes\x20(is_owner/is_agent).']},{'name':'onchain_events','summary':'Watch\x20on-chain\x20events\x20by\x20type\x20—\x20arbitration,\x20order,\x20progress,\x20demand,\x20entity.','notes':['Read-only\x20—\x20use\x20cursor\x20for\x20pagination.']},{'name':'wowok_buildin_info','summary':'Protocol\x20info\x20—\x20constants,\x20built-in\x20permissions,\x20common\x20mistakes,\x20guard\x20instructions,\x20network,\x20value\x20types,\x20bridge\x20tokens.','actions':['constants','built-in\x20permissions','common\x20mistakes','guard\x20instructions','current\x20network','value\x20types','mainnet\x20bridge\x20tokens'],'notes':['Read-only\x20—\x20authoritative\x20protocol\x20reference.','Use\x20\x27common\x20mistakes\x27\x20before\x20submitting\x20an\x20operation\x20to\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls.']},{'name':'schema_query','summary':'Look\x20up\x20JSON\x20Schemas\x20for\x20MCP\x20tools\x20and\x20on-chain\x20operations\x20—\x20the\x20authoritative\x20reference.\x20Also\x20serves\x20sunk\x20knowledge:\x20tool\x20reference,\x20Guard\x20design\x20patterns,\x20safety\x20rules.','actions':['list','get','get_output','get_field','search','list_operations','get_guard_templates','get_tool_reference','get_guard_design_patterns','get_safety_rules'],'notes':['Always\x20check\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.','get_field\x20takes\x20a\x20dot-path\x20(field_path)\x20for\x20single-field\x20lookup.','get_tool_reference/get_guard_design_patterns/get_safety_rules\x20expose\x20the\x20knowledge\x20sunk\x20from\x20the\x20wowok-tools/guard/safety\x20skills\x20—\x20no\x20skills\x20installation\x20required.']},{'name':'bridge_operation','summary':'Cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Mainnet\x20only.','actions':['cross_chain_wow_to_evm','cross_chain_evm_to_wow','withdraw','query_active_evm_account','query_supported_evm_chains','query_supported_tokens','query_transfer_list','query_transfer_status','manage_evm_rpc'],'notes':['Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.']},{'name':'config_operation','summary':'Runtime\x20service\x20toggles\x20—\x20enable/disable\x20Phase\x202\x20services\x20without\x20restart.','actions':['list','toggle','enable','disable','reset','info','store_dual_payout_get','store_dual_payout_set','store_dual_payout_clear'],'notes':['GLM5:\x20harness\x20is\x20default\x20ON\x20with\x20tiered\x20enforcement\x20(off/lightweight/full).','D-1\x20(ksr\x205R-08):\x20store_dual_payout_get/set/clear\x20maintain\x20a\x20per-account\x20dual-payout\x20preauthorization\x20ledger\x20(store-policies.json).\x20The\x20set\x20action\x20REQUIRES\x20confirm:true\x20(HUMAN\x20record,\x20never\x20settable\x20by\x20an\x20automated\x20keeper);\x20the\x20dual-payout\x20gates\x20in\x20onchain_operations\x20(allocation\x20alloc_by_guard\x20+\x20order\x20arb_claim_compensation\x20with\x20acknowledge_dual_payout)\x20refuse\x20with\x20dual_payout_preauthorization_required\x20unless\x20the\x20executing\x20store\x27s\x20account\x20is\x20preauthorized.\x20Recipe:\x20store_dual_payout_set\x20{account,\x20confirm:true}\x20once\x20→\x20the\x20acknowledge_dual_payout\x20calls\x20then\x20pass\x20the\x20gate.']},{'name':'evaluation_operation','summary':'Pluggable\x20business\x20evaluations\x20—\x20match\x20/\x20compose\x20/\x20game\x20(node\x20+\x20path)\x20/\x20evidence\x20review\x20/\x20discovery\x20/\x20market\x20/\x20arbitration\x20score\x20with\x20user\x20injection.','actions':['demand_match','service_match','capability_gap','compose_service','node_game','arb_game','path_reasoning','evidence_review','discover_services','discover_demands','market_metrics','market_operations','anti_cheat','match_discover','arbitration_score','account_events'],'notes':['Read-only;\x20the\x20role\x20decides\x20and\x20acts\x20via\x20onchain_operations.','path_reasoning\x20=\x20path-level\x20game\x20(full-route\x20enumeration\x20+\x20ranking);\x20node_game\x20=\x20single-node\x20best\x20move.','evidence_review\x20=\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass/auto_reject/manual_review).','discover_services\x20=\x20active\x20supply\x20discovery\x20(GraphQL\x20transport\x20required):\x20enumerate\x20all\x20shared\x20Services,\x20location-gate\x20by\x20sensitivity\x20(strict/near/logistics),\x20ranked\x20+\x20consent-gated\x20scope\x20expansion.\x20Passive\x20side\x20=\x20post\x20a\x20Demand\x20(DemandPresenter).','match_discover\x20=\x20one-shot\x20intent→service\x20orchestration\x20(enumerate\x20+\x20location\x20gate\x20+\x206-dimension\x20scoring);\x20discover_demands\x20=\x20supplier-side\x20demand\x20enumeration;\x20market_metrics/market_operations\x20=\x20market\x20measurement\x20(GraphQL\x20required).','arbitration_score\x20=\x20dual-perspective\x20arbitration\x20trust\x20(user-trust\x20+\x20merchant-fairness,\x20combined\x200-100);\x20anti_cheat\x20=\x20fake-review/wash-order\x20detection;\x20account_events\x20=\x20account\x20attention\x20feed\x20(read-only).']},{'name':'watch_operation','summary':'Identity-centric\x20on-chain\x20console\x20—\x20resolve\x20who\x20the\x20account\x20is\x20against\x20an\x20object,\x20expand\x20its\x20relations,\x20and\x20enumerate\x20actionable\x20operations.','actions':['focus','expand','actions'],'notes':['Read-only;\x20distinct\x20from\x20query_toolkit\x20/\x20onchain_table_data\x20(pure\x20data,\x20no\x20identity).','focus\x20=\x20identity\x20resolution\x20(manifest\x20on-chain\x20role\x20⊕\x20persona)\x20+\x20base\x20data;\x20neutral\x20→\x20objective\x20narration,\x20operative\x20role\x20→\x20game\x20reasoning.','expand\x20=\x20direct\x20relations\x20+\x20Service\x20transparent\x20sub-order\x20purchasing\x20graph\x20(frozen\x20forward\x20guards\x20→\x20purchased\x20sub-services\x20+\x20proofs).','actions\x20=\x20actionable\x20operations\x20with\x20executability\x20judgment\x20(order-holder\x20/\x20permission-index\x20/\x20named-operator\x20paths).']},{'name':'persona_operation','summary':'User\x20identity\x20setting\x20(persona)\x20—\x20preferences,\x20strategy,\x20rules,\x20spec;\x20long-term\x20+\x20current\x20layers\x20+\x20strategy→lever\x20mapping\x20+\x20region\x20hint.','actions':['get','list','set','analyze','apply','sync','remove','strategy','region_hint','distill'],'notes':['Read/write\x20local\x20state;\x20account\x20persona\x20overrides\x20system;\x20current\x20overrides\x20long-term.','strategy\x20resolves\x20merchant\x20strategy\x20statements\x20into\x20deterministic\x20infrastructure\x20levers\x20(discount/reward/buy_guard/machine_design).','region_hint\x20reads\x20the\x20local\x20delivery\x20address\x20as\x20a\x20matching\x20hint;\x20`propose`\x20returns\x20a\x20consent-gated\x20save\x20proposal\x20(never\x20auto-writes).','distill\x20turns\x20one\x20goal\x27s\x20memory\x20(outcome,\x20process\x20problems/feedback,\x20objects)\x20into\x20a\x20CURRENT-layer\x20proposal\x20—\x20never\x20auto-writes;\x20persist\x20via\x20set/apply\x20after\x20user\x20confirmation.\x20Industry\x20pack.json\x20files\x20are\x20read-only\x20knowledge\x20and\x20never\x20receive\x20user\x20data.']},{'name':'employee_operation','summary':'Merchant\x20employee\x20organizational\x20profile\x20(LOCAL)\x20+\x20reaction\x20KPI\x20+\x20liability\x20resolution\x20+\x20incentive\x20suggestion.','actions':['set','get','remove','assess_kpi','resolve_liability','suggest_incentive'],'notes':['LOCAL\x20ONLY\x20—\x20on-chain\x20authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).','assess_kpi:\x20node\x20reaction\x20speed\x20vs\x20budget\x20(explicit\x20>\x20stored\x20profile\x20>\x2048h\x20default).\x20Timestamps\x20explicit\x20OR\x20auto-derived\x20from\x20the\x20progress\x20object\x27s\x20monitored\x20ProgressEvents\x20via\x20`progress`;\x20explicit\x20values\x20override\x20derived.','resolve_liability:\x20internal\x20cost\x20split\x20(merchant/employee,\x20hybrid\x20threshold);\x20outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s;\x20order\x20user\x20must\x20be\x20compensated\x20before\x20the\x20workflow\x20resumes.','suggest_incentive:\x20KPIs\x20+\x20WIP\x20acceptance\x20+\x20liability\x20→\x20Reward\x20suggestion\x20(reward_grant/compensation_offset/correction_notice/none).\x20Suggestion\x20ONLY\x20—\x20merchant\x20confirms\x20and\x20executes\x20the\x20on-chain\x20ops\x20separately.']},{'name':'keeper_operation','summary':'Who-benefits-who-pushes\x20keeper:\x20scans\x20the\x20monitor\x20scope\x20for\x20actionable\x20state\x20(unclaimed\x20payments,\x20advanceable\x20workflow\x20nodes,\x20unsettled\x20escrow\x20pools),\x20routes\x20tasks\x20to\x20beneficiaries;\x20manual\x20dismiss/execute\x20+\x20standing\x20auto-execute\x20rules.','actions':['tasks','dismiss','execute','rules','rule_set','rule_remove','config','config_set','scan','status'],'notes':['The\x20chain\x20has\x20NO\x20time-triggered\x20execution\x20—\x20the\x20keeper\x20scans\x20on\x20the\x20monitor\x20loop\x20cadence\x20and\x20surfaces\x20tasks\x20to\x20their\x20beneficiary.','execute\x20runs\x20the\x20on-chain\x20op\x20for\x20one\x20task\x20(user\x20decision);\x20rule_set\x20authorizes\x20auto-execution\x20per\x20detector\x20kind\x20(bounded\x20by\x20config\x20budget/cooldown).','Detectors\x20v1:\x20payment_unclaimed\x20(funds\x20sitting\x20claimable),\x20progress_actionable\x20(a\x20workflow\x20node\x20the\x20beneficiary\x20can\x20advance),\x20settlement_pending\x20(an\x20order\x20on\x20a\x20terminal\x20node\x20whose\x20Allocation\x20pool\x20still\x20holds\x20balance\x20and\x20has\x20emitted\x20no\x20Payment\x20—\x20the\x20escrow\x20is\x20frozen\x20until\x20SOMEONE\x20fires\x20the\x20matching\x20guard).','MANUAL\x20SETTLEMENT\x20(base\x20cognition):\x20a\x20completed/refunded\x20order\x20does\x20NOT\x20release\x20funds\x20by\x20itself.\x20The\x20pool\x20drains\x20only\x20when\x20an\x20account\x20executes\x20allocation_operation\x20alloc_by_guard\x20with\x20a\x20guard\x20that\x20satisfies\x20the\x20allocator.\x20The\x20chain\x20never\x20auto-settles\x20(the\x20on-chain\x20allocation\x20has\x20no\x20frequency/expiry\x20trigger).\x20So\x20\x27completed\x20≠\x20paid\x20out\x27:\x20if\x20a\x20terminal\x20order\x27s\x20pool\x20still\x20has\x20balance,\x20the\x20settlement_pending\x20task\x20is\x20the\x20signal\x20—\x20the\x20merchant\x20(completion\x20terminal)\x20or\x20the\x20buyer\x20(refund\x20terminal)\x20must\x20trigger\x20the\x20guard,\x20then\x20recipients\x20claim\x20their\x20CoinWrappers\x20via\x20payment\x20receive.','settlement_pending\x20and\x20progress_actionable\x20are\x20reminder-only\x20(never\x20auto-executed):\x20triggering\x20a\x20guard\x20releases\x20funds\x20to\x20counterparties\x20and\x20the\x20guard\x20semantics\x20must\x20be\x20reviewed\x20by\x20the\x20beneficiary\x20before\x20spending\x20gas.\x20Only\x20payment_unclaimed\x20(claim-to-self)\x20may\x20carry\x20an\x20auto_execute\x20rule.']},{'name':'intent_radar','summary':'User\x20business\x20intent\x20×\x20chain\x20event\x20matching\x20—\x20persist\x20intents,\x20score\x20events\x20against\x20them.','actions':['save','list','remove','match'],'notes':['Read-only\x20w.r.t.\x20chain;\x20industry/keywords\x20resolved\x20once\x20at\x20save;\x20events\x20supplied\x20or\x20auto-pulled.']},{'name':'goal_operation','summary':'GoalEngine\x20(K3\x2024)\x20—\x20record\x20a\x20user\x20goal\x20and\x20drive\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20(RECOGNIZE→…→COMPLETE)\x20with\x20monitor\x20auto-binding\x20and\x20plan-approval\x20confirm-gate\x20downgrade;\x20also\x20hosts\x20the\x20C1-C4\x20planning\x20pipeline\x20+\x20merchant\x20onboarding\x20wizard.','actions':['create','list','get','approve','advance','pause','complete','abandon','delete','analyze_intent','aggregate_risks','trace_substeps','merchant_guide'],'common_params':{'id':'Goal\x20id\x20(goal_…)\x20—\x20required\x20for\x20get/approve/advance/pause/complete/abandon/delete.','intent_text':'create:\x20raw\x20user\x20intent;\x20goal_type\x20auto-classified\x20(override\x20with\x20goal_type).','account':'create:\x20bind\x20a\x20local\x20account\x20(preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).','stage':'advance:\x20forward-only\x20target\x20stage;\x20\x27paused\x27\x20holds\x20from\x20anywhere.','objects':'advance:\x20ACT-station\x20objects\x20[{type,\x20object}]\x20(deduped).','force':'complete:\x20skip\x20on-chain\x20completion\x20verification\x20(audited\x20as\x20outcome.forced).'},'follow_ups':['monitor_events\x20(goal\x20progress\x20surfaces\x20in\x20the\x20todo\x20stream)','onchain_operations\x20(execute\x20plan\x20steps\x20with\x20env.plan_approval)'],'notes':['Near-duplicate\x20create\x20ADOPTS\x20the\x20active\x20same-type\x20same-account\x20goal\x20(intent\x20Jaccard\x20≥\x200.6)\x20instead\x20of\x20forking.','approve\x20registers\x20a\x20plan\x20approval:\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>\x20auto-pass\x20fail-open\x20ConfirmGate\x20levels\x20(standard/none);\x20fail-closed\x20levels\x20(irreversible/publish/amount)\x20always\x20still\x20ask.','Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20(reason=\x27goal\x27,\x20goal_id-stamped)\x20for\x20the\x20goal\x27s\x20objects;\x20demand\x20goals\x20also\x20open\x20a\x20radar\x20intent.\x20complete/abandon\x20tear\x20down\x20ONLY\x20this\x20goal\x27s\x20bindings.','complete\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20(read-only);\x20force=true\x20bypasses\x20and\x20is\x20audited.','delete\x20removes\x20a\x20terminal\x20goal\x20entirely\x20(record\x20+\x20TaskProcess\x20dir);\x20force=true\x20extends\x20it\x20to\x20non-terminal\x20goals\x20(monitor\x20teardown\x20first).','C1-C4\x20planning\x20pipeline\x20(GLM5-31\x20§V3/V4):\x20analyze_intent\x20(intent\x20→\x20objects\x20+\x20puzzle\x20snapshots)\x20→\x20aggregate_risks\x20(puzzles\x20OR\x20intent\x20→\x20calibrated\x20risks\x20+\x20RISK_BLOCKED\x20status)\x20→\x20trace_substeps\x20(substep\x20records\x20→\x20DAG\x20coherence\x20+\x20D-10\x20verdict);\x20merchant_guide\x20=\x2010-step\x20onboarding\x20wizard\x20(stateless\x20guide_state,\x20never\x20executes\x20on-chain\x20—\x20materialize\x20via\x20onchain_operations).\x20All\x20four\x20are\x20pure\x20transformations.']},{'name':'monitor_events','summary':'Persistent\x20monitor\x20event\x20store\x20(shared\x20with\x20the\x20client\x20Monitor\x20page)\x20—\x20paginated\x20events\x20with\x20read\x20flags;\x20mark\x20read/unread.','actions':['query','mark_read','mark_all_read'],'notes':['Events\x20captured\x20by\x20the\x20resident\x20MonitorLoop\x20(client\x20sidecar,\x20or\x20stdio\x20MCP\x20server\x20with\x20MONITOR_LOOP=1)\x20across\x209\x20modules,\x20stored\x20APPEND-ONLY\x20in\x20SQLite\x20(survives\x20restarts)\x20with\x20per-event\x20read\x20flags.','query\x20=\x20paginated\x20newest-first\x20with\x20module/event_type/since/until\x20filters\x20+\x20module_counts/unread_by_module/total_unread;\x20relevant_only\x20(default\x20true)\x20restricts\x20to\x20scope-closure/focus/filter\x20hits\x20(de-noised\x20todo\x20stream);\x20with_reason\x20attaches\x20the\x20relevance\x20annotation\x20+\x20delivered\x20flag;\x20mark_read\x20=\x20idempotent\x20per-event\x20(\x27<eventSeq>:<txDigest>\x27);\x20mark_all_read\x20=\x20optionally\x20module-scoped.','Cross-process:\x20read\x20state\x20is\x20SHARED\x20with\x20the\x20client\x20app\x20(same\x20SQLite\x20store)\x20—\x20marking\x20read\x20here\x20clears\x20the\x20client\x20Monitor\x20unread\x20badge\x20and\x20vice\x20versa.']},{'name':'monitor_subscription','summary':'Monitor\x20subscription\x20config\x20—\x20scope-closure\x20rules,\x20focus\x20objects,\x20per-type\x20todo\x20switches,\x20conditional\x20filters;\x20scope\x20preview\x20+\x20filter\x20dry-run.','actions':['get','save','reset','scope_preview','test_filter'],'notes':['Single\x20configuration\x20entry\x20point\x20for\x20monitor\x20v4\x20(client\x20settings\x20panel\x20and\x20agents\x20share\x20it);\x20save/reset\x20merge\x20+\x20clamp\x20loop\x20params,\x20then\x20trigger\x20an\x20immediate\x20scope\x20re-resolve\x20and\x20schedule\x20a\x20backfill\x20when\x20the\x20closure\x20changed.','scope_preview\x20lists\x20the\x20resolved\x20closure\x20grouped\x20by\x20layer\x20(accounts/permissions/managed_objects/services/orders/order_children/focus)\x20with\x20pagination\x20—\x20inspect\x20before\x20tuning\x20rule\x20switches.','test_filter\x20dry-runs\x20a\x20filter\x20draft\x20over\x20the\x20most\x20recent\x20captured\x20events\x20(default\x20200,\x20max\x201000)\x20returning\x20matched/scanned\x20counts\x20+\x20up\x20to\x205\x20samples\x20—\x20preview\x20noise\x20BEFORE\x20saving.','Capture\x20is\x20unaffected\x20by\x20delivery\x20switches\x20EXCEPT\x20NewPaymentEvent\x20(captured\x20only\x20when\x20switched\x20ON).']},{'name':'industry_pack_operation','summary':'Industry\x20knowledge\x20pack\x20lifecycle\x20—\x20scaffold\x20(merged\x20v2\x20template),\x20scan/register,\x20layer\x20get,\x20diff,\x20reset-to-template,\x20plus\x20industry-dir\x20file\x20operations\x20and\x20the\x20industry\x20mode\x20registry\x20(GLM6/92\x20§E).','actions':['scaffold','list','scan','resolve','list_files','read_file','write_file','get','diff','reset','delete_file','create_file','create_dir','copy','move','rename','recommend_industry','list_modes','derive_user_mode','evolve_user_mode','register_user_mode','unregister_user_mode','register_custom_metric','register_custom_constraint','list_metrics_constraints'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20+\x20in-memory\x20registry;\x20never\x20mutates\x20chain\x20state.','Merged\x20v2\x20layout:\x20pack.json\x20(annotated\x20with\x20_schema/_doc\x20comment\x20fields\x20+\x20personae)\x20+\x20playbook.md;\x20legacy\x20split-file\x20layouts\x20still\x20read\x20for\x20backward\x20compatibility.','reset\x20restores\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20—\x20user\x20edits\x20beyond\x20the\x20target\x20are\x20preserved.','Mode\x20registry\x20(GLM6/92\x20§E):\x20recommend_industry\x20(top-3\x20similar\x20industries\x20+\x20verified\x20reference\x20examples;\x20optional\x20semantic_ir\x20=\x20caller-normalised\x20language-neutral\x20evidence\x20—\x20traits,\x20domains,\x20numeric\x20claims\x20and\x20a\x20discovery\x20block\x20{industry,\x20tags,\x20product_ref,\x20english_summary,\x20confidence};\x20IR\x20wins\x20conflicts,\x20a\x20discovery\x20industry\x20adds\x20a\x20bounded\x20prior\x20boost,\x20echoed\x20with\x20a\x20digest\x20for\x20replay),\x20list_modes,\x20derive_user_mode\x20(customize\x20a\x20builtin),\x20evolve_user_mode,\x20register_user_mode\x20(fully\x20custom;\x20R-M1-11\x20enforced\x20on\x20machine_shape),\x20unregister_user_mode,\x20register_custom_metric\x20/\x20register_custom_constraint\x20(extend\x20evaluation\x20registries),\x20list_metrics_constraints.']},{'name':'benchmark_migration_operation','summary':'MD\x20industry-archetype\x20templates\x20(hot-loaded\x20from\x20.wowok/industry/<industry>/templates/,\x20'+BUILTIN_TEMPLATES['length']+'\x20built-ins\x20across\x20'+new Set(BUILTIN_TEMPLATES['map'](a=>a['industry']))['size']+'\x20industries)\x20+\x20pre-deploy\x20risk\x20scan\x20+\x20one-click\x20competitor\x20migration\x20(import\x20→\x20review\x20→\x20apply\x20via\x20the\x20merchant-guide\x20pipeline).','actions':['template_list','template_get','template_generate','plan_execute','template_scan','migration_import','migration_review','migration_apply'],'common_params':{'template_id':'Template\x20id\x20\x27<industry>/<variant>\x27\x20(required\x20for\x20template_get\x20/\x20template_generate\x20/\x20template_scan\x20/\x20migration_apply),\x20e.g.\x20\x27retail/scale-marketplace\x27.','industry':'Industry\x20filter\x20for\x20template_list;\x20industry\x20hint\x20for\x20migration_import.','description':'Business/competitor\x20description\x20(required\x20for\x20migration_import;\x20optional\x20intent\x20text\x20for\x20template_generate).','url':'Competitor\x20store/profile\x20URL\x20for\x20migration_import\x20(recorded\x20as\x20provenance\x20only).','fee_overrides':'Template\x20fee-parameter\x20overrides\x20for\x20template_generate.','log':'A\x20prior\x20MigrationLog\x20(required\x20for\x20migration_review).','network':'testnet\x20|\x20mainnet\x20for\x20migration_import\x20/\x20migration_apply\x20(default\x20testnet).','semantic_ir':'Optional\x20caller-normalised\x20evidence\x20(schema_version\x202,\x20version\x201\x20accepted)\x20for\x20migration_import:\x20traits\x20/\x20domains\x20/\x20claims\x20plus\x20a\x20discovery\x20block\x20{industry,\x20tags,\x20product_ref,\x20english_summary,\x20confidence}.\x20Any\x20locale\x20works\x20—\x20the\x20caller\x20LLM\x20translates;\x20tags\x20must\x20come\x20from\x20template_list.discovery_vocabulary,\x20product_ref\x20from\x20its\x20product_refs,\x20and\x20every\x20quote\x20must\x20appear\x20verbatim\x20in\x20`description`\x20(unverifiable\x20evidence\x20is\x20dropped\x20and\x20reported\x20in\x20semantic_ir_issues).'},'notes':['Deterministic\x20knowledge\x20lookups\x20+\x20planning;\x20never\x20mutates\x20chain\x20state\x20on\x20its\x20own\x20—\x20template_generate\x20/\x20migration_apply\x20emit\x20creation\x20plans\x20only.\x20plan_execute\x20is\x20the\x20built-in\x20executor:\x20pass\x20the\x20emitted\x20plan\x20verbatim\x20to\x20materialize\x20every\x20step\x20in\x20one\x20call\x20(chain\x20writes);\x20on\x20a\x20mid-plan\x20failure\x20it\x20reports\x20completed\x20steps\x20+\x20outputs\x20so\x20the\x20retry\x20resumes\x20(completed_steps\x20+\x20previous_outputs)\x20instead\x20of\x20re-running\x20from\x20scratch\x20(duplicate\x20objects).\x20onchain_operations\x20still\x20works\x20for\x20step-by-step\x20runs.','Templates\x20are\x20zod-validated\x20MD\x20files\x20hot-loaded\x20from\x20.wowok/industry/<industry>/templates/\x20(the\x20client\x20industry-drawer\x20tree;\x20root\x20env-overridable\x20via\x20WOWOK_TEMPLATES_DIR);\x20the\x20built-in\x20archetypes\x20are\x20seeded\x20idempotently\x20and\x20user\x20edits\x20are\x20never\x20overwritten.','template_scan\x20runs\x20the\x20pre-deploy\x20risk\x20scan\x20(synthetic\x20draft\x20topology\x20through\x20the\x20same\x20rule\x20surface\x20as\x20on-chain\x20analyze\x20+\x20static\x20R1-R10\x20checks);\x20CRITICAL\x20findings\x20block\x20template_generate\x20/\x20migration_apply.\x20Every\x20scan\x20face\x20also\x20carries\x20a\x20drift\x20field\x20(disk-vs-catalog\x20provenance:\x20state\x20current/modified/missing/untracked,\x20blocked\x20flag,\x20catalog_version)\x20—\x20template_list\x20rows\x20carry\x20the\x20same\x20disk_state\x20per\x20template.','Multilingual\x20discovery\x20(no\x20per-language\x20alias\x20tables):\x20template_list\x20returns\x20discovery_vocabulary\x20{industries,\x20tags,\x20product_refs}\x20—\x20a\x20closed,\x20language-neutral\x20vocabulary\x20derived\x20from\x20the\x20catalog\x20itself;\x20every\x20template\x20row\x20carries\x20its\x20tags.\x20migration_import\x20matches\x20in\x20passes\x20—\x20semantic_ir\x20product_ref\x20(exact,\x20confidence\x201),\x20English\x20text\x20product_ref,\x20semantic_ir\x20tag\x20coverage\x20(>=2\x20hits,\x20or\x201\x20when\x20the\x20IR\x20industry\x20scopes\x20it;\x20capped\x20at\x200.9),\x20English\x20keywords\x20—\x20and\x20the\x20log\x27s\x20template_match\x20reports\x20{source,\x20confidence,\x20matched_tags}.\x20Same\x20template\x20+\x20same\x20confidence\x20regardless\x20of\x20the\x20description\x27s\x20language.','migration_import\x20returns\x20a\x20MigrationLog\x20with\x20mapped\x20/\x20unmapped\x20/\x20manual_review\x20entries,\x20WoWok\x20advantages,\x20customizable\x20business-module\x20ids,\x20a\x20merchant-vs-supplier\x20role\x20assessment,\x20a\x20dry-run\x20risk\x20check\x20and\x20the\x20template_match\x20provenance.','migration_review\x20surfaces\x20counts\x20+\x20risk\x20status\x20for\x20user\x20confirmation\x20before\x20migration_apply.','mainnet\x20requires\x20explicit\x20user\x20confirmation;\x20the\x20default\x20network\x20is\x20testnet.']},{'name':'service_clone_operation','summary':'Clone\x20an\x20on-chain\x20Service\x20into\x20a\x20new\x20object:\x20read\x20the\x20source\x27s\x20full\x20configuration\x20(service\x20fields,\x20machine\x20graph,\x20guards,\x20permission,\x20allocators)\x20into\x20an\x20editable\x20plan,\x20then\x20rebuild\x20it\x20with\x20optional\x20overrides\x20(token\x20type,\x20network,\x20fees)\x20through\x20the\x20pre-publish\x20gate.','actions':['clone_plan','clone_apply'],'common_params':{'source_service':'Source\x20Service\x20name\x20or\x20address\x20(required\x20for\x20clone_plan).','plan':'A\x20prior\x20ClonePlan,\x20possibly\x20user-edited\x20(required\x20for\x20clone_apply).','overrides':'Optional\x20overrides:\x20token_type,\x20network,\x20name,\x20description,\x20location,\x20sales,\x20compensation_fund,\x20order_allocators,\x20guard_mode,\x20include_fund_step.'},'prerequisites':['query_toolkit\x20(locate\x20the\x20source\x20service)'],'follow_ups':['onchain_operations\x20(execute\x20the\x20emitted\x20payloads)'],'notes':['Deterministic\x20planning\x20only;\x20never\x20mutates\x20chain\x20state\x20—\x20clone_apply\x20emits\x20ordered\x20onchain_operations\x20payloads\x20for\x20the\x20caller\x20to\x20execute.','Guard\x20strategy:\x20guards\x20whose\x20table\x20references\x20the\x20source\x20service\x20address\x20are\x20rebuilt\x20(the\x20address\x20is\x20immutable\x20once\x20embedded);\x20others\x20are\x20reused\x20by\x20address.\x20guard_mode=\x27rebuild_all\x27\x20forces\x20a\x20full\x20rebuild.','Cross-network\x20clones\x20force\x20rebuild_all\x20guards,\x20create\x20a\x20fresh\x20Permission,\x20and\x20drop\x20arbitration/reward/repository/um\x20references\x20(addresses\x20are\x20network-bound).','clone_apply\x20runs\x20the\x20same\x20pre-publish\x20gate\x20as\x20onchain_operations\x20(machine\x20topology\x20audit,\x20allocator\x20guard\x20lint,\x20immutability\x20warnings)\x20before\x20emitting\x20payloads.']},{'name':'strategy_review_operation','summary':'Posture-weighted\x20operating\x20scorecard\x20for\x20one\x20(account,\x20industry):\x20collect\x20evidence\x20into\x20append-only\x20local\x20snapshots,\x20assemble\x20periodic\x20reviews\x20with\x20deterministic\x20pricing/posture\x20advice\x20and\x20current-layer-only\x20persona\x20proposals\x20(never\x20auto-applied).','actions':['collect','review','list_snapshots'],'notes':['Chain\x20reads\x20+\x20local\x20SQLite\x20KV\x20snapshots\x20only;\x20never\x20mutates\x20chain\x20state\x20and\x20never\x20writes\x20the\x20persona.','collect\x20gathers\x2013\x20catalog\x20metrics\x20from\x206\x20evidence\x20sources\x20(journey\x20funnel/order\x20flow/market\x20metrics/discovery\x20competitor\x20count/arbitration\x20trust/account\x20attention);\x20source\x20failures\x20degrade\x20metrics\x20to\x20unavailable/error,\x20never\x20zero-filled;\x20snapshot\x20append\x20failure\x20is\x20fail-soft\x20(stored:false).','review\x20does\x20NOT\x20persist:\x20fresh\x20collection\x20+\x20delta\x20against\x20latest\x20stored\x20snapshot;\x200–100\x20score\x20renormalized\x20over\x20available\x20anchored\x20metrics\x20under\x20volume/balanced/margin\x20weights;\x20cadence\x20from\x20the\x20industry\x20catalog\x20(weekly/two-week/monthly);\x20≤2\x20proposals,\x20each\x20target_layer=\x27current\x27\x20with\x20apply_via\x20persona_operation\x20apply\x20—\x20the\x20user\x20must\x20apply\x20explicitly.','Posture\x20resolution:\x20explicit\x20posture\x20arg\x20→\x20merchant\x20posture\x20in\x20the\x20effective\x20persona\x20→\x20balanced.']},{'name':'workspace_operation','summary':'Local\x20workspace\x20directory\x20(`.wowok/workspace`)\x20—\x20generated\x20review\x20files\x20(machine/guard/wts/wip\x20JSON)\x20and\x20user\x20documents:\x20list/read/search/glob/edit/write\x20+\x20file\x20operations.','actions':['resolve','list','read','write','delete','create_file','create_dir','copy','move','rename','search','glob','edit'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20operations\x20confined\x20to\x20the\x20workspace\x20root;\x20never\x20mutates\x20chain\x20state.','read\x20is\x20the\x20supported\x20way\x20to\x20load\x20a\x20generated\x20JSON\x20as\x20AI\x20context\x20before\x20editing/submitting;\x20optional\x20offset/limit\x20line\x20slicing\x20(1-based,\x20max\x202000\x20lines)\x20and\x20encoding=\x27base64\x27\x20for\x20raw\x20bytes\x20(≤10MB).','search:\x20regex\x20content\x20search\x20(pattern;\x20optional\x20path\x20scope,\x20glob\x20basename\x20filter,\x20ignore_case,\x20max_results\x20≤200,\x20context_lines\x20≤5);\x20skips\x20binary-looking\x20and\x20>5MB\x20files.','glob:\x20wildcard\x20listing\x20on\x20workspace-relative\x20paths\x20—\x20\x27**\x27\x20spans\x20directory\x20segments,\x20\x27*\x27\x20stays\x20within\x20one\x20segment,\x20\x27?\x27\x20=\x20one\x20char.','edit:\x20exact\x20string\x20replacement\x20(path\x20+\x20old_string\x20+\x20new_string);\x20errors\x20when\x20old_string\x20is\x20non-unique\x20unless\x20replace_all=true;\x20refuses\x20files\x20>2MB.']},{'name':'workflow_operation','summary':'Local-account\x20workflow\x20view\x20—\x20list\x20active\x20Progress\x20that\x20at\x20least\x20one\x20local\x20account\x20can\x20advance\x20(permission\x20+\x20guard\x20+\x20executable\x20accounts),\x20advance/hold/unhold\x20a\x20forward,\x20and\x20view\x20a\x20progress\x27s\x20on-chain\x20operation\x20history.','actions':['list','operate','history'],'notes':['list:\x20permission-aware\x20—\x20a\x20forward\x20is\x20executable\x20when\x20(a)\x20namedOperator=\x27\x27\x20and\x20account\x20is\x20order\x20holder,\x20(b)\x20namedOperator=name\x20and\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20(c)\x20permissionIndex\x20set\x20and\x20account\x20is\x20in\x20permission.admin/table.','operate:\x20delegates\x20to\x20the\x20on-chain\x20progress\x20operation\x20(guard-aware);\x20op\x20∈\x20next/hold/unhold/adminUnhold.','history:\x20incrementally\x20syncs\x20a\x20progress\x27s\x20ON-CHAIN\x20Progress.history\x20(append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20(only\x20new\x20records\x20pulled),\x20returns\x20the\x20migration\x20timeline\x20newest-first\x20with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20/\x20weight\x20/\x20time);\x20runs\x2090-day\x20retention\x20cleanup\x20by\x20default.']},{'name':'permission_operation','summary':'Local-account\x20Permission\x20overview\x20—\x20list\x20Permissions\x20related\x20to\x20local\x20accounts\x20(via\x20entity_permission\x20index)\x20with\x20owner/admin/entity\x20breakdown\x20+\x20related\x20objects\x20via\x20object-linker\x20indexes.','actions':['list'],'notes':['Read-only;\x20reverse-looks-up\x20local\x20accounts\x20via\x20entity_permission\x20@0xaad,\x20then\x20merges/dedups\x20permissions.','Related\x20objects\x20resolved\x20via\x20object-linker\x20reverse\x20indexes\x20(0xaae\x20core\x20/\x200xaaf\x20tx)\x20binding\x20edges,\x20grouped\x20by\x20type\x20via\x20first-byte\x20address\x20tag.','Latest\x20update\x20time\x20derived\x20from\x20the\x20Permission\x27s\x20previousTransaction.']},{'name':'ask_user','summary':'Structured\x20user\x20elicitation\x20—\x20ask\x20the\x20user\x20to\x20choose\x20between\x202-8\x20concrete\x20options\x20and\x20receive\x20a\x20validated\x20structured\x20answer\x20(MCP\x202.0\x20elicitation\x20/\x20desktop\x20option\x20card).','common_params':{'question':'The\x20single\x20decision\x20needed\x20from\x20the\x20user\x20(1-1000\x20chars).','options':'2-8\x20self-contained\x20{id,label,description?}\x20choices.','recommended_id':'id\x20of\x20the\x20professionally\x20recommended\x20option\x20(optional).','multi_select':'true\x20when\x20options\x20are\x20combinable\x20(boolean\x20toggle\x20per\x20option).','allow_freeform':'true\x20to\x20permit\x20an\x20additional\x20free-text\x20answer.','context':'Optional\x20short\x20explanation\x20of\x20why\x20the\x20decision\x20is\x20needed.'},'notes':['Use\x20when\x20a\x20business\x20decision\x20belongs\x20to\x20the\x20user\x20and\x20continuing\x20requires\x20it;\x20never\x20guess\x20or\x20silently\x20default\x20an\x20unanswered\x20choice.','Desktop\x20clients\x20render\x20an\x20option\x20card;\x20MCP\x202.0\x20transports\x20fulfil\x20via\x20elicitation/create;\x20unsupported\x20clients\x20should\x20fall\x20back\x20to\x20a\x20numbered\x20prose\x20question.','action\x20decline/cancel\x20means\x20STOP\x20and\x20ask\x20how\x20to\x20proceed\x20in\x20plain\x20text\x20—\x20do\x20not\x20execute\x20a\x20default\x20path.','Not\x20a\x20safety\x20confirmation\x20—\x20irreversible/publish/amount\x20gates\x20remain\x20handled\x20by\x20confirm_gate.']}];export function getToolReference(a){return TOOLS_REFERENCE['find'](b=>b['name']===a);}export function searchToolReference(a){const b=a['toLowerCase']();return TOOLS_REFERENCE['filter'](c=>{if(c['name']['toLowerCase']()['includes'](b))return!![];if(c['summary']['toLowerCase']()['includes'](b))return!![];if(c['actions']?.['some'](d=>d['toLowerCase']()['includes'](b)))return!![];return![];});}export function getToolSequence(a){const b=getToolReference(a);if(!b)return undefined;return{'prerequisites':b['prerequisites']??[],'tool':b['name'],'follow_ups':b['follow_ups']??[]};}
1
+ import{BUILTIN_TEMPLATES}from'./builtin-templates.js';export const TOOLS_REFERENCE=[{'name':'onchain_operations','summary':'On-chain\x20object\x20creation,\x20modification,\x20and\x20publish\x20for\x20all\x2016\x20Wowok\x20object\x20types.','actions':['service','machine','guard','permission','reward','arb','progress','treasury','demand','repository','contact','order','allocation','personal','payment','proof','gen_passport','gen_proof'],'common_params':{'operation_type':'Object\x20type\x20to\x20create/modify\x20(string\x20enum).','data':'Operation\x20payload\x20—\x20shape\x20varies\x20by\x20operation_type.','object':'Object\x20name\x20or\x20address\x20(for\x20modify-by-id).','namedNew':'New\x20object\x20spec\x20(name,\x20description,\x20tags)\x20for\x20create.','env':'Execution\x20environment\x20(account,\x20network,\x20gas_budget).'},'prerequisites':['account_operation\x20(for\x20account\x20setup)'],'follow_ups':['query_toolkit\x20(verify\x20result)','local_mark_operation\x20(tag\x20object)'],'notes':['publish=true\x20is\x20irreversible\x20—\x20use\x20confirm_gate.','Service/Machine\x20require\x20publish\x20after\x20create\x20before\x20they\x20are\x20visible\x20on-chain.','Use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20operation\x20schemas.','NETWORK:\x20by\x20default\x20omit\x20env.network\x20—\x20the\x20operation\x20runs\x20on\x20the\x20user\x27s\x20CURRENT\x20network\x20(the\x20app\x27s\x20active\x20selection);\x20the\x20confirmation\x20card\x20echoes\x20the\x20actual\x20network.\x20Never\x20guess\x20or\x20invent\x20a\x20network\x20on\x20your\x20own\x20initiative.','NETWORK\x20SWITCH\x20(explicit\x20user\x20intent\x20only):\x20when\x20the\x20user\x27s\x20request\x20clearly\x20targets\x20a\x20DIFFERENT\x20network\x20(e.g.\x20\x22create\x20this\x20permission\x20on\x20testnet\x22\x20while\x20the\x20app\x20is\x20on\x20mainnet),\x20set\x20env.network\x20to\x20that\x20network\x20in\x20THIS\x20call\x20—\x20the\x20client\x20pops\x20a\x20mandatory\x20network-switch\x20confirmation\x20card;\x20only\x20after\x20the\x20user\x20approves\x20does\x20the\x20call\x20(and\x20the\x20whole\x20app)\x20run\x20on\x20the\x20new\x20network.\x20If\x20the\x20user\x20declines,\x20do\x20NOT\x20retry\x20on\x20that\x20network\x20—\x20continue\x20on\x20the\x20current\x20one.\x20Read-only\x20queries\x20(query_toolkit\x20context_network)\x20never\x20need\x20this\x20—\x20they\x20select\x20a\x20network\x20per\x20call\x20without\x20switching.']},{'name':'account_operation','summary':'Local\x20wallet\x20management\x20—\x20generate,\x20suspend,\x20resume,\x20faucet,\x20sign\x20data.','actions':['gen','resume','suspend','faucet','operate','sign','list','info'],'common_params':{'name':'Account\x20name\x20(local\x20identifier).','network':'mainnet\x20|\x20testnet\x20(determines\x20RPC).'},'prerequisites':[],'follow_ups':['onchain_operations\x20(use\x20account\x20for\x20signing)'],'notes':['100%\x20LOCAL\x20—\x20keys\x20never\x20leave\x20the\x20device.','faucet\x20only\x20works\x20on\x20testnet.']},{'name':'local_mark_operation','summary':'Local\x20address\x20book\x20—\x20map\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20tags.','actions':['add','remove','update','list','query'],'common_params':{'name':'Local\x20name.','address':'Blockchain\x20address.','tags':'Tag\x20array.'},'notes':['100%\x20LOCAL\x20—\x20never\x20on-chain.','Names\x20are\x20accepted\x20by\x20most\x20on-chain\x20query/panorama\x20tools\x20in\x20place\x20of\x20raw\x20addresses.']},{'name':'local_info_operation','summary':'Local\x20private\x20data\x20management\x20—\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.','actions':['add','remove','update','list'],'notes':['100%\x20LOCAL\x20—\x20sensitive\x20data,\x20never\x20on-chain.']},{'name':'local_history_operation','summary':'Local\x20Explorer\x20visit\x20history\x20—\x20recently\x20viewed\x20objects,\x20newest\x20first.','actions':['list\x20(default)','add\x20(upsert\x20by\x20key)','remove\x20(by\x20keys)','clear'],'common_params':{'add':'Record\x20visits:\x20{op:\x27add\x27,\x20data:[{key,\x20address,\x20object_type?,\x20network,\x20time}]}.','remove':'Delete\x20entries:\x20{op:\x27remove\x27,\x20keys:[...]}.','clear':'Erase\x20all\x20history:\x20{op:\x27clear\x27}.'},'notes':['100%\x20LOCAL\x20—\x20visit\x20records\x20never\x20leave\x20the\x20device;\x20display\x20names\x20are\x20never\x20stored\x20(resolved\x20live\x20at\x20render).','Omit\x20every\x20operation\x20field\x20to\x20list\x20history\x20(newest\x20first,\x20auto-pruned\x20to\x20last\x2030\x20days\x20/\x20300\x20entries).','detail\x20visits\x20keep\x20the\x20object\x20type\x20tag;\x20each\x20entry\x20stores\x20the\x20stable\x20object\x20key\x20+\x20canonical\x200x\x20address\x20+\x20network\x20+\x20timestamp.']},{'name':'local_cache_operation','summary':'Device-local\x20SDK\x20read\x20cache\x20—\x20report\x20diagnostics,\x20clear\x20a\x20prefix\x20or\x20everything,\x20re-detect\x20chain\x20identity\x20after\x20a\x20node\x20reset.','actions':['status\x20(read-only)','clear_prefix','clear','refresh_chain_scope'],'common_params':{'status':'Report\x20diagnostics\x20(active\x20chain\x20identity,\x20memory\x20entries,\x20persisted\x20rows):\x20{status:{op:\x27status\x27}}.','clear_prefix':'Drop\x20one\x20cache\x20family:\x20{clear_prefix:{op:\x27clear_prefix\x27,\x20prefix:\x27objectv2\x27}}.','clear':'Drop\x20the\x20whole\x20read\x20cache:\x20{clear:{op:\x27clear\x27}}.','refresh_chain_scope':'Force\x20chain-identity\x20re-detection:\x20{refresh_chain_scope:{op:\x27refresh_chain_scope\x27,\x20network?}}.'},'notes':['100%\x20LOCAL\x20—\x20never\x20on-chain;\x20does\x20NOT\x20touch\x20accounts,\x20marks,\x20info\x20or\x20history\x20(separate\x20stores,\x20separate\x20tools).','USE\x20AFTER\x20A\x20NODE\x20RESET\x20/\x20RESTART,\x20or\x20on\x20\x27object\x200x…\x20version\x200x…\x20is\x20unavailable\x27:\x20the\x20SDK\x20namespaces\x20its\x20cache\x20by\x20chain\x20identity\x20(genesis\x20checkpoint\x20digest),\x20so\x20a\x20reset\x20normally\x20self-heals;\x20refresh_chain_scope\x20forces\x20it\x20when\x20the\x20node\x20was\x20unreachable\x20at\x20startup.','A\x20chain_identity\x20of\x20null\x20in\x20`status`\x20means\x20the\x20cache\x20is\x20NOT\x20reset-safe\x20—\x20run\x20refresh_chain_scope.','Only\x20`status`\x20is\x20read-only;\x20the\x20other\x20sub-ops\x20discard\x20cached\x20reads\x20and\x20re-read\x20from\x20the\x20node\x20next\x20call.']},{'name':'wip_file','summary':'Witness\x20Immutable\x20Promise\x20file\x20operations\x20—\x20generate,\x20verify,\x20sign,\x20convert,\x20and\x20storage\x20(upload/list/delete\x20on\x20the\x20free\x20official\x20store\x20or\x20a\x20custom\x20service).','actions':['generate','verify','sign','wip2html','upload','storage_list','storage_delete'],'notes':['WIP\x20hash\x20must\x20be\x20non-empty\x20—\x20compute\x20actual\x20hash\x20before\x20calling.','Storage\x20decision:\x20storage=\x27store\x27\x20(default)\x20=\x20official\x20FREE\x20store\x20wip.store.wowok.net,\x2010\x20files\x20per\x20account,\x20files\x20retained\x206\x20months\x20(free\x20best-effort\x20service\x20—\x20force\x20majeure\x20excepted;\x20expired\x20files\x20are\x20deleted\x20ONLY\x20by\x20manual\x20admin\x20purge,\x20never\x20automatically);\x20storage=\x27custom\x27\x20+\x20customBaseUrl\x20=\x20your\x20own\x20or\x20a\x20third-party\x20wip\x20storage\x20service\x20(recommended:\x20no\x20store\x20quota,\x20full\x20control).','Network\x20independence:\x20WIP\x20files\x20are\x20off-chain\x20—\x20one\x20upload\x20serves\x20BOTH\x20testnet\x20and\x20mainnet,\x20and\x20storage_list/storage_delete\x20never\x20touch\x20the\x20chain.','Large\x20WIP\x20files\x20(multi-MB,\x20image-heavy)\x20are\x20network-sensitive:\x20compress\x20images\x20before\x20generate,\x20retry\x20transient\x20upload\x20failures,\x20and\x20verify\x20the\x20returned\x20public\x20URL\x20afterwards\x20with\x20type=\x27verify\x27.']},{'name':'messenger_operation','summary':'Encrypted\x20messenger\x20—\x20watch/send\x20messages,\x20WTS,\x20friendslist,\x20blacklist,\x20guardlist.','actions':['watch_conversations','send_message','send_file','send_required_info','watch_messages','save_attachment','generate_wts','verify_wts','sign_wts','wts2html','proof_message','blacklist','friendslist','guardlist','settings','mark_messages_as_viewed','mark_conversation_as_viewed','mark_conversation_read','pull_messages'],'notes':['Requires\x20messenger-enabled\x20account.','30s\x20timeout\x20—\x20network\x20operations.','Attachment\x20messages\x20return\x20byte-free\x20descriptors\x20(msg.attachment;\x20plaintext\x20is\x20undefined).\x20Use\x20save_attachment\x20{messageId}\x20to\x20persist\x20the\x20file\x20(e.g.\x20before\x20verify_wts);\x20bytes\x20are\x20never\x20embedded\x20in\x20message\x20outputs.','send_required_info\x20assembles\x20selected\x20LocalInfo\x20fields\x20into\x20one\x20E2E\x20message\x20(\x27field:\x20value\x27\x20lines)\x20—\x20the\x20dedicated\x20path\x20for\x20delivering\x20customer_required\x20info.','pull_messages\x20supports\x20allAccounts/accounts\x20for\x20one\x20bounded-concurrency\x20fan-out\x20across\x20accounts.','pull_messages\x20{peerAddress,\x20after}\x20is\x20an\x20incremental\x20read:\x20messages\x20with\x20seq\x20(leafIndex)\x20>\x20after,\x20plus\x20highest_seq/has_more\x20and\x20a\x20structured\x20gap\x20when\x20continuity\x20cannot\x20be\x20proven\x20(result.degraded=true).\x20The\x20cursor\x20is\x20caller-owned\x20—\x20watch_messages\x20never\x20advances\x20it.','mark_conversation_read\x20records\x20a\x20per-conversation\x20LOCAL\x20read\x20watermark\x20(monotonic).\x20The\x20network\x20has\x20no\x20receipt\x20primitive,\x20so\x20peer_read_through_seq\x20is\x20null\x20and\x20never\x20represents\x20delivery/read.']},{'name':'guard2file','summary':'Export\x20a\x20Guard\x20object\x27s\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'machineNode2file','summary':'Export\x20a\x20Machine\x20object\x27s\x20node\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'query_toolkit','summary':'Query\x20toolkit\x20covering\x20local\x20device\x20data,\x20on-chain\x20blockchain\x20data,\x20and\x20one-call\x20business-intelligence\x20panoramas/review\x20packs.','actions':['local_mark_list','account_list','local_info_list','local_names','token_list','account_balance','onchain_personal_profile','onchain_objects','onchain_received','onchain_transaction','onchain_block','onchain_object_history','onchain_address_activity','address_profile','address_profiles','migration_preflight','token_value_convert','onchain_last_updated','service_panorama','machine_panorama','object_panorama','review_pack','assemble_context','reverse_map','participation_radar','order_aggregate','onchain_topology'],'notes':['Read-only\x20—\x20safe\x20to\x20call\x20without\x20confirmation.','local_names\x20resolves\x20a\x20batch\x20of\x20addresses\x20to\x20account/local_mark\x20names\x20(canonical\x20name\x20source\x20for\x20display);\x20address_profile(s)\x20is\x20the\x20one-stop\x20\x27who/what\x20is\x20this\x20address\x27\x20query\x20(classification\x20+\x20reputation\x20+\x20memberships\x20+\x20reverse\x20bindings;\x20batch\x20up\x20to\x2050);\x20migration_preflight\x20detects\x20existing\x20builds\x20on\x20another\x20network\x20and\x20returns\x20the\x20testnet→mainnet\x20migration\x20checklist.','BI\x20query\x20types\x20(one-call\x20panoramas):\x20service_panorama\x20(full\x20Service\x20context:\x20workflow\x20graph\x20+\x20guards\x20+\x20trust\x20+\x20supply\x20chain\x20+\x20BusinessReport\x20+\x20recent\x20orders),\x20machine_panorama\x20(head\x20+\x20fields\x20+\x20workflow\x20graph\x20+\x20Progress\x20list),\x20object_panorama\x20(Progress/Demand/Order/Arb/Repository/Proof\x20detail\x20page\x20—\x20a\x20Proof\x20returns\x20its\x20frozen\x20Merkle\x20root\x20and,\x20with\x20wts_file_path,\x20cross-checks\x20a\x20.wts\x20packet\x20against\x20that\x20anchor),\x20review_pack\x20(typed\x20ReviewPack\x20for\x20the\x20client\x27s\x20ReviewPackRenderer),\x20assemble_context\x20(semantic\x20context\x20from\x20on-chain\x20objects),\x20reverse_map\x20(deterministic\x20L4→L1\x20business\x20report\x20—\x20merchant\x20profile\x20/\x20user\x20risk\x20/\x20game\x20theory),\x20participation_radar\x20(in-flight\x20order\x20participation\x20analysis\x20for\x20ONE\x20account),\x20order_aggregate\x20(CROSS-ORDER\x20count\x20+\x20exact\x20amount\x20sums\x20per\x20service/machine/owner\x20from\x20the\x20MCP\x20index\x20projection\x20—\x20the\x20funding-target\x20check\x20(\x273\x20x\x206\x20WOW\x20>=\x2018\x20WOW\x27)\x20the\x20on-chain\x20protocol\x20cannot\x20express;\x20cite\x20the\x20returned\x20coverage\x20watermark\x20with\x20any\x20verdict,\x20and\x20a\x20stale\x20projection\x20refuses\x20loudly).','onchain_topology\x20=\x20graph\x20evaluation\x20of\x20ONE\x20object\x20(trust\x20+\x20risk\x20+\x20completeness\x20+\x20coverage\x20+\x20unverified\x20over\x20its\x20workflow/guard/fund\x20topology)\x20—\x20the\x20unified\x20read-side\x20trust/risk\x20surface;\x20use\x20when\x20the\x20user\x20asks\x20\x27is\x20this\x20service\x20trustworthy?\x27\x20or\x20\x27should\x20I\x20buy?\x27.','FUND-EXIT\x20AUDIT\x20(C-F31):\x20onchain_transaction.object_changes\x20is\x20the\x20full\x20set\x20including\x20removals\x20(deleted/wrapped/unwrapped)\x20—\x20a\x20consumed\x20object\x20(e.g.\x20a\x20CoinWrapper\x20spent\x20by\x20settle)\x20is\x20synthesized\x20from\x20the\x20tx\x20effects\x20when\x20the\x20node\x20omits\x20it\x20(entry\x20carries\x20synthesized=true,\x20no\x20object_type).\x20Every\x20removal\x20is\x20a\x20money/object\x20exit\x20door:\x20trace\x20its\x20contents\x20via\x20balance_changes\x20per-owner\x20deltas.\x20Fallback\x20when\x20an\x20exit\x20still\x20lacks\x20object-level\x20evidence:\x20diff\x20two\x20onchain_received\x20snapshots\x20taken\x20before\x20and\x20after\x20the\x20digest\x20(full-set\x20difference)\x20—\x20this\x20recovers\x20the\x20truth\x20even\x20when\x20the\x20tx\x20emitted\x20no\x20events.','REVIEW\x20SIGNAL\x20GLOSSARY\x20(three\x20layers,\x20never\x20mix):\x20(1)\x20Order\x20review\x20=\x20Repository\x20\x27review\x27\x20key\x20rows,\x20written\x20under\x20the\x20reviewed-edge\x20guard\x20so\x20only\x20completed-order\x20buyers\x20qualify\x20—\x20the\x20ONLY\x20face\x20market\x20exposure\x20consumes.\x20(2)\x20Account-level\x20vote\x20=\x20registrar\x20like/dislike/favor\x20on\x20an\x20Entity\x20(entity_linker\x20votes[])\x20—\x20an\x20account-level\x20signal,\x20NOT\x20the\x20order\x20review\x20channel;\x20show\x20only\x20as\x20auxiliary\x20display\x20with\x20the\x20voter-credibility\x20projection\x20(AC5\x20fresh-account\x20bursts\x20/\x20AC6\x20mutual\x20rings\x20/\x20AC7\x20flooded\x20targets).\x20(3)\x20Demand-side\x20feedback\x20=\x20DemandPresenter\x20acceptance_score\x20(0-100,\x20null\x20=\x20unrated)\x20—\x20the\x20demander\x27s\x20own\x20judgment\x20of\x20presenters,\x20consumed\x20via\x20O4\x20due-diligence\x20projection;\x20sparse\x20by\x20nature,\x20never\x20weighted\x20by\x20the\x20platform.']},{'name':'onchain_table_data','summary':'Dynamic\x20table\x20data\x20queries\x20—\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.','actions':['onchain_table','onchain_table_item_repository_data','onchain_table_item_permission_perm','onchain_table_item_entity_registrar','onchain_table_item_entity_linker','onchain_table_item_entity_contact','onchain_table_item_object_linker_core','onchain_table_item_object_linker_tx','onchain_table_item_reward_record','onchain_table_item_demand_presenter','onchain_table_item_treasury_history','onchain_table_item_machine_node','onchain_table_item_progress_history','onchain_table_item_address_mark','onchain_table_item_entity_order','onchain_orders_of_user','onchain_orders_of_users','onchain_affiliations_of_object','onchain_table_item_generic'],'notes':['Read-only\x20—\x20safe\x20for\x20exploration.','object_linker\x20core\x20(0xaae)\x20=\x20default\x20reverse\x20lookup\x20(bounded\x20core\x20objects);\x20object_linker\x20tx\x20(0xaaf)\x20=\x20operational\x20reverse\x20lookup\x20(orders/progress,\x20lossy\x20FIFO).','entity_order\x20(0xaa8)\x20=\x20global\x20entity->orders\x20reverse\x20index;\x20onchain_orders_of_user\x20resolves\x20each\x20order\x20to\x20its\x20full\x20on-chain\x20Order\x20object\x20with\x20role\x20attributes\x20(is_owner/is_agent).']},{'name':'onchain_events','summary':'Watch\x20on-chain\x20events\x20by\x20type\x20—\x20arbitration,\x20order,\x20progress,\x20demand,\x20entity.','notes':['Read-only\x20—\x20use\x20cursor\x20for\x20pagination.']},{'name':'wowok_buildin_info','summary':'Protocol\x20info\x20—\x20constants,\x20built-in\x20permissions,\x20common\x20mistakes,\x20guard\x20instructions,\x20network,\x20value\x20types,\x20bridge\x20tokens.','actions':['constants','built-in\x20permissions','common\x20mistakes','guard\x20instructions','current\x20network','value\x20types','mainnet\x20bridge\x20tokens'],'notes':['Read-only\x20—\x20authoritative\x20protocol\x20reference.','Use\x20\x27common\x20mistakes\x27\x20before\x20submitting\x20an\x20operation\x20to\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls.']},{'name':'schema_query','summary':'Look\x20up\x20JSON\x20Schemas\x20for\x20MCP\x20tools\x20and\x20on-chain\x20operations\x20—\x20the\x20authoritative\x20reference.\x20Also\x20serves\x20sunk\x20knowledge:\x20tool\x20reference,\x20Guard\x20design\x20patterns,\x20safety\x20rules.','actions':['list','get','get_output','get_field','search','list_operations','get_guard_templates','get_tool_reference','get_guard_design_patterns','get_safety_rules'],'notes':['Always\x20check\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.','get_field\x20takes\x20a\x20dot-path\x20(field_path)\x20for\x20single-field\x20lookup.','get_tool_reference/get_guard_design_patterns/get_safety_rules\x20expose\x20the\x20knowledge\x20sunk\x20from\x20the\x20wowok-tools/guard/safety\x20skills\x20—\x20no\x20skills\x20installation\x20required.']},{'name':'bridge_operation','summary':'Cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Mainnet\x20only.','actions':['cross_chain_wow_to_evm','cross_chain_evm_to_wow','withdraw','query_active_evm_account','query_supported_evm_chains','query_supported_tokens','query_transfer_list','query_transfer_status','manage_evm_rpc'],'notes':['Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.']},{'name':'config_operation','summary':'Runtime\x20service\x20toggles\x20—\x20enable/disable\x20Phase\x202\x20services\x20without\x20restart.','actions':['list','toggle','enable','disable','reset','info','store_dual_payout_get','store_dual_payout_set','store_dual_payout_clear'],'notes':['GLM5:\x20harness\x20is\x20default\x20ON\x20with\x20tiered\x20enforcement\x20(off/lightweight/full).','D-1\x20(ksr\x205R-08):\x20store_dual_payout_get/set/clear\x20maintain\x20a\x20per-account\x20dual-payout\x20preauthorization\x20ledger\x20(store-policies.json).\x20The\x20set\x20action\x20REQUIRES\x20confirm:true\x20(HUMAN\x20record,\x20never\x20settable\x20by\x20an\x20automated\x20keeper);\x20the\x20dual-payout\x20gates\x20in\x20onchain_operations\x20(allocation\x20alloc_by_guard\x20+\x20order\x20arb_claim_compensation\x20with\x20acknowledge_dual_payout)\x20refuse\x20with\x20dual_payout_preauthorization_required\x20unless\x20the\x20executing\x20store\x27s\x20account\x20is\x20preauthorized.\x20Recipe:\x20store_dual_payout_set\x20{account,\x20confirm:true}\x20once\x20→\x20the\x20acknowledge_dual_payout\x20calls\x20then\x20pass\x20the\x20gate.']},{'name':'evaluation_operation','summary':'Pluggable\x20business\x20evaluations\x20—\x20match\x20/\x20compose\x20/\x20game\x20(node\x20+\x20path)\x20/\x20evidence\x20review\x20/\x20discovery\x20/\x20market\x20/\x20arbitration\x20score\x20with\x20user\x20injection.','actions':['demand_match','service_match','capability_gap','compose_service','compose_generation','node_game','arb_game','path_reasoning','evidence_review','discover_services','discover_demands','market_metrics','market_operations','anti_cheat','match_discover','arbitration_score','account_events'],'notes':['Read-only;\x20the\x20role\x20decides\x20and\x20acts\x20via\x20onchain_operations.','path_reasoning\x20=\x20path-level\x20game\x20(full-route\x20enumeration\x20+\x20ranking);\x20node_game\x20=\x20single-node\x20best\x20move.','evidence_review\x20=\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass/auto_reject/manual_review).','discover_services\x20=\x20active\x20supply\x20discovery\x20(GraphQL\x20transport\x20required):\x20enumerate\x20all\x20shared\x20Services,\x20location-gate\x20by\x20sensitivity\x20(strict/near/logistics),\x20ranked\x20+\x20consent-gated\x20scope\x20expansion.\x20Passive\x20side\x20=\x20post\x20a\x20Demand\x20(DemandPresenter).','match_discover\x20=\x20one-shot\x20intent→service\x20orchestration\x20(enumerate\x20+\x20location\x20gate\x20+\x206-dimension\x20scoring);\x20discover_demands\x20=\x20supplier-side\x20demand\x20enumeration;\x20market_metrics/market_operations\x20=\x20market\x20measurement\x20(GraphQL\x20required).','arbitration_score\x20=\x20dual-perspective\x20arbitration\x20trust\x20(user-trust\x20+\x20merchant-fairness,\x20combined\x200-100);\x20anti_cheat\x20=\x20fake-review/wash-order\x20detection;\x20account_events\x20=\x20account\x20attention\x20feed\x20(read-only).']},{'name':'watch_operation','summary':'Identity-centric\x20on-chain\x20console\x20—\x20resolve\x20who\x20the\x20account\x20is\x20against\x20an\x20object,\x20expand\x20its\x20relations,\x20and\x20enumerate\x20actionable\x20operations.','actions':['focus','expand','actions'],'notes':['Read-only;\x20distinct\x20from\x20query_toolkit\x20/\x20onchain_table_data\x20(pure\x20data,\x20no\x20identity).','focus\x20=\x20identity\x20resolution\x20(manifest\x20on-chain\x20role\x20⊕\x20persona)\x20+\x20base\x20data;\x20neutral\x20→\x20objective\x20narration,\x20operative\x20role\x20→\x20game\x20reasoning.','expand\x20=\x20direct\x20relations\x20+\x20Service\x20transparent\x20sub-order\x20purchasing\x20graph\x20(frozen\x20forward\x20guards\x20→\x20purchased\x20sub-services\x20+\x20proofs).','actions\x20=\x20actionable\x20operations\x20with\x20executability\x20judgment\x20(order-holder\x20/\x20permission-index\x20/\x20named-operator\x20paths).']},{'name':'persona_operation','summary':'User\x20identity\x20setting\x20(persona)\x20—\x20preferences,\x20strategy,\x20rules,\x20spec;\x20long-term\x20+\x20current\x20layers\x20+\x20strategy→lever\x20mapping\x20+\x20region\x20hint.','actions':['get','list','set','analyze','apply','sync','remove','strategy','region_hint','distill'],'notes':['Read/write\x20local\x20state;\x20account\x20persona\x20overrides\x20system;\x20current\x20overrides\x20long-term.','strategy\x20resolves\x20merchant\x20strategy\x20statements\x20into\x20deterministic\x20infrastructure\x20levers\x20(discount/reward/buy_guard/machine_design).','region_hint\x20reads\x20the\x20local\x20delivery\x20address\x20as\x20a\x20matching\x20hint;\x20`propose`\x20returns\x20a\x20consent-gated\x20save\x20proposal\x20(never\x20auto-writes).','distill\x20turns\x20one\x20goal\x27s\x20memory\x20(outcome,\x20process\x20problems/feedback,\x20objects)\x20into\x20a\x20CURRENT-layer\x20proposal\x20—\x20never\x20auto-writes;\x20persist\x20via\x20set/apply\x20after\x20user\x20confirmation.\x20Industry\x20pack.json\x20files\x20are\x20read-only\x20knowledge\x20and\x20never\x20receive\x20user\x20data.']},{'name':'employee_operation','summary':'Merchant\x20employee\x20organizational\x20profile\x20(LOCAL)\x20+\x20reaction\x20KPI\x20+\x20liability\x20resolution\x20+\x20incentive\x20suggestion.','actions':['set','get','remove','assess_kpi','resolve_liability','suggest_incentive'],'notes':['LOCAL\x20ONLY\x20—\x20on-chain\x20authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).','assess_kpi:\x20node\x20reaction\x20speed\x20vs\x20budget\x20(explicit\x20>\x20stored\x20profile\x20>\x2048h\x20default).\x20Timestamps\x20explicit\x20OR\x20auto-derived\x20from\x20the\x20progress\x20object\x27s\x20monitored\x20ProgressEvents\x20via\x20`progress`;\x20explicit\x20values\x20override\x20derived.','resolve_liability:\x20internal\x20cost\x20split\x20(merchant/employee,\x20hybrid\x20threshold);\x20outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s;\x20order\x20user\x20must\x20be\x20compensated\x20before\x20the\x20workflow\x20resumes.','suggest_incentive:\x20KPIs\x20+\x20WIP\x20acceptance\x20+\x20liability\x20→\x20Reward\x20suggestion\x20(reward_grant/compensation_offset/correction_notice/none).\x20Suggestion\x20ONLY\x20—\x20merchant\x20confirms\x20and\x20executes\x20the\x20on-chain\x20ops\x20separately.']},{'name':'keeper_operation','summary':'Who-benefits-who-pushes\x20keeper:\x20scans\x20the\x20monitor\x20scope\x20for\x20actionable\x20state\x20(unclaimed\x20payments,\x20advanceable\x20workflow\x20nodes,\x20unsettled\x20escrow\x20pools),\x20routes\x20tasks\x20to\x20beneficiaries;\x20manual\x20dismiss/execute\x20+\x20standing\x20auto-execute\x20rules.','actions':['tasks','dismiss','execute','rules','rule_set','rule_remove','config','config_set','scan','status'],'notes':['The\x20chain\x20has\x20NO\x20time-triggered\x20execution\x20—\x20the\x20keeper\x20scans\x20on\x20the\x20monitor\x20loop\x20cadence\x20and\x20surfaces\x20tasks\x20to\x20their\x20beneficiary.','execute\x20runs\x20the\x20on-chain\x20op\x20for\x20one\x20task\x20(user\x20decision);\x20rule_set\x20authorizes\x20auto-execution\x20per\x20detector\x20kind\x20(bounded\x20by\x20config\x20budget/cooldown).','Detectors\x20v1:\x20payment_unclaimed\x20(funds\x20sitting\x20claimable),\x20progress_actionable\x20(a\x20workflow\x20node\x20the\x20beneficiary\x20can\x20advance),\x20settlement_pending\x20(an\x20order\x20on\x20a\x20terminal\x20node\x20whose\x20Allocation\x20pool\x20still\x20holds\x20balance\x20and\x20has\x20emitted\x20no\x20Payment\x20—\x20the\x20escrow\x20is\x20frozen\x20until\x20SOMEONE\x20fires\x20the\x20matching\x20guard).','MANUAL\x20SETTLEMENT\x20(base\x20cognition):\x20a\x20completed/refunded\x20order\x20does\x20NOT\x20release\x20funds\x20by\x20itself.\x20The\x20pool\x20drains\x20only\x20when\x20an\x20account\x20executes\x20allocation_operation\x20alloc_by_guard\x20with\x20a\x20guard\x20that\x20satisfies\x20the\x20allocator.\x20The\x20chain\x20never\x20auto-settles\x20(the\x20on-chain\x20allocation\x20has\x20no\x20frequency/expiry\x20trigger).\x20So\x20\x27completed\x20≠\x20paid\x20out\x27:\x20if\x20a\x20terminal\x20order\x27s\x20pool\x20still\x20has\x20balance,\x20the\x20settlement_pending\x20task\x20is\x20the\x20signal\x20—\x20the\x20merchant\x20(completion\x20terminal)\x20or\x20the\x20buyer\x20(refund\x20terminal)\x20must\x20trigger\x20the\x20guard,\x20then\x20recipients\x20claim\x20their\x20CoinWrappers\x20via\x20payment\x20receive.','settlement_pending\x20and\x20progress_actionable\x20are\x20reminder-only\x20(never\x20auto-executed):\x20triggering\x20a\x20guard\x20releases\x20funds\x20to\x20counterparties\x20and\x20the\x20guard\x20semantics\x20must\x20be\x20reviewed\x20by\x20the\x20beneficiary\x20before\x20spending\x20gas.\x20Only\x20payment_unclaimed\x20(claim-to-self)\x20may\x20carry\x20an\x20auto_execute\x20rule.']},{'name':'intent_radar','summary':'User\x20business\x20intent\x20×\x20chain\x20event\x20matching\x20—\x20persist\x20intents,\x20score\x20events\x20against\x20them.','actions':['save','list','remove','match'],'notes':['Read-only\x20w.r.t.\x20chain;\x20industry/keywords\x20resolved\x20once\x20at\x20save;\x20events\x20supplied\x20or\x20auto-pulled.']},{'name':'goal_operation','summary':'GoalEngine\x20(K3\x2024)\x20—\x20record\x20a\x20user\x20goal\x20and\x20drive\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20(RECOGNIZE→…→COMPLETE)\x20with\x20monitor\x20auto-binding\x20and\x20plan-approval\x20confirm-gate\x20downgrade;\x20also\x20hosts\x20the\x20C1-C4\x20planning\x20pipeline\x20+\x20merchant\x20onboarding\x20wizard.','actions':['create','list','get','approve','advance','pause','complete','abandon','delete','analyze_intent','aggregate_risks','trace_substeps','merchant_guide'],'common_params':{'id':'Goal\x20id\x20(goal_…)\x20—\x20required\x20for\x20get/approve/advance/pause/complete/abandon/delete.','intent_text':'create:\x20raw\x20user\x20intent;\x20goal_type\x20auto-classified\x20(override\x20with\x20goal_type).','account':'create:\x20bind\x20a\x20local\x20account\x20(preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).','stage':'advance:\x20forward-only\x20target\x20stage;\x20\x27paused\x27\x20holds\x20from\x20anywhere.','objects':'advance:\x20ACT-station\x20objects\x20[{type,\x20object}]\x20(deduped).','force':'complete:\x20skip\x20on-chain\x20completion\x20verification\x20(audited\x20as\x20outcome.forced).'},'follow_ups':['monitor_events\x20(goal\x20progress\x20surfaces\x20in\x20the\x20todo\x20stream)','onchain_operations\x20(execute\x20plan\x20steps\x20with\x20env.plan_approval)'],'notes':['Near-duplicate\x20create\x20ADOPTS\x20the\x20active\x20same-type\x20same-account\x20goal\x20(intent\x20Jaccard\x20≥\x200.6)\x20instead\x20of\x20forking.','approve\x20registers\x20a\x20plan\x20approval:\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>\x20auto-pass\x20fail-open\x20ConfirmGate\x20levels\x20(standard/none);\x20fail-closed\x20levels\x20(irreversible/publish/amount)\x20always\x20still\x20ask.','Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20(reason=\x27goal\x27,\x20goal_id-stamped)\x20for\x20the\x20goal\x27s\x20objects;\x20demand\x20goals\x20also\x20open\x20a\x20radar\x20intent.\x20complete/abandon\x20tear\x20down\x20ONLY\x20this\x20goal\x27s\x20bindings.','complete\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20(read-only);\x20force=true\x20bypasses\x20and\x20is\x20audited.','delete\x20removes\x20a\x20terminal\x20goal\x20entirely\x20(record\x20+\x20TaskProcess\x20dir);\x20force=true\x20extends\x20it\x20to\x20non-terminal\x20goals\x20(monitor\x20teardown\x20first).','C1-C4\x20planning\x20pipeline\x20(GLM5-31\x20§V3/V4):\x20analyze_intent\x20(intent\x20→\x20objects\x20+\x20puzzle\x20snapshots)\x20→\x20aggregate_risks\x20(puzzles\x20OR\x20intent\x20→\x20calibrated\x20risks\x20+\x20RISK_BLOCKED\x20status)\x20→\x20trace_substeps\x20(substep\x20records\x20→\x20DAG\x20coherence\x20+\x20D-10\x20verdict);\x20merchant_guide\x20=\x2010-step\x20onboarding\x20wizard\x20(stateless\x20guide_state,\x20never\x20executes\x20on-chain\x20—\x20materialize\x20via\x20onchain_operations).\x20All\x20four\x20are\x20pure\x20transformations.']},{'name':'monitor_events','summary':'Persistent\x20monitor\x20event\x20store\x20(shared\x20with\x20the\x20client\x20Monitor\x20page)\x20—\x20paginated\x20events\x20with\x20read\x20flags;\x20mark\x20read/unread.','actions':['query','mark_read','mark_all_read'],'notes':['Events\x20captured\x20by\x20the\x20resident\x20MonitorLoop\x20(client\x20sidecar,\x20or\x20stdio\x20MCP\x20server\x20with\x20MONITOR_LOOP=1)\x20across\x209\x20modules,\x20stored\x20APPEND-ONLY\x20in\x20SQLite\x20(survives\x20restarts)\x20with\x20per-event\x20read\x20flags.','query\x20=\x20paginated\x20newest-first\x20with\x20module/event_type/since/until\x20filters\x20+\x20module_counts/unread_by_module/total_unread;\x20relevant_only\x20(default\x20true)\x20restricts\x20to\x20scope-closure/focus/filter\x20hits\x20(de-noised\x20todo\x20stream);\x20with_reason\x20attaches\x20the\x20relevance\x20annotation\x20+\x20delivered\x20flag;\x20mark_read\x20=\x20idempotent\x20per-event\x20(\x27<eventSeq>:<txDigest>\x27);\x20mark_all_read\x20=\x20optionally\x20module-scoped.','Cross-process:\x20read\x20state\x20is\x20SHARED\x20with\x20the\x20client\x20app\x20(same\x20SQLite\x20store)\x20—\x20marking\x20read\x20here\x20clears\x20the\x20client\x20Monitor\x20unread\x20badge\x20and\x20vice\x20versa.']},{'name':'monitor_subscription','summary':'Monitor\x20subscription\x20config\x20—\x20scope-closure\x20rules,\x20focus\x20objects,\x20per-type\x20todo\x20switches,\x20conditional\x20filters;\x20scope\x20preview\x20+\x20filter\x20dry-run.','actions':['get','save','reset','scope_preview','test_filter'],'notes':['Single\x20configuration\x20entry\x20point\x20for\x20monitor\x20v4\x20(client\x20settings\x20panel\x20and\x20agents\x20share\x20it);\x20save/reset\x20merge\x20+\x20clamp\x20loop\x20params,\x20then\x20trigger\x20an\x20immediate\x20scope\x20re-resolve\x20and\x20schedule\x20a\x20backfill\x20when\x20the\x20closure\x20changed.','scope_preview\x20lists\x20the\x20resolved\x20closure\x20grouped\x20by\x20layer\x20(accounts/permissions/managed_objects/services/orders/order_children/focus)\x20with\x20pagination\x20—\x20inspect\x20before\x20tuning\x20rule\x20switches.','test_filter\x20dry-runs\x20a\x20filter\x20draft\x20over\x20the\x20most\x20recent\x20captured\x20events\x20(default\x20200,\x20max\x201000)\x20returning\x20matched/scanned\x20counts\x20+\x20up\x20to\x205\x20samples\x20—\x20preview\x20noise\x20BEFORE\x20saving.','Capture\x20is\x20unaffected\x20by\x20delivery\x20switches\x20EXCEPT\x20NewPaymentEvent\x20(captured\x20only\x20when\x20switched\x20ON).']},{'name':'industry_pack_operation','summary':'Industry\x20knowledge\x20pack\x20lifecycle\x20—\x20scaffold\x20(merged\x20v2\x20template),\x20scan/register,\x20layer\x20get,\x20diff,\x20reset-to-template,\x20plus\x20industry-dir\x20file\x20operations\x20and\x20the\x20industry\x20mode\x20registry\x20(GLM6/92\x20§E).','actions':['scaffold','list','scan','resolve','list_files','read_file','write_file','get','diff','reset','delete_file','create_file','create_dir','copy','move','rename','recommend_industry','list_modes','derive_user_mode','evolve_user_mode','register_user_mode','unregister_user_mode','register_custom_metric','register_custom_constraint','list_metrics_constraints'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20+\x20in-memory\x20registry;\x20never\x20mutates\x20chain\x20state.','Merged\x20v2\x20layout:\x20pack.json\x20(annotated\x20with\x20_schema/_doc\x20comment\x20fields\x20+\x20personae)\x20+\x20playbook.md;\x20legacy\x20split-file\x20layouts\x20still\x20read\x20for\x20backward\x20compatibility.','reset\x20restores\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20—\x20user\x20edits\x20beyond\x20the\x20target\x20are\x20preserved.','Mode\x20registry\x20(GLM6/92\x20§E):\x20recommend_industry\x20(top-3\x20similar\x20industries\x20+\x20verified\x20reference\x20examples;\x20optional\x20semantic_ir\x20=\x20caller-normalised\x20language-neutral\x20evidence\x20—\x20traits,\x20domains,\x20numeric\x20claims\x20and\x20a\x20discovery\x20block\x20{industry,\x20tags,\x20product_ref,\x20english_summary,\x20confidence};\x20IR\x20wins\x20conflicts,\x20a\x20discovery\x20industry\x20adds\x20a\x20bounded\x20prior\x20boost,\x20echoed\x20with\x20a\x20digest\x20for\x20replay),\x20list_modes,\x20derive_user_mode\x20(customize\x20a\x20builtin),\x20evolve_user_mode,\x20register_user_mode\x20(fully\x20custom;\x20R-M1-11\x20enforced\x20on\x20machine_shape),\x20unregister_user_mode,\x20register_custom_metric\x20/\x20register_custom_constraint\x20(extend\x20evaluation\x20registries),\x20list_metrics_constraints.']},{'name':'benchmark_migration_operation','summary':'MD\x20industry-archetype\x20templates\x20(hot-loaded\x20from\x20.wowok/industry/<industry>/templates/,\x20'+BUILTIN_TEMPLATES['length']+'\x20built-ins\x20across\x20'+new Set(BUILTIN_TEMPLATES['map'](a=>a['industry']))['size']+'\x20industries)\x20+\x20pre-deploy\x20risk\x20scan\x20+\x20one-click\x20competitor\x20migration\x20(import\x20→\x20review\x20→\x20apply\x20via\x20the\x20merchant-guide\x20pipeline).','actions':['template_list','template_get','template_generate','plan_execute','template_scan','migration_import','migration_review','migration_apply'],'common_params':{'template_id':'Template\x20id\x20\x27<industry>/<variant>\x27\x20(required\x20for\x20template_get\x20/\x20template_generate\x20/\x20template_scan\x20/\x20migration_apply),\x20e.g.\x20\x27retail/scale-marketplace\x27.','industry':'Industry\x20filter\x20for\x20template_list;\x20industry\x20hint\x20for\x20migration_import.','description':'Business/competitor\x20description\x20(required\x20for\x20migration_import;\x20optional\x20intent\x20text\x20for\x20template_generate).','url':'Competitor\x20store/profile\x20URL\x20for\x20migration_import\x20(recorded\x20as\x20provenance\x20only).','fee_overrides':'Template\x20fee-parameter\x20overrides\x20for\x20template_generate.','log':'A\x20prior\x20MigrationLog\x20(required\x20for\x20migration_review).','network':'testnet\x20|\x20mainnet\x20for\x20migration_import\x20/\x20migration_apply\x20(default\x20testnet).','semantic_ir':'Optional\x20caller-normalised\x20evidence\x20(schema_version\x202,\x20version\x201\x20accepted)\x20for\x20migration_import:\x20traits\x20/\x20domains\x20/\x20claims\x20plus\x20a\x20discovery\x20block\x20{industry,\x20tags,\x20product_ref,\x20english_summary,\x20confidence}.\x20Any\x20locale\x20works\x20—\x20the\x20caller\x20LLM\x20translates;\x20tags\x20must\x20come\x20from\x20template_list.discovery_vocabulary,\x20product_ref\x20from\x20its\x20product_refs,\x20and\x20every\x20quote\x20must\x20appear\x20verbatim\x20in\x20`description`\x20(unverifiable\x20evidence\x20is\x20dropped\x20and\x20reported\x20in\x20semantic_ir_issues).'},'notes':['Deterministic\x20knowledge\x20lookups\x20+\x20planning;\x20never\x20mutates\x20chain\x20state\x20on\x20its\x20own\x20—\x20template_generate\x20/\x20migration_apply\x20emit\x20creation\x20plans\x20only.\x20plan_execute\x20is\x20the\x20built-in\x20executor:\x20pass\x20the\x20emitted\x20plan\x20verbatim\x20to\x20materialize\x20every\x20step\x20in\x20one\x20call\x20(chain\x20writes);\x20on\x20a\x20mid-plan\x20failure\x20it\x20reports\x20completed\x20steps\x20+\x20outputs\x20so\x20the\x20retry\x20resumes\x20(completed_steps\x20+\x20previous_outputs)\x20instead\x20of\x20re-running\x20from\x20scratch\x20(duplicate\x20objects).\x20onchain_operations\x20still\x20works\x20for\x20step-by-step\x20runs.','Templates\x20are\x20zod-validated\x20MD\x20files\x20hot-loaded\x20from\x20.wowok/industry/<industry>/templates/\x20(the\x20client\x20industry-drawer\x20tree;\x20root\x20env-overridable\x20via\x20WOWOK_TEMPLATES_DIR);\x20the\x20built-in\x20archetypes\x20are\x20seeded\x20idempotently\x20and\x20user\x20edits\x20are\x20never\x20overwritten.','template_scan\x20runs\x20the\x20pre-deploy\x20risk\x20scan\x20(synthetic\x20draft\x20topology\x20through\x20the\x20same\x20rule\x20surface\x20as\x20on-chain\x20analyze\x20+\x20static\x20R1-R10\x20checks);\x20CRITICAL\x20findings\x20block\x20template_generate\x20/\x20migration_apply.\x20Every\x20scan\x20face\x20also\x20carries\x20a\x20drift\x20field\x20(disk-vs-catalog\x20provenance:\x20state\x20current/modified/missing/untracked,\x20blocked\x20flag,\x20catalog_version)\x20—\x20template_list\x20rows\x20carry\x20the\x20same\x20disk_state\x20per\x20template.','Multilingual\x20discovery\x20(no\x20per-language\x20alias\x20tables):\x20template_list\x20returns\x20discovery_vocabulary\x20{industries,\x20tags,\x20product_refs}\x20—\x20a\x20closed,\x20language-neutral\x20vocabulary\x20derived\x20from\x20the\x20catalog\x20itself;\x20every\x20template\x20row\x20carries\x20its\x20tags.\x20migration_import\x20matches\x20in\x20passes\x20—\x20semantic_ir\x20product_ref\x20(exact,\x20confidence\x201),\x20English\x20text\x20product_ref,\x20semantic_ir\x20tag\x20coverage\x20(>=2\x20hits,\x20or\x201\x20when\x20the\x20IR\x20industry\x20scopes\x20it;\x20capped\x20at\x200.9),\x20English\x20keywords\x20—\x20and\x20the\x20log\x27s\x20template_match\x20reports\x20{source,\x20confidence,\x20matched_tags}.\x20Same\x20template\x20+\x20same\x20confidence\x20regardless\x20of\x20the\x20description\x27s\x20language.','migration_import\x20returns\x20a\x20MigrationLog\x20with\x20mapped\x20/\x20unmapped\x20/\x20manual_review\x20entries,\x20WoWok\x20advantages,\x20customizable\x20business-module\x20ids,\x20a\x20merchant-vs-supplier\x20role\x20assessment,\x20a\x20dry-run\x20risk\x20check\x20and\x20the\x20template_match\x20provenance.','migration_review\x20surfaces\x20counts\x20+\x20risk\x20status\x20+\x20the\x20compile-kernel\x20build\x20verdict\x20(buildable\x20/\x20build_blockers\x20on\x20probe\x20inputs,\x20S14-E2)\x20for\x20user\x20confirmation\x20before\x20migration_apply\x20—\x20a\x20template\x20the\x20compiler\x20refuses\x20never\x20reads\x20\x27Review\x20clean\x27.','mainnet\x20requires\x20explicit\x20user\x20confirmation;\x20the\x20default\x20network\x20is\x20testnet.']},{'name':'service_clone_operation','summary':'Clone\x20an\x20on-chain\x20Service\x20into\x20a\x20new\x20object:\x20read\x20the\x20source\x27s\x20full\x20configuration\x20(service\x20fields,\x20machine\x20graph,\x20guards,\x20permission,\x20allocators)\x20into\x20an\x20editable\x20plan,\x20then\x20rebuild\x20it\x20with\x20optional\x20overrides\x20(token\x20type,\x20network,\x20fees)\x20through\x20the\x20pre-publish\x20gate.','actions':['clone_plan','clone_apply'],'common_params':{'source_service':'Source\x20Service\x20name\x20or\x20address\x20(required\x20for\x20clone_plan).','plan':'A\x20prior\x20ClonePlan,\x20possibly\x20user-edited\x20(required\x20for\x20clone_apply).','overrides':'Optional\x20overrides:\x20token_type,\x20network,\x20name,\x20description,\x20location,\x20sales,\x20compensation_fund,\x20order_allocators,\x20guard_mode,\x20include_fund_step.'},'prerequisites':['query_toolkit\x20(locate\x20the\x20source\x20service)'],'follow_ups':['onchain_operations\x20(execute\x20the\x20emitted\x20payloads)'],'notes':['Deterministic\x20planning\x20only;\x20never\x20mutates\x20chain\x20state\x20—\x20clone_apply\x20emits\x20ordered\x20onchain_operations\x20payloads\x20for\x20the\x20caller\x20to\x20execute.','Guard\x20strategy:\x20guards\x20whose\x20table\x20references\x20the\x20source\x20service\x20address\x20are\x20rebuilt\x20(the\x20address\x20is\x20immutable\x20once\x20embedded);\x20others\x20are\x20reused\x20by\x20address.\x20guard_mode=\x27rebuild_all\x27\x20forces\x20a\x20full\x20rebuild.','Cross-network\x20clones\x20force\x20rebuild_all\x20guards,\x20create\x20a\x20fresh\x20Permission,\x20and\x20drop\x20arbitration/reward/repository/um\x20references\x20(addresses\x20are\x20network-bound).','clone_apply\x20runs\x20the\x20same\x20pre-publish\x20gate\x20as\x20onchain_operations\x20(machine\x20topology\x20audit,\x20allocator\x20guard\x20lint,\x20immutability\x20warnings)\x20before\x20emitting\x20payloads.']},{'name':'strategy_review_operation','summary':'Posture-weighted\x20operating\x20scorecard\x20for\x20one\x20(account,\x20industry):\x20collect\x20evidence\x20into\x20append-only\x20local\x20snapshots,\x20assemble\x20periodic\x20reviews\x20with\x20deterministic\x20pricing/posture\x20advice\x20and\x20current-layer-only\x20persona\x20proposals\x20(never\x20auto-applied).','actions':['collect','review','list_snapshots'],'notes':['Chain\x20reads\x20+\x20local\x20SQLite\x20KV\x20snapshots\x20only;\x20never\x20mutates\x20chain\x20state\x20and\x20never\x20writes\x20the\x20persona.','collect\x20gathers\x2013\x20catalog\x20metrics\x20from\x206\x20evidence\x20sources\x20(journey\x20funnel/order\x20flow/market\x20metrics/discovery\x20competitor\x20count/arbitration\x20trust/account\x20attention);\x20source\x20failures\x20degrade\x20metrics\x20to\x20unavailable/error,\x20never\x20zero-filled;\x20snapshot\x20append\x20failure\x20is\x20fail-soft\x20(stored:false).','review\x20does\x20NOT\x20persist:\x20fresh\x20collection\x20+\x20delta\x20against\x20latest\x20stored\x20snapshot;\x200–100\x20score\x20renormalized\x20over\x20available\x20anchored\x20metrics\x20under\x20volume/balanced/margin\x20weights;\x20cadence\x20from\x20the\x20industry\x20catalog\x20(weekly/two-week/monthly);\x20≤2\x20proposals,\x20each\x20target_layer=\x27current\x27\x20with\x20apply_via\x20persona_operation\x20apply\x20—\x20the\x20user\x20must\x20apply\x20explicitly.','Posture\x20resolution:\x20explicit\x20posture\x20arg\x20→\x20merchant\x20posture\x20in\x20the\x20effective\x20persona\x20→\x20balanced.']},{'name':'workspace_operation','summary':'Local\x20workspace\x20directory\x20(`.wowok/workspace`)\x20—\x20generated\x20review\x20files\x20(machine/guard/wts/wip\x20JSON)\x20and\x20user\x20documents:\x20list/read/search/glob/edit/write\x20+\x20file\x20operations.','actions':['resolve','list','read','write','delete','create_file','create_dir','copy','move','rename','search','glob','edit'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20operations\x20confined\x20to\x20the\x20workspace\x20root;\x20never\x20mutates\x20chain\x20state.','read\x20is\x20the\x20supported\x20way\x20to\x20load\x20a\x20generated\x20JSON\x20as\x20AI\x20context\x20before\x20editing/submitting;\x20optional\x20offset/limit\x20line\x20slicing\x20(1-based,\x20max\x202000\x20lines)\x20and\x20encoding=\x27base64\x27\x20for\x20raw\x20bytes\x20(≤10MB).','search:\x20regex\x20content\x20search\x20(pattern;\x20optional\x20path\x20scope,\x20glob\x20basename\x20filter,\x20ignore_case,\x20max_results\x20≤200,\x20context_lines\x20≤5);\x20skips\x20binary-looking\x20and\x20>5MB\x20files.','glob:\x20wildcard\x20listing\x20on\x20workspace-relative\x20paths\x20—\x20\x27**\x27\x20spans\x20directory\x20segments,\x20\x27*\x27\x20stays\x20within\x20one\x20segment,\x20\x27?\x27\x20=\x20one\x20char.','edit:\x20exact\x20string\x20replacement\x20(path\x20+\x20old_string\x20+\x20new_string);\x20errors\x20when\x20old_string\x20is\x20non-unique\x20unless\x20replace_all=true;\x20refuses\x20files\x20>2MB.']},{'name':'workflow_operation','summary':'Local-account\x20workflow\x20view\x20—\x20list\x20active\x20Progress\x20that\x20at\x20least\x20one\x20local\x20account\x20can\x20advance\x20(permission\x20+\x20guard\x20+\x20executable\x20accounts),\x20advance/hold/unhold\x20a\x20forward,\x20and\x20view\x20a\x20progress\x27s\x20on-chain\x20operation\x20history.','actions':['list','operate','history'],'notes':['list:\x20permission-aware\x20—\x20a\x20forward\x20is\x20executable\x20when\x20(a)\x20namedOperator=\x27\x27\x20and\x20account\x20is\x20order\x20holder,\x20(b)\x20namedOperator=name\x20and\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20(c)\x20permissionIndex\x20set\x20and\x20account\x20is\x20in\x20permission.admin/table.','operate:\x20delegates\x20to\x20the\x20on-chain\x20progress\x20operation\x20(guard-aware);\x20op\x20∈\x20next/hold/unhold/adminUnhold.','history:\x20incrementally\x20syncs\x20a\x20progress\x27s\x20ON-CHAIN\x20Progress.history\x20(append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20(only\x20new\x20records\x20pulled),\x20returns\x20the\x20migration\x20timeline\x20newest-first\x20with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20/\x20weight\x20/\x20time);\x20runs\x2090-day\x20retention\x20cleanup\x20by\x20default.']},{'name':'permission_operation','summary':'Local-account\x20Permission\x20overview\x20—\x20list\x20Permissions\x20related\x20to\x20local\x20accounts\x20(via\x20entity_permission\x20index)\x20with\x20owner/admin/entity\x20breakdown\x20+\x20related\x20objects\x20via\x20object-linker\x20indexes.','actions':['list'],'notes':['Read-only;\x20reverse-looks-up\x20local\x20accounts\x20via\x20entity_permission\x20@0xaad,\x20then\x20merges/dedups\x20permissions.','Related\x20objects\x20resolved\x20via\x20object-linker\x20reverse\x20indexes\x20(0xaae\x20core\x20/\x200xaaf\x20tx)\x20binding\x20edges,\x20grouped\x20by\x20type\x20via\x20first-byte\x20address\x20tag.','Latest\x20update\x20time\x20derived\x20from\x20the\x20Permission\x27s\x20previousTransaction.']},{'name':'ask_user','summary':'Structured\x20user\x20elicitation\x20—\x20ask\x20the\x20user\x20to\x20choose\x20between\x202-8\x20concrete\x20options\x20and\x20receive\x20a\x20validated\x20structured\x20answer\x20(MCP\x202.0\x20elicitation\x20/\x20desktop\x20option\x20card).','common_params':{'question':'The\x20single\x20decision\x20needed\x20from\x20the\x20user\x20(1-1000\x20chars).','options':'2-8\x20self-contained\x20{id,label,description?}\x20choices.','recommended_id':'id\x20of\x20the\x20professionally\x20recommended\x20option\x20(optional).','multi_select':'true\x20when\x20options\x20are\x20combinable\x20(boolean\x20toggle\x20per\x20option).','allow_freeform':'true\x20to\x20permit\x20an\x20additional\x20free-text\x20answer.','context':'Optional\x20short\x20explanation\x20of\x20why\x20the\x20decision\x20is\x20needed.'},'notes':['Use\x20when\x20a\x20business\x20decision\x20belongs\x20to\x20the\x20user\x20and\x20continuing\x20requires\x20it;\x20never\x20guess\x20or\x20silently\x20default\x20an\x20unanswered\x20choice.','Desktop\x20clients\x20render\x20an\x20option\x20card;\x20MCP\x202.0\x20transports\x20fulfil\x20via\x20elicitation/create;\x20unsupported\x20clients\x20should\x20fall\x20back\x20to\x20a\x20numbered\x20prose\x20question.','action\x20decline/cancel\x20means\x20STOP\x20and\x20ask\x20how\x20to\x20proceed\x20in\x20plain\x20text\x20—\x20do\x20not\x20execute\x20a\x20default\x20path.','Not\x20a\x20safety\x20confirmation\x20—\x20irreversible/publish/amount\x20gates\x20remain\x20handled\x20by\x20confirm_gate.']}];export function getToolReference(a){return TOOLS_REFERENCE['find'](b=>b['name']===a);}export function searchToolReference(a){const b=a['toLowerCase']();return TOOLS_REFERENCE['filter'](c=>{if(c['name']['toLowerCase']()['includes'](b))return!![];if(c['summary']['toLowerCase']()['includes'](b))return!![];if(c['actions']?.['some'](d=>d['toLowerCase']()['includes'](b)))return!![];return![];});}export function getToolSequence(a){const b=getToolReference(a);if(!b)return undefined;return{'prerequisites':b['prerequisites']??[],'tool':b['name'],'follow_ups':b['follow_ups']??[]};}
@@ -80,6 +80,8 @@ export interface ReceiptInput extends GuidanceInput {
80
80
  threshold?: number;
81
81
  }>;
82
82
  simulated?: boolean;
83
+ txDigest?: string;
84
+ signer?: string;
83
85
  }
84
86
  export interface WaitingInfo {
85
87
  forward: string;
@@ -100,6 +102,8 @@ export interface ReceiptResult {
100
102
  next_guidance?: GuidanceResult;
101
103
  note?: string;
102
104
  simulated?: boolean;
105
+ digest?: string;
106
+ signer?: string;
103
107
  }
104
108
  export declare function buildWorkflowReceipt(input: ReceiptInput): ReceiptResult;
105
109
  export declare function renderGuidanceText(g: GuidanceResult): string;
@@ -120,6 +124,7 @@ export interface EnrichOptions {
120
124
  }
121
125
  export declare function extractObjectVersionFromTx(txResult: unknown, objectAddr: string): string | undefined;
122
126
  export declare function extractProgressEventNodeFromTx(txResult: unknown, progressAddr: string): string | undefined;
127
+ export declare function extractTxDigestFromResult(txResult: unknown): string | undefined;
123
128
  export interface EnrichResult {
124
129
  guidance?: GuidanceResult;
125
130
  receipt?: ReceiptResult;
@@ -1 +1 @@
1
- import{query_account_list,LocalMark,GetLocalNamesByAddresses}from'@wowok/wowok';import{NO_AUTO_SETTLEMENT_FACT}from'./settlement-semantics.js';import{REPOSITORY_PERMISSIONS,REWARD_PERMISSIONS,MACHINE_PERMISSIONS,PROGRESS_PERMISSIONS,TREASURY_PERMISSIONS,SERVICE_PERMISSIONS,ARBITRATION_PERMISSIONS,DEMAND_PERMISSIONS,CONTACT_PERMISSIONS}from'./permission-ledger.js';import{formatShortAddress}from'../persona/address-format.js';import{recommendedCallForForwardBinding,recommendedCallForOrderHolder}from'../participation/radar-core.js';import{batchQueryObjectsByIds,fetchMachineNodes,fetchOrderContext,fetchPermissionContext}from'../graph/onchain/sdk-batch.js';import{deriveCommercialRole}from'../role/derivation.js';import{valuePerspectiveOf}from'../role/model.js';const BUILTIN_PERMISSION_MAP=new Map();for(const entry of[...REPOSITORY_PERMISSIONS,...REWARD_PERMISSIONS,...MACHINE_PERMISSIONS,...PROGRESS_PERMISSIONS,...TREASURY_PERMISSIONS,...SERVICE_PERMISSIONS,...ARBITRATION_PERMISSIONS,...DEMAND_PERMISSIONS,...CONTACT_PERMISSIONS]){BUILTIN_PERMISSION_MAP['set'](entry['index'],entry['name']);}export function resolvePermissionRole(a,b){if(a===undefined||a===null)return'unknown\x20role';if(b){const d=/([A-Za-z][A-Za-z0-9_]*)\s*=\s*(\d+)/g;let e;while((e=d['exec'](b))!==null){if(Number(e[0x2])===a)return e[0x1]+'\x20(permission\x20'+a+')';}}const c=BUILTIN_PERMISSION_MAP['get'](a);if(c)return c+'\x20(permission\x20'+a+')';return'permission\x20'+a;}const COMPLETE_RE=/(^|_)(completed?|done|finished|received|delivered|accepted|confirmed|finalized|success|approved)(_|$)/i,REFUND_RE=/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?)(_|$)/i,EXCEPTION_RE=/(^|_)(interrupt(ed)?|exception|dispute(d)?|fail(ed)?|abort(ed)?|reject(ed)?)(_|$)/i,PRE_DELIVERY_RE=/^(|entry|paid|kickoff|confirmed|requirements_pending|in_progress|active|processing|subscribed)$/i,ACTIVE_STAGE_RE=/(charg|billing|renew|deliver|fulfill|ship|sent|work|produ)/i,REFUND_FLAVOR_RE=/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?|expired)(_|$)/i;function classifyNode(a){if(COMPLETE_RE['test'](a))return'complete';if(REFUND_RE['test'](a))return'refund';if(EXCEPTION_RE['test'](a))return'exception';return'advance';}function businessMeaning(a,b){switch(b){case'complete':return'completion\x20stage\x20\x22'+a+'\x22';case'refund':return'refund/cancel\x20stage\x20\x22'+a+'\x22';case'exception':return'exception/dispute\x20stage\x20\x22'+a+'\x22';default:return'advance\x20to\x20\x22'+a+'\x22';}}function shortAddr(a){if(!a)return undefined;return formatShortAddress(a);}function callerIsOrderHolder(a,b){if(!a||!b?.['length'])return![];const d=a['toLowerCase']();return b['some'](e=>e?.['toLowerCase']()===d);}function resolveOperator(a,b,c,d,e){const g=e&&a['namedOperator']===''&&!a['permissionIndex']?recommendedCallForOrderHolder({'hasGuard':!!a['guard'],'currentNode':e['currentNode'],'targetNode':e['targetNode']}):recommendedCallForForwardBinding({'permissionIndex':a['permissionIndex'],'namedOperator':a['namedOperator'],'hasGuard':!!a['guard']});if(a['namedOperator']===''){const h=b?.[0x0],i=a['permissionIndex']!==undefined&&a['permissionIndex']!==null;return{'kind':'order_holder','role_name':i?'order\x20holder\x20(customer)\x20OR\x20'+resolvePermissionRole(a['permissionIndex'],c):'order\x20holder\x20(customer)','permission_index':i?a['permissionIndex']:undefined,'account_name':d?d(h):shortAddr(h),'recommended_call':g};}if(typeof a['namedOperator']==='string'&&a['namedOperator']['length']>0x0)return{'kind':'named_operator','named_operator':a['namedOperator'],'role_name':'named\x20operator\x20\x22'+a['namedOperator']+'\x22','recommended_call':g};if(a['permissionIndex']!==undefined&&a['permissionIndex']!==null)return{'kind':'permission_index','permission_index':a['permissionIndex'],'role_name':resolvePermissionRole(a['permissionIndex'],c),'recommended_call':g};return{'kind':'order_holder','role_name':'unknown\x20operator'};}function gainsRisksFor(a,b,c,d){if(!c)return{'gains':[],'risks':[]};if(d)return perspectiveGainsRisks(a,valuePerspectiveOf(d));if(b)switch(a){case'complete':return{'gains':['Flow\x20advances','Settlement\x20unlocked\x20—\x20provider\x20funds\x20become\x20releasable\x20(an\x20explicit\x20allocation\x20step\x20is\x20still\x20required;\x20nothing\x20releases\x20automatically)'],'risks':['Provider\x20can\x20now\x20claim\x20the\x20escrow','Refund\x20leverage\x20lost\x20once\x20completion\x20is\x20recorded\x20—\x20confirm\x20only\x20if\x20service\x20verified']};case'refund':return{'gains':['Refund\x20path\x20unlocked\x20—\x20escrow\x20becomes\x20releasable\x20back\x20to\x20you\x20via\x20an\x20explicit\x20allocation\x20step\x20(trigger\x20it\x20yourself;\x20funds\x20are\x20not\x20returned\x20automatically)'],'risks':['If\x20service\x20was\x20already\x20rendered,\x20cancellation\x20may\x20be\x20disputed']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20reputation\x20impact']};default:return{'gains':['Flow\x20advances'],'risks':[]};}switch(a){case'complete':return{'gains':['Settlement\x20unlocked\x20—\x20funds\x20releasable\x20to\x20provider\x20via\x20an\x20explicit\x20allocation\x20step\x20(NOT\x20automatic\x20on\x20node\x20migration)'],'risks':[]};case'refund':return{'gains':['Clean\x20closure'],'risks':['Lost\x20revenue\x20for\x20this\x20order']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20compensation\x20fund']};default:return{'gains':['Flow\x20advances'],'risks':[]};}}function perspectiveGainsRisks(a,b){if(b==='consumer')switch(a){case'complete':return{'gains':['Flow\x20advances','Settlement\x20unlocked\x20—\x20provider\x20funds\x20become\x20releasable\x20(an\x20explicit\x20allocation\x20step\x20is\x20still\x20required;\x20nothing\x20releases\x20automatically)'],'risks':['Provider\x20can\x20now\x20claim\x20the\x20escrow','Refund\x20leverage\x20lost\x20once\x20completion\x20is\x20recorded\x20—\x20confirm\x20only\x20if\x20service\x20verified']};case'refund':return{'gains':['Refund\x20path\x20unlocked\x20—\x20escrow\x20becomes\x20releasable\x20back\x20to\x20you\x20via\x20an\x20explicit\x20allocation\x20step\x20(trigger\x20it\x20yourself;\x20funds\x20are\x20not\x20returned\x20automatically)'],'risks':['If\x20service\x20was\x20already\x20rendered,\x20cancellation\x20may\x20be\x20disputed']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20reputation\x20impact']};default:return{'gains':['Flow\x20advances'],'risks':[]};}if(b==='producer')switch(a){case'complete':return{'gains':['Settlement\x20unlocked\x20—\x20funds\x20releasable\x20to\x20provider\x20via\x20an\x20explicit\x20allocation\x20step\x20(NOT\x20automatic\x20on\x20node\x20migration)'],'risks':[]};case'refund':return{'gains':['Clean\x20closure'],'risks':['Lost\x20revenue\x20for\x20this\x20order']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20compensation\x20fund']};default:return{'gains':['Flow\x20advances'],'risks':[]};}switch(a){case'complete':return{'gains':['Flow\x20advances\x20—\x20the\x20workflow\x20moves\x20to\x20its\x20delivery/settlement\x20stage'],'risks':[]};case'refund':return{'gains':['Clean\x20closure\x20of\x20the\x20workflow'],'risks':['Cancels\x20the\x20delivery\x20track\x20—\x20confirm\x20this\x20matches\x20what\x20the\x20parties\x20agreed']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration']};default:return{'gains':['Flow\x20advances'],'risks':[]};}}function consistencyFor(a,b,c,d,e,f,g){let h;if(!e)h=a==='exception'?0x2d:0x32;else{if(g){const i=valuePerspectiveOf(g);h=i==='consumer'?a==='refund'?0x46:a==='complete'?0x37:a==='exception'?0x23:0x32:i==='producer'?a==='complete'?0x4b:a==='refund'?0x1e:a==='exception'?0x23:0x32:a==='complete'?0x37:a==='refund'?0x32:a==='exception'?0x28:0x32;}else b?h=a==='refund'?0x46:a==='complete'?0x37:a==='exception'?0x23:0x32:h=a==='complete'?0x4b:a==='refund'?0x1e:a==='exception'?0x23:0x32;}if(e&&c)h+=0x14;if(d)h-=0xa;return e&&f&&(a==='refund'||a==='exception')&&(h=Math['min'](h,0x28)),Math['max'](0x0,Math['min'](0x64,h));}export function buildWorkflowGuidance(a){const b=[],c=PRE_DELIVERY_RE['test'](a['current'])||ACTIVE_STAGE_RE['test'](a['current'])||a['just_advanced']===!![];for(const n of a['nodes']){for(const p of n['pairs']){if(p['prev_node']!==a['current'])continue;for(const q of p['forwards']){if(!q['name'])continue;const r=resolveOperator(q,a['orderHolderAddresses'],a['permissionDescription'],a['nameResolver'],{'currentNode':a['current'],'targetNode':n['name']}),s=callerIsOrderHolder(a['callerAddress']??a['caller'],a['orderHolderAddresses']);let t=![];a['callerAddress']&&(t=accountCanExecuteForward(q,a['callerAddress'],a['progressNamedOperator']??[],a['orderContext'],a['permissionContext']));const u=classifyNode(n['name']),v=!!a['caller'],{gains:w,risks:x}=gainsRisksFor(u,s,v,a['callerRole']),y=consistencyFor(u,s,t,!!q['guard'],v,c,a['callerRole']);b['push']({'next_node':n['name'],'forward':q['name'],'weight':q['weight'],'operator':r,'guard':q['guard'],'business_meaning':businessMeaning(n['name'],u),'gains':w,'risks':x,'consistency':y,'recommended':![],'executable_by_caller':t});}}}if(b['length']===0x0){const z=a['escrow'],A=!z?'':z['fund_direction']==='buyer'?'the\x20rails\x20are\x20ORDER-ANCHORED\x20(GuardIdentifier\x20recipients)\x20—\x20the\x20payout\x20lands\x20on\x20the\x20Order\x20object\x20for\x20the\x20order\x20owner\x20(the\x20buyer)\x20to\x20claim,\x20regardless\x20of\x20the\x20node\x27s\x20name\x20(\x22'+a['current']+'\x22).\x20':z['fund_direction']==='provider'?'the\x20rails\x20pay\x20ENTITY\x20recipients\x20—\x20the\x20payout\x20goes\x20to\x20the\x20named\x20provider-side\x20parties,\x20regardless\x20of\x20the\x20node\x27s\x20name\x20(\x22'+a['current']+'\x22).\x20':z['fund_direction']==='mixed'?'the\x20rails\x20mix\x20order-anchored\x20and\x20Entity\x20recipients\x20—\x20which\x20party\x20is\x20paid\x20depends\x20on\x20WHICH\x20rail\x20fires;\x20inspect\x20each\x20allocator\x27s\x20guard\x20before\x20triggering.\x20':z['fund_direction']==='signer'?'a\x20rail\x20pays\x20whoever\x20TRIGGERS\x20it\x20(Signer\x20recipient)\x20—\x20the\x20operator\x27s\x20own\x20identity\x20decides\x20the\x20payee;\x20never\x20trigger\x20on\x20behalf\x20of\x20another\x20party.\x20':'rail\x20recipients\x20were\x20unreadable\x20from\x20the\x20machine\x20graph\x20—\x20READ\x20them\x20before\x20triggering,\x20the\x20tooling\x20can:\x20query_toolkit\x20query_type=\x27service_panorama\x27\x20returns\x20result.service.order_allocators.allocators[].sharing\x20(who/mode/value\x20per\x20rail),\x20and\x20object_panorama\x20on\x20the\x20pool\x27s\x20Allocation\x20(\x27'+z['allocation']+'\x27)\x20returns\x20the\x20balance,\x20payment_info\x20anchor\x20and\x20the\x20same\x20resolved\x20recipient\x20rows.\x20The\x20name\x20flavor\x20('+(z['refund_terminal']?'refund/cancel-flavored':'completion-flavored')+')\x20is\x20a\x20GUESS\x20about\x20direction,\x20never\x20a\x20fact\x20—\x20do\x20not\x20act\x20on\x20it\x20alone.\x20',B=z?'Node\x20\x22'+a['current']+'\x22\x20is\x20terminal\x20(no\x20outgoing\x20forwards)\x20—\x20but\x20the\x20order\x27s\x20Allocation\x20'+z['allocation']+'\x20still\x20holds\x20'+z['balance']+'\x20(smallest\x20unit)\x20with\x20no\x20payments\x20recorded.\x20'+NO_AUTO_SETTLEMENT_FACT+'\x20'+A+('Execute\x20via\x20onchain_operations\x20{operation_type:\x27allocation\x27,\x20data:{object:\x27'+z['allocation']+'\x27,\x20alloc_by_guard:\x27<guard>\x27}}')+(z['guards']['length']?'\x20—\x20candidate\x20guards\x20on\x20this\x20pool:\x20'+z['guards']['join'](',\x20')+'.':'\x20—\x20inspect\x20the\x20pool\x27s\x20allocators\x20first.')+'\x20Trigger\x20ONCE\x20and\x20verify\x20the\x20pool\x20drained\x20(a\x20fully-drained\x20pool\x20aborts\x20on\x20re-trigger;\x20a\x20max-capped\x20pool\x20re-splits\x20the\x20remainder).\x20Recipients\x20then\x20claim\x20their\x20CoinWrappers\x20(receive).':'Node\x20\x22'+a['current']+'\x22\x20has\x20no\x20outgoing\x20forwards\x20—\x20it\x20is\x20a\x20terminal\x20node\x20(or\x20the\x20workflow\x20is\x20stuck).\x20No\x20further\x20progress\x20operation\x20is\x20available\x20here.';return{'current_node':a['current'],'caller':a['caller'],'options':[],'note':B};}const d=new Map();for(const C of b){const D=d['get'](C['forward']);if(D)D['add'](C['next_node']);else d['set'](C['forward'],new Set([C['next_node']]));}const e=[];for(const [E,F]of d){if(F['size']<0x2)continue;const G=[...F]['sort'](),H=G['some'](K=>classifyNode(K)==='refund'),I=G['some'](K=>classifyNode(K)!=='refund'),J=H&&I;e['push'](J?'CRITICAL\x20'+E:E);for(let K=0x0;K<b['length'];K++){if(b[K]['forward']!==E)continue;b[K]={...b[K],'ambiguous':{'destinations':G,'fund_conflict':J}};}}e['sort'](),b['sort']((L,M)=>M['consistency']-L['consistency']);const g=e['length']>0x0;let h;if(!g){const L=b['findIndex'](M=>!M['ambiguous']);L>=0x0&&(h={...b[L],'recommended':!![]},b[L]=h);}const j=[];for(const M of b){h&&M!==h&&M['consistency']>0x0&&M['forward']!==h['forward']&&j['push']('Choosing\x20\x22'+M['forward']+'\x20→\x20'+M['next_node']+'\x22\x20forfeits\x20the\x20faster/more\x20aligned\x20path\x20\x22'+h['forward']+'\x20→\x20'+h['next_node']+'\x22');}c&&b['some'](N=>classifyNode(N['next_node'])==='refund')&&j['push']('Refund/cancel\x20options\x20are\x20listed\x20but\x20not\x20auto-recommended\x20here\x20(pre-delivery\x20stage,\x20active\x20billing/delivery\x20stage,\x20or\x20a\x20just-completed\x20advance\x20signals\x20intent\x20to\x20continue)\x20—\x20choose\x20one\x20explicitly\x20when\x20cancellation\x20is\x20intended');for(const N of b){if(!N['ambiguous'])continue;j['push']('\x22'+N['forward']+'\x22\x20is\x20AMBIGUOUS\x20from\x20\x22'+a['current']+'\x22\x20—\x20it\x20legally\x20reaches\x20'+N['ambiguous']['destinations']['join']('\x20/\x20')+'\x20'+(N['ambiguous']['fund_conflict']?'(fund\x20direction\x20DIFFERS\x20between\x20them);\x20the\x20destination\x20you\x20pass\x20in\x20next_node_name\x20decides,\x20so\x20state\x20the\x20intended\x20node\x20explicitly\x20instead\x20of\x20trusting\x20the\x20forward\x20name':';\x20state\x20the\x20intended\x20node\x20explicitly'));}const k=[];if(h){const O=h['operator'];if(O['kind']==='order_holder')O['account_name']&&O['account_name']!==a['caller']&&k['push']('The\x20recommended\x20action\x20is\x20executed\x20by\x20another\x20account\x20('+O['account_name']+');\x20switch\x20the\x20signing\x20account\x20(env.account)\x20before\x20operating.');else{if(h['executable_by_caller']===![]){const P=O['kind']==='named_operator'?'named\x20operator\x20\x22'+O['named_operator']+'\x22':O['role_name']??'permission\x20index\x20'+(O['permission_index']??'(unknown)');let Q;if(O['kind']==='permission_index'&&a['permissionContext']&&O['permission_index']!==undefined){const R=[...a['orderHolderAddresses']??[],...a['callerAddress']?[a['callerAddress']]:[]],S=R['find'](T=>{if(!T)return![];const U=T['toLowerCase']();return a['permissionContext']['admin']['has'](U)||(a['permissionContext']['table']['get'](U)?.['has'](O['permission_index'])??![]);});if(S)Q=a['nameResolver']?a['nameResolver'](S):shortAddr(S);}k['push']('The\x20recommended\x20action\x20requires\x20'+P+(Q?'\x20(held\x20by\x20'+Q+')':'')+('\x20—\x20the\x20current\x20signing\x20account\x20('+(a['caller']??'unresolved')+')\x20is\x20not\x20entitled;\x20switch\x20env.account\x20to\x20an\x20account\x20holding\x20it\x20before\x20operating.'));}}}e['length']>0x0&&k['push']('Machine\x20topology\x20defect\x20(P0-6):\x20forward\x20name(s)\x20'+[...new Set(e['map'](T=>T['replace'](/^CRITICAL /,'')))]['join'](',\x20')+'\x20'+'resolve\x20to\x20more\x20than\x20one\x20destination\x20from\x20this\x20node.\x20The\x20contract\x20accepts\x20any\x20of\x20them\x20(next_node\x20is\x20a\x20caller\x20argument;\x20'+'the\x20graph\x20only\x20forbids\x20duplicate\x20prev_node\x20WITHIN\x20one\x20node),\x20so\x20the\x20workflow\x20outcome\x20is\x20decided\x20by\x20the\x20CALLER,\x20not\x20by\x20the\x20published\x20Machine.\x20'+'Nothing\x20is\x20auto-recommended\x20for\x20these\x20forwards\x20—\x20fix\x20the\x20graph\x20by\x20giving\x20each\x20destination\x20its\x20own\x20forward\x20name.');const l=b['filter'](T=>T['guard']);l['length']>=0x2&&l['length']===b['length']&&k['push'](l['length']+'\x20guarded\x20variants\x20mount\x20on\x20node\x20\x22'+a['current']+'\x22\x20and\x20they\x20are\x20typically\x20MUTUALLY\x20EXCLUSIVE\x20'+'(variant\x20rails\x20usually\x20read\x20a\x20policy/mode\x20oracle\x20row\x20—\x20only\x20the\x20row\x27s\x20current\x20value\x20admits\x20one\x20of\x20them).\x20'+'Do\x20NOT\x20discover\x20which\x20one\x20by\x20signing:\x20probe\x20with\x20env.dry_run=true\x20first\x20(free,\x20never\x20committed\x20—\x20'+'EVERY\x20write\x20channel\x20honors\x20env.dry_run:\x20the\x20call\x20simulates\x20and\x20returns\x20a\x20\x22dry_run:*\x22\x20digest,\x20'+'nothing\x20is\x20signed\x20or\x20submitted,\x20so\x20a\x20guard\x20rejection\x20on\x20a\x20dry\x20run\x20does\x20not\x20consume\x20the\x20retry\x20budget\x20'+'and\x20mints\x20nothing)\x20—\x20the\x20rejection\x20diagnosis\x20names\x20the\x20failing\x20guard.');const m=/(enter|fund|renew|pay|deposit|top_?up|refund|claim|withdraw|settle|release)/i;return h&&m['test'](h['forward'])&&k['push']('\x22'+h['forward']+'\x22\x20is\x20a\x20MONEY-state\x20forward,\x20but\x20this\x20guidance\x20reads\x20only\x20topology\x20and\x20roles\x20—\x20NOT\x20the\x20order\x27s\x20live\x20Allocation\x20balance\x20or\x20claimed_by.\x20If\x20the\x20escrow\x20is\x20already\x20drained\x20(allocation.balance\x20==\x200)\x20or\x20arbitration-displaced\x20(order.claimed_by\x20some\x20==\x20true),\x20the\x20advance\x20burns\x20gas\x20and\x20aborts:\x20query\x20the\x20order\x27s\x20allocation\x20balance\x20+\x20claimed_by\x20FIRST,\x20and\x20probe\x20with\x20env.dry_run=true\x20when\x20unsure.'),{'current_node':a['current'],'caller':a['caller'],'options':b,'recommendation':h?{'best':h['forward']+'\x20→\x20'+h['next_node'],'rationale':'Highest\x20consistency\x20('+h['consistency']+'/100)\x20with\x20the\x20caller\x27s\x20interests.\x20Gains:\x20'+(h['gains']?.['join'](';\x20')||'none')+'.\x20Risks:\x20'+(h['risks']?.['join'](';\x20')||'none')+'.\x20Operator:\x20'+(h['operator']['role_name']??h['operator']['kind'])+(h['operator']['account_name']?'\x20('+h['operator']['account_name']+')':'')+'.'+(h['guard']?'\x20Guard\x20to\x20satisfy:\x20'+h['guard']+'.':''),'caveat':j['length']?j['join']('.\x20'):undefined}:{'best':undefined,'rationale':e['length']?'No\x20action\x20recommended:\x20every\x20reachable\x20forward\x20from\x20\x22'+a['current']+'\x22\x20is\x20ambiguous\x20(resolves\x20to\x20multiple\x20destinations).\x20Choose\x20the\x20destination\x20node\x20deliberately\x20—\x20do\x20not\x20let\x20the\x20forward\x20name\x20decide\x20it.':undefined,'caveat':j['length']?j['join']('.\x20'):undefined},'note':k['length']?k['join']('\x20'):undefined};}export function buildWorkflowReceipt(a){const b={'hold':'held','unhold':'released\x20(unhold)','adminUnhold':'force-released\x20(adminUnhold)'},c=a['op']?b[a['op']]:undefined,d=c!==undefined?![]:a['current']===a['targetNode'],e={'account':a['callerName'],'action':c!==undefined?a['callerName']+'\x20'+c+'\x20\x22'+a['forward']+'\x22\x20—\x20node\x20stays\x20at\x20\x22'+a['current']+'\x22':a['callerName']+'\x20executed\x20'+a['forward']+'\x20(→\x20'+a['targetNode']+')','forward':a['forward'],'target_node':a['targetNode'],'op':a['op'],'migrated':d,'current_node':a['current']};if(a['simulated'])e['simulated']=!![];if(c!==undefined)e['note']='Hold-family\x20op\x20does\x20not\x20migrate\x20the\x20node\x20—\x20it\x20only\x20pins/unpins\x20a\x20forward;\x20the\x20current\x20node\x20and\x20its\x20threshold\x20state\x20are\x20unchanged.';else{if(!d){const h=a['nodes']['filter'](l=>l['name']===a['targetNode'])['flatMap'](l=>l['pairs'])['find'](l=>l['prev_node']===a['current']),i=a['session']?.['slice'](-0x1)[0x0],j=i?.['threshold']??h?.['threshold']??0x0,k=i?.['weights']??0x0;if(j>0x0){e['threshold']=j,e['accumulated_weight']=k,e['remaining']=Math['max'](0x0,j-k);const l=new Set((i?.['forwards']??[])['filter'](n=>n?.['accomplished']!==![])['map'](n=>n?.['forward'])['filter'](n=>!!n)),m=[];for(const n of h?.['forwards']??[]){if(!n['name']||l['has'](n['name']))continue;m['push']({'forward':n['name'],'operator':resolveOperator(n,a['orderHolderAddresses'],a['permissionDescription'],a['nameResolver'],{'currentNode':a['current'],'targetNode':a['targetNode']})});}if(m['length'])e['waiting_on']=m;e['note']='Node\x20did\x20not\x20migrate:\x20threshold\x20'+j+',\x20accumulated\x20weight\x20'+k+',\x20remaining\x20'+Math['max'](0x0,j-k)+'.\x20'+(m['length']?'Waiting\x20for:\x20'+m['map'](o=>o['forward']+'\x20('+(o['operator']['role_name']??o['operator']['kind'])+')')['join'](';\x20'):'All\x20forwards\x20on\x20this\x20pair\x20are\x20accomplished\x20—\x20the\x20node\x20should\x20migrate\x20on\x20the\x20next\x20operation.');}else e['note']='Node\x20did\x20not\x20migrate\x20(threshold\x200)\x20—\x20no\x20further\x20weight\x20cooperation\x20required;\x20verify\x20the\x20operation\x20outcome.';}}const g=buildWorkflowGuidance({'current':a['current'],'nodes':a['nodes'],'caller':a['caller'],'callerAddress':a['callerAddress'],'callerRole':a['callerRole'],'orderHolderAddresses':a['orderHolderAddresses'],'progressNamedOperator':a['progressNamedOperator'],'permissionContext':a['permissionContext'],'orderContext':a['orderContext'],'permissionDescription':a['permissionDescription'],'nameResolver':a['nameResolver'],'escrow':a['escrow'],'just_advanced':d&&classifyNode(a['targetNode'])!=='refund'});if(g['options']['length']>0x0)e['next_guidance']=g;else{if(g['note'])e['note']=e['note']?e['note']+'\x20'+g['note']:g['note'];}return e;}function operatorText(a){const b=[a['role_name']??a['kind']];if(a['account_name'])b['push'](a['account_name']);return b['join']('\x20/\x20');}export function renderGuidanceText(a){const b=['[WORKFLOW\x20GUIDANCE]\x20current\x20node:\x20\x22'+a['current_node']+'\x22'+(a['caller']?'\x20(caller:\x20'+a['caller']+')':'')];if(a['options']['length']===0x0)return b['push']('\x20\x20•\x20'+(a['note']??'No\x20reachable\x20next\x20nodes.')),b['join']('\x0a');for(const c of a['options']){const d=['\x22'+c['forward']+'\x22\x20→\x20\x22'+c['next_node']+'\x22','operator:\x20'+operatorText(c['operator']),'weight:\x20'+c['weight'],'consistency:\x20'+c['consistency']+'/100'+(c['recommended']?'\x20[RECOMMENDED]':'')];if(c['guard'])d['push']('guard:\x20'+c['guard']);c['ambiguous']&&d['push']('AMBIGUOUS:\x20this\x20forward\x20name\x20also\x20reaches\x20'+c['ambiguous']['destinations']['filter'](e=>e!==c['next_node'])['join'](',\x20')+(c['ambiguous']['fund_conflict']?'\x20(fund\x20direction\x20differs\x20—\x20next_node_name\x20decides)':''));d['push']('meaning:\x20'+c['business_meaning']);if(c['gains']?.['length'])d['push']('gains:\x20'+c['gains']['join'](';\x20'));if(c['risks']?.['length'])d['push']('risks:\x20'+c['risks']['join'](';\x20'));b['push']('\x20\x20•\x20'+d['join']('\x20|\x20'));}if(a['recommendation']?.['best']){b['push']('\x20\x20RECOMMENDED:\x20'+a['recommendation']['best']+'.\x20'+(a['recommendation']['rationale']??''));if(a['recommendation']['caveat'])b['push']('\x20\x20CAVEAT\x20(opportunity\x20cost):\x20'+a['recommendation']['caveat']);}if(a['note'])b['push']('\x20\x20NOTE:\x20'+a['note']);return b['push']('\x20\x20(AI\x20recommendation\x20only\x20—\x20the\x20account\x20decides;\x20switch\x20env.account\x20if\x20another\x20operator\x20must\x20act.)'),b['join']('\x0a');}export function renderReceiptText(a){const b=['[WORKFLOW\x20RECEIPT]\x20'+a['action']];b['push']('\x20\x20•\x20node\x20migrated:\x20'+(a['migrated']?'yes\x20→\x20current:\x20\x22'+a['current_node']+'\x22':'no\x20→\x20current:\x20\x22'+a['current_node']+'\x22'));a['simulated']&&b['push']('\x20\x20•\x20simulated\x20(dry-run):\x20this\x20migration\x20comes\x20from\x20the\x20call\x27s\x20own\x20events\x20—\x20state\x20NOT\x20committed\x20on-chain');if(!a['migrated']){a['threshold']!==undefined&&a['threshold']>0x0&&(b['push']('\x20\x20•\x20threshold:\x20'+a['threshold']+'\x20|\x20accumulated\x20weight:\x20'+(a['accumulated_weight']??0x0)+'\x20|\x20remaining:\x20'+(a['remaining']??0x0)),a['waiting_on']?.['length']&&b['push']('\x20\x20•\x20waiting\x20on:\x20'+a['waiting_on']['map'](c=>'\x22'+c['forward']+'\x22\x20('+operatorText(c['operator'])+')')['join'](';\x20')));if(a['note'])b['push']('\x20\x20•\x20note:\x20'+a['note']);}return a['next_guidance']&&a['next_guidance']['options']['length']>0x0&&b['push'](renderGuidanceText(a['next_guidance'])),b['join']('\x0a');}async function makeNameResolver(a){const b=[...new Set(a['filter'](d=>!!d))],c=new Map();if(b['length'])try{const d=await GetLocalNamesByAddresses(b);for(const e of d){const f=e?.['account']??e?.['local_mark'];if(f)c['set'](e['address']['toLowerCase'](),f);}}catch{}return g=>{if(!g)return undefined;const h=c['get'](g['toLowerCase']());return h??shortAddr(g);};}export function extractObjectVersionFromTx(a,b){if(!a||typeof a!=='object')return undefined;const d=a,e=d['effects']?.['objectChanges']??d['objectChanges'];if(!Array['isArray'](e))return undefined;const f=b['toLowerCase']();for(const g of e){if(typeof g?.['object']!=='string'||String(g['object'])['toLowerCase']()!==f)continue;if(g['version']!==undefined&&g['version']!==null)return String(g['version']);}return undefined;}export function extractProgressEventNodeFromTx(a,b){if(!a||typeof a!=='object'||!b)return undefined;const c=a,d=c['events']??c['effects']?.['events'];if(!Array['isArray'](d))return undefined;const e=b['toLowerCase']();for(const f of d){const g=f?.['json']??f?.['parsedJson']??f,h=typeof g?.['node']==='string'?g['node']:undefined;if(!h)continue;const i=typeof g?.['object']==='string'?g['object']['trim']()['toLowerCase']():'';if(i===e||i['startsWith'](e+'\x20')||i['startsWith'](e+'('))return h;}return undefined;}async function fetchTerminalEscrow(b,c,d,e){if(!b)return undefined;try{const f=(await batchQueryObjectsByIds([b],c,d??!![]))[0x0],g=f?.['data']??f,h=typeof g?.['allocation']==='string'?g['allocation']:undefined;if(!h)return undefined;const i=(await batchQueryObjectsByIds([h],c,d??!![]))[0x0],j=i?.['data']??i,k=typeof j?.['balance']==='bigint'?j['balance']:BigInt(j?.['balance']??0x0);if(k<=0x0n)return undefined;const l=Array['isArray'](j?.['payment'])?j['payment']:[];if(l['length']>0x0)return undefined;const m=(Array['isArray'](j?.['allocators']?.['allocators'])?j['allocators']['allocators']:[])['map'](p=>String(p?.['guard']??''))['filter'](p=>p),n=new Set();for(const p of Array['isArray'](j?.['allocators']?.['allocators'])?j['allocators']['allocators']:[]){for(const q of Array['isArray'](p?.['sharing'])?p['sharing']:[]){const r=q?.['who'];if(r!==null&&typeof r==='object'){if('GuardIdentifier'in r)n['add']('buyer');else{if('Entity'in r)n['add']('provider');else{if('Signer'in r)n['add']('signer');}}}}}const o=n['size']===0x0?'unknown':n['size']>0x1?'mixed':[...n][0x0];return{'allocation':h,'balance':k['toString'](),'guards':m,'fund_direction':o,'refund_terminal':REFUND_FLAVOR_RE['test'](e)};}catch{return undefined;}}export async function enrichWorkflowGuidance(a){try{let b;if(a['progressRef']['startsWith']('0x'))b=a['progressRef'];else b=await LocalMark['Instance']()['get_address'](a['progressRef'])??undefined;if(!b)return undefined;const c=async()=>(await batchQueryObjectsByIds([b],a['network'],!![]))[0x0];let d=await c();const e=extractObjectVersionFromTx(a['txResult'],b);for(let A=0x0;e!==undefined&&d&&String(d['version']??'')!==e&&A<0x2;A++){await new Promise(C=>setTimeout(C,0x258));const B=await c();if(B)d=B;}const f=d?.['data']??d;if((d?.['type']??f?.['type'])!=='Progress')return undefined;let g=f['current']??'';const h=extractProgressEventNodeFromTx(a['txResult'],b),i=h!==undefined&&g!==h;if(i)g=h;const j=i&&a['dryRun']===!![],k=f['machine'],l=Array['isArray'](f['session'])?f['session']:[],m=(Array['isArray'](f['namedOperator'])?f['namedOperator']['find'](C=>C?.['name']==='')?.['operators']:undefined)??[];if(!k)return undefined;const n=await fetchMachineNodes(k,a['network'],![]);let o,p;try{const C=await batchQueryObjectsByIds([k],a['network'],a['noCache']),D=C[0x0],E=D?.['data']??D,F=E?.['permission'];if(F){const G=await batchQueryObjectsByIds([F],a['network'],a['noCache']),H=G[0x0];o=(H?.['data']??H)?.['description']??undefined,p=await fetchPermissionContext(F,a['network'],a['noCache']);}}catch{}const q=(Array['isArray'](f['namedOperator'])?f['namedOperator']:[])['map'](I=>({'name':String(I?.['name']??''),'operators':(I?.['operators']??[])['map'](J=>String(J))}));let r;f['task']&&(r=await fetchOrderContext(f['task'],a['network'],a['noCache']));const s=r?Array['from'](new Set([r['builder'],...r['agent']])['values']()):m;let t;try{t=await LocalMark['Instance']()['get_address'](a['accountName'])??undefined;}catch{t=undefined;}const u=await makeNameResolver([a['accountName'],...s]);let v;if(t){const I=[...p?.['table']['get'](t)??[]];p?.['admin']['has'](t)&&I['length']===0x0?v='collaborator':v=deriveCommercialRole({'account':t,'order_holder':s['includes'](t)?t:undefined,'held_permission_indexes':I,'named_operator_names':(q??[])['filter'](J=>(J['operators']??[])['some'](K=>K?.['toLowerCase']()===t['toLowerCase']()))['map'](J=>J['name']),'has_active_order':!![]})['role'];}const w={'current':g,'nodes':n,'caller':a['accountName'],'callerAddress':t,'callerRole':v,'orderHolderAddresses':s,'progressNamedOperator':q,'permissionContext':p,'orderContext':r,'permissionDescription':o,'nameResolver':u};let x=buildWorkflowGuidance(w);if(x['options']['length']===0x0){const J=await fetchTerminalEscrow(f['task'],a['network'],a['noCache'],g);J&&(w['escrow']=J,x=buildWorkflowGuidance(w));}let y;a['operate']?.['forward']&&a['operate']?.['next_node_name']&&(y=buildWorkflowReceipt({...w,'callerName':a['accountName']??b,'forward':a['operate']['forward'],'targetNode':a['operate']['next_node_name'],'op':a['operate']['op'],'session':l,'simulated':j}));if(a['compact']){x['options']['length']&&!y?.['next_guidance']?.['options']['length']&&trimGuidanceProse(x);if(y?.['next_guidance'])trimGuidanceProse(y['next_guidance']);}const z=[y?renderReceiptText(y):undefined,x['options']['length']&&!y?.['next_guidance']?.['options']['length']?renderGuidanceText(x):undefined]['filter'](K=>!!K)['join']('\x0a\x0a');return{'guidance':x,'receipt':y,'text':z};}catch{return undefined;}}export async function resolveHoldableEdges(a){try{let b;if(a['progressRef']['startsWith']('0x'))b=a['progressRef'];else b=await LocalMark['Instance']()['get_address'](a['progressRef'])??undefined;if(!b)return undefined;const c=(await batchQueryObjectsByIds([b],a['network'],!![]))[0x0],d=c?.['data']??c;if((c?.['type']??d?.['type'])!=='Progress')return undefined;const e=typeof d['current']==='string'?d['current']:'',g=d['machine'];if(!g)return undefined;const h=await fetchMachineNodes(g,a['network'],![]);let i;try{const n=await batchQueryObjectsByIds([g],a['network'],a['noCache']),o=(n[0x0]?.['data']??n[0x0])?.['permission'];if(o)i=await fetchPermissionContext(o,a['network'],a['noCache']);}catch{}const j=(Array['isArray'](d['namedOperator'])?d['namedOperator']:[])['map'](p=>({'name':String(p?.['name']??''),'operators':(p?.['operators']??[])['map'](q=>String(q))}));let k;if(d['task'])k=await fetchOrderContext(d['task'],a['network'],a['noCache']);let l;try{l=await LocalMark['Instance']()['get_address'](a['accountName'])??undefined;}catch{l=undefined;}if(!l)return{'current':e,'edges':[]};const m=[];for(const p of h){for(const q of p['pairs']){if(q['prev_node']!==e)continue;for(const r of q['forwards']){if(!r['name'])continue;m['push']({'next_node':p['name'],'forward':r['name'],'weight':r['weight'],'threshold':q['threshold'],'guard':r['guard'],'kind':forwardOperatorKind(r),'holdable':accountCanExecuteForward(r,l,j,k,i)});}}}return{'current':e,'edges':m};}catch{return undefined;}}function trimGuidanceProse(a){for(const b of a['options']??[]){delete b['gains'],delete b['risks'];if(!b['recommended'])delete b['operator']?.['recommended_call']?.['reason'];}}export function mergeGuidanceIntoOutput(a,b,c){if(!b)return a;try{const d=a?.['structuredContent'];if(d&&typeof d==='object'){const e=d['semantic'];if(e&&typeof e==='object'){const f=!!b['receipt']?.['next_guidance']?.['options']?.['length'];b['guidance']&&!f&&(e['workflow_guidance']=b['guidance']);if(b['receipt'])e['workflow_receipt']=b['receipt'];c?.['responseLevel']!=='full'&&(e['workflow_guidance']&&trimGuidanceProse(e['workflow_guidance']),b['receipt']?.['next_guidance']&&trimGuidanceProse(b['receipt']['next_guidance']));}}b['text']&&Array['isArray'](a?.['content'])&&a['content'][0x0]?.['text']!==undefined&&(a['content'][0x0]['text']=b['text']+'\x0a\x0a'+a['content'][0x0]['text']);}catch{}return a;}export async function resolveLocalNamesFor(a){const b=new Map();try{const c=[...new Set((a??[])['filter'](e=>typeof e==='string'&&e['startsWith']('0x')))];if(c['length']===0x0)return{'byAddress':b};const d=await GetLocalNamesByAddresses(c);for(const e of d??[]){const f=e?.['account']||e?.['local_mark'];if(f)b['set'](String(e['address'])['toLowerCase'](),f);}}catch{}return{'byAddress':b};}export async function listLocalAccounts(){try{const a=await query_account_list({'suspended':![]});return(a??[])['filter'](b=>b?.['address'])['map'](b=>({'address':String(b['address']),'name':b['name']??undefined}));}catch{return[];}}export function accountCanExecuteForward(a,b,c,d,e){const g=b['toLowerCase']();if(a['namedOperator']!==undefined&&a['namedOperator']!==null){if(a['namedOperator']===''){if(d&&(g===d['builder']['toLowerCase']()||d['agent']['has'](g)))return!![];}else{if(a['namedOperator']['length']>0x0){const h=a['namedOperator'],i=c['find'](j=>String(j?.['name']??'')===h);if(i?.['operators']?.['some'](j=>String(j)['toLowerCase']()===g))return!![];}}}if(a['permissionIndex']!==undefined&&a['permissionIndex']!==null&&e){if(e['admin']['has'](g))return!![];const j=e['table']['get'](g);if(j?.['has'](a['permissionIndex']))return!![];}return![];}export function forwardOperatorKind(a){if(a['namedOperator']==='')return'order_holder';if(typeof a['namedOperator']==='string'&&a['namedOperator']['length']>0x0)return'named_operator';return'permission_index';}export function enumerateActionableForwards(a,b,c,d,e,g){const h=typeof a?.['current']==='string'?a['current']:'',i=new Map();for(const k of Array['isArray'](a?.['session'])?a['session']:[]){const l=String(k?.['next_node']??'');for(const m of Array['isArray'](k?.['forwards'])?k['forwards']:[]){i['set'](l+'|'+String(m?.['forward']??''),{'who':m?.['who']?String(m['who'])['toLowerCase']():null,'accomplished':!!m?.['accomplished']});}}const j=[];for(const n of b){for(const o of n['pairs']){if(o['prev_node']!==h)continue;for(const p of o['forwards']){if(!p['name'])continue;const q=i['get'](n['name']+'|'+p['name']);if(q?.['accomplished'])continue;let r=c['filter'](t=>accountCanExecuteForward(p,t,d,e,g));q?.['who']&&(r=r['filter'](t=>t['toLowerCase']()===q['who'])),j['push']({'next_node':n['name'],'forward':p['name'],'weight':p['weight'],'threshold':o['threshold'],'guard':p['guard'],'operator_kind':forwardOperatorKind(p),'permission_index':p['permissionIndex']??undefined,'named_operator':typeof p['namedOperator']==='string'&&p['namedOperator']['length']>0x0?p['namedOperator']:undefined,'executable_accounts':r['map'](t=>t['toLowerCase']())});}}}return j;}
1
+ import{query_account_list,LocalMark,GetLocalNamesByAddresses}from'@wowok/wowok';import{NO_AUTO_SETTLEMENT_FACT}from'./settlement-semantics.js';import{REPOSITORY_PERMISSIONS,REWARD_PERMISSIONS,MACHINE_PERMISSIONS,PROGRESS_PERMISSIONS,TREASURY_PERMISSIONS,SERVICE_PERMISSIONS,ARBITRATION_PERMISSIONS,DEMAND_PERMISSIONS,CONTACT_PERMISSIONS}from'./permission-ledger.js';import{formatShortAddress}from'../persona/address-format.js';import{recommendedCallForForwardBinding,recommendedCallForOrderHolder}from'../participation/radar-core.js';import{batchQueryObjectsByIds,fetchMachineNodes,fetchOrderContext,fetchPermissionContext}from'../graph/onchain/sdk-batch.js';import{deriveCommercialRole}from'../role/derivation.js';import{valuePerspectiveOf}from'../role/model.js';const BUILTIN_PERMISSION_MAP=new Map();for(const entry of[...REPOSITORY_PERMISSIONS,...REWARD_PERMISSIONS,...MACHINE_PERMISSIONS,...PROGRESS_PERMISSIONS,...TREASURY_PERMISSIONS,...SERVICE_PERMISSIONS,...ARBITRATION_PERMISSIONS,...DEMAND_PERMISSIONS,...CONTACT_PERMISSIONS]){BUILTIN_PERMISSION_MAP['set'](entry['index'],entry['name']);}export function resolvePermissionRole(a,b){if(a===undefined||a===null)return'unknown\x20role';if(b){const d=/([A-Za-z][A-Za-z0-9_]*)\s*=\s*(\d+)/g;let e;while((e=d['exec'](b))!==null){if(Number(e[0x2])===a)return e[0x1]+'\x20(permission\x20'+a+')';}}const c=BUILTIN_PERMISSION_MAP['get'](a);if(c)return c+'\x20(permission\x20'+a+')';return'permission\x20'+a;}const COMPLETE_RE=/(^|_)(completed?|done|finished|received|delivered|accepted|confirmed|finalized|success|approved)(_|$)/i,REFUND_RE=/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?)(_|$)/i,EXCEPTION_RE=/(^|_)(interrupt(ed)?|exception|dispute(d)?|fail(ed)?|abort(ed)?|reject(ed)?)(_|$)/i,PRE_DELIVERY_RE=/^(|entry|paid|kickoff|confirmed|requirements_pending|in_progress|active|processing|subscribed)$/i,ACTIVE_STAGE_RE=/(charg|billing|renew|deliver|fulfill|ship|sent|work|produ)/i,REFUND_FLAVOR_RE=/(^|_)(cancel(led)?|refund(ed)?|return(ed|_approved)?|expired)(_|$)/i;function classifyNode(a){if(COMPLETE_RE['test'](a))return'complete';if(REFUND_RE['test'](a))return'refund';if(EXCEPTION_RE['test'](a))return'exception';return'advance';}function businessMeaning(a,b){switch(b){case'complete':return'completion\x20stage\x20\x22'+a+'\x22';case'refund':return'refund/cancel\x20stage\x20\x22'+a+'\x22';case'exception':return'exception/dispute\x20stage\x20\x22'+a+'\x22';default:return'advance\x20to\x20\x22'+a+'\x22';}}function shortAddr(a){if(!a)return undefined;return formatShortAddress(a);}function callerIsOrderHolder(a,b){if(!a||!b?.['length'])return![];const d=a['toLowerCase']();return b['some'](e=>e?.['toLowerCase']()===d);}function resolveOperator(a,b,c,d,e){const g=e&&a['namedOperator']===''&&!a['permissionIndex']?recommendedCallForOrderHolder({'hasGuard':!!a['guard'],'currentNode':e['currentNode'],'targetNode':e['targetNode']}):recommendedCallForForwardBinding({'permissionIndex':a['permissionIndex'],'namedOperator':a['namedOperator'],'hasGuard':!!a['guard']});if(a['namedOperator']===''){const h=b?.[0x0],i=a['permissionIndex']!==undefined&&a['permissionIndex']!==null;return{'kind':'order_holder','role_name':i?'order\x20holder\x20(customer)\x20OR\x20'+resolvePermissionRole(a['permissionIndex'],c):'order\x20holder\x20(customer)','permission_index':i?a['permissionIndex']:undefined,'account_name':d?d(h):shortAddr(h),'recommended_call':g};}if(typeof a['namedOperator']==='string'&&a['namedOperator']['length']>0x0)return{'kind':'named_operator','named_operator':a['namedOperator'],'role_name':'named\x20operator\x20\x22'+a['namedOperator']+'\x22','recommended_call':g};if(a['permissionIndex']!==undefined&&a['permissionIndex']!==null)return{'kind':'permission_index','permission_index':a['permissionIndex'],'role_name':resolvePermissionRole(a['permissionIndex'],c),'recommended_call':g};return{'kind':'order_holder','role_name':'unknown\x20operator'};}function gainsRisksFor(a,b,c,d){if(!c)return{'gains':[],'risks':[]};if(d)return perspectiveGainsRisks(a,valuePerspectiveOf(d));if(b)switch(a){case'complete':return{'gains':['Flow\x20advances','Settlement\x20unlocked\x20—\x20provider\x20funds\x20become\x20releasable\x20(an\x20explicit\x20allocation\x20step\x20is\x20still\x20required;\x20nothing\x20releases\x20automatically)'],'risks':['Provider\x20can\x20now\x20claim\x20the\x20escrow','Refund\x20leverage\x20lost\x20once\x20completion\x20is\x20recorded\x20—\x20confirm\x20only\x20if\x20service\x20verified']};case'refund':return{'gains':['Refund\x20path\x20unlocked\x20—\x20escrow\x20becomes\x20releasable\x20back\x20to\x20you\x20via\x20an\x20explicit\x20allocation\x20step\x20(trigger\x20it\x20yourself;\x20funds\x20are\x20not\x20returned\x20automatically)'],'risks':['If\x20service\x20was\x20already\x20rendered,\x20cancellation\x20may\x20be\x20disputed']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20reputation\x20impact']};default:return{'gains':['Flow\x20advances'],'risks':[]};}switch(a){case'complete':return{'gains':['Settlement\x20unlocked\x20—\x20funds\x20releasable\x20to\x20provider\x20via\x20an\x20explicit\x20allocation\x20step\x20(NOT\x20automatic\x20on\x20node\x20migration)'],'risks':[]};case'refund':return{'gains':['Clean\x20closure'],'risks':['Lost\x20revenue\x20for\x20this\x20order']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20compensation\x20fund']};default:return{'gains':['Flow\x20advances'],'risks':[]};}}function perspectiveGainsRisks(a,b){if(b==='consumer')switch(a){case'complete':return{'gains':['Flow\x20advances','Settlement\x20unlocked\x20—\x20provider\x20funds\x20become\x20releasable\x20(an\x20explicit\x20allocation\x20step\x20is\x20still\x20required;\x20nothing\x20releases\x20automatically)'],'risks':['Provider\x20can\x20now\x20claim\x20the\x20escrow','Refund\x20leverage\x20lost\x20once\x20completion\x20is\x20recorded\x20—\x20confirm\x20only\x20if\x20service\x20verified']};case'refund':return{'gains':['Refund\x20path\x20unlocked\x20—\x20escrow\x20becomes\x20releasable\x20back\x20to\x20you\x20via\x20an\x20explicit\x20allocation\x20step\x20(trigger\x20it\x20yourself;\x20funds\x20are\x20not\x20returned\x20automatically)'],'risks':['If\x20service\x20was\x20already\x20rendered,\x20cancellation\x20may\x20be\x20disputed']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20reputation\x20impact']};default:return{'gains':['Flow\x20advances'],'risks':[]};}if(b==='producer')switch(a){case'complete':return{'gains':['Settlement\x20unlocked\x20—\x20funds\x20releasable\x20to\x20provider\x20via\x20an\x20explicit\x20allocation\x20step\x20(NOT\x20automatic\x20on\x20node\x20migration)'],'risks':[]};case'refund':return{'gains':['Clean\x20closure'],'risks':['Lost\x20revenue\x20for\x20this\x20order']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration\x20/\x20compensation\x20fund']};default:return{'gains':['Flow\x20advances'],'risks':[]};}switch(a){case'complete':return{'gains':['Flow\x20advances\x20—\x20the\x20workflow\x20moves\x20to\x20its\x20delivery/settlement\x20stage'],'risks':[]};case'refund':return{'gains':['Clean\x20closure\x20of\x20the\x20workflow'],'risks':['Cancels\x20the\x20delivery\x20track\x20—\x20confirm\x20this\x20matches\x20what\x20the\x20parties\x20agreed']};case'exception':return{'gains':['Avoids\x20stalemate'],'risks':['May\x20trigger\x20arbitration']};default:return{'gains':['Flow\x20advances'],'risks':[]};}}function consistencyFor(a,b,c,d,e,f,g){let h;if(!e)h=a==='exception'?0x2d:0x32;else{if(g){const i=valuePerspectiveOf(g);h=i==='consumer'?a==='refund'?0x46:a==='complete'?0x37:a==='exception'?0x23:0x32:i==='producer'?a==='complete'?0x4b:a==='refund'?0x1e:a==='exception'?0x23:0x32:a==='complete'?0x37:a==='refund'?0x32:a==='exception'?0x28:0x32;}else b?h=a==='refund'?0x46:a==='complete'?0x37:a==='exception'?0x23:0x32:h=a==='complete'?0x4b:a==='refund'?0x1e:a==='exception'?0x23:0x32;}if(e&&c)h+=0x14;if(d)h-=0xa;return e&&f&&(a==='refund'||a==='exception')&&(h=Math['min'](h,0x28)),Math['max'](0x0,Math['min'](0x64,h));}export function buildWorkflowGuidance(a){const b=[],c=PRE_DELIVERY_RE['test'](a['current'])||ACTIVE_STAGE_RE['test'](a['current'])||a['just_advanced']===!![];for(const n of a['nodes']){for(const p of n['pairs']){if(p['prev_node']!==a['current'])continue;for(const q of p['forwards']){if(!q['name'])continue;const r=resolveOperator(q,a['orderHolderAddresses'],a['permissionDescription'],a['nameResolver'],{'currentNode':a['current'],'targetNode':n['name']}),s=callerIsOrderHolder(a['callerAddress']??a['caller'],a['orderHolderAddresses']);let t=![];a['callerAddress']&&(t=accountCanExecuteForward(q,a['callerAddress'],a['progressNamedOperator']??[],a['orderContext'],a['permissionContext']));const u=classifyNode(n['name']),v=!!a['caller'],{gains:w,risks:x}=gainsRisksFor(u,s,v,a['callerRole']),y=consistencyFor(u,s,t,!!q['guard'],v,c,a['callerRole']);b['push']({'next_node':n['name'],'forward':q['name'],'weight':q['weight'],'operator':r,'guard':q['guard'],'business_meaning':businessMeaning(n['name'],u),'gains':w,'risks':x,'consistency':y,'recommended':![],'executable_by_caller':t});}}}if(b['length']===0x0){const z=a['escrow'],A=!z?'':z['fund_direction']==='buyer'?'the\x20rails\x20are\x20ORDER-ANCHORED\x20(GuardIdentifier\x20recipients)\x20—\x20the\x20payout\x20lands\x20on\x20the\x20Order\x20object\x20for\x20the\x20order\x20owner\x20(the\x20buyer)\x20to\x20claim,\x20regardless\x20of\x20the\x20node\x27s\x20name\x20(\x22'+a['current']+'\x22).\x20':z['fund_direction']==='provider'?'the\x20rails\x20pay\x20ENTITY\x20recipients\x20—\x20the\x20payout\x20goes\x20to\x20the\x20named\x20provider-side\x20parties,\x20regardless\x20of\x20the\x20node\x27s\x20name\x20(\x22'+a['current']+'\x22).\x20':z['fund_direction']==='mixed'?'the\x20rails\x20mix\x20order-anchored\x20and\x20Entity\x20recipients\x20—\x20which\x20party\x20is\x20paid\x20depends\x20on\x20WHICH\x20rail\x20fires;\x20inspect\x20each\x20allocator\x27s\x20guard\x20before\x20triggering.\x20':z['fund_direction']==='signer'?'a\x20rail\x20pays\x20whoever\x20TRIGGERS\x20it\x20(Signer\x20recipient)\x20—\x20the\x20operator\x27s\x20own\x20identity\x20decides\x20the\x20payee;\x20never\x20trigger\x20on\x20behalf\x20of\x20another\x20party.\x20':'rail\x20recipients\x20were\x20unreadable\x20from\x20the\x20machine\x20graph\x20—\x20READ\x20them\x20before\x20triggering,\x20the\x20tooling\x20can:\x20query_toolkit\x20query_type=\x27service_panorama\x27\x20returns\x20result.service.order_allocators.allocators[].sharing\x20(who/mode/value\x20per\x20rail),\x20and\x20object_panorama\x20on\x20the\x20pool\x27s\x20Allocation\x20(\x27'+z['allocation']+'\x27)\x20returns\x20the\x20balance,\x20payment_info\x20anchor\x20and\x20the\x20same\x20resolved\x20recipient\x20rows.\x20The\x20name\x20flavor\x20('+(z['refund_terminal']?'refund/cancel-flavored':'completion-flavored')+')\x20is\x20a\x20GUESS\x20about\x20direction,\x20never\x20a\x20fact\x20—\x20do\x20not\x20act\x20on\x20it\x20alone.\x20',B=z?'Node\x20\x22'+a['current']+'\x22\x20is\x20terminal\x20(no\x20outgoing\x20forwards)\x20—\x20but\x20the\x20order\x27s\x20Allocation\x20'+z['allocation']+'\x20still\x20holds\x20'+z['balance']+'\x20(smallest\x20unit)\x20with\x20no\x20payments\x20recorded.\x20'+NO_AUTO_SETTLEMENT_FACT+'\x20'+A+('Execute\x20via\x20onchain_operations\x20{operation_type:\x27allocation\x27,\x20data:{object:\x27'+z['allocation']+'\x27,\x20alloc_by_guard:\x27<guard>\x27}}')+(z['guards']['length']?'\x20—\x20candidate\x20guards\x20on\x20this\x20pool:\x20'+z['guards']['join'](',\x20')+'.':'\x20—\x20inspect\x20the\x20pool\x27s\x20allocators\x20first.')+'\x20Trigger\x20ONCE\x20and\x20verify\x20the\x20pool\x20drained\x20(a\x20fully-drained\x20pool\x20aborts\x20on\x20re-trigger;\x20a\x20max-capped\x20pool\x20re-splits\x20the\x20remainder).\x20Recipients\x20then\x20claim\x20their\x20CoinWrappers\x20(receive).':'Node\x20\x22'+a['current']+'\x22\x20has\x20no\x20outgoing\x20forwards\x20—\x20it\x20is\x20a\x20terminal\x20node\x20(or\x20the\x20workflow\x20is\x20stuck).\x20No\x20further\x20progress\x20operation\x20is\x20available\x20here.';return{'current_node':a['current'],'caller':a['caller'],'options':[],'note':B};}const d=new Map();for(const C of b){const D=d['get'](C['forward']);if(D)D['add'](C['next_node']);else d['set'](C['forward'],new Set([C['next_node']]));}const e=[];for(const [E,F]of d){if(F['size']<0x2)continue;const G=[...F]['sort'](),H=G['some'](K=>classifyNode(K)==='refund'),I=G['some'](K=>classifyNode(K)!=='refund'),J=H&&I;e['push'](J?'CRITICAL\x20'+E:E);for(let K=0x0;K<b['length'];K++){if(b[K]['forward']!==E)continue;b[K]={...b[K],'ambiguous':{'destinations':G,'fund_conflict':J}};}}e['sort'](),b['sort']((L,M)=>M['consistency']-L['consistency']);const g=e['length']>0x0;let h;if(!g){const L=b['findIndex'](M=>!M['ambiguous']);L>=0x0&&(h={...b[L],'recommended':!![]},b[L]=h);}const j=[];for(const M of b){h&&M!==h&&M['consistency']>0x0&&M['forward']!==h['forward']&&j['push']('Choosing\x20\x22'+M['forward']+'\x20→\x20'+M['next_node']+'\x22\x20forfeits\x20the\x20faster/more\x20aligned\x20path\x20\x22'+h['forward']+'\x20→\x20'+h['next_node']+'\x22');}c&&b['some'](N=>classifyNode(N['next_node'])==='refund')&&j['push']('Refund/cancel\x20options\x20are\x20listed\x20but\x20not\x20auto-recommended\x20here\x20(pre-delivery\x20stage,\x20active\x20billing/delivery\x20stage,\x20or\x20a\x20just-completed\x20advance\x20signals\x20intent\x20to\x20continue)\x20—\x20choose\x20one\x20explicitly\x20when\x20cancellation\x20is\x20intended');for(const N of b){if(!N['ambiguous'])continue;j['push']('\x22'+N['forward']+'\x22\x20is\x20AMBIGUOUS\x20from\x20\x22'+a['current']+'\x22\x20—\x20it\x20legally\x20reaches\x20'+N['ambiguous']['destinations']['join']('\x20/\x20')+'\x20'+(N['ambiguous']['fund_conflict']?'(fund\x20direction\x20DIFFERS\x20between\x20them);\x20the\x20destination\x20you\x20pass\x20in\x20next_node_name\x20decides,\x20so\x20state\x20the\x20intended\x20node\x20explicitly\x20instead\x20of\x20trusting\x20the\x20forward\x20name':';\x20state\x20the\x20intended\x20node\x20explicitly'));}const k=[];if(h){const O=h['operator'];if(O['kind']==='order_holder')O['account_name']&&O['account_name']!==a['caller']&&k['push']('The\x20recommended\x20action\x20is\x20executed\x20by\x20another\x20account\x20('+O['account_name']+');\x20switch\x20the\x20signing\x20account\x20(env.account)\x20before\x20operating.');else{if(h['executable_by_caller']===![]){const P=O['kind']==='named_operator'?'named\x20operator\x20\x22'+O['named_operator']+'\x22':O['role_name']??'permission\x20index\x20'+(O['permission_index']??'(unknown)');let Q;if(O['kind']==='permission_index'&&a['permissionContext']&&O['permission_index']!==undefined){const R=[...a['orderHolderAddresses']??[],...a['callerAddress']?[a['callerAddress']]:[]],S=R['find'](T=>{if(!T)return![];const U=T['toLowerCase']();return a['permissionContext']['admin']['has'](U)||(a['permissionContext']['table']['get'](U)?.['has'](O['permission_index'])??![]);});if(S)Q=a['nameResolver']?a['nameResolver'](S):shortAddr(S);}k['push']('The\x20recommended\x20action\x20requires\x20'+P+(Q?'\x20(held\x20by\x20'+Q+')':'')+('\x20—\x20the\x20current\x20signing\x20account\x20('+(a['caller']??'unresolved')+')\x20is\x20not\x20entitled;\x20switch\x20env.account\x20to\x20an\x20account\x20holding\x20it\x20before\x20operating.'));}}}e['length']>0x0&&k['push']('Machine\x20topology\x20defect\x20(P0-6):\x20forward\x20name(s)\x20'+[...new Set(e['map'](T=>T['replace'](/^CRITICAL /,'')))]['join'](',\x20')+'\x20'+'resolve\x20to\x20more\x20than\x20one\x20destination\x20from\x20this\x20node.\x20The\x20contract\x20accepts\x20any\x20of\x20them\x20(next_node\x20is\x20a\x20caller\x20argument;\x20'+'the\x20graph\x20only\x20forbids\x20duplicate\x20prev_node\x20WITHIN\x20one\x20node),\x20so\x20the\x20workflow\x20outcome\x20is\x20decided\x20by\x20the\x20CALLER,\x20not\x20by\x20the\x20published\x20Machine.\x20'+'Nothing\x20is\x20auto-recommended\x20for\x20these\x20forwards\x20—\x20fix\x20the\x20graph\x20by\x20giving\x20each\x20destination\x20its\x20own\x20forward\x20name.');const l=b['filter'](T=>T['guard']);l['length']>=0x2&&l['length']===b['length']&&k['push'](l['length']+'\x20guarded\x20variants\x20mount\x20on\x20node\x20\x22'+a['current']+'\x22\x20and\x20they\x20are\x20typically\x20MUTUALLY\x20EXCLUSIVE\x20'+'(variant\x20rails\x20usually\x20read\x20a\x20policy/mode\x20oracle\x20row\x20—\x20only\x20the\x20row\x27s\x20current\x20value\x20admits\x20one\x20of\x20them).\x20'+'Do\x20NOT\x20discover\x20which\x20one\x20by\x20signing:\x20probe\x20with\x20env.dry_run=true\x20first\x20(free,\x20never\x20committed\x20—\x20'+'EVERY\x20write\x20channel\x20honors\x20env.dry_run:\x20the\x20call\x20simulates\x20and\x20returns\x20a\x20\x22dry_run:*\x22\x20digest,\x20'+'nothing\x20is\x20signed\x20or\x20submitted,\x20so\x20a\x20guard\x20rejection\x20on\x20a\x20dry\x20run\x20does\x20not\x20consume\x20the\x20retry\x20budget\x20'+'and\x20mints\x20nothing)\x20—\x20the\x20rejection\x20diagnosis\x20names\x20the\x20failing\x20guard.');const m=/(enter|fund|renew|pay|deposit|top_?up|refund|claim|withdraw|settle|release)/i;return h&&m['test'](h['forward'])&&k['push']('\x22'+h['forward']+'\x22\x20is\x20a\x20MONEY-state\x20forward,\x20but\x20this\x20guidance\x20reads\x20only\x20topology\x20and\x20roles\x20—\x20NOT\x20the\x20order\x27s\x20live\x20Allocation\x20balance\x20or\x20claimed_by.\x20If\x20the\x20escrow\x20is\x20already\x20drained\x20(allocation.balance\x20==\x200)\x20or\x20arbitration-displaced\x20(order.claimed_by\x20some\x20==\x20true),\x20the\x20advance\x20burns\x20gas\x20and\x20aborts:\x20query\x20the\x20order\x27s\x20allocation\x20balance\x20+\x20claimed_by\x20FIRST,\x20and\x20probe\x20with\x20env.dry_run=true\x20when\x20unsure.'),{'current_node':a['current'],'caller':a['caller'],'options':b,'recommendation':h?{'best':h['forward']+'\x20→\x20'+h['next_node'],'rationale':'Highest\x20consistency\x20('+h['consistency']+'/100)\x20with\x20the\x20caller\x27s\x20interests.\x20Gains:\x20'+(h['gains']?.['join'](';\x20')||'none')+'.\x20Risks:\x20'+(h['risks']?.['join'](';\x20')||'none')+'.\x20Operator:\x20'+(h['operator']['role_name']??h['operator']['kind'])+(h['operator']['account_name']?'\x20('+h['operator']['account_name']+')':'')+'.'+(h['guard']?'\x20Guard\x20to\x20satisfy:\x20'+h['guard']+'.':''),'caveat':j['length']?j['join']('.\x20'):undefined}:{'best':undefined,'rationale':e['length']?'No\x20action\x20recommended:\x20every\x20reachable\x20forward\x20from\x20\x22'+a['current']+'\x22\x20is\x20ambiguous\x20(resolves\x20to\x20multiple\x20destinations).\x20Choose\x20the\x20destination\x20node\x20deliberately\x20—\x20do\x20not\x20let\x20the\x20forward\x20name\x20decide\x20it.':undefined,'caveat':j['length']?j['join']('.\x20'):undefined},'note':k['length']?k['join']('\x20'):undefined};}export function buildWorkflowReceipt(a){const b={'hold':'held','unhold':'released\x20(unhold)','adminUnhold':'force-released\x20(adminUnhold)'},c=a['op']?b[a['op']]:undefined,d=c!==undefined?![]:a['current']===a['targetNode'],e={'account':a['callerName'],'action':c!==undefined?a['callerName']+'\x20'+c+'\x20\x22'+a['forward']+'\x22\x20—\x20node\x20stays\x20at\x20\x22'+a['current']+'\x22':a['callerName']+'\x20executed\x20'+a['forward']+'\x20(→\x20'+a['targetNode']+')','forward':a['forward'],'target_node':a['targetNode'],'op':a['op'],'migrated':d,'current_node':a['current']};if(a['simulated'])e['simulated']=!![];if(a['txDigest'])e['digest']=a['txDigest'];if(a['signer'])e['signer']=a['signer'];if(c!==undefined)e['note']='Hold-family\x20op\x20does\x20not\x20migrate\x20the\x20node\x20—\x20it\x20only\x20pins/unpins\x20a\x20forward;\x20the\x20current\x20node\x20and\x20its\x20threshold\x20state\x20are\x20unchanged.';else{if(!d){const h=a['nodes']['filter'](l=>l['name']===a['targetNode'])['flatMap'](l=>l['pairs'])['find'](l=>l['prev_node']===a['current']),i=a['session']?.['slice'](-0x1)[0x0],j=i?.['threshold']??h?.['threshold']??0x0,k=i?.['weights']??0x0;if(j>0x0){e['threshold']=j,e['accumulated_weight']=k,e['remaining']=Math['max'](0x0,j-k);const l=new Set((i?.['forwards']??[])['filter'](n=>n?.['accomplished']!==![])['map'](n=>n?.['forward'])['filter'](n=>!!n)),m=[];for(const n of h?.['forwards']??[]){if(!n['name']||l['has'](n['name']))continue;m['push']({'forward':n['name'],'operator':resolveOperator(n,a['orderHolderAddresses'],a['permissionDescription'],a['nameResolver'],{'currentNode':a['current'],'targetNode':a['targetNode']})});}if(m['length'])e['waiting_on']=m;e['note']='Node\x20did\x20not\x20migrate:\x20threshold\x20'+j+',\x20accumulated\x20weight\x20'+k+',\x20remaining\x20'+Math['max'](0x0,j-k)+'.\x20'+(m['length']?'Waiting\x20for:\x20'+m['map'](o=>o['forward']+'\x20('+(o['operator']['role_name']??o['operator']['kind'])+')')['join'](';\x20'):'All\x20forwards\x20on\x20this\x20pair\x20are\x20accomplished\x20—\x20the\x20node\x20should\x20migrate\x20on\x20the\x20next\x20operation.');}else e['note']='Node\x20did\x20not\x20migrate\x20(threshold\x200)\x20—\x20no\x20further\x20weight\x20cooperation\x20required;\x20verify\x20the\x20operation\x20outcome.';}}const g=buildWorkflowGuidance({'current':a['current'],'nodes':a['nodes'],'caller':a['caller'],'callerAddress':a['callerAddress'],'callerRole':a['callerRole'],'orderHolderAddresses':a['orderHolderAddresses'],'progressNamedOperator':a['progressNamedOperator'],'permissionContext':a['permissionContext'],'orderContext':a['orderContext'],'permissionDescription':a['permissionDescription'],'nameResolver':a['nameResolver'],'escrow':a['escrow'],'just_advanced':d&&classifyNode(a['targetNode'])!=='refund'});if(g['options']['length']>0x0)e['next_guidance']=g;else{if(g['note'])e['note']=e['note']?e['note']+'\x20'+g['note']:g['note'];}return e;}function operatorText(a){const b=[a['role_name']??a['kind']];if(a['account_name'])b['push'](a['account_name']);return b['join']('\x20/\x20');}export function renderGuidanceText(a){const b=['[WORKFLOW\x20GUIDANCE]\x20current\x20node:\x20\x22'+a['current_node']+'\x22'+(a['caller']?'\x20(caller:\x20'+a['caller']+')':'')];if(a['options']['length']===0x0)return b['push']('\x20\x20•\x20'+(a['note']??'No\x20reachable\x20next\x20nodes.')),b['join']('\x0a');for(const c of a['options']){const d=['\x22'+c['forward']+'\x22\x20→\x20\x22'+c['next_node']+'\x22','operator:\x20'+operatorText(c['operator']),'weight:\x20'+c['weight'],'consistency:\x20'+c['consistency']+'/100'+(c['recommended']?'\x20[RECOMMENDED]':'')];if(c['guard'])d['push']('guard:\x20'+c['guard']);c['ambiguous']&&d['push']('AMBIGUOUS:\x20this\x20forward\x20name\x20also\x20reaches\x20'+c['ambiguous']['destinations']['filter'](e=>e!==c['next_node'])['join'](',\x20')+(c['ambiguous']['fund_conflict']?'\x20(fund\x20direction\x20differs\x20—\x20next_node_name\x20decides)':''));d['push']('meaning:\x20'+c['business_meaning']);if(c['gains']?.['length'])d['push']('gains:\x20'+c['gains']['join'](';\x20'));if(c['risks']?.['length'])d['push']('risks:\x20'+c['risks']['join'](';\x20'));b['push']('\x20\x20•\x20'+d['join']('\x20|\x20'));}if(a['recommendation']?.['best']){b['push']('\x20\x20RECOMMENDED:\x20'+a['recommendation']['best']+'.\x20'+(a['recommendation']['rationale']??''));if(a['recommendation']['caveat'])b['push']('\x20\x20CAVEAT\x20(opportunity\x20cost):\x20'+a['recommendation']['caveat']);}if(a['note'])b['push']('\x20\x20NOTE:\x20'+a['note']);return b['push']('\x20\x20(AI\x20recommendation\x20only\x20—\x20the\x20account\x20decides;\x20switch\x20env.account\x20if\x20another\x20operator\x20must\x20act.)'),b['join']('\x0a');}export function renderReceiptText(a){const b=['[WORKFLOW\x20RECEIPT]\x20'+a['action']];b['push']('\x20\x20•\x20node\x20migrated:\x20'+(a['migrated']?'yes\x20→\x20current:\x20\x22'+a['current_node']+'\x22':'no\x20→\x20current:\x20\x22'+a['current_node']+'\x22'));a['digest']&&b['push']('\x20\x20•\x20tx\x20digest:\x20'+a['digest']+(a['signer']?'\x20|\x20signer:\x20'+a['signer']:'')+'\x20(verify\x20via\x20onchain_transaction\x20or\x20a\x20block\x20explorer)');a['simulated']&&b['push']('\x20\x20•\x20simulated\x20(dry-run):\x20this\x20migration\x20comes\x20from\x20the\x20call\x27s\x20own\x20events\x20—\x20state\x20NOT\x20committed\x20on-chain');if(!a['migrated']){a['threshold']!==undefined&&a['threshold']>0x0&&(b['push']('\x20\x20•\x20threshold:\x20'+a['threshold']+'\x20|\x20accumulated\x20weight:\x20'+(a['accumulated_weight']??0x0)+'\x20|\x20remaining:\x20'+(a['remaining']??0x0)),a['waiting_on']?.['length']&&b['push']('\x20\x20•\x20waiting\x20on:\x20'+a['waiting_on']['map'](c=>'\x22'+c['forward']+'\x22\x20('+operatorText(c['operator'])+')')['join'](';\x20')));if(a['note'])b['push']('\x20\x20•\x20note:\x20'+a['note']);}return a['next_guidance']&&a['next_guidance']['options']['length']>0x0&&b['push'](renderGuidanceText(a['next_guidance'])),b['join']('\x0a');}async function makeNameResolver(a){const b=[...new Set(a['filter'](d=>!!d))],c=new Map();if(b['length'])try{const d=await GetLocalNamesByAddresses(b);for(const e of d){const f=e?.['account']??e?.['local_mark'];if(f)c['set'](e['address']['toLowerCase'](),f);}}catch{}return g=>{if(!g)return undefined;const h=c['get'](g['toLowerCase']());return h??shortAddr(g);};}export function extractObjectVersionFromTx(a,b){if(!a||typeof a!=='object')return undefined;const d=a,e=d['effects']?.['objectChanges']??d['objectChanges'];if(!Array['isArray'](e))return undefined;const f=b['toLowerCase']();for(const g of e){if(typeof g?.['object']!=='string'||String(g['object'])['toLowerCase']()!==f)continue;if(g['version']!==undefined&&g['version']!==null)return String(g['version']);}return undefined;}export function extractProgressEventNodeFromTx(a,b){if(!a||typeof a!=='object'||!b)return undefined;const c=a,d=c['events']??c['effects']?.['events'];if(!Array['isArray'](d))return undefined;const e=b['toLowerCase']();for(const f of d){const g=f?.['json']??f?.['parsedJson']??f,h=typeof g?.['node']==='string'?g['node']:undefined;if(!h)continue;const i=typeof g?.['object']==='string'?g['object']['trim']()['toLowerCase']():'';if(i===e||i['startsWith'](e+'\x20')||i['startsWith'](e+'('))return h;}return undefined;}export function extractTxDigestFromResult(a){const b=a?.['digest'];if(typeof b!=='string'||!b||b['startsWith']('dry_run:'))return undefined;return b;}async function fetchTerminalEscrow(b,c,d,e){if(!b)return undefined;try{const f=(await batchQueryObjectsByIds([b],c,d??!![]))[0x0],g=f?.['data']??f,h=typeof g?.['allocation']==='string'?g['allocation']:undefined;if(!h)return undefined;const i=(await batchQueryObjectsByIds([h],c,d??!![]))[0x0],j=i?.['data']??i,k=typeof j?.['balance']==='bigint'?j['balance']:BigInt(j?.['balance']??0x0);if(k<=0x0n)return undefined;const l=Array['isArray'](j?.['payment'])?j['payment']:[];if(l['length']>0x0)return undefined;const m=(Array['isArray'](j?.['allocators']?.['allocators'])?j['allocators']['allocators']:[])['map'](p=>String(p?.['guard']??''))['filter'](p=>p),n=new Set();for(const p of Array['isArray'](j?.['allocators']?.['allocators'])?j['allocators']['allocators']:[]){for(const q of Array['isArray'](p?.['sharing'])?p['sharing']:[]){const r=q?.['who'];if(r!==null&&typeof r==='object'){if('GuardIdentifier'in r)n['add']('buyer');else{if('Entity'in r)n['add']('provider');else{if('Signer'in r)n['add']('signer');}}}}}const o=n['size']===0x0?'unknown':n['size']>0x1?'mixed':[...n][0x0];return{'allocation':h,'balance':k['toString'](),'guards':m,'fund_direction':o,'refund_terminal':REFUND_FLAVOR_RE['test'](e)};}catch{return undefined;}}export async function enrichWorkflowGuidance(a){try{let b;if(a['progressRef']['startsWith']('0x'))b=a['progressRef'];else b=await LocalMark['Instance']()['get_address'](a['progressRef'])??undefined;if(!b)return undefined;const c=async()=>(await batchQueryObjectsByIds([b],a['network'],!![]))[0x0];let d=await c();const e=extractObjectVersionFromTx(a['txResult'],b);for(let A=0x0;e!==undefined&&d&&String(d['version']??'')!==e&&A<0x2;A++){await new Promise(C=>setTimeout(C,0x258));const B=await c();if(B)d=B;}const f=d?.['data']??d;if((d?.['type']??f?.['type'])!=='Progress')return undefined;let g=f['current']??'';const h=extractProgressEventNodeFromTx(a['txResult'],b),i=h!==undefined&&g!==h;if(i)g=h;const j=i&&a['dryRun']===!![],k=f['machine'],l=Array['isArray'](f['session'])?f['session']:[],m=(Array['isArray'](f['namedOperator'])?f['namedOperator']['find'](C=>C?.['name']==='')?.['operators']:undefined)??[];if(!k)return undefined;const n=await fetchMachineNodes(k,a['network'],![]);let o,p;try{const C=await batchQueryObjectsByIds([k],a['network'],a['noCache']),D=C[0x0],E=D?.['data']??D,F=E?.['permission'];if(F){const G=await batchQueryObjectsByIds([F],a['network'],a['noCache']),H=G[0x0];o=(H?.['data']??H)?.['description']??undefined,p=await fetchPermissionContext(F,a['network'],a['noCache']);}}catch{}const q=(Array['isArray'](f['namedOperator'])?f['namedOperator']:[])['map'](I=>({'name':String(I?.['name']??''),'operators':(I?.['operators']??[])['map'](J=>String(J))}));let r;f['task']&&(r=await fetchOrderContext(f['task'],a['network'],a['noCache']));const s=r?Array['from'](new Set([r['builder'],...r['agent']])['values']()):m;let t;try{t=await LocalMark['Instance']()['get_address'](a['accountName'])??undefined;}catch{t=undefined;}const u=await makeNameResolver([a['accountName'],...s]);let v;if(t){const I=[...p?.['table']['get'](t)??[]];p?.['admin']['has'](t)&&I['length']===0x0?v='collaborator':v=deriveCommercialRole({'account':t,'order_holder':s['includes'](t)?t:undefined,'held_permission_indexes':I,'named_operator_names':(q??[])['filter'](J=>(J['operators']??[])['some'](K=>K?.['toLowerCase']()===t['toLowerCase']()))['map'](J=>J['name']),'has_active_order':!![]})['role'];}const w={'current':g,'nodes':n,'caller':a['accountName'],'callerAddress':t,'callerRole':v,'orderHolderAddresses':s,'progressNamedOperator':q,'permissionContext':p,'orderContext':r,'permissionDescription':o,'nameResolver':u};let x=buildWorkflowGuidance(w);if(x['options']['length']===0x0){const J=await fetchTerminalEscrow(f['task'],a['network'],a['noCache'],g);J&&(w['escrow']=J,x=buildWorkflowGuidance(w));}let y;a['operate']?.['forward']&&a['operate']?.['next_node_name']&&(y=buildWorkflowReceipt({...w,'callerName':a['accountName']??b,'forward':a['operate']['forward'],'targetNode':a['operate']['next_node_name'],'op':a['operate']['op'],'session':l,'simulated':j,'txDigest':extractTxDigestFromResult(a['txResult']),'signer':t}));if(a['compact']){x['options']['length']&&!y?.['next_guidance']?.['options']['length']&&trimGuidanceProse(x);if(y?.['next_guidance'])trimGuidanceProse(y['next_guidance']);}const z=[y?renderReceiptText(y):undefined,x['options']['length']&&!y?.['next_guidance']?.['options']['length']?renderGuidanceText(x):undefined]['filter'](K=>!!K)['join']('\x0a\x0a');return{'guidance':x,'receipt':y,'text':z};}catch{return undefined;}}export async function resolveHoldableEdges(a){try{let b;if(a['progressRef']['startsWith']('0x'))b=a['progressRef'];else b=await LocalMark['Instance']()['get_address'](a['progressRef'])??undefined;if(!b)return undefined;const c=(await batchQueryObjectsByIds([b],a['network'],!![]))[0x0],d=c?.['data']??c;if((c?.['type']??d?.['type'])!=='Progress')return undefined;const e=typeof d['current']==='string'?d['current']:'',g=d['machine'];if(!g)return undefined;const h=await fetchMachineNodes(g,a['network'],![]);let i;try{const n=await batchQueryObjectsByIds([g],a['network'],a['noCache']),o=(n[0x0]?.['data']??n[0x0])?.['permission'];if(o)i=await fetchPermissionContext(o,a['network'],a['noCache']);}catch{}const j=(Array['isArray'](d['namedOperator'])?d['namedOperator']:[])['map'](p=>({'name':String(p?.['name']??''),'operators':(p?.['operators']??[])['map'](q=>String(q))}));let k;if(d['task'])k=await fetchOrderContext(d['task'],a['network'],a['noCache']);let l;try{l=await LocalMark['Instance']()['get_address'](a['accountName'])??undefined;}catch{l=undefined;}if(!l)return{'current':e,'edges':[]};const m=[];for(const p of h){for(const q of p['pairs']){if(q['prev_node']!==e)continue;for(const r of q['forwards']){if(!r['name'])continue;m['push']({'next_node':p['name'],'forward':r['name'],'weight':r['weight'],'threshold':q['threshold'],'guard':r['guard'],'kind':forwardOperatorKind(r),'holdable':accountCanExecuteForward(r,l,j,k,i)});}}}return{'current':e,'edges':m};}catch{return undefined;}}function trimGuidanceProse(a){for(const b of a['options']??[]){delete b['gains'],delete b['risks'];if(!b['recommended'])delete b['operator']?.['recommended_call']?.['reason'];}}export function mergeGuidanceIntoOutput(a,b,c){if(!b)return a;try{const d=a?.['structuredContent'];if(d&&typeof d==='object'){const e=d['semantic'];if(e&&typeof e==='object'){const f=!!b['receipt']?.['next_guidance']?.['options']?.['length'];b['guidance']&&!f&&(e['workflow_guidance']=b['guidance']);if(b['receipt'])e['workflow_receipt']=b['receipt'];c?.['responseLevel']!=='full'&&(e['workflow_guidance']&&trimGuidanceProse(e['workflow_guidance']),b['receipt']?.['next_guidance']&&trimGuidanceProse(b['receipt']['next_guidance']));}}b['text']&&Array['isArray'](a?.['content'])&&a['content'][0x0]?.['text']!==undefined&&(a['content'][0x0]['text']=b['text']+'\x0a\x0a'+a['content'][0x0]['text']);}catch{}return a;}export async function resolveLocalNamesFor(a){const b=new Map();try{const c=[...new Set((a??[])['filter'](e=>typeof e==='string'&&e['startsWith']('0x')))];if(c['length']===0x0)return{'byAddress':b};const d=await GetLocalNamesByAddresses(c);for(const e of d??[]){const f=e?.['account']||e?.['local_mark'];if(f)b['set'](String(e['address'])['toLowerCase'](),f);}}catch{}return{'byAddress':b};}export async function listLocalAccounts(){try{const a=await query_account_list({'suspended':![]});return(a??[])['filter'](b=>b?.['address'])['map'](b=>({'address':String(b['address']),'name':b['name']??undefined}));}catch{return[];}}export function accountCanExecuteForward(a,b,c,d,e){const g=b['toLowerCase']();if(a['namedOperator']!==undefined&&a['namedOperator']!==null){if(a['namedOperator']===''){if(d&&(g===d['builder']['toLowerCase']()||d['agent']['has'](g)))return!![];}else{if(a['namedOperator']['length']>0x0){const h=a['namedOperator'],i=c['find'](j=>String(j?.['name']??'')===h);if(i?.['operators']?.['some'](j=>String(j)['toLowerCase']()===g))return!![];}}}if(a['permissionIndex']!==undefined&&a['permissionIndex']!==null&&e){if(e['admin']['has'](g))return!![];const j=e['table']['get'](g);if(j?.['has'](a['permissionIndex']))return!![];}return![];}export function forwardOperatorKind(a){if(a['namedOperator']==='')return'order_holder';if(typeof a['namedOperator']==='string'&&a['namedOperator']['length']>0x0)return'named_operator';return'permission_index';}export function enumerateActionableForwards(a,b,c,d,e,g){const h=typeof a?.['current']==='string'?a['current']:'',i=new Map();for(const k of Array['isArray'](a?.['session'])?a['session']:[]){const l=String(k?.['next_node']??'');for(const m of Array['isArray'](k?.['forwards'])?k['forwards']:[]){i['set'](l+'|'+String(m?.['forward']??''),{'who':m?.['who']?String(m['who'])['toLowerCase']():null,'accomplished':!!m?.['accomplished']});}}const j=[];for(const n of b){for(const o of n['pairs']){if(o['prev_node']!==h)continue;for(const p of o['forwards']){if(!p['name'])continue;const q=i['get'](n['name']+'|'+p['name']);if(q?.['accomplished'])continue;let r=c['filter'](t=>accountCanExecuteForward(p,t,d,e,g));q?.['who']&&(r=r['filter'](t=>t['toLowerCase']()===q['who'])),j['push']({'next_node':n['name'],'forward':p['name'],'weight':p['weight'],'threshold':o['threshold'],'guard':p['guard'],'operator_kind':forwardOperatorKind(p),'permission_index':p['permissionIndex']??undefined,'named_operator':typeof p['namedOperator']==='string'&&p['namedOperator']['length']>0x0?p['namedOperator']:undefined,'executable_accounts':r['map'](t=>t['toLowerCase']())});}}}return j;}