@wowok/agent-mcp 2.7.0 → 2.7.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 (427) hide show
  1. package/dist/config/index.js +1 -1
  2. package/dist/config/runtime.js +1 -238
  3. package/dist/customer/customer-advice.js +1 -130
  4. package/dist/customer/index.js +1 -11
  5. package/dist/customer/industry-risks.js +1 -438
  6. package/dist/customer/info-puzzle.js +1 -681
  7. package/dist/customer/order-monitor.js +1 -328
  8. package/dist/customer/order-strategy.js +1 -373
  9. package/dist/customer/post-purchase.js +1 -351
  10. package/dist/customer/preorder-compare.js +1 -34
  11. package/dist/customer/reminder-system.js +1 -316
  12. package/dist/customer/risk-assessment.d.ts +5 -1
  13. package/dist/customer/risk-assessment.js +1 -397
  14. package/dist/customer/types.js +1 -13
  15. package/dist/customer/user-preferences.js +1 -460
  16. package/dist/evaluation/arbitration-game.d.ts +23 -0
  17. package/dist/evaluation/arbitration-game.js +1 -0
  18. package/dist/evaluation/builtins/demand-match.d.ts +15 -0
  19. package/dist/evaluation/builtins/demand-match.js +1 -0
  20. package/dist/evaluation/builtins/index.d.ts +3 -0
  21. package/dist/evaluation/builtins/index.js +1 -0
  22. package/dist/evaluation/builtins/service-risk.d.ts +6 -0
  23. package/dist/evaluation/builtins/service-risk.js +1 -0
  24. package/dist/evaluation/capability.d.ts +50 -0
  25. package/dist/evaluation/capability.js +1 -0
  26. package/dist/evaluation/composer.d.ts +13 -0
  27. package/dist/evaluation/composer.js +1 -0
  28. package/dist/evaluation/engine.d.ts +18 -0
  29. package/dist/evaluation/engine.js +1 -0
  30. package/dist/evaluation/extract.d.ts +30 -0
  31. package/dist/evaluation/extract.js +1 -0
  32. package/dist/evaluation/game-strategy.d.ts +27 -0
  33. package/dist/evaluation/game-strategy.js +1 -0
  34. package/dist/evaluation/gap.d.ts +2 -0
  35. package/dist/evaluation/gap.js +1 -0
  36. package/dist/evaluation/index.d.ts +12 -0
  37. package/dist/evaluation/index.js +1 -0
  38. package/dist/evaluation/node-game.d.ts +62 -0
  39. package/dist/evaluation/node-game.js +1 -0
  40. package/dist/evaluation/region.d.ts +10 -0
  41. package/dist/evaluation/region.js +1 -0
  42. package/dist/evaluation/types.d.ts +77 -0
  43. package/dist/evaluation/types.js +1 -0
  44. package/dist/evaluation/user-injection.d.ts +6 -0
  45. package/dist/evaluation/user-injection.js +1 -0
  46. package/dist/examples/education-contact-create.json +40 -0
  47. package/dist/examples/freelance-contact-create.json +40 -0
  48. package/dist/examples/insurance-machine-create.json +1 -1
  49. package/dist/examples/insurance-service-allocators.json +1 -1
  50. package/dist/examples/machine-publish.json +1 -1
  51. package/dist/examples/rental-ziroom-service-create.json +1 -1
  52. package/dist/examples/retail-adv-guard-messenger-proof-create.json +1 -1
  53. package/dist/examples/retail-myshop-service-create.json +1 -1
  54. package/dist/examples/retail-myshop-service-customer-required.json +1 -1
  55. package/dist/examples/subscription-contact-create.json +40 -0
  56. package/dist/examples/threebody-machine-create.json +1 -1
  57. package/dist/examples/travel-machine-create.json +1 -1
  58. package/dist/examples/travel-service-create.json +1 -1
  59. package/dist/experience/experience-reuse.js +1 -103
  60. package/dist/experience/index.js +1 -5
  61. package/dist/experience/intent-distill.js +1 -83
  62. package/dist/experience/realtime-feedback.js +1 -94
  63. package/dist/experience/types.js +1 -1
  64. package/dist/experience/user-profile.js +1 -171
  65. package/dist/extensions/business-modules.js +1 -287
  66. package/dist/extensions/capability-manifest.js +1 -781
  67. package/dist/extensions/constraint-registry.js +1 -198
  68. package/dist/extensions/index.js +1 -6
  69. package/dist/extensions/metric-registry.js +1 -257
  70. package/dist/extensions/mode-evaluator.js +1 -170
  71. package/dist/extensions/modes.js +1 -499
  72. package/dist/extensions/registry.js +1 -717
  73. package/dist/extensions/types.js +1 -1
  74. package/dist/harness/auto-escalation.js +1 -68
  75. package/dist/harness/checkpoint.js +1 -129
  76. package/dist/harness/index.js +1 -78
  77. package/dist/harness/plan.js +1 -276
  78. package/dist/harness/recover.js +1 -139
  79. package/dist/harness/types.js +1 -1
  80. package/dist/harness/verify.js +1 -237
  81. package/dist/index.js +1 -273
  82. package/dist/intent/enrich.d.ts +1 -0
  83. package/dist/intent/enrich.js +1 -0
  84. package/dist/intent/index.d.ts +23 -0
  85. package/dist/intent/index.js +1 -0
  86. package/dist/intent/matcher.d.ts +2 -0
  87. package/dist/intent/matcher.js +1 -0
  88. package/dist/intent/store.d.ts +19 -0
  89. package/dist/intent/store.js +1 -0
  90. package/dist/intent/types.d.ts +33 -0
  91. package/dist/intent/types.js +1 -0
  92. package/dist/knowledge/acquisition-flywheel.js +1 -192
  93. package/dist/knowledge/allocation-confirm.js +1 -534
  94. package/dist/knowledge/allocation-context.js +1 -249
  95. package/dist/knowledge/allocation-ledger.js +1 -463
  96. package/dist/knowledge/allocation-puzzle.js +1 -298
  97. package/dist/knowledge/allocation-risk.js +1 -568
  98. package/dist/knowledge/allocation-templates.js +1 -970
  99. package/dist/knowledge/allocation-translation.js +1 -585
  100. package/dist/knowledge/arb-risk.js +1 -210
  101. package/dist/knowledge/arbitration-confirm.js +1 -559
  102. package/dist/knowledge/arbitration-context.js +1 -505
  103. package/dist/knowledge/arbitration-ledger.js +1 -521
  104. package/dist/knowledge/arbitration-puzzle.js +1 -304
  105. package/dist/knowledge/arbitration-risk.js +1 -433
  106. package/dist/knowledge/arbitration-templates.js +1 -276
  107. package/dist/knowledge/arbitration-translation.js +1 -487
  108. package/dist/knowledge/arbitration-trust.js +1 -117
  109. package/dist/knowledge/audit-rules.js +1 -141
  110. package/dist/knowledge/bridge-risk.js +1 -263
  111. package/dist/knowledge/contact-risk.js +1 -200
  112. package/dist/knowledge/contact-templates.d.ts +27 -0
  113. package/dist/knowledge/contact-templates.js +1 -0
  114. package/dist/knowledge/demand-confirm.js +1 -206
  115. package/dist/knowledge/demand-matching.js +1 -132
  116. package/dist/knowledge/demand-risk.js +1 -240
  117. package/dist/knowledge/demand-translation.js +1 -354
  118. package/dist/knowledge/deployment-scanner.js +1 -823
  119. package/dist/knowledge/dynamic-pricing.js +1 -87
  120. package/dist/knowledge/examples-scanner-cli.js +1 -26
  121. package/dist/knowledge/examples-scanner.js +1 -825
  122. package/dist/knowledge/flywheel-loop.js +1 -404
  123. package/dist/knowledge/fund-layer.js +1 -973
  124. package/dist/knowledge/glossary.js +1 -211
  125. package/dist/knowledge/guard-confirm.js +1 -406
  126. package/dist/knowledge/guard-context.js +1 -287
  127. package/dist/knowledge/guard-design-patterns.js +1 -360
  128. package/dist/knowledge/guard-ledger.js +1 -260
  129. package/dist/knowledge/guard-lint.js +1 -670
  130. package/dist/knowledge/guard-migration.js +1 -228
  131. package/dist/knowledge/guard-puzzle.js +1 -805
  132. package/dist/knowledge/guard-render.js +1 -700
  133. package/dist/knowledge/guard-risk.js +1 -1879
  134. package/dist/knowledge/guard-submission-prompt.js +1 -171
  135. package/dist/knowledge/guard-templates.js +1 -1105
  136. package/dist/knowledge/guard-translation.js +1 -1119
  137. package/dist/knowledge/index.js +1 -436
  138. package/dist/knowledge/industry-evolution.js +1 -323
  139. package/dist/knowledge/industry-generalizer.js +1 -381
  140. package/dist/knowledge/industry-registry.js +1 -174
  141. package/dist/knowledge/intent-metrics.d.ts +4 -3
  142. package/dist/knowledge/intent-metrics.js +1 -566
  143. package/dist/knowledge/machine-confirm.js +1 -559
  144. package/dist/knowledge/machine-context.js +1 -833
  145. package/dist/knowledge/machine-ledger.js +1 -338
  146. package/dist/knowledge/machine-puzzle.js +1 -494
  147. package/dist/knowledge/machine-render.js +1 -565
  148. package/dist/knowledge/machine-risk.js +1 -670
  149. package/dist/knowledge/machine-templates.js +1 -1597
  150. package/dist/knowledge/machine-topology.js +1 -234
  151. package/dist/knowledge/machine-translation.js +1 -513
  152. package/dist/knowledge/mcp-schema-audit-cli.js +1 -45
  153. package/dist/knowledge/mcp-schema-audit.d.ts +1 -1
  154. package/dist/knowledge/mcp-schema-audit.js +1 -773
  155. package/dist/knowledge/onchain-constants.js +1 -35
  156. package/dist/knowledge/order-confirm.js +1 -573
  157. package/dist/knowledge/order-context.js +1 -390
  158. package/dist/knowledge/order-ledger.js +1 -341
  159. package/dist/knowledge/order-puzzle.js +1 -255
  160. package/dist/knowledge/order-risk.js +1 -653
  161. package/dist/knowledge/order-templates.js +1 -368
  162. package/dist/knowledge/order-translation.js +1 -550
  163. package/dist/knowledge/overrides-loader.js +1 -65
  164. package/dist/knowledge/passport-confirm.js +1 -531
  165. package/dist/knowledge/passport-context.js +1 -306
  166. package/dist/knowledge/passport-ledger.js +1 -282
  167. package/dist/knowledge/passport-puzzle.js +1 -333
  168. package/dist/knowledge/passport-risk.js +1 -450
  169. package/dist/knowledge/passport-templates.js +1 -568
  170. package/dist/knowledge/passport-translation.js +1 -516
  171. package/dist/knowledge/payment-risk.js +1 -249
  172. package/dist/knowledge/permission-confirm.js +1 -426
  173. package/dist/knowledge/permission-context.js +1 -224
  174. package/dist/knowledge/permission-ledger.js +1 -403
  175. package/dist/knowledge/permission-puzzle.js +1 -173
  176. package/dist/knowledge/permission-risk.js +1 -411
  177. package/dist/knowledge/permission-templates.js +1 -234
  178. package/dist/knowledge/permission-translation.js +1 -350
  179. package/dist/knowledge/personal-risk.js +1 -212
  180. package/dist/knowledge/process-model.js +1 -160
  181. package/dist/knowledge/progress-confirm.js +1 -456
  182. package/dist/knowledge/progress-context.js +1 -452
  183. package/dist/knowledge/progress-ledger.js +1 -330
  184. package/dist/knowledge/progress-puzzle.js +1 -219
  185. package/dist/knowledge/progress-risk.js +1 -461
  186. package/dist/knowledge/progress-templates.js +1 -228
  187. package/dist/knowledge/progress-translation.js +1 -405
  188. package/dist/knowledge/proof-confirm.js +1 -187
  189. package/dist/knowledge/proof-risk.js +1 -207
  190. package/dist/knowledge/proof-translation.js +1 -283
  191. package/dist/knowledge/registrar-risk.js +1 -217
  192. package/dist/knowledge/repository-confirm.js +1 -286
  193. package/dist/knowledge/repository-risk.js +1 -373
  194. package/dist/knowledge/repository-translation.js +1 -445
  195. package/dist/knowledge/reputation-rules.js +1 -99
  196. package/dist/knowledge/resource-risk.js +1 -157
  197. package/dist/knowledge/reward-confirm.js +1 -526
  198. package/dist/knowledge/reward-context.js +1 -504
  199. package/dist/knowledge/reward-ledger.js +1 -502
  200. package/dist/knowledge/reward-puzzle.js +1 -300
  201. package/dist/knowledge/reward-risk.js +1 -627
  202. package/dist/knowledge/reward-templates.js +1 -197
  203. package/dist/knowledge/reward-translation.js +1 -501
  204. package/dist/knowledge/safety-rules.js +1 -404
  205. package/dist/knowledge/scenario-modes.js +1 -321
  206. package/dist/knowledge/service-confirm.js +1 -807
  207. package/dist/knowledge/service-context.js +1 -403
  208. package/dist/knowledge/service-ledger.js +1 -609
  209. package/dist/knowledge/service-puzzle.js +1 -236
  210. package/dist/knowledge/service-risk.js +1 -615
  211. package/dist/knowledge/service-templates.js +1 -456
  212. package/dist/knowledge/service-translation.js +1 -622
  213. package/dist/knowledge/template-registry.d.ts +1 -1
  214. package/dist/knowledge/template-registry.js +1 -341
  215. package/dist/knowledge/tool-constraints.js +1 -195
  216. package/dist/knowledge/tools-reference.js +1 -155
  217. package/dist/knowledge/treasury-confirm.js +1 -512
  218. package/dist/knowledge/treasury-context.js +1 -363
  219. package/dist/knowledge/treasury-ledger.js +1 -300
  220. package/dist/knowledge/treasury-puzzle.js +1 -216
  221. package/dist/knowledge/treasury-risk.js +1 -440
  222. package/dist/knowledge/treasury-templates.js +1 -358
  223. package/dist/knowledge/treasury-translation.js +1 -498
  224. package/dist/knowledge/trust-metrics.js +1 -198
  225. package/dist/knowledge/util-risk.js +1 -135
  226. package/dist/loop-engineering/aggregate.js +1 -132
  227. package/dist/loop-engineering/context-collect.js +1 -83
  228. package/dist/loop-engineering/diagnose.js +1 -273
  229. package/dist/loop-engineering/improve.js +1 -405
  230. package/dist/loop-engineering/index.js +1 -4
  231. package/dist/loop-engineering/pipeline.js +1 -56
  232. package/dist/mode-market/index.js +1 -3
  233. package/dist/mode-market/registry.js +1 -124
  234. package/dist/mode-market/review.js +1 -214
  235. package/dist/mode-market/submission.js +1 -85
  236. package/dist/participation/collaborator-interest.d.ts +23 -0
  237. package/dist/participation/collaborator-interest.js +1 -0
  238. package/dist/participation/customer-interest.d.ts +25 -0
  239. package/dist/participation/customer-interest.js +1 -0
  240. package/dist/participation/merchant-interest.js +1 -100
  241. package/dist/participation/radar-core.d.ts +13 -3
  242. package/dist/participation/radar-core.js +1 -269
  243. package/dist/participation/supplier-interest.d.ts +25 -0
  244. package/dist/participation/supplier-interest.js +1 -0
  245. package/dist/persona/analyzer.d.ts +16 -0
  246. package/dist/persona/analyzer.js +1 -0
  247. package/dist/persona/bridge.d.ts +5 -0
  248. package/dist/persona/bridge.js +1 -0
  249. package/dist/persona/defaults.d.ts +4 -0
  250. package/dist/persona/defaults.js +1 -0
  251. package/dist/persona/experience-bridge.d.ts +3 -0
  252. package/dist/persona/experience-bridge.js +1 -0
  253. package/dist/persona/index.d.ts +18 -0
  254. package/dist/persona/index.js +1 -0
  255. package/dist/persona/model.d.ts +7 -0
  256. package/dist/persona/model.js +1 -0
  257. package/dist/persona/store.d.ts +19 -0
  258. package/dist/persona/store.js +1 -0
  259. package/dist/persona/types.d.ts +45 -0
  260. package/dist/persona/types.js +1 -0
  261. package/dist/project/business-puzzle.js +1 -383
  262. package/dist/project/context-assembly.js +1 -254
  263. package/dist/project/deployment-bridge.js +1 -120
  264. package/dist/project/deployment-doc.js +1 -1126
  265. package/dist/project/edit-planner.js +1 -1342
  266. package/dist/project/evaluation.js +1 -2011
  267. package/dist/project/game-theory.js +1 -177
  268. package/dist/project/graph-builder.js +1 -656
  269. package/dist/project/graph.js +1 -340
  270. package/dist/project/handlers.d.ts +5 -0
  271. package/dist/project/handlers.js +1 -1762
  272. package/dist/project/index.d.ts +1 -0
  273. package/dist/project/index.js +1 -301
  274. package/dist/project/intent-analyzer.js +1 -149
  275. package/dist/project/machine-nodes.js +1 -36
  276. package/dist/project/merchant-guide.js +1 -264
  277. package/dist/project/migration.js +1 -125
  278. package/dist/project/mode-actions.js +1 -309
  279. package/dist/project/namespace.js +1 -206
  280. package/dist/project/participation-radar.js +1 -428
  281. package/dist/project/pipeline-actions.js +1 -109
  282. package/dist/project/project-store.js +1 -422
  283. package/dist/project/query.js +1 -153
  284. package/dist/project/reverse-mapping.d.ts +34 -0
  285. package/dist/project/reverse-mapping.js +1 -0
  286. package/dist/project/risk-aggregator.js +1 -295
  287. package/dist/project/rollback-policy.js +1 -290
  288. package/dist/project/semantic-assembler.js +1 -345
  289. package/dist/project/semantic-graph.js +1 -245
  290. package/dist/project/stage-gate.js +1 -369
  291. package/dist/project/substep-trace.js +1 -332
  292. package/dist/project/task-tracker.js +1 -78
  293. package/dist/role/derivation.d.ts +18 -0
  294. package/dist/role/derivation.js +1 -0
  295. package/dist/role/index.d.ts +5 -0
  296. package/dist/role/index.js +1 -0
  297. package/dist/role/model.d.ts +8 -0
  298. package/dist/role/model.js +1 -0
  299. package/dist/role/resolution.d.ts +11 -0
  300. package/dist/role/resolution.js +1 -0
  301. package/dist/role/types.d.ts +11 -0
  302. package/dist/role/types.js +1 -0
  303. package/dist/rules.d.ts +2 -0
  304. package/dist/rules.js +1 -9
  305. package/dist/safety/confirm-gate.js +1 -88
  306. package/dist/safety/index.js +1 -3
  307. package/dist/safety/preview.js +1 -52
  308. package/dist/schema/call/allocation.js +1 -34
  309. package/dist/schema/call/arbitration.js +1 -113
  310. package/dist/schema/call/base.d.ts +15 -15
  311. package/dist/schema/call/base.js +1 -370
  312. package/dist/schema/call/bridge-handler.js +1 -265
  313. package/dist/schema/call/bridge.d.ts +7 -7
  314. package/dist/schema/call/bridge.js +1 -458
  315. package/dist/schema/call/contact.js +1 -37
  316. package/dist/schema/call/demand.js +1 -47
  317. package/dist/schema/call/guard.js +1 -161
  318. package/dist/schema/call/handler.js +1 -322
  319. package/dist/schema/call/index.js +1 -20
  320. package/dist/schema/call/machine.js +1 -193
  321. package/dist/schema/call/order.js +1 -35
  322. package/dist/schema/call/payment.js +1 -37
  323. package/dist/schema/call/permission-handler.js +1 -54
  324. package/dist/schema/call/permission.js +1 -105
  325. package/dist/schema/call/personal.js +1 -78
  326. package/dist/schema/call/progress.js +1 -47
  327. package/dist/schema/call/proof.js +1 -33
  328. package/dist/schema/call/repository.js +1 -77
  329. package/dist/schema/call/reward.js +1 -30
  330. package/dist/schema/call/semantic.js +1 -1657
  331. package/dist/schema/call/service.js +1 -178
  332. package/dist/schema/call/treasury.js +1 -71
  333. package/dist/schema/common/index.js +1 -407
  334. package/dist/schema/config/index.js +1 -68
  335. package/dist/schema/evaluation/index.d.ts +4436 -0
  336. package/dist/schema/evaluation/index.js +1 -0
  337. package/dist/schema/index.d.ts +4 -0
  338. package/dist/schema/index.js +1 -13
  339. package/dist/schema/intent-radar/index.d.ts +284 -0
  340. package/dist/schema/intent-radar/index.js +1 -0
  341. package/dist/schema/local/index.d.ts +21 -21
  342. package/dist/schema/local/index.js +1 -927
  343. package/dist/schema/local/wip.js +1 -187
  344. package/dist/schema/messenger/index.d.ts +7 -7
  345. package/dist/schema/messenger/index.js +1 -475
  346. package/dist/schema/operations.d.ts +7 -7
  347. package/dist/schema/operations.js +1 -520
  348. package/dist/schema/persona/index.d.ts +1985 -0
  349. package/dist/schema/persona/index.js +1 -0
  350. package/dist/schema/project/index.d.ts +96 -50
  351. package/dist/schema/project/index.js +1 -2057
  352. package/dist/schema/query/index.d.ts +423 -7
  353. package/dist/schema/query/index.js +1 -1640
  354. package/dist/schema/schema-query/index.js +1 -104
  355. package/dist/schema/schema-version.js +1 -76
  356. package/dist/schema/sync-layer4.d.ts +1 -1
  357. package/dist/schema/sync-layer4.js +1 -282
  358. package/dist/schema/task-status.d.ts +168 -0
  359. package/dist/schema/task-status.js +1 -0
  360. package/dist/schema/trust/index.js +1 -314
  361. package/dist/schema/utils/guard-parser.js +1 -419
  362. package/dist/schema/utils/guard-query-utils.js +1 -46
  363. package/dist/schema/utils/node-parser.js +1 -369
  364. package/dist/schema/utils/object-type-utils.js +1 -35
  365. package/dist/schema/utils/permission-index-utils.js +1 -7
  366. package/dist/schema/utils/permission-machine-check.js +1 -121
  367. package/dist/schema/utils/skills-recommendation.js +1 -77
  368. package/dist/schema-query/index.js +1 -810
  369. package/dist/schemas/account_operation.output.json +5 -2
  370. package/dist/schemas/bridge_operation.output.json +5 -2
  371. package/dist/schemas/evaluation_operation.output.json +782 -0
  372. package/dist/schemas/evaluation_operation.schema.json +990 -0
  373. package/dist/schemas/index.json +25 -1
  374. package/dist/schemas/intent_radar.output.json +232 -0
  375. package/dist/schemas/intent_radar.schema.json +138 -0
  376. package/dist/schemas/local_info_operation.output.json +5 -2
  377. package/dist/schemas/local_mark_operation.output.json +5 -2
  378. package/dist/schemas/messenger_operation.output.json +5 -2
  379. package/dist/schemas/onchain_events.output.json +5 -2
  380. package/dist/schemas/onchain_operations.output.json +5 -2
  381. package/dist/schemas/onchain_operations.schema.json +6 -6
  382. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
  383. package/dist/schemas/onchain_operations_machine.schema.json +2 -2
  384. package/dist/schemas/onchain_operations_service.schema.json +3 -3
  385. package/dist/schemas/onchain_table_data.output.json +6 -3
  386. package/dist/schemas/persona_operation.output.json +392 -0
  387. package/dist/schemas/persona_operation.schema.json +250 -0
  388. package/dist/schemas/project_operation.output.json +28 -8
  389. package/dist/schemas/query_task_status.output.json +115 -0
  390. package/dist/schemas/query_task_status.schema.json +24 -0
  391. package/dist/schemas/query_toolkit.output.json +9 -6
  392. package/dist/schemas/trust_score.schema.json +1 -1
  393. package/dist/schemas/wowok_buildin_info.output.json +132 -0
  394. package/dist/schemas/wowok_buildin_info.schema.json +14 -0
  395. package/dist/telemetry/index.js +1 -112
  396. package/dist/telemetry/redact.js +1 -23
  397. package/dist/telemetry/storage.js +1 -80
  398. package/dist/tools/handlers/bridge.js +1 -1
  399. package/dist/tools/handlers/config.js +1 -74
  400. package/dist/tools/handlers/evaluation.d.ts +2 -0
  401. package/dist/tools/handlers/evaluation.js +1 -0
  402. package/dist/tools/handlers/file-export.js +1 -90
  403. package/dist/tools/handlers/intent-radar.d.ts +2 -0
  404. package/dist/tools/handlers/intent-radar.js +1 -0
  405. package/dist/tools/handlers/local.js +1 -53
  406. package/dist/tools/handlers/messenger.js +1 -188
  407. package/dist/tools/handlers/onchain.js +1 -1082
  408. package/dist/tools/handlers/persona.d.ts +4 -0
  409. package/dist/tools/handlers/persona.js +1 -0
  410. package/dist/tools/handlers/project.js +1 -211
  411. package/dist/tools/handlers/query.js +1 -434
  412. package/dist/tools/handlers/schema-query.js +1 -176
  413. package/dist/tools/handlers/task-status.d.ts +0 -168
  414. package/dist/tools/handlers/task-status.js +1 -55
  415. package/dist/tools/handlers/trust.js +1 -380
  416. package/dist/tools/handlers/wip.js +1 -90
  417. package/dist/tools/index.js +1 -1306
  418. package/dist/tools/retry.js +1 -85
  419. package/dist/tools/rules-hook.js +1 -23
  420. package/dist/tools/shared.js +1 -130
  421. package/dist/tools/types.js +1 -1
  422. package/dist/tools/upgrade-check.d.ts +19 -0
  423. package/dist/tools/upgrade-check.js +1 -0
  424. package/dist/tools/wip-deploy-assist.d.ts +1 -1
  425. package/dist/tools/wip-deploy-assist.js +1 -278
  426. package/dist/tools/wrap.js +1 -500
  427. package/package.json +5 -3
@@ -1,47 +1 @@
1
- import { z } from 'zod';
2
- import { WithPermissionObjectSchema, ObjectsSchema, CallEnvSchema, SubmissionCallSchema, } from './base.js';
3
- import { ServiceGuardSchema } from '../query/index.js';
4
- import { AccountOrMark_AddressSchema, DescriptionSchema, LongNameSchema, NameOrAddressSchema, ReceivedObjectsOrRecentlySchema, RECEIVE_FORMAT_BLOCK_OBJECTS } from '../common/index.js';
5
- export const GuardsSchema = z.discriminatedUnion('op', [
6
- z.object({
7
- op: z.literal('add'),
8
- guard: z.array(ServiceGuardSchema).describe('List of guard IDs or names to add'),
9
- }).strict(),
10
- z.object({
11
- op: z.literal('set'),
12
- guard: z.array(ServiceGuardSchema).describe('List of guard IDs or names to set'),
13
- }).strict(),
14
- z.object({
15
- op: z.literal('remove'),
16
- guard: z.array(NameOrAddressSchema).describe('List of guard IDs or names to remove'),
17
- }).strict(),
18
- z.object({
19
- op: z.literal('clear'),
20
- }).strict(),
21
- ]);
22
- export const DemandPresentSchema = z.object({
23
- recommend: DescriptionSchema.describe('Recommendation for the demand'),
24
- by_guard: NameOrAddressSchema.optional().describe('Guard ID or name, used to select which Guard\'s verification to pass through'),
25
- service: NameOrAddressSchema.optional().describe('Service ID or name to present'),
26
- }).strict();
27
- export const FeedbackInfoSchema = z.object({
28
- who: AccountOrMark_AddressSchema.describe('Account address or mark name, used to identify providing feedback to this user'),
29
- acceptance_score: z.number().int().min(0).max(255).optional().describe('Acceptance score, used to evaluate the reception level of the service recommended by the user'),
30
- feedback: DescriptionSchema.optional().describe('Feedback content for the user'),
31
- }).strict();
32
- export const CallDemand_DataSchema = z.object({
33
- object: WithPermissionObjectSchema,
34
- present: DemandPresentSchema.optional().describe('Recommend Service to Demand object'),
35
- description: DescriptionSchema.optional(),
36
- location: LongNameSchema.optional().describe('Service location of the Demand object'),
37
- rewards: ObjectsSchema.optional().describe('Reward information of the Demand object'),
38
- feedback: z.array(FeedbackInfoSchema).optional().describe('User feedback information for the Demand object'),
39
- guards: GuardsSchema.optional().describe('Validation Guard list for the Demand object. Used to verify whether the service recommended by the user meets the requirements'),
40
- owner_receive: ReceivedObjectsOrRecentlySchema.optional().describe('Unwrap CoinWrapper objects and other objects received by this Demand object and send them to the owner of its Permission object.' + RECEIVE_FORMAT_BLOCK_OBJECTS),
41
- um: z.union([NameOrAddressSchema, z.null()]).optional().describe('Contact object ID or name.'),
42
- }).strict().describe("On-chain Demand operations. USAGE: (1) CREATE NEW: Set 'object' field with OBJECT format {name, permission, ...} to create a Demand. NOTE: 'name' goes INSIDE 'object', NOT at the data root level. 'permission' can be a new Permission object or reference an existing one - check 'object' field description for details. (2) OPERATE EXISTING: Set 'object' field with STRING format (object ID or name). The 'object' field is CRITICAL and REQUIRED in both cases. STRING for existing, OBJECT for new creation.");
43
- export const CallDemand_InputSchema = z.object({
44
- data: CallDemand_DataSchema,
45
- env: CallEnvSchema.optional(),
46
- submission: SubmissionCallSchema.optional(),
47
- }).strict();
1
+ import{z}from'zod';import{WithPermissionObjectSchema,ObjectsSchema,CallEnvSchema,SubmissionCallSchema}from'./base.js';import{ServiceGuardSchema}from'../query/index.js';import{AccountOrMark_AddressSchema,DescriptionSchema,LongNameSchema,NameOrAddressSchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS}from'../common/index.js';export const GuardsSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('add'),'guard':z['array'](ServiceGuardSchema)['describe']('List\x20of\x20guard\x20IDs\x20or\x20names\x20to\x20add')})['strict'](),z['object']({'op':z['literal']('set'),'guard':z['array'](ServiceGuardSchema)['describe']('List\x20of\x20guard\x20IDs\x20or\x20names\x20to\x20set')})['strict'](),z['object']({'op':z['literal']('remove'),'guard':z['array'](NameOrAddressSchema)['describe']('List\x20of\x20guard\x20IDs\x20or\x20names\x20to\x20remove')})['strict'](),z['object']({'op':z['literal']('clear')})['strict']()]);export const DemandPresentSchema=z['object']({'recommend':DescriptionSchema['describe']('Recommendation\x20for\x20the\x20demand'),'by_guard':NameOrAddressSchema['optional']()['describe']('Guard\x20ID\x20or\x20name,\x20used\x20to\x20select\x20which\x20Guard\x27s\x20verification\x20to\x20pass\x20through'),'service':NameOrAddressSchema['optional']()['describe']('Service\x20ID\x20or\x20name\x20to\x20present')})['strict']();export const FeedbackInfoSchema=z['object']({'who':AccountOrMark_AddressSchema['describe']('Account\x20address\x20or\x20mark\x20name,\x20used\x20to\x20identify\x20providing\x20feedback\x20to\x20this\x20user'),'acceptance_score':z['number']()['int']()['min'](0x0)['max'](0xff)['optional']()['describe']('Acceptance\x20score,\x20used\x20to\x20evaluate\x20the\x20reception\x20level\x20of\x20the\x20service\x20recommended\x20by\x20the\x20user'),'feedback':DescriptionSchema['optional']()['describe']('Feedback\x20content\x20for\x20the\x20user')})['strict']();export const CallDemand_DataSchema=z['object']({'object':WithPermissionObjectSchema,'present':DemandPresentSchema['optional']()['describe']('Recommend\x20Service\x20to\x20Demand\x20object'),'description':DescriptionSchema['optional'](),'location':LongNameSchema['optional']()['describe']('Service\x20location\x20of\x20the\x20Demand\x20object'),'rewards':ObjectsSchema['optional']()['describe']('Reward\x20information\x20of\x20the\x20Demand\x20object'),'feedback':z['array'](FeedbackInfoSchema)['optional']()['describe']('User\x20feedback\x20information\x20for\x20the\x20Demand\x20object'),'guards':GuardsSchema['optional']()['describe']('Validation\x20Guard\x20list\x20for\x20the\x20Demand\x20object.\x20Used\x20to\x20verify\x20whether\x20the\x20service\x20recommended\x20by\x20the\x20user\x20meets\x20the\x20requirements'),'owner_receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20and\x20other\x20objects\x20received\x20by\x20this\x20Demand\x20object\x20and\x20send\x20them\x20to\x20the\x20owner\x20of\x20its\x20Permission\x20object.'+RECEIVE_FORMAT_BLOCK_OBJECTS),'um':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Contact\x20object\x20ID\x20or\x20name.')})['strict']()['describe']('On-chain\x20Demand\x20operations.\x20USAGE:\x20(1)\x20CREATE\x20NEW:\x20Set\x20\x27object\x27\x20field\x20with\x20OBJECT\x20format\x20{name,\x20permission,\x20...}\x20to\x20create\x20a\x20Demand.\x20NOTE:\x20\x27name\x27\x20goes\x20INSIDE\x20\x27object\x27,\x20NOT\x20at\x20the\x20data\x20root\x20level.\x20\x27permission\x27\x20can\x20be\x20a\x20new\x20Permission\x20object\x20or\x20reference\x20an\x20existing\x20one\x20-\x20check\x20\x27object\x27\x20field\x20description\x20for\x20details.\x20(2)\x20OPERATE\x20EXISTING:\x20Set\x20\x27object\x27\x20field\x20with\x20STRING\x20format\x20(object\x20ID\x20or\x20name).\x20The\x20\x27object\x27\x20field\x20is\x20CRITICAL\x20and\x20REQUIRED\x20in\x20both\x20cases.\x20STRING\x20for\x20existing,\x20OBJECT\x20for\x20new\x20creation.');export const CallDemand_InputSchema=z['object']({'data':CallDemand_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();
@@ -1,161 +1 @@
1
- import { z } from 'zod';
2
- import { CallEnvSchema, NamedObjectSchema, SubmissionCallSchema } from './base.js';
3
- import { GuardNodeSchema } from '../query/index.js';
4
- import { DescriptionSchema, GuardTableItemBaseSchema, NameOrAddressSchema } from '../common/index.js';
5
- import { isBoolReturningQuery } from '../utils/guard-query-utils.js';
6
- import { ValueType } from '@wowok/wowok';
7
- export const CallGuard_RootSchema = z.union([
8
- GuardNodeSchema.refine((node) => {
9
- const allowedTypes = [
10
- 'logic_as_u256_greater', 'logic_as_u256_lesser', 'logic_as_u256_equal',
11
- 'logic_as_u256_greater_or_equal', 'logic_as_u256_lesser_or_equal',
12
- 'logic_equal', 'logic_not', 'logic_and', 'logic_or',
13
- 'logic_string_contains', 'logic_string_nocase_contains', 'logic_string_nocase_equal',
14
- 'calc_string_contains', 'calc_string_nocase_contains', 'calc_string_nocase_equal',
15
- 'vec_contains_bool', 'vec_contains_address', 'vec_contains_string',
16
- 'vec_contains_string_nocase', 'vec_contains_number',
17
- 'query_reward_record_exists',
18
- 'query',
19
- 'identifier'
20
- ];
21
- if (!allowedTypes.includes(node.type)) {
22
- return false;
23
- }
24
- if (node.type === 'query') {
25
- const queryNode = node;
26
- if (!isBoolReturningQuery(queryNode.query)) {
27
- return false;
28
- }
29
- }
30
- return true;
31
- }, {
32
- message: "Guard root node must be an operation that returns Bool. Allowed types: logic_*, calc_string_contains, calc_string_nocase_*, vec_contains_*, reward_record_exist, identifier (must reference Bool type in table). For 'query' type, ONLY queries that return Bool are allowed. Use 'wowok_buildin_info' tool with {\"info\": \"guard instructions\", \"filter\": {\"returnType\": \"Bool\", \"scope\": \"object query\"}} to list all Bool-returning queries. Other nodes (calc_number_*, context, non-Bool queries) must be wrapped with a logic operation."
33
- }).describe("Guard computational tree root node. MUST be an operation that returns a Bool value (pass/fail). For 'query' type, the specific query must return Bool. For 'identifier' type, the referenced table item must have value_type=Bool."),
34
- z.object({
35
- type: z.literal("file"),
36
- file_path: z.string().describe("Path to JSON or Markdown file containing Guard definition. File can define: namedNew, description, table, root, rely."),
37
- format: z.enum(["json", "markdown"]).optional().default("json")
38
- .describe("File format: 'json' or 'markdown'. Default is 'json'."),
39
- }).strict(),
40
- ]).describe("Guard root definition. Either provide a direct GuardNode tree (must be a logical operation returning Bool) or reference a file to load. When using file type, fields defined in the schema (namedNew, description, table, rely) will OVERRIDE the corresponding fields in the file.");
41
- const isBoolValueType = (valueType) => {
42
- if (typeof valueType === 'number') {
43
- return valueType === ValueType.Bool;
44
- }
45
- if (typeof valueType === 'string') {
46
- return valueType.toLowerCase() === 'bool' || valueType === '0';
47
- }
48
- return false;
49
- };
50
- export const GuardBindingHintActionSchema = z.enum([
51
- "buy",
52
- "forward",
53
- "allocate",
54
- "claim_reward",
55
- "vote",
56
- "dispute",
57
- "write_repository",
58
- "submit_progress",
59
- "gen_passport",
60
- "custom",
61
- ]).describe("Guard protected action type. Maps to IntentPuzzle.action in the puzzle model.");
62
- export const GuardBindingHintHostObjectSchema = z.enum([
63
- "Service",
64
- "Machine",
65
- "Arbitration",
66
- "Reward",
67
- "Repository",
68
- "Progress",
69
- "Demand",
70
- "Standalone",
71
- ]).describe("Host object type that the Guard will bind to. 'Standalone' for independent Guards (rely dependency or gen_passport).");
72
- export const GuardBindingHintBindingFieldSchema = z.enum([
73
- "buy_guard",
74
- "order_allocators",
75
- "Forward.guard",
76
- "submission",
77
- "guard",
78
- "write_guard",
79
- "usage_guard",
80
- "voting_guard",
81
- "ServiceGuard",
82
- "none",
83
- ]).describe("Binding field on the host object. 'none' for standalone Guards.");
84
- export const GuardBindingHintSchema = z.object({
85
- action: GuardBindingHintActionSchema
86
- .describe("Protected action type. Example: 'buy' for Service buy_guard, 'forward' for Machine Forward.guard."),
87
- host_object: GuardBindingHintHostObjectSchema
88
- .describe("Host object type. Example: 'Service', 'Machine'."),
89
- binding_field: GuardBindingHintBindingFieldSchema
90
- .describe("Binding field. Example: 'buy_guard', 'Forward.guard'."),
91
- rule_sentence: z.string().optional()
92
- .describe("One-sentence description of the validation rule (human-readable). Example: 'Only the author can purchase this service'."),
93
- failure_conditions: z.array(z.string()).optional()
94
- .describe("List of conditions under which the Guard should FAIL. Example: ['Signer is not in allowlist','Order is already completed']."),
95
- circular_reference: z.boolean().optional()
96
- .describe("Whether the Guard references the Host Object itself (circular reference pattern). true=Guard queries the Host Object it binds to."),
97
- }).strict().describe("Optional semantic hint for Guard capability system. Provides intent + binding context so the MCP server can derive GuardPuzzle, run risk assessment, and generate confirmation text. Strongly recommended: fill this field to enable puzzle_status, matched_scene, suggested_patterns, confirmation_text, and pending_questions in the response guard_advice.");
98
- export const CallGuard_DataSchema = z.object({
99
- namedNew: NamedObjectSchema.optional().describe("Name and optional tags for the new Guard object. Set 'onChain: true' to create a public on-chain identity. When using root.type='file', this field OVERRIDES namedNew in the file. CIRCULAR DEPENDENCY (DOC-01): When a Guard queries a Service that hasn't been created yet, use a LocalMark NAME (not address) in the query table — the name is resolved to an address at transaction build time. Workflow: (1) Create Service (Phase 1, no publish) → (2) Create Guard referencing Service by name → (3) Update Service.buy_guard = Guard address → (4) Publish Service."),
100
- description: DescriptionSchema.optional().describe("Guard description. When using root.type='file', this field OVERRIDES description in the file."),
101
- table: z.array(GuardTableItemBaseSchema).optional().describe("Data table of the Guard object. When using root.type='file', this field OVERRIDES table in the file."),
102
- root: CallGuard_RootSchema.describe("Root definition: either a direct GuardNode (must be a logical operation returning Bool) or a file reference (type='file'). When type='file', the file can define all Guard fields (namedNew, description, table, root, rely), and schema fields override file content."),
103
- rely: z.object({
104
- guards: z.array(NameOrAddressSchema).describe("List of dependent Guard object IDs or names."),
105
- logic_or: z.boolean().optional().describe("Whether to use logical OR operator."),
106
- }).optional().describe("All Guard objects that the new Guard object depends on. If logic_or is true, the execution result of the new Guard object is the logical OR of the execution results of all dependent Guard objects; otherwise, it is logical AND. When using root.type='file', this field OVERRIDES rely in the file."),
107
- binding_hint: GuardBindingHintSchema.optional()
108
- .describe("Phase 5 Guard capability hint. Provides semantic context (action + host_object + binding_field + optional rule/failure_conditions) for puzzle derivation. When provided, the response will include complete guard_advice (puzzle_status, matched_scene, suggested_patterns, confirmation_text, pending_questions). When absent, puzzle_status intent/binding dimensions are marked incomplete."),
109
- }).strict().refine((data) => {
110
- if (typeof data.root === 'object' && data.root !== null && 'type' in data.root) {
111
- const rootObj = data.root;
112
- if (rootObj.type === 'file') {
113
- return true;
114
- }
115
- }
116
- const rootNode = data.root;
117
- if (rootNode.type === 'identifier' && rootNode.identifier !== undefined) {
118
- const tableItem = data.table?.find(item => item.identifier === rootNode.identifier);
119
- if (!tableItem) {
120
- return false;
121
- }
122
- if (!isBoolValueType(tableItem.value_type)) {
123
- return false;
124
- }
125
- }
126
- return true;
127
- }, {
128
- message: "Invalid Guard root: When using 'identifier' as root, the referenced table item must exist and have value_type='Bool' (or 0)."
129
- }).describe("On-chain Guard creation. IMPORTANT: All defined data (include all submitted data) must be defined in the 'table' field. USAGE: Set 'namedNew' field with {name, tags?, onChain?} to name the new Guard (you may also use 'object' as an alias for 'namedNew' — the MCP preprocess will convert it automatically). The Guard is immutable once created. Define the validation logic in 'root' field. When root.type='file', the file can contain all Guard fields, and any fields defined in the schema will OVERRIDE the file content.");
130
- export const CallGuard_InputSchema = z.object({
131
- data: CallGuard_DataSchema.describe("Guard data definition."),
132
- env: CallEnvSchema.optional(),
133
- }).strict().describe("On-chain Guard creation input wrapper. Contains the Guard data definition and optional environment settings.");
134
- export const CallGenPassport_InputSchema = z.object({
135
- guard: z.union([NameOrAddressSchema, z.array(NameOrAddressSchema)]).describe("Guard object ID(s) to verify and generate passport from. Can be a single guard (string) or multiple guards (array of strings). Supports guard names or addresses."),
136
- info: SubmissionCallSchema.optional().describe("Optional submission data. If not provided, will attempt to get existing submissions from the guard."),
137
- env: CallEnvSchema.optional(),
138
- }).strict().describe("Generate a new Passport object after Guard verification succeeds. The Passport is an immutable on-chain object that can be used for offline friend verification, transaction condition verification, etc. Supports verifying multiple guards at once.");
139
- export const Guard2File_InputSchema = z.object({
140
- guard: NameOrAddressSchema.describe("Guard object ID or name to export"),
141
- file_path: z.string().describe("Output file path (absolute or relative)"),
142
- format: z.enum(["json", "markdown"]).optional().default("json").describe("Output format: 'json' (default) or 'markdown'"),
143
- env: CallEnvSchema.optional(),
144
- }).strict().describe("Query a Guard object from the blockchain and export its definition to a JSON or Markdown file. The exported file can be edited and used to create new Guard objects.");
145
- export const Guard2File_OutputSchema = z.discriminatedUnion("status", [
146
- z.object({
147
- status: z.literal("success"),
148
- data: z.object({
149
- file_path: z.string().describe("Absolute path of the exported file"),
150
- format: z.enum(["json", "markdown"]).describe("Export format"),
151
- guard_object: z.string().describe("Guard object ID"),
152
- }).strict().describe("Success result data"),
153
- }).strict(),
154
- z.object({
155
- status: z.literal("error"),
156
- error: z.string().describe("Error message"),
157
- }).strict(),
158
- ]).describe("Guard2File operation output schema with discriminator");
159
- export const Guard2File_OutputWrappedSchema = z.object({
160
- result: Guard2File_OutputSchema,
161
- }).strict().describe("Guard2File operation output wrapped schema");
1
+ import{z}from'zod';import{CallEnvSchema,NamedObjectSchema,SubmissionCallSchema}from'./base.js';import{GuardNodeSchema}from'../query/index.js';import{DescriptionSchema,GuardTableItemBaseSchema,NameOrAddressSchema}from'../common/index.js';import{isBoolReturningQuery}from'../utils/guard-query-utils.js';import{ValueType}from'@wowok/wowok';export const CallGuard_RootSchema=z['union']([GuardNodeSchema['refine'](a=>{const b=['logic_as_u256_greater','logic_as_u256_lesser','logic_as_u256_equal','logic_as_u256_greater_or_equal','logic_as_u256_lesser_or_equal','logic_equal','logic_not','logic_and','logic_or','logic_string_contains','logic_string_nocase_contains','logic_string_nocase_equal','calc_string_contains','calc_string_nocase_contains','calc_string_nocase_equal','vec_contains_bool','vec_contains_address','vec_contains_string','vec_contains_string_nocase','vec_contains_number','query_reward_record_exists','query','identifier'];if(!b['includes'](a['type']))return![];if(a['type']==='query'){const c=a;if(!isBoolReturningQuery(c['query']))return![];}return!![];},{'message':'Guard\x20root\x20node\x20must\x20be\x20an\x20operation\x20that\x20returns\x20Bool.\x20Allowed\x20types:\x20logic_*,\x20calc_string_contains,\x20calc_string_nocase_*,\x20vec_contains_*,\x20reward_record_exist,\x20identifier\x20(must\x20reference\x20Bool\x20type\x20in\x20table).\x20For\x20\x27query\x27\x20type,\x20ONLY\x20queries\x20that\x20return\x20Bool\x20are\x20allowed.\x20Use\x20\x27wowok_buildin_info\x27\x20tool\x20with\x20{\x22info\x22:\x20\x22guard\x20instructions\x22,\x20\x22filter\x22:\x20{\x22returnType\x22:\x20\x22Bool\x22,\x20\x22scope\x22:\x20\x22object\x20query\x22}}\x20to\x20list\x20all\x20Bool-returning\x20queries.\x20Other\x20nodes\x20(calc_number_*,\x20context,\x20non-Bool\x20queries)\x20must\x20be\x20wrapped\x20with\x20a\x20logic\x20operation.'})['describe']('Guard\x20computational\x20tree\x20root\x20node.\x20MUST\x20be\x20an\x20operation\x20that\x20returns\x20a\x20Bool\x20value\x20(pass/fail).\x20For\x20\x27query\x27\x20type,\x20the\x20specific\x20query\x20must\x20return\x20Bool.\x20For\x20\x27identifier\x27\x20type,\x20the\x20referenced\x20table\x20item\x20must\x20have\x20value_type=Bool.'),z['object']({'type':z['literal']('file'),'file_path':z['string']()['describe']('Path\x20to\x20JSON\x20or\x20Markdown\x20file\x20containing\x20Guard\x20definition.\x20File\x20can\x20define:\x20namedNew,\x20description,\x20table,\x20root,\x20rely.'),'format':z['enum'](['json','markdown'])['optional']()['default']('json')['describe']('File\x20format:\x20\x27json\x27\x20or\x20\x27markdown\x27.\x20Default\x20is\x20\x27json\x27.')})['strict']()])['describe']('Guard\x20root\x20definition.\x20Either\x20provide\x20a\x20direct\x20GuardNode\x20tree\x20(must\x20be\x20a\x20logical\x20operation\x20returning\x20Bool)\x20or\x20reference\x20a\x20file\x20to\x20load.\x20When\x20using\x20file\x20type,\x20fields\x20defined\x20in\x20the\x20schema\x20(namedNew,\x20description,\x20table,\x20rely)\x20will\x20OVERRIDE\x20the\x20corresponding\x20fields\x20in\x20the\x20file.');const isBoolValueType=a=>{if(typeof a==='number')return a===ValueType['Bool'];if(typeof a==='string')return a['toLowerCase']()==='bool'||a==='0';return![];};export const GuardBindingHintActionSchema=z['enum'](['buy','forward','allocate','claim_reward','vote','dispute','write_repository','submit_progress','gen_passport','custom'])['describe']('Guard\x20protected\x20action\x20type.\x20Maps\x20to\x20IntentPuzzle.action\x20in\x20the\x20puzzle\x20model.');export const GuardBindingHintHostObjectSchema=z['enum'](['Service','Machine','Arbitration','Reward','Repository','Progress','Demand','Standalone'])['describe']('Host\x20object\x20type\x20that\x20the\x20Guard\x20will\x20bind\x20to.\x20\x27Standalone\x27\x20for\x20independent\x20Guards\x20(rely\x20dependency\x20or\x20gen_passport).');export const GuardBindingHintBindingFieldSchema=z['enum'](['buy_guard','order_allocators','Forward.guard','submission','guard','write_guard','usage_guard','voting_guard','ServiceGuard','none'])['describe']('Binding\x20field\x20on\x20the\x20host\x20object.\x20\x27none\x27\x20for\x20standalone\x20Guards.');export const GuardBindingHintSchema=z['object']({'action':GuardBindingHintActionSchema['describe']('Protected\x20action\x20type.\x20Example:\x20\x27buy\x27\x20for\x20Service\x20buy_guard,\x20\x27forward\x27\x20for\x20Machine\x20Forward.guard.'),'host_object':GuardBindingHintHostObjectSchema['describe']('Host\x20object\x20type.\x20Example:\x20\x27Service\x27,\x20\x27Machine\x27.'),'binding_field':GuardBindingHintBindingFieldSchema['describe']('Binding\x20field.\x20Example:\x20\x27buy_guard\x27,\x20\x27Forward.guard\x27.'),'rule_sentence':z['string']()['optional']()['describe']('One-sentence\x20description\x20of\x20the\x20validation\x20rule\x20(human-readable).\x20Example:\x20\x27Only\x20the\x20author\x20can\x20purchase\x20this\x20service\x27.'),'failure_conditions':z['array'](z['string']())['optional']()['describe']('List\x20of\x20conditions\x20under\x20which\x20the\x20Guard\x20should\x20FAIL.\x20Example:\x20[\x27Signer\x20is\x20not\x20in\x20allowlist\x27,\x27Order\x20is\x20already\x20completed\x27].'),'circular_reference':z['boolean']()['optional']()['describe']('Whether\x20the\x20Guard\x20references\x20the\x20Host\x20Object\x20itself\x20(circular\x20reference\x20pattern).\x20true=Guard\x20queries\x20the\x20Host\x20Object\x20it\x20binds\x20to.')})['strict']()['describe']('Optional\x20semantic\x20hint\x20for\x20Guard\x20capability\x20system.\x20Provides\x20intent\x20+\x20binding\x20context\x20so\x20the\x20MCP\x20server\x20can\x20derive\x20GuardPuzzle,\x20run\x20risk\x20assessment,\x20and\x20generate\x20confirmation\x20text.\x20Strongly\x20recommended:\x20fill\x20this\x20field\x20to\x20enable\x20puzzle_status,\x20matched_scene,\x20suggested_patterns,\x20confirmation_text,\x20and\x20pending_questions\x20in\x20the\x20response\x20guard_advice.');export const CallGuard_DataSchema=z['object']({'namedNew':NamedObjectSchema['optional']()['describe']('Name\x20and\x20optional\x20tags\x20for\x20the\x20new\x20Guard\x20object.\x20Set\x20\x27onChain:\x20true\x27\x20to\x20create\x20a\x20public\x20on-chain\x20identity.\x20When\x20using\x20root.type=\x27file\x27,\x20this\x20field\x20OVERRIDES\x20namedNew\x20in\x20the\x20file.\x20CIRCULAR\x20DEPENDENCY\x20(DOC-01):\x20When\x20a\x20Guard\x20queries\x20a\x20Service\x20that\x20hasn\x27t\x20been\x20created\x20yet,\x20use\x20a\x20LocalMark\x20NAME\x20(not\x20address)\x20in\x20the\x20query\x20table\x20—\x20the\x20name\x20is\x20resolved\x20to\x20an\x20address\x20at\x20transaction\x20build\x20time.\x20Workflow:\x20(1)\x20Create\x20Service\x20(Phase\x201,\x20no\x20publish)\x20→\x20(2)\x20Create\x20Guard\x20referencing\x20Service\x20by\x20name\x20→\x20(3)\x20Update\x20Service.buy_guard\x20=\x20Guard\x20address\x20→\x20(4)\x20Publish\x20Service.'),'description':DescriptionSchema['optional']()['describe']('Guard\x20description.\x20When\x20using\x20root.type=\x27file\x27,\x20this\x20field\x20OVERRIDES\x20description\x20in\x20the\x20file.'),'table':z['array'](GuardTableItemBaseSchema)['optional']()['describe']('Data\x20table\x20of\x20the\x20Guard\x20object.\x20When\x20using\x20root.type=\x27file\x27,\x20this\x20field\x20OVERRIDES\x20table\x20in\x20the\x20file.'),'root':CallGuard_RootSchema['describe']('Root\x20definition:\x20either\x20a\x20direct\x20GuardNode\x20(must\x20be\x20a\x20logical\x20operation\x20returning\x20Bool)\x20or\x20a\x20file\x20reference\x20(type=\x27file\x27).\x20When\x20type=\x27file\x27,\x20the\x20file\x20can\x20define\x20all\x20Guard\x20fields\x20(namedNew,\x20description,\x20table,\x20root,\x20rely),\x20and\x20schema\x20fields\x20override\x20file\x20content.'),'rely':z['object']({'guards':z['array'](NameOrAddressSchema)['describe']('List\x20of\x20dependent\x20Guard\x20object\x20IDs\x20or\x20names.'),'logic_or':z['boolean']()['optional']()['describe']('Whether\x20to\x20use\x20logical\x20OR\x20operator.')})['optional']()['describe']('All\x20Guard\x20objects\x20that\x20the\x20new\x20Guard\x20object\x20depends\x20on.\x20If\x20logic_or\x20is\x20true,\x20the\x20execution\x20result\x20of\x20the\x20new\x20Guard\x20object\x20is\x20the\x20logical\x20OR\x20of\x20the\x20execution\x20results\x20of\x20all\x20dependent\x20Guard\x20objects;\x20otherwise,\x20it\x20is\x20logical\x20AND.\x20When\x20using\x20root.type=\x27file\x27,\x20this\x20field\x20OVERRIDES\x20rely\x20in\x20the\x20file.'),'binding_hint':GuardBindingHintSchema['optional']()['describe']('Phase\x205\x20Guard\x20capability\x20hint.\x20Provides\x20semantic\x20context\x20(action\x20+\x20host_object\x20+\x20binding_field\x20+\x20optional\x20rule/failure_conditions)\x20for\x20puzzle\x20derivation.\x20When\x20provided,\x20the\x20response\x20will\x20include\x20complete\x20guard_advice\x20(puzzle_status,\x20matched_scene,\x20suggested_patterns,\x20confirmation_text,\x20pending_questions).\x20When\x20absent,\x20puzzle_status\x20intent/binding\x20dimensions\x20are\x20marked\x20incomplete.')})['strict']()['refine'](a=>{if(typeof a['root']==='object'&&a['root']!==null&&'type'in a['root']){const c=a['root'];if(c['type']==='file')return!![];}const b=a['root'];if(b['type']==='identifier'&&b['identifier']!==undefined){const d=a['table']?.['find'](e=>e['identifier']===b['identifier']);if(!d)return![];if(!isBoolValueType(d['value_type']))return![];}return!![];},{'message':'Invalid\x20Guard\x20root:\x20When\x20using\x20\x27identifier\x27\x20as\x20root,\x20the\x20referenced\x20table\x20item\x20must\x20exist\x20and\x20have\x20value_type=\x27Bool\x27\x20(or\x200).'})['describe']('On-chain\x20Guard\x20creation.\x20IMPORTANT:\x20All\x20defined\x20data\x20(include\x20all\x20submitted\x20data)\x20must\x20be\x20defined\x20in\x20the\x20\x27table\x27\x20field.\x20USAGE:\x20Set\x20\x27namedNew\x27\x20field\x20with\x20{name,\x20tags?,\x20onChain?}\x20to\x20name\x20the\x20new\x20Guard\x20(you\x20may\x20also\x20use\x20\x27object\x27\x20as\x20an\x20alias\x20for\x20\x27namedNew\x27\x20—\x20the\x20MCP\x20preprocess\x20will\x20convert\x20it\x20automatically).\x20The\x20Guard\x20is\x20immutable\x20once\x20created.\x20Define\x20the\x20validation\x20logic\x20in\x20\x27root\x27\x20field.\x20When\x20root.type=\x27file\x27,\x20the\x20file\x20can\x20contain\x20all\x20Guard\x20fields,\x20and\x20any\x20fields\x20defined\x20in\x20the\x20schema\x20will\x20OVERRIDE\x20the\x20file\x20content.');export const CallGuard_InputSchema=z['object']({'data':CallGuard_DataSchema['describe']('Guard\x20data\x20definition.'),'env':CallEnvSchema['optional']()})['strict']()['describe']('On-chain\x20Guard\x20creation\x20input\x20wrapper.\x20Contains\x20the\x20Guard\x20data\x20definition\x20and\x20optional\x20environment\x20settings.');export const CallGenPassport_InputSchema=z['object']({'guard':z['union']([NameOrAddressSchema,z['array'](NameOrAddressSchema)])['describe']('Guard\x20object\x20ID(s)\x20to\x20verify\x20and\x20generate\x20passport\x20from.\x20Can\x20be\x20a\x20single\x20guard\x20(string)\x20or\x20multiple\x20guards\x20(array\x20of\x20strings).\x20Supports\x20guard\x20names\x20or\x20addresses.'),'info':SubmissionCallSchema['optional']()['describe']('Optional\x20submission\x20data.\x20If\x20not\x20provided,\x20will\x20attempt\x20to\x20get\x20existing\x20submissions\x20from\x20the\x20guard.'),'env':CallEnvSchema['optional']()})['strict']()['describe']('Generate\x20a\x20new\x20Passport\x20object\x20after\x20Guard\x20verification\x20succeeds.\x20The\x20Passport\x20is\x20an\x20immutable\x20on-chain\x20object\x20that\x20can\x20be\x20used\x20for\x20offline\x20friend\x20verification,\x20transaction\x20condition\x20verification,\x20etc.\x20Supports\x20verifying\x20multiple\x20guards\x20at\x20once.');export const Guard2File_InputSchema=z['object']({'guard':NameOrAddressSchema['describe']('Guard\x20object\x20ID\x20or\x20name\x20to\x20export'),'file_path':z['string']()['describe']('Output\x20file\x20path\x20(absolute\x20or\x20relative)'),'format':z['enum'](['json','markdown'])['optional']()['default']('json')['describe']('Output\x20format:\x20\x27json\x27\x20(default)\x20or\x20\x27markdown\x27'),'env':CallEnvSchema['optional']()})['strict']()['describe']('Query\x20a\x20Guard\x20object\x20from\x20the\x20blockchain\x20and\x20export\x20its\x20definition\x20to\x20a\x20JSON\x20or\x20Markdown\x20file.\x20The\x20exported\x20file\x20can\x20be\x20edited\x20and\x20used\x20to\x20create\x20new\x20Guard\x20objects.');export const Guard2File_OutputSchema=z['discriminatedUnion']('status',[z['object']({'status':z['literal']('success'),'data':z['object']({'file_path':z['string']()['describe']('Absolute\x20path\x20of\x20the\x20exported\x20file'),'format':z['enum'](['json','markdown'])['describe']('Export\x20format'),'guard_object':z['string']()['describe']('Guard\x20object\x20ID')})['strict']()['describe']('Success\x20result\x20data')})['strict'](),z['object']({'status':z['literal']('error'),'error':z['string']()['describe']('Error\x20message')})['strict']()])['describe']('Guard2File\x20operation\x20output\x20schema\x20with\x20discriminator');export const Guard2File_OutputWrappedSchema=z['object']({'result':Guard2File_OutputSchema})['strict']()['describe']('Guard2File\x20operation\x20output\x20wrapped\x20schema');
@@ -1,322 +1 @@
1
- import { ResponseData, LocalMark, enrichMoveError } from "@wowok/wowok";
2
- import { classifyError, buildSemantic } from "./semantic.js";
3
- let successHook = null;
4
- export function registerSuccessHook(hook) {
5
- successHook = hook;
6
- }
7
- function fireSuccessHook(result, context) {
8
- if (successHook) {
9
- try {
10
- successHook(result, context);
11
- }
12
- catch { }
13
- }
14
- }
15
- function applySchemaWarning(output, context) {
16
- const schemaCheck = context?.schema_check;
17
- if (!schemaCheck || (schemaCheck.warnings.length === 0 && schemaCheck.errors.length === 0)) {
18
- return output;
19
- }
20
- const warnings = [...schemaCheck.warnings, ...schemaCheck.errors];
21
- let semantic = output.semantic;
22
- if (semantic && warnings.length > 0) {
23
- semantic = {
24
- ...semantic,
25
- warnings: [...(semantic.warnings || []), ...warnings],
26
- };
27
- }
28
- const schemaWarning = {
29
- compatible: schemaCheck.compatible,
30
- warnings,
31
- client_version: schemaCheck.client_version,
32
- server_versions: schemaCheck.versions,
33
- };
34
- return {
35
- ...output,
36
- semantic,
37
- schema_warning: schemaWarning,
38
- };
39
- }
40
- function convertBigInts(obj) {
41
- if (typeof obj === "bigint")
42
- return obj.toString();
43
- if (Array.isArray(obj))
44
- return obj.map(convertBigInts);
45
- if (obj && typeof obj === "object") {
46
- const out = {};
47
- for (const k of Object.keys(obj))
48
- out[k] = convertBigInts(obj[k]);
49
- return out;
50
- }
51
- return obj;
52
- }
53
- function runHarnessLoops(context, output, errorCode) {
54
- if (!context?.harness || !context?.expected)
55
- return undefined;
56
- const harness = context.harness;
57
- const expected = context.expected;
58
- const actualSemantic = output.semantic;
59
- const verifyReport = harness.verify({
60
- expected,
61
- actual: {
62
- result_type: output.result.type,
63
- semantic: actualSemantic,
64
- error_code: output.result.type === "error" ? output.result.error_code : undefined,
65
- },
66
- });
67
- let recovery;
68
- const needRecovery = verifyReport.status !== "pass" || output.result.type === "error" || errorCode;
69
- if (needRecovery) {
70
- const ec = errorCode
71
- || (output.result.type === "error" ? output.result.error_code : undefined)
72
- || "unknown";
73
- recovery = harness.recover(ec, context.operation_id || expected.operation, {
74
- operation_type: context.operation_type,
75
- data: context.data,
76
- });
77
- }
78
- return {
79
- verify: {
80
- status: verifyReport.status,
81
- mismatches: verifyReport.mismatches.map(m => convertBigInts(m)),
82
- summary: verifyReport.summary,
83
- timestamp: verifyReport.timestamp,
84
- },
85
- recovery: recovery ? {
86
- strategy: recovery.strategy,
87
- should_retry: recovery.should_retry,
88
- adjusted_params: recovery.adjusted_params,
89
- user_prompt: recovery.user_prompt,
90
- max_attempts: recovery.max_attempts,
91
- current_attempt: recovery.current_attempt,
92
- detail: recovery.detail,
93
- } : undefined,
94
- };
95
- }
96
- export function handleCallResult(result, context) {
97
- const safeResult = convertBigInts(result);
98
- if (safeResult && "error" in safeResult) {
99
- const enrichedError = enrichMoveError(safeResult.error);
100
- const classified = classifyError(enrichedError);
101
- const output = {
102
- message: `Error: ${enrichedError}`,
103
- result: {
104
- type: "error",
105
- error: enrichedError,
106
- error_code: classified.error_code,
107
- retryable: classified.retryable,
108
- recovery_hint: classified.recovery_hint,
109
- },
110
- };
111
- const harnessReport = runHarnessLoops(context, output, classified.error_code);
112
- if (harnessReport)
113
- output.harness_report = harnessReport;
114
- const finalOutput = applySchemaWarning(output, context);
115
- return {
116
- content: [{ type: "text", text: finalOutput.message }],
117
- structuredContent: finalOutput,
118
- };
119
- }
120
- if (safeResult && "digest" in safeResult) {
121
- const r = ResponseData(safeResult);
122
- const txStatus = safeResult?.effects?.status?.status;
123
- const txError = safeResult?.effects?.status?.error;
124
- const isSuccess = txStatus === "success";
125
- if (!isSuccess) {
126
- const enrichedError = enrichMoveError(txError || txStatus || "unknown error");
127
- const classified = classifyError(enrichedError);
128
- const output = {
129
- message: `Transaction failed: ${enrichedError}`,
130
- result: {
131
- type: "error",
132
- error: enrichedError,
133
- error_code: classified.error_code,
134
- retryable: classified.retryable,
135
- recovery_hint: classified.recovery_hint,
136
- },
137
- };
138
- const harnessReport = runHarnessLoops(context, output, classified.error_code);
139
- if (harnessReport)
140
- output.harness_report = harnessReport;
141
- const finalOutput = applySchemaWarning(output, context);
142
- return {
143
- content: [
144
- { type: "text", text: finalOutput.message },
145
- { type: "text", text: JSON.stringify(r) },
146
- ],
147
- structuredContent: finalOutput,
148
- };
149
- }
150
- const output = {
151
- message: "Transaction completed successfully",
152
- result: { type: "transaction", ...safeResult },
153
- semantic: buildSemantic(safeResult, context),
154
- };
155
- const harnessReport = runHarnessLoops(context, output);
156
- if (harnessReport)
157
- output.harness_report = harnessReport;
158
- fireSuccessHook(result, context);
159
- const finalOutput = applySchemaWarning(output, context);
160
- return {
161
- content: [
162
- { type: "text", text: finalOutput.message },
163
- { type: "text", text: JSON.stringify(r) },
164
- ],
165
- structuredContent: finalOutput,
166
- };
167
- }
168
- if (safeResult && "guard" in safeResult && "submission" in safeResult) {
169
- const output = {
170
- message: "Submission required for Guard verification",
171
- result: { type: "submission", ...safeResult },
172
- semantic: context ? {
173
- intent: "guard_submission_required",
174
- status: "pending_input",
175
- summary: "Guard verification required — fill the submission data and resubmit",
176
- next_actions: [{
177
- action: "fill guard submission data and resubmit via call_with_submission",
178
- reason: "Guard rejected the call; submission must satisfy the Guard table requirements",
179
- tool: "onchain_operations (with submission field)",
180
- priority: "required",
181
- }],
182
- } : undefined,
183
- };
184
- const harnessReport = runHarnessLoops(context, output);
185
- if (harnessReport)
186
- output.harness_report = harnessReport;
187
- const finalOutput = applySchemaWarning(output, context);
188
- return {
189
- content: [
190
- { type: "text", text: finalOutput.message },
191
- { type: "text", text: JSON.stringify(safeResult) },
192
- ],
193
- structuredContent: finalOutput,
194
- };
195
- }
196
- if (Array.isArray(safeResult)) {
197
- const output = {
198
- message: "Operation completed",
199
- result: { type: "data", data: safeResult },
200
- };
201
- const harnessReport = runHarnessLoops(context, output);
202
- if (harnessReport)
203
- output.harness_report = harnessReport;
204
- const finalOutput = applySchemaWarning(output, context);
205
- return {
206
- content: [
207
- { type: "text", text: finalOutput.message },
208
- { type: "text", text: JSON.stringify(safeResult) },
209
- ],
210
- structuredContent: finalOutput,
211
- };
212
- }
213
- if (safeResult === undefined || safeResult === null) {
214
- const output = {
215
- message: "Operation completed",
216
- result: { type: "null" },
217
- };
218
- const harnessReport = runHarnessLoops(context, output);
219
- if (harnessReport)
220
- output.harness_report = harnessReport;
221
- const finalOutput = applySchemaWarning(output, context);
222
- return {
223
- content: [{ type: "text", text: finalOutput.message }],
224
- structuredContent: finalOutput,
225
- };
226
- }
227
- const output = {
228
- message: "Operation completed",
229
- result: { type: "transaction", ...safeResult },
230
- semantic: buildSemantic(safeResult, context),
231
- };
232
- const harnessReport = runHarnessLoops(context, output);
233
- if (harnessReport)
234
- output.harness_report = harnessReport;
235
- const finalOutput = applySchemaWarning(output, context);
236
- return {
237
- content: [{ type: "text", text: finalOutput.message }],
238
- structuredContent: finalOutput,
239
- };
240
- }
241
- export function createServerConfig(packageJson, description) {
242
- return {
243
- name: packageJson.name,
244
- version: packageJson.version,
245
- description: description || packageJson.description,
246
- };
247
- }
248
- export function createCapabilitiesConfig() {
249
- return {
250
- capabilities: {
251
- prompts: {},
252
- resources: {},
253
- tools: { listChanged: true },
254
- logging: {},
255
- },
256
- };
257
- }
258
- export function createToolMeta(category, tags) {
259
- return {
260
- author: "WOWOK Team",
261
- createdAt: "2026-02-01",
262
- lastUpdated: "2026-02-01",
263
- category,
264
- tags,
265
- requiresAuth: false,
266
- };
267
- }
268
- export function createToolAnnotations(readOnlyHint = false, destructiveHint = false) {
269
- return {
270
- readOnlyHint,
271
- destructiveHint,
272
- idempotentHint: true,
273
- openWorldHint: false,
274
- };
275
- }
276
- export async function transformSubmission(submission) {
277
- if (!submission)
278
- return undefined;
279
- const guardNames = (submission.guard || []).map((g) => g.object).filter(Boolean);
280
- const submissionGuardNames = (submission.submission || []).map((s) => s.guard).filter(Boolean);
281
- const allNames = [...new Set([...guardNames, ...submissionGuardNames])];
282
- const resolvedAddresses = allNames.length > 0
283
- ? await LocalMark.Instance().get_many_address(allNames)
284
- : [];
285
- const nameToAddress = new Map();
286
- allNames.forEach((name, index) => {
287
- const addr = resolvedAddresses[index];
288
- if (addr) {
289
- nameToAddress.set(name, addr);
290
- }
291
- });
292
- const getAddress = (name) => {
293
- if (nameToAddress.has(name)) {
294
- return nameToAddress.get(name);
295
- }
296
- for (const [n, addr] of nameToAddress.entries()) {
297
- if (n === name)
298
- return addr;
299
- }
300
- if (name.startsWith("0x") && name.length === 66) {
301
- return name;
302
- }
303
- throw new Error(`Guard name or address not found: ${name}`);
304
- };
305
- return {
306
- type: "submission",
307
- guard: (submission.guard || []).map((g) => ({
308
- object: getAddress(g.object),
309
- impack: g.impack || false,
310
- })),
311
- submission: (submission.submission || []).map((s) => ({
312
- guard: getAddress(s.guard),
313
- submission: s.submission || [],
314
- })),
315
- };
316
- }
317
- export function validateInput(data, schema) {
318
- return schema.parse(data);
319
- }
320
- export function getEnvConfig(env) {
321
- return env ?? {};
322
- }
1
+ import{ResponseData,LocalMark,enrichMoveError}from'@wowok/wowok';import{classifyError,buildSemantic}from'./semantic.js';let successHook=null;export function registerSuccessHook(a){successHook=a;}function fireSuccessHook(a,b){if(successHook)try{successHook(a,b);}catch{}}function applySchemaWarning(a,b){const c=b?.['schema_check'];if(!c||c['warnings']['length']===0x0&&c['errors']['length']===0x0)return a;const d=[...c['warnings'],...c['errors']];let e=a['semantic'];e&&d['length']>0x0&&(e={...e,'warnings':[...e['warnings']||[],...d]});const f={'compatible':c['compatible'],'warnings':d,'client_version':c['client_version'],'server_versions':c['versions']};return{...a,'semantic':e,'schema_warning':f};}function convertBigInts(a){if(typeof a==='bigint')return a['toString']();if(Array['isArray'](a))return a['map'](convertBigInts);if(a&&typeof a==='object'){const b={};for(const c of Object['keys'](a))b[c]=convertBigInts(a[c]);return b;}return a;}function runHarnessLoops(a,b,c){if(!a?.['harness']||!a?.['expected'])return undefined;const d=a['harness'],e=a['expected'],f=b['semantic'],g=d['verify']({'expected':e,'actual':{'result_type':b['result']['type'],'semantic':f,'error_code':b['result']['type']==='error'?b['result']['error_code']:undefined}});let h;const i=g['status']!=='pass'||b['result']['type']==='error'||c;if(i){const j=c||(b['result']['type']==='error'?b['result']['error_code']:undefined)||'unknown';h=d['recover'](j,a['operation_id']||e['operation'],{'operation_type':a['operation_type'],'data':a['data']});}return{'verify':{'status':g['status'],'mismatches':g['mismatches']['map'](k=>convertBigInts(k)),'summary':g['summary'],'timestamp':g['timestamp']},'recovery':h?{'strategy':h['strategy'],'should_retry':h['should_retry'],'adjusted_params':h['adjusted_params'],'user_prompt':h['user_prompt'],'max_attempts':h['max_attempts'],'current_attempt':h['current_attempt'],'detail':h['detail']}:undefined};}export function handleCallResult(a,b){const c=convertBigInts(a);if(c&&'error'in c){const g=enrichMoveError(c['error']),h=classifyError(g),i={'message':'Error:\x20'+g,'result':{'type':'error','error':g,'error_code':h['error_code'],'retryable':h['retryable'],'recovery_hint':h['recovery_hint']}},j=runHarnessLoops(b,i,h['error_code']);if(j)i['harness_report']=j;const k=applySchemaWarning(i,b);return{'content':[{'type':'text','text':k['message']}],'structuredContent':k};}if(c&&'digest'in c){const l=ResponseData(c),m=c?.['effects']?.['status']?.['status'],n=c?.['effects']?.['status']?.['error'],o=m==='success';if(!o){const t=enrichMoveError(n||m||'unknown\x20error'),u=classifyError(t),v={'message':'Transaction\x20failed:\x20'+t,'result':{'type':'error','error':t,'error_code':u['error_code'],'retryable':u['retryable'],'recovery_hint':u['recovery_hint']}},w=runHarnessLoops(b,v,u['error_code']);if(w)v['harness_report']=w;const x=applySchemaWarning(v,b);return{'content':[{'type':'text','text':x['message']},{'type':'text','text':JSON['stringify'](l)}],'structuredContent':x};}const p={'message':'Transaction\x20completed\x20successfully','result':{'type':'transaction',...c},'semantic':buildSemantic(c,b)},q=runHarnessLoops(b,p);if(q)p['harness_report']=q;fireSuccessHook(a,b);const s=applySchemaWarning(p,b);return{'content':[{'type':'text','text':s['message']},{'type':'text','text':JSON['stringify'](l)}],'structuredContent':s};}if(c&&'guard'in c&&'submission'in c){const y={'message':'Submission\x20required\x20for\x20Guard\x20verification','result':{'type':'submission',...c},'semantic':b?{'intent':'guard_submission_required','status':'pending_input','summary':'Guard\x20verification\x20required\x20—\x20fill\x20the\x20submission\x20data\x20and\x20resubmit','next_actions':[{'action':'fill\x20guard\x20submission\x20data\x20and\x20resubmit\x20via\x20call_with_submission','reason':'Guard\x20rejected\x20the\x20call;\x20submission\x20must\x20satisfy\x20the\x20Guard\x20table\x20requirements','tool':'onchain_operations\x20(with\x20submission\x20field)','priority':'required'}]}:undefined},z=runHarnessLoops(b,y);if(z)y['harness_report']=z;const A=applySchemaWarning(y,b);return{'content':[{'type':'text','text':A['message']},{'type':'text','text':JSON['stringify'](c)}],'structuredContent':A};}if(Array['isArray'](c)){const B={'message':'Operation\x20completed','result':{'type':'data','data':c}},C=runHarnessLoops(b,B);if(C)B['harness_report']=C;const D=applySchemaWarning(B,b);return{'content':[{'type':'text','text':D['message']},{'type':'text','text':JSON['stringify'](c)}],'structuredContent':D};}if(c===undefined||c===null){const E={'message':'Operation\x20completed','result':{'type':'null'}},F=runHarnessLoops(b,E);if(F)E['harness_report']=F;const G=applySchemaWarning(E,b);return{'content':[{'type':'text','text':G['message']}],'structuredContent':G};}const d={'message':'Operation\x20completed','result':{'type':'transaction',...c},'semantic':buildSemantic(c,b)},e=runHarnessLoops(b,d);if(e)d['harness_report']=e;const f=applySchemaWarning(d,b);return{'content':[{'type':'text','text':f['message']}],'structuredContent':f};}export function createServerConfig(a,b){return{'name':a['name'],'version':a['version'],'description':b||a['description']};}export function createCapabilitiesConfig(){return{'capabilities':{'prompts':{},'resources':{},'tools':{'listChanged':!![]},'logging':{}}};}export function createToolMeta(a,b){return{'author':'WOWOK\x20Team','createdAt':'2026-02-01','lastUpdated':'2026-02-01','category':a,'tags':b,'requiresAuth':![]};}export function createToolAnnotations(a=![],b=![]){return{'readOnlyHint':a,'destructiveHint':b,'idempotentHint':!![],'openWorldHint':![]};}export async function transformSubmission(a){if(!a)return undefined;const b=(a['guard']||[])['map'](h=>h['object'])['filter'](Boolean),c=(a['submission']||[])['map'](h=>h['guard'])['filter'](Boolean),d=[...new Set([...b,...c])],e=d['length']>0x0?await LocalMark['Instance']()['get_many_address'](d):[],f=new Map();d['forEach']((h,i)=>{const j=e[i];j&&f['set'](h,j);});const g=h=>{if(f['has'](h))return f['get'](h);for(const [i,j]of f['entries']()){if(i===h)return j;}if(h['startsWith']('0x')&&h['length']===0x42)return h;throw new Error('Guard\x20name\x20or\x20address\x20not\x20found:\x20'+h);};return{'type':'submission','guard':(a['guard']||[])['map'](h=>({'object':g(h['object']),'impack':h['impack']||![]})),'submission':(a['submission']||[])['map'](h=>({'guard':g(h['guard']),'submission':h['submission']||[]}))};}export function validateInput(a,b){return b['parse'](a);}export function getEnvConfig(a){return a??{};}
@@ -1,20 +1 @@
1
- export * from './base.js';
2
- export * from './handler.js';
3
- export * from './semantic.js';
4
- export * from './contact.js';
5
- export * from './demand.js';
6
- export * from './guard.js';
7
- export * from './machine.js';
8
- export * from './arbitration.js';
9
- export * from './allocation.js';
10
- export * from './order.js';
11
- export * from './payment.js';
12
- export * from './permission.js';
13
- export * from './personal.js';
14
- export * from './proof.js';
15
- export * from './progress.js';
16
- export * from './repository.js';
17
- export * from './reward.js';
18
- export * from './service.js';
19
- export * from './treasury.js';
20
- export * from './bridge.js';
1
+ export*from'./base.js';export*from'./handler.js';export*from'./semantic.js';export*from'./contact.js';export*from'./demand.js';export*from'./guard.js';export*from'./machine.js';export*from'./arbitration.js';export*from'./allocation.js';export*from'./order.js';export*from'./payment.js';export*from'./permission.js';export*from'./personal.js';export*from'./proof.js';export*from'./progress.js';export*from'./repository.js';export*from'./reward.js';export*from'./service.js';export*from'./treasury.js';export*from'./bridge.js';