@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{z}from'zod';import{WithPermissionObjectSchema,NamedObjectSchema,ObjectsSchema,CallEnvSchema,SubmissionCallSchema}from'./base.js';import{MachineNodeSchema,MachineForwardSchema}from'../query/index.js';import{ManyAccountOrMark_AddressSchema,NameOrAddressSchema,NameSchema,NotEmptyNameSchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS,DescriptionSchema,EntrypointSchema}from'../common/index.js';function gateNumber(a){if(a===null||a===undefined||a==='')return 0x0;const b=Number(a);return Number['isFinite'](b)?b:null;}export function machinePublishGateViolation(a){if(!Array['isArray'](a)||a['length']===0x0)return'The\x20Machine\x20has\x20no\x20nodes,\x20so\x20it\x20cannot\x20be\x20published\x20(E_EMPTY_MACHINE).\x20'+'Publish\x20validates\x20the\x20whole\x20graph:\x20add\x20at\x20least\x20one\x20node,\x20including\x20the\x20first\x20node\x20carrying\x20the\x20'+'entry\x20pair\x20(prev_node:\x20\x22\x22)\x20that\x20Progress\x20starts\x20from\x20—\x20send\x20the\x20nodes\x20in\x20the\x20SAME\x20call\x20as\x20publish:true\x20'+'(bReplace:true,\x20or\x20op:\x22set\x22),\x20because\x20the\x20graph\x20is\x20frozen\x20the\x20moment\x20publish\x20succeeds.';const b=a,c=new Set(b['map'](e=>e?.['name'])['filter'](e=>typeof e==='string'));let d=![];for(const e of b){const f=Array['isArray'](e?.['pairs'])?e['pairs']:[],g=typeof e?.['name']==='string'?e['name']:'<unnamed\x20node>';for(const h of f){const i=typeof h?.['prev_node']==='string'?h['prev_node']:null,j=Array['isArray'](h?.['forwards'])?h['forwards']:[];if(i===''){if(j['length']===0x0)return'The\x20entry\x20pair\x20of\x20node\x20\x22'+g+'\x22\x20(prev_node:\x20\x22\x22)\x20carries\x20no\x20forward\x20(E_EMPTY_ENTRY_PAIR).\x20'+'Progress\x20starts\x20at\x20the\x20empty\x20initial\x20state\x20\x22\x22\x20and\x20can\x20only\x20leave\x20it\x20through\x20an\x20entry\x20forward,\x20so\x20'+'every\x20order\x20on\x20this\x20Machine\x20would\x20be\x20stuck\x20forever.\x20Add\x20at\x20least\x20one\x20forward\x20to\x20that\x20pair.\x20Do\x20NOT\x20'+'delete\x20the\x20entry\x20pair\x20to\x20silence\x20this\x20—\x20a\x20Machine\x20with\x20no\x20entry\x20edge\x20fails\x20the\x20sibling\x20check\x20instead\x20'+'(E_NO_ENTRY_EDGE).';d=!![];}else{if(i!==null&&!c['has'](i))return'The\x20pair\x20of\x20node\x20\x22'+g+'\x22\x20declares\x20prev_node\x20\x22'+i+'\x22,\x20which\x20is\x20not\x20a\x20node\x20of\x20this\x20Machine\x20'+'(E_EDGE_SOURCE_NOT_FOUND)\x20—\x20that\x20edge\x20is\x20unreachable\x20and\x20its\x20source\x20node\x20can\x20never\x20be\x20entered.\x20'+'Fix\x20the\x20name,\x20or\x20add\x20the\x20missing\x20source\x20node.\x20Mind\x20the\x20direction\x20convention:\x20the\x20pair\x20belongs\x20to\x20'+'the\x20node\x20being\x20advanced\x20INTO,\x20with\x20prev_node\x20naming\x20the\x20node\x20it\x20comes\x20from\x20(the\x20entry\x20edge\x20is\x20the\x20'+'one\x20with\x20the\x20EMPTY\x20prev_node).\x20Export\x20the\x20current\x20graph\x20with\x20machineNode2file\x20before\x20editing.';}let k=0x0;for(const m of j){const n=m?.['namedOperator']!==undefined&&m?.['namedOperator']!==null,o=m?.['permissionIndex']!==undefined&&m?.['permissionIndex']!==null;if(!n&&!o)return'Forward\x20\x22'+(m?.['name']??'<unnamed>')+'\x22\x20of\x20node\x20\x22'+g+'\x22\x20names\x20no\x20operator\x20'+'(E_FORWARD_NO_IDENTITY),\x20so\x20nobody\x20can\x20be\x20authorized\x20to\x20execute\x20it\x20and\x20the\x20Machine\x20cannot\x20be\x20'+'published.\x20Set\x20namedOperator\x20(use\x20\x22\x22\x20for\x20the\x20order\x20payer,\x20or\x20a\x20Progress\x20operator\x20namespace)\x20or\x20'+'permissionIndex\x20(a\x20USER_DEFINED\x20index\x20>=\x201000).\x20A\x20guard\x20does\x20NOT\x20satisfy\x20this:\x20it\x20is\x20a\x20'+'post-verification\x20check,\x20not\x20an\x20identity.';const p=gateNumber(m?.['weight']);if(p!==null)k+=p;}const l=gateNumber(h?.['threshold']);if(l!==null&&k<l){const q=i===''?'entry\x20->\x20'+g:i+'\x20->\x20'+g;return'Pair\x20('+q+')\x20can\x20never\x20migrate:\x20its\x20threshold\x20('+l+')\x20is\x20greater\x20than\x20the\x20sum\x20of\x20its\x20'+('forward\x20weights\x20('+k+')\x20(E_UNREACHABLE_THRESHOLD).\x20Each\x20forward\x20contributes\x20its\x20weight\x20AT\x20')+'MOST\x20ONCE\x20—\x20it\x20is\x20locked\x20by\x20the\x20first\x20operator\x20who\x20accomplishes\x20it,\x20and\x20a\x20second\x20operator\x20re-running\x20'+'it\x20aborts\x20E_NOT_THE_HOLDER\x20—\x20so\x20the\x20reachable\x20maximum\x20is\x20the\x20sum\x20of\x20the\x20DISTINCT\x20forward\x20weights.\x20'+'Lower\x20the\x20threshold,\x20or\x20add\x20one\x20distinct\x20forward\x20per\x20contributing\x20operator\x20(threshold\x202\x20->\x20begin_a\x20+\x20'+'begin_b,\x20each\x20weight\x201).\x20Never\x20try\x20to\x20reach\x20a\x20high\x20threshold\x20by\x20re-running\x20one\x20forward\x20repeatedly.';}}}if(!d)return'The\x20Machine\x20has\x20no\x20entry\x20edge\x20(E_NO_ENTRY_EDGE)\x20—\x20no\x20node\x20declares\x20a\x20pair\x20with\x20prev_node:\x20\x22\x22,\x20so\x20'+'Progress\x20starts\x20at\x20the\x20empty\x20initial\x20state\x20and\x20has\x20no\x20edge\x20to\x20advance\x20on.\x20Add\x20the\x20entry\x20pair\x20to\x20your\x20'+'first\x20node:\x20pairs:[{prev_node:\x22\x22,\x20forwards:[{name:\x22start\x22,\x20weight:1,\x20namedOperator:\x22\x22}]}].\x20The\x20fix\x20must\x20'+'land\x20BEFORE\x20publish\x20—\x20machineNode2file\x20exports\x20the\x20current\x20graph\x20so\x20you\x20can\x20diff\x20it\x20against\x20the\x20fixed\x20one.';return null;}function validateEntryForward(a){for(const b of a){if(!b['pairs'])continue;for(const c of b['pairs']){if(c['prev_node']==='')return!![];}}return![];}const ENTRY_FORWARD_ERROR_MESSAGE='Machine\x20has\x20no\x20entry\x20forward.\x20At\x20least\x20one\x20node\x20must\x20have\x20a\x20pair\x20with\x20prev_node=\x22\x22\x20(empty\x20string),\x20'+'which\x20defines\x20how\x20Progress\x20advances\x20from\x20the\x20initial\x20state\x20(current=\x22\x22)\x20to\x20the\x20first\x20node.\x20'+'Without\x20an\x20entry\x20forward,\x20the\x20workflow\x20will\x20be\x20permanently\x20stuck.\x20'+'Example:\x20{name:\x20\x27Subscribed\x27,\x20pairs:\x20[{prev_node:\x20\x27\x27,\x20forwards:\x20[{name:\x20\x27Subscribe\x27,\x20weight:\x201}]}]}';export const ProgressNamedOperatorSchema=z['object']({'op':z['union']([z['literal']('add'),z['literal']('set'),z['literal']('remove')]),'name':NotEmptyNameSchema,'operators':ManyAccountOrMark_AddressSchema})['strict']();export const ProgressNewSchema=z['object']({'task':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Task\x20bound\x20to\x20the\x20Progress\x20object.\x20It\x20is\x20an\x20object\x20ID\x20or\x20name'),'repository':ObjectsSchema['optional']()['describe']('Set\x20repository\x20list\x20for\x20the\x20Progress\x20object.\x20Used\x20for\x20consensus\x20data\x20management.'),'progress_namedOperator':ProgressNamedOperatorSchema['optional']()['describe']('Add,\x20set,\x20and\x20remove\x20operators\x20for\x20the\x20permission\x20namespace\x20of\x20the\x20Progress\x20object.'),'namedNew':NamedObjectSchema['optional']()})['strict']();export const NodeAddForwardDataSchema=z['object']({'prior_node_name':NameSchema['describe']('Name\x20of\x20the\x20previous\x20node.'),'node_name':NameSchema['describe']('Name\x20of\x20the\x20next\x20node.'),'forward':z['array'](MachineForwardSchema)['describe']('List\x20of\x20operations\x20between\x20the\x20previous\x20and\x20next\x20nodes.'),'threshold':z['union']([z['number']()['int']()['min'](0x0),z['null']()])['optional']()['describe']('Threshold\x20of\x20operations\x20that\x20need\x20to\x20be\x20completed\x20to\x20migrate\x20from\x20the\x20previous\x20node\x20to\x20the\x20next\x20node.')})['strict']();export const NodeRemoveForwardDataSchema=z['object']({'prior_node_name':NameSchema['describe']('Name\x20of\x20the\x20previous\x20node.'),'node_name':NameSchema['describe']('Name\x20of\x20the\x20next\x20node.'),'forward_name':z['array'](NameSchema)['describe']('List\x20of\x20operation\x20names\x20to\x20delete.')})['strict']();export const NodeRemovePriorNodeDataSchema=z['object']({'prior_node_name':z['array'](NameSchema)['describe']('List\x20of\x20previous\x20node\x20names\x20to\x20delete.'),'node_name':NameSchema['describe']('Name\x20of\x20the\x20next\x20node.')})['strict']();export const NodeSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('add'),'nodes':z['array'](MachineNodeSchema)['describe']('List\x20of\x20nodes\x20to\x20add\x20or\x20set.'),'bReplace':z['boolean']()['optional']()['describe']('Whether\x20to\x20replace\x20existing\x20nodes.\x20If\x20true,\x20existing\x20nodes\x20will\x20be\x20replaced;\x20if\x20false,\x20nodes\x20will\x20be\x20added\x20by\x20merging.')})['strict']()['describe']('Add\x20nodes.'),z['object']({'op':z['literal']('set'),'nodes':z['array'](MachineNodeSchema)['describe']('List\x20of\x20nodes\x20to\x20add\x20or\x20set.'),'bReplace':z['boolean']()['optional']()['describe']('Whether\x20to\x20replace\x20existing\x20nodes.\x20If\x20true,\x20existing\x20nodes\x20will\x20be\x20replaced;\x20if\x20false,\x20nodes\x20will\x20be\x20added\x20by\x20merging.')})['strict']()['describe']('Set\x20nodes.'),z['object']({'op':z['literal']('remove'),'nodes':z['array'](NameSchema)['describe']('List\x20of\x20node\x20names\x20to\x20delete.')})['strict']()['describe']('Delete\x20nodes.'),z['object']({'op':z['literal']('clear')})['strict']()['describe']('Clear\x20all\x20nodes.'),z['object']({'op':z['literal']('exchange'),'node_one':NameSchema['describe']('Name\x20of\x20the\x20first\x20node.'),'node_other':NameSchema['describe']('Name\x20of\x20the\x20second\x20node.')})['strict']()['describe']('Exchange\x20the\x20positions\x20of\x20two\x20nodes.'),z['object']({'op':z['literal']('rename'),'node_name_old':NameSchema['describe']('Name\x20of\x20thenode.'),'node_name_new':NameSchema['describe']('New\x20name\x20of\x20the\x20node.')})['strict']()['describe']('Rename\x20node.'),z['object']({'op':z['literal']('remove\x20prior\x20node'),'pairs':z['array'](NodeRemovePriorNodeDataSchema)['describe']('List\x20of\x20previous-next\x20node\x20pairs\x20to\x20delete.')})['strict']()['describe']('Delete\x20previous-next\x20node\x20pairs.'),z['object']({'op':z['literal']('add\x20forward'),'data':z['array'](NodeAddForwardDataSchema)['describe']('List\x20of\x20operations\x20to\x20add.')})['strict']()['describe']('Add\x20operations.'),z['object']({'op':z['literal']('remove\x20forward'),'data':z['array'](NodeRemoveForwardDataSchema)['describe']('List\x20of\x20operations\x20to\x20delete.')})['strict']()['describe']('Delete\x20operations.')])['superRefine']((a,b)=>{(a['op']==='add'||a['op']==='set')&&a['bReplace']===!![]&&(!validateEntryForward(a['nodes'])&&b['addIssue']({'code':z['ZodIssueCode']['custom'],'message':ENTRY_FORWARD_ERROR_MESSAGE}));});export const NodeJsonOrMarkdownFileSchema=z['object']({'json_or_markdown_file':z['string']()['describe']('Path\x20to\x20a\x20JSON\x20or\x20Markdown\x20file\x20containing\x20node\x20array\x20for\x20COMPLETE\x20REPLACEMENT\x20of\x20all\x20nodes.\x0a\x0a**File\x20Format\x20Requirements:**\x0a-\x20Must\x20contain\x20a\x20JSON\x20ARRAY\x20of\x20node\x20objects:\x20[{\x22name\x22:\x20\x22...\x22,\x20\x22pairs\x22:\x20[...]},\x20{...}]\x0a-\x20NOT\x20an\x20operation\x20object\x20with\x20\x22op\x22\x20field\x20(use\x20NodeSchema\x20for\x20operations)\x0a-\x20Supports\x20JSON\x20or\x20Markdown\x20(with\x20```json\x20code\x20blocks)\x0a\x0a**Node\x20Structure:**\x0aEach\x20node\x20is\x20a\x20directed\x20graph\x20element\x20representing\x20a\x20workflow\x20STATE\x20that\x20an\x20order\x0acan\x20rest\x20in.\x20Its\x20Pairs\x20are\x20the\x20INCOMING\x20edges\x20—\x20this\x20is\x20the\x20one\x20convention\x20the\x0achain\x20enforces,\x20and\x20getting\x20it\x20backwards\x20silently\x20builds\x20a\x20wrong\x20graph:\x0a-\x20name:\x20Node\x20identifier\x20—\x20the\x20DESTINATION\x20of\x20every\x20pair\x20it\x20owns\x0a-\x20role:\x20(optional)\x20business\x20role\x20tag\x20for\x20display\x20layers\x20—\x20one\x20of\x20draft/active/delivered/final/cancelled.\x20SESSION\x20METADATA\x20ONLY\x20(not\x20stored\x20on-chain;\x20echoed\x20back\x20as\x20a\x20NODE\x20ROLES\x20warning)\x0a-\x20pairs:\x20Array\x20of\x20{prev_node,\x20forwards,\x20threshold}\x20—\x20edges\x20ENTERING\x20this\x20node.\x20The\x20key\x20is\x20`prev_node`;\x20`prior_node`\x20is\x20not\x20recognized\x20and\x20is\x20silently\x20dropped.\x0a-\x20forwards:\x20Operations\x20that\x20advance\x20INTO\x20this\x20node\x20FROM\x20its\x20prev_node\x20(NOT\x20operations\x20available\x20from\x20this\x20node)\x0a-\x20threshold:\x20Weight\x20required\x20to\x20migrate\x20into\x20this\x20node\x20along\x20that\x20pair\x0a\x0aDiagram\x20`A\x20--[Go]-->\x20B`\x20therefore\x20lives\x20in\x20node\x20**B**:\x20{name:\x22B\x22,\x20pairs:[{prev_node:\x22A\x22,\x20forwards:[{name:\x22Go\x22,\x20weight:1}]}]}.\x0a\x0a**Forward\x20names\x20must\x20determine\x20the\x20destination.**\x20`next_node`\x20is\x20a\x20CALLER\x20argument\x0aand\x20the\x20chain\x20resolves\x20(current,\x20next_node,\x20forward)\x20inside\x20the\x0adestination\x20node,\x20so\x20one\x20forward\x20name\x20shared\x20by\x20two\x20destinations\x0afrom\x20the\x20same\x20prev_node\x20is\x20legal\x20and\x20lets\x20the\x20caller\x20pick\x20the\x20outcome\x20—\x20including\x0awhether\x20a\x20refund\x20Allocator\x20ever\x20fires.\x20Give\x20each\x20destination\x20its\x20own\x20forward\x20name.\x0a\x0a**Behavior:**\x0a-\x20COMPLETELY\x20REPLACES\x20all\x20existing\x20nodes\x20(equivalent\x20to\x20\x22set\x22\x20with\x20bReplace=true)\x0a-\x20Auto-detects\x20format\x20based\x20on\x20file\x20content\x0a-\x20If\x20parsing\x20fails,\x20error\x20includes\x20line\x20number\x20and\x20column\x20information')})['strict']();export const NodeFieldSchema=z['union']([NodeSchema,NodeJsonOrMarkdownFileSchema]);export const CallMachine_DataSchema=z['object']({'object':WithPermissionObjectSchema,'progress_new':ProgressNewSchema['optional']()['describe']('Generate\x20new\x20Progress\x20object.'),'description':DescriptionSchema['optional']()['describe']('Description\x20of\x20the\x20object.'),'repository':ObjectsSchema['optional']()['describe']('Set\x20repository\x20list\x20for\x20the\x20object.\x20Used\x20for\x20consensus\x20data\x20management.'),'node':NodeFieldSchema['optional']()['describe']('CRITICAL:\x20Choose\x20ONE\x20of\x20two\x20mutually\x20exclusive\x20modes:\x0a\x0a**Mode\x201:\x20NodeSchema\x20(incremental\x20operations)**\x0aUse\x20for\x20partial\x20modifications:\x20add,\x20set,\x20remove,\x20clear,\x20exchange,\x20rename,\x20remove\x20prior\x20node,\x20add\x20forward,\x20remove\x20forward.\x0aFormat:\x20{\x20\x22op\x22:\x20\x22add\x22,\x20\x22nodes\x22:\x20[...],\x20\x22bReplace\x22:\x20false\x20}\x0aThis\x20mode\x20modifies\x20existing\x20nodes\x20incrementally.\x0a\x0a**Mode\x202:\x20NodeJsonOrMarkdownFileSchema\x20(complete\x20replacement)**\x0aUse\x20for\x20complete\x20node\x20redefinition\x20from\x20file.\x0aFormat:\x20{\x20\x22json_or_markdown_file\x22:\x20\x22/path/to/nodes.json\x22\x20}\x0aIMPORTANT:\x20This\x20COMPLETELY\x20REPLACES\x20all\x20existing\x20nodes.\x20File\x20must\x20contain\x20node\x20array\x20[{...},\x20{...}],\x20NOT\x20an\x20operation\x20object\x20with\x20\x22op\x22\x20field.\x0aSupported\x20formats:\x20JSON\x20array\x20or\x20Markdown\x20with\x20code\x20blocks.\x0aIf\x20parsing\x20fails,\x20error\x20includes\x20line\x20number\x20and\x20column\x20information.'),'pause':z['boolean']()['optional']()['describe']('Whether\x20to\x20pause\x20generating\x20new\x20Progress\x20objects.\x20Chain\x20truth\x20(the\x20progress-generation\x20entry\x20asserts\x20!bPaused):\x20the\x20pause\x20gates\x20NEW\x20order\x20entry\x20only\x20—\x20in-flight\x20Progress\x20keeps\x20advancing\x20and\x20settling\x20(yfd-ln\x20F-13\x20misread\x20this\x20as\x20a\x20freeze\x20switch;\x20it\x20never\x20was\x20one).'),'publish':z['boolean']()['optional']()['describe']('Whether\x20to\x20publish\x20the\x20object.\x20After\x20the\x20object\x20is\x20published,\x20new\x20Progress\x20objects\x20can\x20be\x20generated;\x20and\x20node\x20settings\x20will\x20no\x20longer\x20be\x20changeable.\x20⚠️\x20PUBLISH\x20IS\x20A\x20ONE-WAY\x20DOOR\x20AND\x20THE\x20CHAIN\x20VALIDATES\x20THE\x20WHOLE\x20GRAPH\x20AT\x20THAT\x20MOMENT:\x20the\x20on-chain\x20publish\x20gate\x20rejects\x20a\x20Machine\x20that\x20is\x20empty,\x20has\x20no\x20entry\x20edge\x20(no\x20pair\x20with\x20prev_node:\x22\x22),\x20has\x20an\x20entry\x20pair\x20with\x20no\x20forward,\x20references\x20a\x20prev_node\x20that\x20is\x20not\x20a\x20node\x20of\x20this\x20Machine,\x20carries\x20a\x20forward\x20with\x20neither\x20namedOperator\x20nor\x20permissionIndex\x20(a\x20guard\x20is\x20NOT\x20an\x20identity),\x20or\x20has\x20a\x20pair\x20whose\x20threshold\x20exceeds\x20the\x20sum\x20of\x20its\x20forward\x20weights\x20(each\x20forward\x20counts\x20at\x20most\x20once).\x20These\x20aborts\x20(machine:17-22)\x20fire\x20BEFORE\x20the\x20publish\x20lands,\x20so\x20the\x20graph\x20is\x20still\x20editable\x20—\x20but\x20after\x20it\x20succeeds,\x20nodes/forwards,\x20Guard\x20bindings\x20and\x20Service.machine\x20are\x20frozen\x20forever,\x20and\x20a\x20broken\x20graph\x20would\x20only\x20surface\x20at\x20the\x20first\x20transition\x20with\x20no\x20repair\x20path.\x20Send\x20the\x20nodes\x20in\x20the\x20SAME\x20call\x20as\x20publish:true\x20(bReplace:true\x20or\x20op:\x22set\x22)\x20so\x20the\x20complete\x20graph\x20is\x20validated\x20together.\x20⚠️\x20Before\x20publishing,\x20enumerate\x20the\x20graph\x20STOP\x20NODES\x20(nodes\x20with\x20no\x20outgoing\x20Pair)\x20plus\x20every\x20waiting\x20state\x20(review\x20window,\x20handover,\x20open\x20dispute)\x20and\x20verify\x20each\x20has\x20a\x20defined\x20fund\x20exit\x20in\x20the\x20Service\x20order_allocators\x20—\x20withdrawal\x20(release)\x20AND\x20refund.\x20Machine\x20+\x20Allocator\x20are\x20immutable\x20after\x20publish\x20(IMMUT-001);\x20an\x20uncovered\x20stop\x20node\x20strands\x20funds\x20permanently\x20(rule\x20R-M5-03,\x20checklist\x20pattern.fund_flow_stop_node_coverage).\x20⚠️\x20REBUILD\x20COST\x20DISCLOSURE\x20(S12-②,\x20ksk4\x20F-01):\x20every\x20business\x20constant\x20you\x20bake\x20into\x20this\x20graph\x20(campaign\x20deadline,\x20goal,\x20windows,\x20schedules)\x20becomes\x20immutable\x20WITH\x20the\x20machine.\x20Changing\x20even\x20ONE\x20constant\x20after\x20publish\x20requires:\x20new\x20guard\x20→\x20clone\x20the\x20whole\x20node\x20graph\x20into\x20a\x20NEW\x20machine\x20→\x20publish\x20→\x20a\x20NEW\x20Service\x20→\x20re-hang\x20every\x20repository/reward/arbitration/allocator/WIP\x20→\x20republish\x20(≈5\x20txs\x20/\x20~1\x20min\x20measured\x20on\x20a\x2016-node\x20graph),\x20and\x20in-flight\x20orders\x20stay\x20pointed\x20at\x20the\x20OLD\x20machine\x20forever.\x20THIS\x20OPERATION\x20WILL\x20REQUIRE\x20A\x20NEW\x20SERVICE\x20if\x20any\x20baked-in\x20parameter\x20later\x20changes\x20—\x20finalize\x20mutable\x20business\x20parameters\x20BEFORE\x20publishing\x20(Campaign-structure\x20change\x20is\x20protocol-train\x20scoped;\x20the\x20MCP\x20face\x20cannot\x20patch\x20a\x20published\x20machine).'),'owner_receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20and\x20other\x20objects\x20received\x20by\x20this\x20Machine\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.'),'reentry_kind':z['enum'](['none','review-loop','paid-cycle'])['optional']()['describe']('AP-3\x20loop-semantics\x20declaration\x20for\x20the\x20publish\x20audit\x20(ctra\x20F-06\x20root\x20cure):\x20overrides\x20the\x20'+'word-stem\x20loop\x20classifier\x20when\x20the\x20node\x20graph\x20contains\x20a\x20cycle.\x20'+'\x27none\x27\x20=\x20default\x20(word-stem\x20classification)\x20/\x20\x27review-loop\x27\x20=\x20same-order\x20no-charge\x20revisits\x20/\x20'+'\x27paid-cycle\x27\x20=\x20per-revisit\x20fee,\x20fund\x20gate\x20required.\x20'+'MCP-side\x20audit\x20declaration\x20ONLY\x20(pre_publish\x20harness\x20hook)\x20—\x20never\x20sent\x20on-chain;\x20the\x20handler\x20strips\x20it\x20'+'before\x20the\x20SDK\x20call.\x20Mirror\x20of\x20the\x20template\x20frontmatter\x20twin\x20(template-loader).')})['strict']()['superRefine']((a,b)=>{if(a['publish']!==!![])return;const c=a['node'];if(!c||'json_or_markdown_file'in c)return;if(c['op']!=='add'&&c['op']!=='set')return;const d=typeof a['object']==='object'&&a['object']!==null;if(!d&&c['bReplace']!==!![])return;if(!Array['isArray'](c['nodes'])||c['nodes']['length']===0x0||typeof c['nodes'][0x0]!=='object')return;const e=machinePublishGateViolation(c['nodes']);e&&b['addIssue']({'code':z['ZodIssueCode']['custom'],'message':e});})['describe']('On-chain\x20Machine\x20operations.\x20USAGE:\x20(1)\x20CREATE\x20NEW:\x20Set\x20\x27object\x27\x20field\x20with\x20OBJECT\x20format\x20{name,\x20permission,\x20...}\x20to\x20create\x20a\x20Machine.\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 CallMachine_InputSchema=z['object']({'data':CallMachine_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();export const MachineNode2File_InputSchema=z['object']({'machine':NameOrAddressSchema['describe']('Machine\x20object\x20ID\x20or\x20name\x20to\x20export'),'file_path':z['string']()['optional']()['describe']('Output\x20file\x20path\x20(absolute\x20or\x20relative).\x20Defaults\x20to\x20the\x20workspace\x20directory\x20when\x20omitted.'),'format':z['enum'](['json','markdown'])['optional']()['default']('json')['describe']('Output\x20format:\x20\x27json\x27\x20(default)\x20or\x20\x27markdown\x27'),'network':EntrypointSchema['optional']()['describe']('Network\x20to\x20read\x20the\x20Machine\x20from:\x20\x27localnet\x27\x20|\x20\x27mainnet\x27\x20|\x20\x27testnet\x27.\x20If\x20omitted,\x20the\x20SDK\x27s\x20current\x20default\x20network\x20is\x20used\x20(check\x20via\x20wowok_buildin_info\x20info=\x27current\x20network\x27);\x20the\x20response\x20echoes\x20the\x20resolved\x20network\x20so\x20an\x20export\x20can\x20never\x20be\x20silently\x20read\x20from\x20the\x20wrong\x20chain\x20(klook\x20B-4:\x20an\x20un-networked\x20\x27not\x20found\x20on\x20chain\x27\x20was\x20actually\x20a\x20testnet\x20read\x20of\x20a\x20localnet\x20object).'),'env':CallEnvSchema['optional']()})['strict']()['describe']('Query\x20a\x20Machine\x20object\x20from\x20the\x20blockchain\x20and\x20export\x20its\x20node\x20definition\x20to\x20a\x20JSON\x20or\x20Markdown\x20file.\x20The\x20exported\x20file\x20can\x20be\x20edited\x20and\x20used\x20to\x20create\x20new\x20Machine\x20objects.');export const MachineNode2File_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'),'machine_object':NameOrAddressSchema['describe']('Machine\x20object\x20ID'),'node_count':z['number']()['describe']('Number\x20of\x20nodes\x20exported'),'network':z['string']()['describe']('Network\x20the\x20Machine\x20was\x20READ\x20from\x20(resolved\x20—\x20the\x20SDK\x20default\x20when\x20the\x20input\x20omitted\x20\x27network\x27)')})['strict']()['describe']('Success\x20result\x20data')})['strict'](),z['object']({'status':z['literal']('error'),'error':z['string']()['describe']('Error\x20message')})['strict']()])['describe']('MachineNode2File\x20operation\x20output');export const MachineNode2File_OutputWrappedSchema=z['object']({'result':MachineNode2File_OutputSchema})['strict']()['describe']('MachineNode2File\x20operation\x20output\x20wrapped\x20schema');
1
+ import{z}from'zod';import{WithPermissionObjectSchema,NamedObjectSchema,ObjectsSchema,CallEnvSchema,SubmissionCallSchema}from'./base.js';import{MachineNodeSchema,MachineForwardSchema}from'../query/index.js';import{ManyAccountOrMark_AddressAISchema,NameOrAddressSchema,NameSchema,NotEmptyNameSchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS,DescriptionSchema,EntrypointSchema}from'../common/index.js';function gateNumber(a){if(a===null||a===undefined||a==='')return 0x0;const b=Number(a);return Number['isFinite'](b)?b:null;}export function machinePublishGateViolation(a){if(!Array['isArray'](a)||a['length']===0x0)return'The\x20Machine\x20has\x20no\x20nodes,\x20so\x20it\x20cannot\x20be\x20published\x20(E_EMPTY_MACHINE).\x20'+'Publish\x20validates\x20the\x20whole\x20graph:\x20add\x20at\x20least\x20one\x20node,\x20including\x20the\x20first\x20node\x20carrying\x20the\x20'+'entry\x20pair\x20(prev_node:\x20\x22\x22)\x20that\x20Progress\x20starts\x20from\x20—\x20send\x20the\x20nodes\x20in\x20the\x20SAME\x20call\x20as\x20publish:true\x20'+'(bReplace:true,\x20or\x20op:\x22set\x22),\x20because\x20the\x20graph\x20is\x20frozen\x20the\x20moment\x20publish\x20succeeds.';const b=a,c=new Set(b['map'](e=>e?.['name'])['filter'](e=>typeof e==='string'));let d=![];for(const e of b){const f=Array['isArray'](e?.['pairs'])?e['pairs']:[],g=typeof e?.['name']==='string'?e['name']:'<unnamed\x20node>';for(const h of f){const i=typeof h?.['prev_node']==='string'?h['prev_node']:null,j=Array['isArray'](h?.['forwards'])?h['forwards']:[];if(i===''){if(j['length']===0x0)return'The\x20entry\x20pair\x20of\x20node\x20\x22'+g+'\x22\x20(prev_node:\x20\x22\x22)\x20carries\x20no\x20forward\x20(E_EMPTY_ENTRY_PAIR).\x20'+'Progress\x20starts\x20at\x20the\x20empty\x20initial\x20state\x20\x22\x22\x20and\x20can\x20only\x20leave\x20it\x20through\x20an\x20entry\x20forward,\x20so\x20'+'every\x20order\x20on\x20this\x20Machine\x20would\x20be\x20stuck\x20forever.\x20Add\x20at\x20least\x20one\x20forward\x20to\x20that\x20pair.\x20Do\x20NOT\x20'+'delete\x20the\x20entry\x20pair\x20to\x20silence\x20this\x20—\x20a\x20Machine\x20with\x20no\x20entry\x20edge\x20fails\x20the\x20sibling\x20check\x20instead\x20'+'(E_NO_ENTRY_EDGE).';d=!![];}else{if(i!==null&&!c['has'](i))return'The\x20pair\x20of\x20node\x20\x22'+g+'\x22\x20declares\x20prev_node\x20\x22'+i+'\x22,\x20which\x20is\x20not\x20a\x20node\x20of\x20this\x20Machine\x20'+'(E_EDGE_SOURCE_NOT_FOUND)\x20—\x20that\x20edge\x20is\x20unreachable\x20and\x20its\x20source\x20node\x20can\x20never\x20be\x20entered.\x20'+'Fix\x20the\x20name,\x20or\x20add\x20the\x20missing\x20source\x20node.\x20Mind\x20the\x20direction\x20convention:\x20the\x20pair\x20belongs\x20to\x20'+'the\x20node\x20being\x20advanced\x20INTO,\x20with\x20prev_node\x20naming\x20the\x20node\x20it\x20comes\x20from\x20(the\x20entry\x20edge\x20is\x20the\x20'+'one\x20with\x20the\x20EMPTY\x20prev_node).\x20Export\x20the\x20current\x20graph\x20with\x20machineNode2file\x20before\x20editing.';}let k=0x0;for(const m of j){const n=m?.['namedOperator']!==undefined&&m?.['namedOperator']!==null,o=m?.['permissionIndex']!==undefined&&m?.['permissionIndex']!==null;if(!n&&!o)return'Forward\x20\x22'+(m?.['name']??'<unnamed>')+'\x22\x20of\x20node\x20\x22'+g+'\x22\x20names\x20no\x20operator\x20'+'(E_FORWARD_NO_IDENTITY),\x20so\x20nobody\x20can\x20be\x20authorized\x20to\x20execute\x20it\x20and\x20the\x20Machine\x20cannot\x20be\x20'+'published.\x20Set\x20namedOperator\x20(use\x20\x22\x22\x20for\x20the\x20order\x20payer,\x20or\x20a\x20Progress\x20operator\x20namespace)\x20or\x20'+'permissionIndex\x20(a\x20USER_DEFINED\x20index\x20>=\x201000).\x20A\x20guard\x20does\x20NOT\x20satisfy\x20this:\x20it\x20is\x20a\x20'+'post-verification\x20check,\x20not\x20an\x20identity.';const p=gateNumber(m?.['weight']);if(p!==null)k+=p;}const l=gateNumber(h?.['threshold']);if(l!==null&&k<l){const q=i===''?'entry\x20->\x20'+g:i+'\x20->\x20'+g;return'Pair\x20('+q+')\x20can\x20never\x20migrate:\x20its\x20threshold\x20('+l+')\x20is\x20greater\x20than\x20the\x20sum\x20of\x20its\x20'+('forward\x20weights\x20('+k+')\x20(E_UNREACHABLE_THRESHOLD).\x20Each\x20forward\x20contributes\x20its\x20weight\x20AT\x20')+'MOST\x20ONCE\x20—\x20it\x20is\x20locked\x20by\x20the\x20first\x20operator\x20who\x20accomplishes\x20it,\x20and\x20a\x20second\x20operator\x20re-running\x20'+'it\x20aborts\x20E_NOT_THE_HOLDER\x20—\x20so\x20the\x20reachable\x20maximum\x20is\x20the\x20sum\x20of\x20the\x20DISTINCT\x20forward\x20weights.\x20'+'Lower\x20the\x20threshold,\x20or\x20add\x20one\x20distinct\x20forward\x20per\x20contributing\x20operator\x20(threshold\x202\x20->\x20begin_a\x20+\x20'+'begin_b,\x20each\x20weight\x201).\x20Never\x20try\x20to\x20reach\x20a\x20high\x20threshold\x20by\x20re-running\x20one\x20forward\x20repeatedly.';}}}if(!d)return'The\x20Machine\x20has\x20no\x20entry\x20edge\x20(E_NO_ENTRY_EDGE)\x20—\x20no\x20node\x20declares\x20a\x20pair\x20with\x20prev_node:\x20\x22\x22,\x20so\x20'+'Progress\x20starts\x20at\x20the\x20empty\x20initial\x20state\x20and\x20has\x20no\x20edge\x20to\x20advance\x20on.\x20Add\x20the\x20entry\x20pair\x20to\x20your\x20'+'first\x20node:\x20pairs:[{prev_node:\x22\x22,\x20forwards:[{name:\x22start\x22,\x20weight:1,\x20namedOperator:\x22\x22}]}].\x20The\x20fix\x20must\x20'+'land\x20BEFORE\x20publish\x20—\x20machineNode2file\x20exports\x20the\x20current\x20graph\x20so\x20you\x20can\x20diff\x20it\x20against\x20the\x20fixed\x20one.';return null;}function validateEntryForward(a){for(const b of a){if(!b['pairs'])continue;for(const c of b['pairs']){if(c['prev_node']==='')return!![];}}return![];}const ENTRY_FORWARD_ERROR_MESSAGE='Machine\x20has\x20no\x20entry\x20forward.\x20At\x20least\x20one\x20node\x20must\x20have\x20a\x20pair\x20with\x20prev_node=\x22\x22\x20(empty\x20string),\x20'+'which\x20defines\x20how\x20Progress\x20advances\x20from\x20the\x20initial\x20state\x20(current=\x22\x22)\x20to\x20the\x20first\x20node.\x20'+'Without\x20an\x20entry\x20forward,\x20the\x20workflow\x20will\x20be\x20permanently\x20stuck.\x20'+'Example:\x20{name:\x20\x27Subscribed\x27,\x20pairs:\x20[{prev_node:\x20\x27\x27,\x20forwards:\x20[{name:\x20\x27Subscribe\x27,\x20weight:\x201}]}]}';export const ProgressNamedOperatorSchema=z['object']({'op':z['union']([z['literal']('add'),z['literal']('set'),z['literal']('remove')]),'name':NotEmptyNameSchema,'operators':ManyAccountOrMark_AddressAISchema})['strict']();export const ProgressNewSchema=z['object']({'task':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Task\x20bound\x20to\x20the\x20Progress\x20object.\x20It\x20is\x20an\x20object\x20ID\x20or\x20name'),'repository':ObjectsSchema['optional']()['describe']('Set\x20repository\x20list\x20for\x20the\x20Progress\x20object.\x20Used\x20for\x20consensus\x20data\x20management.'),'progress_namedOperator':ProgressNamedOperatorSchema['optional']()['describe']('Add,\x20set,\x20and\x20remove\x20operators\x20for\x20the\x20permission\x20namespace\x20of\x20the\x20Progress\x20object.'),'namedNew':NamedObjectSchema['optional']()})['strict']();export const NodeAddForwardDataSchema=z['object']({'prior_node_name':NameSchema['describe']('Name\x20of\x20the\x20previous\x20node.'),'node_name':NameSchema['describe']('Name\x20of\x20the\x20next\x20node.'),'forward':z['array'](MachineForwardSchema)['describe']('List\x20of\x20operations\x20between\x20the\x20previous\x20and\x20next\x20nodes.'),'threshold':z['union']([z['number']()['int']()['min'](0x0),z['null']()])['optional']()['describe']('Threshold\x20of\x20operations\x20that\x20need\x20to\x20be\x20completed\x20to\x20migrate\x20from\x20the\x20previous\x20node\x20to\x20the\x20next\x20node.')})['strict']();export const NodeRemoveForwardDataSchema=z['object']({'prior_node_name':NameSchema['describe']('Name\x20of\x20the\x20previous\x20node.'),'node_name':NameSchema['describe']('Name\x20of\x20the\x20next\x20node.'),'forward_name':z['array'](NameSchema)['describe']('List\x20of\x20operation\x20names\x20to\x20delete.')})['strict']();export const NodeRemovePriorNodeDataSchema=z['object']({'prior_node_name':z['array'](NameSchema)['describe']('List\x20of\x20previous\x20node\x20names\x20to\x20delete.'),'node_name':NameSchema['describe']('Name\x20of\x20the\x20next\x20node.')})['strict']();export const NodeSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('add'),'nodes':z['array'](MachineNodeSchema)['describe']('List\x20of\x20nodes\x20to\x20add\x20(or\x20replace\x20in\x20place\x20when\x20bReplace=true).'),'bReplace':z['boolean']()['optional']()['describe']('Whether\x20to\x20replace\x20existing\x20nodes.\x20If\x20true,\x20existing\x20nodes\x20will\x20be\x20replaced;\x20if\x20false,\x20nodes\x20will\x20be\x20added\x20by\x20merging.\x20This\x20is\x20the\x20ONLY\x20supported\x20way\x20to\x20rewrite\x20nodes\x20on\x20an\x20EXISTING\x20Machine.')})['strict']()['describe']('Add\x20nodes.'),z['object']({'op':z['literal']('set'),'nodes':z['array'](MachineNodeSchema)['describe']('List\x20of\x20nodes\x20for\x20a\x20freshly\x20CREATED\x20Machine.\x20xk9\x20F-02:\x20REFUSED\x20on\x20an\x20existing\x20Machine\x20—\x20op\x20set\x20implies\x20a\x20clear-and-rewrite\x20of\x20the\x20on-chain\x20node\x20table\x20that\x20permanently\x20corrupts\x20it\x20(E_EMPTY_MACHINE\x20on\x20every\x20later\x20publish,\x20no\x20repair).\x20To\x20rewrite\x20an\x20existing\x20Machine\x20use\x20op:add\x20with\x20bReplace:true.'),'bReplace':z['boolean']()['optional']()['describe']('Whether\x20to\x20replace\x20existing\x20nodes.\x20If\x20true,\x20existing\x20nodes\x20will\x20be\x20replaced;\x20if\x20false,\x20nodes\x20will\x20be\x20added\x20by\x20merging.')})['strict']()['describe']('Set\x20nodes\x20(CREATE-ONLY\x20—\x20refused\x20on\x20an\x20existing\x20Machine;\x20use\x20add+bReplace\x20there).'),z['object']({'op':z['literal']('remove'),'nodes':z['array'](NameSchema)['describe']('List\x20of\x20node\x20names\x20to\x20delete.')})['strict']()['describe']('Delete\x20nodes.'),z['object']({'op':z['literal']('clear')})['strict']()['describe']('Clear\x20all\x20nodes.'),z['object']({'op':z['literal']('exchange'),'node_one':NameSchema['describe']('Name\x20of\x20the\x20first\x20node.'),'node_other':NameSchema['describe']('Name\x20of\x20the\x20second\x20node.')})['strict']()['describe']('Exchange\x20the\x20positions\x20of\x20two\x20nodes.'),z['object']({'op':z['literal']('rename'),'node_name_old':NameSchema['describe']('Name\x20of\x20thenode.'),'node_name_new':NameSchema['describe']('New\x20name\x20of\x20the\x20node.')})['strict']()['describe']('Rename\x20node.'),z['object']({'op':z['literal']('remove\x20prior\x20node'),'pairs':z['array'](NodeRemovePriorNodeDataSchema)['describe']('List\x20of\x20previous-next\x20node\x20pairs\x20to\x20delete.')})['strict']()['describe']('Delete\x20previous-next\x20node\x20pairs.'),z['object']({'op':z['literal']('add\x20forward'),'data':z['array'](NodeAddForwardDataSchema)['describe']('List\x20of\x20operations\x20to\x20add.')})['strict']()['describe']('Add\x20operations.'),z['object']({'op':z['literal']('remove\x20forward'),'data':z['array'](NodeRemoveForwardDataSchema)['describe']('List\x20of\x20operations\x20to\x20delete.')})['strict']()['describe']('Delete\x20operations.')])['superRefine']((a,b)=>{(a['op']==='add'||a['op']==='set')&&a['bReplace']===!![]&&(!validateEntryForward(a['nodes'])&&b['addIssue']({'code':z['ZodIssueCode']['custom'],'message':ENTRY_FORWARD_ERROR_MESSAGE}));});export const NodeJsonOrMarkdownFileSchema=z['object']({'json_or_markdown_file':z['string']()['describe']('Path\x20to\x20a\x20JSON\x20or\x20Markdown\x20file\x20containing\x20node\x20array\x20for\x20COMPLETE\x20REPLACEMENT\x20of\x20all\x20nodes.\x0a\x0a**File\x20Format\x20Requirements:**\x0a-\x20Must\x20contain\x20a\x20JSON\x20ARRAY\x20of\x20node\x20objects:\x20[{\x22name\x22:\x20\x22...\x22,\x20\x22pairs\x22:\x20[...]},\x20{...}]\x0a-\x20NOT\x20an\x20operation\x20object\x20with\x20\x22op\x22\x20field\x20(use\x20NodeSchema\x20for\x20operations)\x0a-\x20Supports\x20JSON\x20or\x20Markdown\x20(with\x20```json\x20code\x20blocks)\x0a\x0a**Node\x20Structure:**\x0aEach\x20node\x20is\x20a\x20directed\x20graph\x20element\x20representing\x20a\x20workflow\x20STATE\x20that\x20an\x20order\x0acan\x20rest\x20in.\x20Its\x20Pairs\x20are\x20the\x20INCOMING\x20edges\x20—\x20this\x20is\x20the\x20one\x20convention\x20the\x0achain\x20enforces,\x20and\x20getting\x20it\x20backwards\x20silently\x20builds\x20a\x20wrong\x20graph:\x0a-\x20name:\x20Node\x20identifier\x20—\x20the\x20DESTINATION\x20of\x20every\x20pair\x20it\x20owns\x0a-\x20role:\x20(optional)\x20business\x20role\x20tag\x20for\x20display\x20layers\x20—\x20one\x20of\x20draft/active/delivered/final/cancelled.\x20SESSION\x20METADATA\x20ONLY\x20(not\x20stored\x20on-chain;\x20echoed\x20back\x20as\x20a\x20NODE\x20ROLES\x20warning)\x0a-\x20pairs:\x20Array\x20of\x20{prev_node,\x20forwards,\x20threshold}\x20—\x20edges\x20ENTERING\x20this\x20node.\x20The\x20key\x20is\x20`prev_node`;\x20`prior_node`\x20is\x20not\x20recognized\x20and\x20is\x20silently\x20dropped.\x0a-\x20forwards:\x20Operations\x20that\x20advance\x20INTO\x20this\x20node\x20FROM\x20its\x20prev_node\x20(NOT\x20operations\x20available\x20from\x20this\x20node)\x0a-\x20threshold:\x20Weight\x20required\x20to\x20migrate\x20into\x20this\x20node\x20along\x20that\x20pair\x0a\x0aDiagram\x20`A\x20--[Go]-->\x20B`\x20therefore\x20lives\x20in\x20node\x20**B**:\x20{name:\x22B\x22,\x20pairs:[{prev_node:\x22A\x22,\x20forwards:[{name:\x22Go\x22,\x20weight:1}]}]}.\x0a\x0a**Forward\x20names\x20must\x20determine\x20the\x20destination.**\x20`next_node`\x20is\x20a\x20CALLER\x20argument\x0aand\x20the\x20chain\x20resolves\x20(current,\x20next_node,\x20forward)\x20inside\x20the\x0adestination\x20node,\x20so\x20one\x20forward\x20name\x20shared\x20by\x20two\x20destinations\x0afrom\x20the\x20same\x20prev_node\x20is\x20legal\x20and\x20lets\x20the\x20caller\x20pick\x20the\x20outcome\x20—\x20including\x0awhether\x20a\x20refund\x20Allocator\x20ever\x20fires.\x20Give\x20each\x20destination\x20its\x20own\x20forward\x20name.\x0a\x0a**Behavior:**\x0a-\x20COMPLETELY\x20REPLACES\x20all\x20existing\x20nodes\x20(equivalent\x20to\x20\x22set\x22\x20with\x20bReplace=true)\x0a-\x20Auto-detects\x20format\x20based\x20on\x20file\x20content\x0a-\x20If\x20parsing\x20fails,\x20error\x20includes\x20line\x20number\x20and\x20column\x20information')})['strict']();export const NodeFieldSchema=z['union']([NodeSchema,NodeJsonOrMarkdownFileSchema]);export const CallMachine_DataSchema=z['object']({'object':WithPermissionObjectSchema,'progress_new':ProgressNewSchema['optional']()['describe']('Generate\x20new\x20Progress\x20object.'),'description':DescriptionSchema['optional']()['describe']('Description\x20of\x20the\x20object.'),'repository':ObjectsSchema['optional']()['describe']('Set\x20repository\x20list\x20for\x20the\x20object.\x20Used\x20for\x20consensus\x20data\x20management.'),'node':NodeFieldSchema['optional']()['describe']('CRITICAL:\x20Choose\x20ONE\x20of\x20two\x20mutually\x20exclusive\x20modes:\x0a\x0a**Mode\x201:\x20NodeSchema\x20(incremental\x20operations)**\x0aUse\x20for\x20partial\x20modifications:\x20add,\x20set,\x20remove,\x20clear,\x20exchange,\x20rename,\x20remove\x20prior\x20node,\x20add\x20forward,\x20remove\x20forward.\x0aFormat:\x20{\x20\x22op\x22:\x20\x22add\x22,\x20\x22nodes\x22:\x20[...],\x20\x22bReplace\x22:\x20false\x20}\x0aThis\x20mode\x20modifies\x20existing\x20nodes\x20incrementally.\x0a\x0a**Mode\x202:\x20NodeJsonOrMarkdownFileSchema\x20(complete\x20replacement)**\x0aUse\x20for\x20complete\x20node\x20redefinition\x20from\x20file.\x0aFormat:\x20{\x20\x22json_or_markdown_file\x22:\x20\x22/path/to/nodes.json\x22\x20}\x0aIMPORTANT:\x20This\x20COMPLETELY\x20REPLACES\x20all\x20existing\x20nodes.\x20File\x20must\x20contain\x20node\x20array\x20[{...},\x20{...}],\x20NOT\x20an\x20operation\x20object\x20with\x20\x22op\x22\x20field.\x0aSupported\x20formats:\x20JSON\x20array\x20or\x20Markdown\x20with\x20code\x20blocks.\x0aIf\x20parsing\x20fails,\x20error\x20includes\x20line\x20number\x20and\x20column\x20information.'),'pause':z['boolean']()['optional']()['describe']('Whether\x20to\x20pause\x20generating\x20new\x20Progress\x20objects.\x20Chain\x20truth\x20(the\x20progress-generation\x20entry\x20asserts\x20!bPaused):\x20the\x20pause\x20gates\x20NEW\x20order\x20entry\x20only\x20—\x20in-flight\x20Progress\x20keeps\x20advancing\x20and\x20settling\x20(yfd-ln\x20F-13\x20misread\x20this\x20as\x20a\x20freeze\x20switch;\x20it\x20never\x20was\x20one).'),'publish':z['boolean']()['optional']()['describe']('Whether\x20to\x20publish\x20the\x20object.\x20After\x20the\x20object\x20is\x20published,\x20new\x20Progress\x20objects\x20can\x20be\x20generated;\x20and\x20node\x20settings\x20will\x20no\x20longer\x20be\x20changeable.\x20⚠️\x20PUBLISH\x20IS\x20A\x20ONE-WAY\x20DOOR\x20AND\x20THE\x20CHAIN\x20VALIDATES\x20THE\x20WHOLE\x20GRAPH\x20AT\x20THAT\x20MOMENT:\x20the\x20on-chain\x20publish\x20gate\x20rejects\x20a\x20Machine\x20that\x20is\x20empty,\x20has\x20no\x20entry\x20edge\x20(no\x20pair\x20with\x20prev_node:\x22\x22),\x20has\x20an\x20entry\x20pair\x20with\x20no\x20forward,\x20references\x20a\x20prev_node\x20that\x20is\x20not\x20a\x20node\x20of\x20this\x20Machine,\x20carries\x20a\x20forward\x20with\x20neither\x20namedOperator\x20nor\x20permissionIndex\x20(a\x20guard\x20is\x20NOT\x20an\x20identity),\x20or\x20has\x20a\x20pair\x20whose\x20threshold\x20exceeds\x20the\x20sum\x20of\x20its\x20forward\x20weights\x20(each\x20forward\x20counts\x20at\x20most\x20once).\x20These\x20aborts\x20(machine:17-22)\x20fire\x20BEFORE\x20the\x20publish\x20lands,\x20so\x20the\x20graph\x20is\x20still\x20editable\x20—\x20but\x20after\x20it\x20succeeds,\x20nodes/forwards,\x20Guard\x20bindings\x20and\x20Service.machine\x20are\x20frozen\x20forever,\x20and\x20a\x20broken\x20graph\x20would\x20only\x20surface\x20at\x20the\x20first\x20transition\x20with\x20no\x20repair\x20path.\x20Send\x20the\x20nodes\x20in\x20the\x20SAME\x20call\x20as\x20publish:true\x20(bReplace:true\x20or\x20op:\x22set\x22)\x20so\x20the\x20complete\x20graph\x20is\x20validated\x20together.\x20⚠️\x20Before\x20publishing,\x20enumerate\x20the\x20graph\x20STOP\x20NODES\x20(nodes\x20with\x20no\x20outgoing\x20Pair)\x20plus\x20every\x20waiting\x20state\x20(review\x20window,\x20handover,\x20open\x20dispute)\x20and\x20verify\x20each\x20has\x20a\x20defined\x20fund\x20exit\x20in\x20the\x20Service\x20order_allocators\x20—\x20withdrawal\x20(release)\x20AND\x20refund.\x20Machine\x20+\x20Allocator\x20are\x20immutable\x20after\x20publish\x20(IMMUT-001);\x20an\x20uncovered\x20stop\x20node\x20strands\x20funds\x20permanently\x20(rule\x20R-M5-03,\x20checklist\x20pattern.fund_flow_stop_node_coverage).\x20⚠️\x20REBUILD\x20COST\x20DISCLOSURE\x20(S12-②,\x20ksk4\x20F-01):\x20every\x20business\x20constant\x20you\x20bake\x20into\x20this\x20graph\x20(campaign\x20deadline,\x20goal,\x20windows,\x20schedules)\x20becomes\x20immutable\x20WITH\x20the\x20machine.\x20Changing\x20even\x20ONE\x20constant\x20after\x20publish\x20requires:\x20new\x20guard\x20→\x20clone\x20the\x20whole\x20node\x20graph\x20into\x20a\x20NEW\x20machine\x20→\x20publish\x20→\x20a\x20NEW\x20Service\x20→\x20re-hang\x20every\x20repository/reward/arbitration/allocator/WIP\x20→\x20republish\x20(≈5\x20txs\x20/\x20~1\x20min\x20measured\x20on\x20a\x2016-node\x20graph),\x20and\x20in-flight\x20orders\x20stay\x20pointed\x20at\x20the\x20OLD\x20machine\x20forever.\x20THIS\x20OPERATION\x20WILL\x20REQUIRE\x20A\x20NEW\x20SERVICE\x20if\x20any\x20baked-in\x20parameter\x20later\x20changes\x20—\x20finalize\x20mutable\x20business\x20parameters\x20BEFORE\x20publishing\x20(Campaign-structure\x20change\x20is\x20protocol-train\x20scoped;\x20the\x20MCP\x20face\x20cannot\x20patch\x20a\x20published\x20machine).'),'owner_receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20and\x20other\x20objects\x20received\x20by\x20this\x20Machine\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.'),'reentry_kind':z['enum'](['none','review-loop','paid-cycle'])['optional']()['describe']('AP-3\x20loop-semantics\x20declaration\x20for\x20the\x20publish\x20audit\x20(ctra\x20F-06\x20root\x20cure):\x20overrides\x20the\x20'+'word-stem\x20loop\x20classifier\x20when\x20the\x20node\x20graph\x20contains\x20a\x20cycle.\x20'+'\x27none\x27\x20=\x20default\x20(word-stem\x20classification)\x20/\x20\x27review-loop\x27\x20=\x20same-order\x20no-charge\x20revisits\x20/\x20'+'\x27paid-cycle\x27\x20=\x20per-revisit\x20fee,\x20fund\x20gate\x20required.\x20'+'MCP-side\x20audit\x20declaration\x20ONLY\x20(pre_publish\x20harness\x20hook)\x20—\x20never\x20sent\x20on-chain;\x20the\x20handler\x20strips\x20it\x20'+'before\x20the\x20SDK\x20call.\x20Mirror\x20of\x20the\x20template\x20frontmatter\x20twin\x20(template-loader).')})['strict']()['superRefine']((a,b)=>{if(a['publish']!==!![])return;const c=a['node'];if(!c||'json_or_markdown_file'in c)return;if(c['op']!=='add'&&c['op']!=='set')return;const d=typeof a['object']==='object'&&a['object']!==null;if(!d&&c['bReplace']!==!![])return;if(!Array['isArray'](c['nodes'])||c['nodes']['length']===0x0||typeof c['nodes'][0x0]!=='object')return;const e=machinePublishGateViolation(c['nodes']);e&&b['addIssue']({'code':z['ZodIssueCode']['custom'],'message':e});})['describe']('On-chain\x20Machine\x20operations.\x20USAGE:\x20(1)\x20CREATE\x20NEW:\x20Set\x20\x27object\x27\x20field\x20with\x20OBJECT\x20format\x20{name,\x20permission,\x20...}\x20to\x20create\x20a\x20Machine.\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 CallMachine_InputSchema=z['object']({'data':CallMachine_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();export const MachineNode2File_InputSchema=z['object']({'machine':NameOrAddressSchema['describe']('Machine\x20object\x20ID\x20or\x20name\x20to\x20export'),'file_path':z['string']()['optional']()['describe']('Output\x20file\x20path\x20(absolute\x20or\x20relative).\x20Defaults\x20to\x20the\x20workspace\x20directory\x20when\x20omitted.'),'format':z['enum'](['json','markdown'])['optional']()['default']('json')['describe']('Output\x20format:\x20\x27json\x27\x20(default)\x20or\x20\x27markdown\x27'),'network':EntrypointSchema['optional']()['describe']('Network\x20to\x20read\x20the\x20Machine\x20from:\x20\x27localnet\x27\x20|\x20\x27mainnet\x27\x20|\x20\x27testnet\x27.\x20If\x20omitted,\x20the\x20SDK\x27s\x20current\x20default\x20network\x20is\x20used\x20(check\x20via\x20wowok_buildin_info\x20info=\x27current\x20network\x27);\x20the\x20response\x20echoes\x20the\x20resolved\x20network\x20so\x20an\x20export\x20can\x20never\x20be\x20silently\x20read\x20from\x20the\x20wrong\x20chain\x20(klook\x20B-4:\x20an\x20un-networked\x20\x27not\x20found\x20on\x20chain\x27\x20was\x20actually\x20a\x20testnet\x20read\x20of\x20a\x20localnet\x20object).'),'env':CallEnvSchema['optional']()})['strict']()['describe']('Query\x20a\x20Machine\x20object\x20from\x20the\x20blockchain\x20and\x20export\x20its\x20node\x20definition\x20to\x20a\x20JSON\x20or\x20Markdown\x20file.\x20The\x20exported\x20file\x20can\x20be\x20edited\x20and\x20used\x20to\x20create\x20new\x20Machine\x20objects.');export const MachineNode2File_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'),'machine_object':NameOrAddressSchema['describe']('Machine\x20object\x20ID'),'node_count':z['number']()['describe']('Number\x20of\x20nodes\x20exported'),'network':z['string']()['describe']('Network\x20the\x20Machine\x20was\x20READ\x20from\x20(resolved\x20—\x20the\x20SDK\x20default\x20when\x20the\x20input\x20omitted\x20\x27network\x27)')})['strict']()['describe']('Success\x20result\x20data')})['strict'](),z['object']({'status':z['literal']('error'),'error':z['string']()['describe']('Error\x20message')})['strict']()])['describe']('MachineNode2File\x20operation\x20output');export const MachineNode2File_OutputWrappedSchema=z['object']({'result':MachineNode2File_OutputSchema})['strict']()['describe']('MachineNode2File\x20operation\x20output\x20wrapped\x20schema');
@@ -37,13 +37,19 @@ export declare const OrderRenewSchema: z.ZodObject<{
37
37
  }, z.core.$strict>;
38
38
  export declare const CallOrder_DataSchema: z.ZodObject<{
39
39
  object: z.ZodString;
40
- agent: z.ZodOptional<z.ZodObject<{
40
+ agent: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
41
+ entities: {
42
+ name_or_address: string;
43
+ local_mark_first: boolean;
44
+ }[];
45
+ check_all_founded: boolean;
46
+ }, string[]>>, z.ZodObject<{
41
47
  entities: z.ZodArray<z.ZodObject<{
42
48
  name_or_address: z.ZodOptional<z.ZodString>;
43
49
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
44
50
  }, z.core.$strict>>;
45
51
  check_all_founded: z.ZodDefault<z.ZodBoolean>;
46
- }, z.core.$strict>>;
52
+ }, z.core.$strict>]>>;
47
53
  required_info: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
48
54
  required_info_bind: z.ZodOptional<z.ZodString>;
49
55
  progress: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
@@ -94,10 +100,13 @@ export declare const CallOrder_DataSchema: z.ZodObject<{
94
100
  digest: z.ZodOptional<z.ZodString>;
95
101
  }, z.core.$strict>>;
96
102
  }, z.core.$strict>]>>;
97
- transfer_to: z.ZodOptional<z.ZodObject<{
103
+ transfer_to: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
104
+ name_or_address: string;
105
+ local_mark_first: boolean;
106
+ }, string>>, z.ZodObject<{
98
107
  name_or_address: z.ZodOptional<z.ZodString>;
99
108
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
100
- }, z.core.$strict>>;
109
+ }, z.core.$strict>]>>;
101
110
  order_renew: z.ZodOptional<z.ZodObject<{
102
111
  allocation: z.ZodString;
103
112
  type_parameter: z.ZodString;
@@ -122,13 +131,19 @@ export declare const CallOrder_DataSchema: z.ZodObject<{
122
131
  export declare const CallOrder_InputSchema: z.ZodObject<{
123
132
  data: z.ZodObject<{
124
133
  object: z.ZodString;
125
- agent: z.ZodOptional<z.ZodObject<{
134
+ agent: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<{
135
+ entities: {
136
+ name_or_address: string;
137
+ local_mark_first: boolean;
138
+ }[];
139
+ check_all_founded: boolean;
140
+ }, string[]>>, z.ZodObject<{
126
141
  entities: z.ZodArray<z.ZodObject<{
127
142
  name_or_address: z.ZodOptional<z.ZodString>;
128
143
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
129
144
  }, z.core.$strict>>;
130
145
  check_all_founded: z.ZodDefault<z.ZodBoolean>;
131
- }, z.core.$strict>>;
146
+ }, z.core.$strict>]>>;
132
147
  required_info: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
133
148
  required_info_bind: z.ZodOptional<z.ZodString>;
134
149
  progress: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
@@ -179,10 +194,13 @@ export declare const CallOrder_InputSchema: z.ZodObject<{
179
194
  digest: z.ZodOptional<z.ZodString>;
180
195
  }, z.core.$strict>>;
181
196
  }, z.core.$strict>]>>;
182
- transfer_to: z.ZodOptional<z.ZodObject<{
197
+ transfer_to: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
198
+ name_or_address: string;
199
+ local_mark_first: boolean;
200
+ }, string>>, z.ZodObject<{
183
201
  name_or_address: z.ZodOptional<z.ZodString>;
184
202
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
185
- }, z.core.$strict>>;
203
+ }, z.core.$strict>]>>;
186
204
  order_renew: z.ZodOptional<z.ZodObject<{
187
205
  allocation: z.ZodString;
188
206
  type_parameter: z.ZodString;
@@ -1 +1 @@
1
- import{z}from'zod';import{CallEnvSchema,CoinParamSchema,SubmissionCallSchema}from'./base.js';import{OperateSchema,ProgressNextSchema}from'./progress.js';import{AccountOrMark_AddressSchema,DescriptionSchema,LongNameSchema,ManyAccountOrMark_AddressSchema,NameOrAddressSchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS}from'../common/index.js';import{PaymentInfoSchema}from'../query/index.js';import{TWO_TX_RENEW_RECIPE}from'../../knowledge/protocol-facts.js';export const ArbConfirmSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.'),'confirm':z['boolean']()['describe']('Whether\x20to\x20confirm\x20that\x20the\x20submitted\x20arbitration\x20materials\x20are\x20valid\x20for\x20arbitration.'),'description':DescriptionSchema['optional']()['describe']('Message\x20description\x20for\x20compensation\x20application.'),'proposition':z['array'](LongNameSchema)['optional']()['describe']('Compensation\x20claims.')})['strict']();export const ArbObjectionSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.'),'objection':DescriptionSchema['describe']('Oppose\x20and\x20appeal\x20the\x20arbitration\x20result,\x20request\x20re-arbitration')})['strict']();export const ArbClaimCompensationSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.')})['strict']();export const ArbCaseConcludeSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.')})['strict']();export const OrderRenewSchema=z['object']({'allocation':NameOrAddressSchema['describe']('Allocation\x20object\x20ID\x20or\x20name\x20receiving\x20the\x20renewal\x20funds.'),'type_parameter':z['string']()['describe']('Coin\x20type,\x20e.g.\x20\x220x2::wow::WOW\x22.'),'amount':CoinParamSchema['describe']('Renewal\x20payment.'),'info':PaymentInfoSchema['describe']('PaymentInfo\x20for\x20the\x20new\x20Payment\x20object\x20(remark/index,\x20optional\x20for_object/for_guard).'),'operation':ProgressNextSchema['describe']('Renew\x20forward\x20to\x20advance\x20after\x20the\x20funding\x20lands.'),'message':LongNameSchema['optional']()['describe']('Message\x20attached\x20to\x20the\x20forward\x20advance.')})['strict']();export const CallOrder_DataSchema=z['object']({'object':NameOrAddressSchema['describe']('Order\x20object\x20ID\x20or\x20name.'),'agent':ManyAccountOrMark_AddressSchema['optional']()['describe']('Order\x20agent.\x20Agents\x20can\x20operate\x20the\x20order,\x20such\x20as\x20canceling\x20the\x20order,\x20modifying\x20the\x20order\x20status,\x20etc.;\x20but\x20cannot\x20receive\x20the\x20funds\x20received\x20by\x20the\x20order.'),'required_info':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Credential\x20recorded\x20on\x20the\x20order:\x20the\x20merchant\x27s\x20IM\x20user\x20address\x20resolved\x20from\x20the\x20Service\x27s\x20Contact\x20(zero\x20cost)\x20or\x20a\x20WTS\x20Proof\x20object\x20id\x20(on-chain\x20delivery\x20proof\x20embedding\x20that\x20IM\x20address\x20and\x20timestamp;\x20costs\x20gas).\x20The\x20information\x20itself\x20is\x20delivered\x20via\x20Wowok\x20Messenger.\x20ACCEPTED\x20FORMS\x20(upwc-cat-261017\x20T10\x20live\x20probe):\x20a\x20Contact/Proof\x20object\x20ID\x20(0x…),\x20an\x20account\x20ADDRESS,\x20or\x20a\x20REGISTERED\x20mark\x20name\x20—\x20a\x20bare\x20account\x20display\x20name\x20is\x20not\x20an\x20object\x20reference\x20and\x20fails\x20with\x20\x27not\x20found\x27.\x20WRITE\x20PERMISSION:\x20OWNER-ONLY\x20—\x20only\x20the\x20order\x20owner\x20(the\x20buyer)\x20can\x20set\x20or\x20clear\x20this\x20field;\x20any\x20other\x20signer\x20(including\x20the\x20merchant/service\x20owner)\x20aborts\x20on-chain\x20(MoveAbort\x201,\x20\x27Not\x20the\x20owner\x27).\x20The\x20merchant\x27s\x20role\x20is\x20to\x20READ\x20it\x20and\x20to\x20receive\x20the\x20info\x20over\x20Messenger.\x20ATTESTATION\x20SEMANTICS:\x20the\x20recorded\x20VALUE\x20is\x20self-attested\x20and\x20has\x20no\x20on-chain\x20readback\x20—\x20never\x20trust\x20the\x20value\x20itself\x20as\x20a\x20gate\x20condition.\x20A\x20PRESENCE\x20gate\x20IS\x20legitimate\x20on-chain\x20(query\x20order.required_info\x20is\x20some\x20—\x20see\x20pattern.required_info_evidence_gate):\x20it\x20proves\x20the\x20buyer\x20recorded\x20a\x20credential\x20before\x20handover,\x20without\x20asserting\x20what\x20the\x20credential\x20says.'),'required_info_bind':NameOrAddressSchema['optional']()['describe']('Bind\x20a\x20WTS\x20Proof\x20object\x20as\x20this\x20order\x27s\x20required_info\x20credential\x20—\x20the\x20CONTROLLED\x20alternative\x20to\x20required_info.\x20'+'OWNER-ONLY:\x20the\x20order\x20owner\x20(the\x20buyer)\x20signs;\x20any\x20other\x20signer\x20(including\x20the\x20merchant\x20or\x20an\x20agent)\x20aborts\x20(E_NOT_THE_OWNER).\x20'+'The\x20chain\x20verifies\x20the\x20Proof\x20is\x20about\x20THIS\x20order\x20AND\x20was\x20created\x20by\x20the\x20order\x20holder\x20BEFORE\x20writing,\x20and\x20freezes\x20the\x20Proof\x20'+'object\x20on\x20success\x20—\x20a\x20Proof\x20about\x20another\x20order\x20or\x20created\x20by\x20another\x20account\x20is\x20refused\x20(E_REQUIRED_INFO_PROOF_NOT_BOUND)\x20'+'with\x20NOTHING\x20written,\x20closing\x20the\x20cross-order\x20proof-reuse\x20hole\x20that\x20plain\x20required_info\x20has.\x20The\x20sensitive\x20payload\x20itself\x20'+'(channel\x20name,\x20contact\x20address,\x20...)\x20stays\x20off-chain\x20inside\x20the\x20Proof\x20—\x20exchange/inspect\x20it\x20over\x20Wowok\x20Messenger.\x20'+'ACCEPTED\x20FORMS:\x20a\x20Proof\x20object\x20ID\x20(0x…)\x20or\x20a\x20REGISTERED\x20mark\x20name.\x20Mutually\x20exclusive\x20with\x20required_info\x20in\x20one\x20call\x20'+'(both\x20entries\x20write\x20order.required_info).'),'progress':OperateSchema['optional']()['describe']('Advance\x20order\x20process'),'arb_confirm':ArbConfirmSchema['optional']()['describe']('CUSTOMER-side\x20confirm\x20on\x20an\x20Arb\x20case\x20(the\x20order\x20owner;\x20the\x20arbitration\x20object\x27s\x20own\x20confirm\x20tool\x20is\x20the\x20arbitrator\x27s\x20and\x20rejects\x20customers).\x20'+'Moves\x20the\x20case\x20from\x20state\x200\x20to\x20state\x201.\x20REQUIRED\x20after\x20an\x20arbitrator\x20reset\x20—\x20a\x20reset\x20returns\x20the\x20case\x20to\x20state\x200\x20with\x20the\x20indemnity\x20cleared,\x20'+'and\x20only\x20the\x20customer\x20can\x20advance\x20it\x20again;\x20the\x20fee\x20stays\x20locked\x20until\x20this\x20is\x20called.\x20Not\x20the\x20filing\x20step:\x20filing\x20(dispute)\x20lands\x20the\x20case\x20directly\x20in\x20state\x201.'),'arb_objection':ArbObjectionSchema['optional']()['describe']('Oppose\x20and\x20appeal\x20the\x20arbitration\x20result,\x20request\x20re-arbitration.'),'arb_claim_compensation':ArbClaimCompensationSchema['optional']()['describe']('Specify\x20the\x20adjudicated\x20Arb\x20object\x20to\x20obtain\x20order\x20compensation.\x20ZERO-INDEMNITY\x20GATE\x20(BF-14,\x20chain\x20abort\x2011):\x20'+'when\x20the\x20ruling\x27s\x20indemnity\x20is\x200\x20(a\x20dismissal)\x20the\x20claim\x20is\x20REFUSED\x20on-chain\x20—\x20the\x20case\x20stays\x20open,\x20the\x20dispute\x20'+'fee\x20stays\x20escrowed\x20(withdrawable\x20by\x20the\x20arbitrator\x20only\x20after\x20the\x2030-day\x20window\x20closes\x20with\x20no\x20objection,\x20or\x20'+'blocked\x20while\x20an\x20objection\x20is\x20pending),\x20and\x20`order.claimed_by`\x20is\x20NOT\x20written.\x20A\x20claim\x20that\x20DOES\x20pay\x20(indemnity\x20>\x200)\x20'+'closes\x20the\x20case\x20(state\x205),\x20pays\x20the\x20claimant,\x20writes\x20`order.claimed_by`,\x20and\x20releases\x20the\x20fee\x20path.\x20'+'DIRECTION\x20CAUTION:\x20because\x20only\x20paying\x20claims\x20write\x20`claimed_by`,\x20a\x20dismissal\x20leaves\x20it\x20`none`\x20—\x20refund-style\x20rails\x20'+'gated\x20on\x20`claimed_by\x20==\x20none`\x20stay\x20LIVE\x20after\x20a\x20dismissal,\x20while\x20merchant-recovery\x20rails\x20gated\x20on\x20`claimed_by\x20!=\x20none`\x20'+'can\x20never\x20fire\x20(F-BS-54).\x20Read\x20ruling\x20DIRECTION\x20from\x20`arb.indemnity.amount`\x20(query\x201641),\x20never\x20from\x20`claimed_by`.\x20'+'F05\x20REVERSE\x20GATE\x20(yfd-ln-261024):\x20when\x20this\x20order\x27s\x20escrow\x20is\x20ALREADY\x20fully\x20released\x20(allocation\x20balance\x200\x20of\x20a\x20'+'positive\x20order\x20amount),\x20the\x20claim\x20is\x20REFUSED\x20unless\x20acknowledge_dual_payout\x20is\x20true\x20—\x20pairing\x20a\x20paid\x20compensation\x20'+'with\x20a\x20completed\x20escrow\x20track\x20is\x20a\x20netting\x20decision\x20the\x20operator\x20must\x20state\x20(see\x20acknowledge_dual_payout).'),'acknowledge_dual_payout':z['boolean']()['optional']()['describe']('Explicit\x20opt-in\x20for\x20a\x20KNOWN\x20double\x20payout\x20on\x20the\x20compensation-claim\x20direction\x20(keeper\x20posture\x20拍板⑧\x20dm-mtw-261027):\x20when\x20this\x20order\x27s\x20escrow\x20is\x20'+'already\x20FULLY\x20released\x20(allocation\x20balance\x200\x20of\x20a\x20positive\x20order\x20amount)\x20and\x20this\x20call\x20claims\x20the\x20arbitration\x20'+'compensation\x20on\x20top,\x20the\x20call\x20is\x20REFUSED\x20unless\x20this\x20flag\x20is\x20true.\x20The\x20escrow\x20track\x20and\x20the\x20compensation\x20track\x20'+'are\x20independent\x20by\x20design\x20—\x20the\x20chain\x20will\x20not\x20stop\x20the\x20second\x20payout,\x20so\x20the\x20operator\x20must\x20state\x20the\x20netting\x20'+'decision\x20deliberately.\x20Leave\x20unset\x20for\x20claims\x20on\x20orders\x20whose\x20escrow\x20is\x20intact\x20or\x20partially\x20released.\x20AUTOMATION\x20'+'RULE:\x20this\x20flag\x20is\x20the\x20HUMAN\x20operator\x27s\x20netting\x20decision\x20—\x20an\x20automated\x20keeper\x20that\x20receives\x20dual_payout_unconfirmed\x20'+'must\x20STOP\x20retrying\x20and\x20escalate\x20(never\x20set\x20the\x20flag\x20itself).\x20D-1\x20(ksr\x205R-08):\x20the\x20flag\x20is\x20additionally\x20honored\x20ONLY\x20when\x20the\x20'+'executing\x20store\x20carries\x20a\x20human-recorded\x20preauthorization\x20(config_operation\x20store_dual_payout_set\x20{account,\x20'+'confirm:true},\x20then\x20store_dual_payout_get\x20shows\x20preauthorized=true);\x20without\x20it\x20the\x20gate\x20answers\x20'+'dual_payout_preauthorization_required\x20—\x20record\x20the\x20standing\x20decision\x20first,\x20then\x20re-send.'),'arb_case_conclude':ArbCaseConcludeSchema['optional']()['describe']('DISMISSAL\x20CONVERGER\x20(F-BS-54/56,\x20F-OF2-01):\x20stamp\x20a\x20CONCLUDED,\x20DEFENDANT-FAVORED\x20ruling\x20onto\x20'+'this\x20order\x20through\x20the\x20service\x27s\x20case-conclusion\x20entry\x20so\x20the\x20`claimed_by\x20==\x20none`\x20refund\x20rails\x20close\x20AT\x20RULING\x20'+'TIME\x20instead\x20of\x20staying\x20live\x20forever.\x20PERMISSIONLESS:\x20any\x20keeper\x20(merchant\x20agent,\x20watchdog,\x20'+'even\x20the\x20buyer)\x20may\x20drive\x20it;\x20it\x20writes\x20the\x20claimed_by=case\x20flag\x20and\x20MOVES\x20NO\x20FUNDS.\x20The\x20chain\x20'+'refuses\x20anything\x20but\x20a\x20concluded\x20(Arbitrated/Withdrawn)\x20case\x20leaving\x20NO\x20indemnity\x20'+'(E_CASE_NOT_DISMISSAL_CONCLUSION,\x20abort\x2048).\x20TYPICAL\x20KEEPER\x20LOOP\x20after\x20a\x200-indemnity\x20ruling:\x20'+'arb_claim_compensation\x20aborts\x2011\x20(BF-14\x20zero-indemnity\x20gate)\x20→\x20call\x20THIS\x20to\x20close\x20the\x20refund\x20'+'rails\x20→\x20the\x20escrow\x20can\x20then\x20only\x20exit\x20through\x20the\x20merchant-recovery\x20rails.'),'receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20or\x20other\x20objects\x20received\x20by\x20the\x20order\x20and\x20transfer\x20them\x20to\x20the\x20order\x20owner.\x20'+'Consistent\x20with\x20`owner_receive`\x20on\x20other\x20objects\x20(arbitration/contact/demand/machine/permission/repository/reward/service/treasury).'+RECEIVE_FORMAT_BLOCK_OBJECTS),'transfer_to':AccountOrMark_AddressSchema['optional']()['describe']('Set\x20new\x20owner\x20of\x20the\x20order.\x20Requires\x20order\x20owner\x20permission\x20to\x20set.'),'order_renew':OrderRenewSchema['optional']()['describe']('Renewal\x20in\x20ONE\x20transaction:\x20pays\x20into\x20the\x20order\x27s\x20allocation\x20and\x20advances\x20the\x20renew\x20forward\x20'+'(fund\x20+\x20record\x20+\x20advance\x20in\x20a\x20single\x20step).\x20Replaces\x20the\x20legacy\x203-transaction\x20renewal\x20split.\x20'+'The\x20new\x20Payment\x27s\x20sole\x20recipient\x20is\x20the\x20allocation\x20object\x20itself\x20(enforced\x20on-chain).\x20'+'PRE-STATE\x20CONSTRAINT\x20(esound-mn-261021\x20B-1):\x20guards\x20on\x20the\x20advanced\x20forward\x20read\x20the\x20COMMITTED\x20'+'pre-transaction\x20balance\x20—\x20this\x20same-PTB\x20payment\x20is\x20INVISIBLE\x20to\x20them;\x20NEVER\x20bind\x20an\x20allocation.balance\x20'+'gate\x20to\x20the\x20forward\x20this\x20call\x20advances\x20(it\x20always\x20aborts;\x20identity/signer\x20guards\x20are\x20fine).\x20'+'If\x20the\x20forward\x20DOES\x20carry\x20a\x20balance\x20gate,\x20do\x20NOT\x20call\x20this\x20tool\x20—\x20execute\x20the\x20'+TWO_TX_RENEW_RECIPE)})['strict']()['describe']('On-chain,\x20operate\x20on\x20an\x20Order\x20object.');export const CallOrder_InputSchema=z['object']({'data':CallOrder_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();
1
+ import{z}from'zod';import{CallEnvSchema,CoinParamSchema,SubmissionCallSchema}from'./base.js';import{OperateSchema,ProgressNextSchema}from'./progress.js';import{AccountOrMark_AddressAISchema,DescriptionSchema,LongNameSchema,ManyAccountOrMark_AddressAISchema,NameOrAddressSchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS}from'../common/index.js';import{PaymentInfoSchema}from'../query/index.js';import{TWO_TX_RENEW_RECIPE}from'../../knowledge/protocol-facts.js';export const ArbConfirmSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.'),'confirm':z['boolean']()['describe']('Whether\x20to\x20confirm\x20that\x20the\x20submitted\x20arbitration\x20materials\x20are\x20valid\x20for\x20arbitration.'),'description':DescriptionSchema['optional']()['describe']('Message\x20description\x20for\x20compensation\x20application.'),'proposition':z['array'](LongNameSchema)['optional']()['describe']('Compensation\x20claims.')})['strict']();export const ArbObjectionSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.'),'objection':DescriptionSchema['describe']('Oppose\x20and\x20appeal\x20the\x20arbitration\x20result,\x20request\x20re-arbitration')})['strict']();export const ArbClaimCompensationSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.')})['strict']();export const ArbCaseConcludeSchema=z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20ID\x20or\x20name.')})['strict']();export const OrderRenewSchema=z['object']({'allocation':NameOrAddressSchema['describe']('Allocation\x20object\x20ID\x20or\x20name\x20receiving\x20the\x20renewal\x20funds.'),'type_parameter':z['string']()['describe']('Coin\x20type,\x20e.g.\x20\x220x2::wow::WOW\x22.'),'amount':CoinParamSchema['describe']('Renewal\x20payment.'),'info':PaymentInfoSchema['describe']('PaymentInfo\x20for\x20the\x20new\x20Payment\x20object\x20(remark/index,\x20optional\x20for_object/for_guard).'),'operation':ProgressNextSchema['describe']('Renew\x20forward\x20to\x20advance\x20after\x20the\x20funding\x20lands.'),'message':LongNameSchema['optional']()['describe']('Message\x20attached\x20to\x20the\x20forward\x20advance.')})['strict']();export const CallOrder_DataSchema=z['object']({'object':NameOrAddressSchema['describe']('Order\x20object\x20ID\x20or\x20name.'),'agent':ManyAccountOrMark_AddressAISchema['optional']()['describe']('Order\x20agent.\x20Agents\x20can\x20operate\x20the\x20order,\x20such\x20as\x20canceling\x20the\x20order,\x20modifying\x20the\x20order\x20status,\x20etc.;\x20but\x20cannot\x20receive\x20the\x20funds\x20received\x20by\x20the\x20order.'),'required_info':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Credential\x20recorded\x20on\x20the\x20order:\x20the\x20merchant\x27s\x20IM\x20user\x20address\x20resolved\x20from\x20the\x20Service\x27s\x20Contact\x20(zero\x20cost)\x20or\x20a\x20WTS\x20Proof\x20object\x20id\x20(on-chain\x20delivery\x20proof\x20embedding\x20that\x20IM\x20address\x20and\x20timestamp;\x20costs\x20gas).\x20The\x20information\x20itself\x20is\x20delivered\x20via\x20Wowok\x20Messenger.\x20ACCEPTED\x20FORMS\x20(upwc-cat-261017\x20T10\x20live\x20probe):\x20a\x20Contact/Proof\x20object\x20ID\x20(0x…),\x20an\x20account\x20ADDRESS,\x20or\x20a\x20REGISTERED\x20mark\x20name\x20—\x20a\x20bare\x20account\x20display\x20name\x20is\x20not\x20an\x20object\x20reference\x20and\x20fails\x20with\x20\x27not\x20found\x27.\x20WRITE\x20PERMISSION:\x20OWNER-ONLY\x20—\x20only\x20the\x20order\x20owner\x20(the\x20buyer)\x20can\x20set\x20or\x20clear\x20this\x20field;\x20any\x20other\x20signer\x20(including\x20the\x20merchant/service\x20owner)\x20aborts\x20on-chain\x20(MoveAbort\x201,\x20\x27Not\x20the\x20owner\x27).\x20The\x20merchant\x27s\x20role\x20is\x20to\x20READ\x20it\x20and\x20to\x20receive\x20the\x20info\x20over\x20Messenger.\x20ATTESTATION\x20SEMANTICS:\x20the\x20recorded\x20VALUE\x20is\x20self-attested\x20and\x20has\x20no\x20on-chain\x20readback\x20—\x20never\x20trust\x20the\x20value\x20itself\x20as\x20a\x20gate\x20condition.\x20A\x20PRESENCE\x20gate\x20IS\x20legitimate\x20on-chain\x20(query\x20order.required_info\x20is\x20some\x20—\x20see\x20pattern.required_info_evidence_gate):\x20it\x20proves\x20the\x20buyer\x20recorded\x20a\x20credential\x20before\x20handover,\x20without\x20asserting\x20what\x20the\x20credential\x20says.'),'required_info_bind':NameOrAddressSchema['optional']()['describe']('Bind\x20a\x20WTS\x20Proof\x20object\x20as\x20this\x20order\x27s\x20required_info\x20credential\x20—\x20the\x20CONTROLLED\x20alternative\x20to\x20required_info.\x20'+'OWNER-ONLY:\x20the\x20order\x20owner\x20(the\x20buyer)\x20signs;\x20any\x20other\x20signer\x20(including\x20the\x20merchant\x20or\x20an\x20agent)\x20aborts\x20(E_NOT_THE_OWNER).\x20'+'The\x20chain\x20verifies\x20the\x20Proof\x20is\x20about\x20THIS\x20order\x20AND\x20was\x20created\x20by\x20the\x20order\x20holder\x20BEFORE\x20writing,\x20and\x20freezes\x20the\x20Proof\x20'+'object\x20on\x20success\x20—\x20a\x20Proof\x20about\x20another\x20order\x20or\x20created\x20by\x20another\x20account\x20is\x20refused\x20(E_REQUIRED_INFO_PROOF_NOT_BOUND)\x20'+'with\x20NOTHING\x20written,\x20closing\x20the\x20cross-order\x20proof-reuse\x20hole\x20that\x20plain\x20required_info\x20has.\x20The\x20sensitive\x20payload\x20itself\x20'+'(channel\x20name,\x20contact\x20address,\x20...)\x20stays\x20off-chain\x20inside\x20the\x20Proof\x20—\x20exchange/inspect\x20it\x20over\x20Wowok\x20Messenger.\x20'+'ACCEPTED\x20FORMS:\x20a\x20Proof\x20object\x20ID\x20(0x…)\x20or\x20a\x20REGISTERED\x20mark\x20name.\x20Mutually\x20exclusive\x20with\x20required_info\x20in\x20one\x20call\x20'+'(both\x20entries\x20write\x20order.required_info).'),'progress':OperateSchema['optional']()['describe']('Advance\x20order\x20process'),'arb_confirm':ArbConfirmSchema['optional']()['describe']('CUSTOMER-side\x20confirm\x20on\x20an\x20Arb\x20case\x20(the\x20order\x20owner;\x20the\x20arbitration\x20object\x27s\x20own\x20confirm\x20tool\x20is\x20the\x20arbitrator\x27s\x20and\x20rejects\x20customers).\x20'+'Moves\x20the\x20case\x20from\x20state\x200\x20to\x20state\x201.\x20REQUIRED\x20after\x20an\x20arbitrator\x20reset\x20—\x20a\x20reset\x20returns\x20the\x20case\x20to\x20state\x200\x20with\x20the\x20indemnity\x20cleared,\x20'+'and\x20only\x20the\x20customer\x20can\x20advance\x20it\x20again;\x20the\x20fee\x20stays\x20locked\x20until\x20this\x20is\x20called.\x20Not\x20the\x20filing\x20step:\x20filing\x20(dispute)\x20lands\x20the\x20case\x20directly\x20in\x20state\x201.'),'arb_objection':ArbObjectionSchema['optional']()['describe']('Oppose\x20and\x20appeal\x20the\x20arbitration\x20result,\x20request\x20re-arbitration.'),'arb_claim_compensation':ArbClaimCompensationSchema['optional']()['describe']('Specify\x20the\x20adjudicated\x20Arb\x20object\x20to\x20obtain\x20order\x20compensation.\x20ZERO-INDEMNITY\x20GATE\x20(BF-14,\x20chain\x20abort\x2011):\x20'+'when\x20the\x20ruling\x27s\x20indemnity\x20is\x200\x20(a\x20dismissal)\x20the\x20claim\x20is\x20REFUSED\x20on-chain\x20—\x20the\x20case\x20stays\x20open,\x20the\x20dispute\x20'+'fee\x20stays\x20escrowed\x20(withdrawable\x20by\x20the\x20arbitrator\x20only\x20after\x20the\x2030-day\x20window\x20closes\x20with\x20no\x20objection,\x20or\x20'+'blocked\x20while\x20an\x20objection\x20is\x20pending),\x20and\x20`order.claimed_by`\x20is\x20NOT\x20written.\x20A\x20claim\x20that\x20DOES\x20pay\x20(indemnity\x20>\x200)\x20'+'closes\x20the\x20case\x20(state\x205),\x20pays\x20the\x20claimant,\x20writes\x20`order.claimed_by`,\x20and\x20releases\x20the\x20fee\x20path.\x20'+'DIRECTION\x20CAUTION:\x20because\x20only\x20paying\x20claims\x20write\x20`claimed_by`,\x20a\x20dismissal\x20leaves\x20it\x20`none`\x20—\x20refund-style\x20rails\x20'+'gated\x20on\x20`claimed_by\x20==\x20none`\x20stay\x20LIVE\x20after\x20a\x20dismissal,\x20while\x20merchant-recovery\x20rails\x20gated\x20on\x20`claimed_by\x20!=\x20none`\x20'+'can\x20never\x20fire\x20(F-BS-54).\x20Read\x20ruling\x20DIRECTION\x20from\x20`arb.indemnity.amount`\x20(query\x201641),\x20never\x20from\x20`claimed_by`.\x20'+'F05\x20REVERSE\x20GATE\x20(yfd-ln-261024):\x20when\x20this\x20order\x27s\x20escrow\x20is\x20ALREADY\x20fully\x20released\x20(allocation\x20balance\x200\x20of\x20a\x20'+'positive\x20order\x20amount),\x20the\x20claim\x20is\x20REFUSED\x20unless\x20acknowledge_dual_payout\x20is\x20true\x20—\x20pairing\x20a\x20paid\x20compensation\x20'+'with\x20a\x20completed\x20escrow\x20track\x20is\x20a\x20netting\x20decision\x20the\x20operator\x20must\x20state\x20(see\x20acknowledge_dual_payout).'),'acknowledge_dual_payout':z['boolean']()['optional']()['describe']('Explicit\x20opt-in\x20for\x20a\x20KNOWN\x20double\x20payout\x20on\x20the\x20compensation-claim\x20direction\x20(keeper\x20posture\x20拍板⑧\x20dm-mtw-261027):\x20when\x20this\x20order\x27s\x20escrow\x20is\x20'+'already\x20FULLY\x20released\x20(allocation\x20balance\x200\x20of\x20a\x20positive\x20order\x20amount)\x20and\x20this\x20call\x20claims\x20the\x20arbitration\x20'+'compensation\x20on\x20top,\x20the\x20call\x20is\x20REFUSED\x20unless\x20this\x20flag\x20is\x20true.\x20The\x20escrow\x20track\x20and\x20the\x20compensation\x20track\x20'+'are\x20independent\x20by\x20design\x20—\x20the\x20chain\x20will\x20not\x20stop\x20the\x20second\x20payout,\x20so\x20the\x20operator\x20must\x20state\x20the\x20netting\x20'+'decision\x20deliberately.\x20Leave\x20unset\x20for\x20claims\x20on\x20orders\x20whose\x20escrow\x20is\x20intact\x20or\x20partially\x20released.\x20AUTOMATION\x20'+'RULE:\x20this\x20flag\x20is\x20the\x20HUMAN\x20operator\x27s\x20netting\x20decision\x20—\x20an\x20automated\x20keeper\x20that\x20receives\x20dual_payout_unconfirmed\x20'+'must\x20STOP\x20retrying\x20and\x20escalate\x20(never\x20set\x20the\x20flag\x20itself).\x20D-1\x20(ksr\x205R-08):\x20the\x20flag\x20is\x20additionally\x20honored\x20ONLY\x20when\x20the\x20'+'executing\x20store\x20carries\x20a\x20human-recorded\x20preauthorization\x20(config_operation\x20store_dual_payout_set\x20{account,\x20'+'confirm:true},\x20then\x20store_dual_payout_get\x20shows\x20preauthorized=true);\x20without\x20it\x20the\x20gate\x20answers\x20'+'dual_payout_preauthorization_required\x20—\x20record\x20the\x20standing\x20decision\x20first,\x20then\x20re-send.'),'arb_case_conclude':ArbCaseConcludeSchema['optional']()['describe']('DISMISSAL\x20CONVERGER\x20(F-BS-54/56,\x20F-OF2-01):\x20stamp\x20a\x20CONCLUDED,\x20DEFENDANT-FAVORED\x20ruling\x20onto\x20'+'this\x20order\x20through\x20the\x20service\x27s\x20case-conclusion\x20entry\x20so\x20the\x20`claimed_by\x20==\x20none`\x20refund\x20rails\x20close\x20AT\x20RULING\x20'+'TIME\x20instead\x20of\x20staying\x20live\x20forever.\x20PERMISSIONLESS:\x20any\x20keeper\x20(merchant\x20agent,\x20watchdog,\x20'+'even\x20the\x20buyer)\x20may\x20drive\x20it;\x20it\x20writes\x20the\x20claimed_by=case\x20flag\x20and\x20MOVES\x20NO\x20FUNDS.\x20The\x20chain\x20'+'refuses\x20anything\x20but\x20a\x20concluded\x20(Arbitrated/Withdrawn)\x20case\x20leaving\x20NO\x20indemnity\x20'+'(E_CASE_NOT_DISMISSAL_CONCLUSION,\x20abort\x2048).\x20TYPICAL\x20KEEPER\x20LOOP\x20after\x20a\x200-indemnity\x20ruling:\x20'+'arb_claim_compensation\x20aborts\x2011\x20(BF-14\x20zero-indemnity\x20gate)\x20→\x20call\x20THIS\x20to\x20close\x20the\x20refund\x20'+'rails\x20→\x20the\x20escrow\x20can\x20then\x20only\x20exit\x20through\x20the\x20merchant-recovery\x20rails.'),'receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20or\x20other\x20objects\x20received\x20by\x20the\x20order\x20and\x20transfer\x20them\x20to\x20the\x20order\x20owner.\x20'+'Consistent\x20with\x20`owner_receive`\x20on\x20other\x20objects\x20(arbitration/contact/demand/machine/permission/repository/reward/service/treasury).'+RECEIVE_FORMAT_BLOCK_OBJECTS),'transfer_to':AccountOrMark_AddressAISchema['optional']()['describe']('Set\x20new\x20owner\x20of\x20the\x20order.\x20Requires\x20order\x20owner\x20permission\x20to\x20set.'),'order_renew':OrderRenewSchema['optional']()['describe']('Renewal\x20in\x20ONE\x20transaction:\x20pays\x20into\x20the\x20order\x27s\x20allocation\x20and\x20advances\x20the\x20renew\x20forward\x20'+'(fund\x20+\x20record\x20+\x20advance\x20in\x20a\x20single\x20step).\x20Replaces\x20the\x20legacy\x203-transaction\x20renewal\x20split.\x20'+'The\x20new\x20Payment\x27s\x20sole\x20recipient\x20is\x20the\x20allocation\x20object\x20itself\x20(enforced\x20on-chain).\x20'+'PRE-STATE\x20CONSTRAINT\x20(esound-mn-261021\x20B-1):\x20guards\x20on\x20the\x20advanced\x20forward\x20read\x20the\x20COMMITTED\x20'+'pre-transaction\x20balance\x20—\x20this\x20same-PTB\x20payment\x20is\x20INVISIBLE\x20to\x20them;\x20NEVER\x20bind\x20an\x20allocation.balance\x20'+'gate\x20to\x20the\x20forward\x20this\x20call\x20advances\x20(it\x20always\x20aborts;\x20identity/signer\x20guards\x20are\x20fine).\x20'+'If\x20the\x20forward\x20DOES\x20carry\x20a\x20balance\x20gate,\x20do\x20NOT\x20call\x20this\x20tool\x20—\x20execute\x20the\x20'+TWO_TX_RENEW_RECIPE)})['strict']()['describe']('On-chain,\x20operate\x20on\x20an\x20Order\x20object.');export const CallOrder_InputSchema=z['object']({'data':CallOrder_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();
@@ -1,9 +1,12 @@
1
1
  import { z } from "zod";
2
2
  export declare const RevenueSchema: z.ZodObject<{
3
- recipient: z.ZodObject<{
3
+ recipient: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
4
+ name_or_address: string;
5
+ local_mark_first: boolean;
6
+ }, string>>, z.ZodObject<{
4
7
  name_or_address: z.ZodOptional<z.ZodString>;
5
8
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
6
- }, z.core.$strict>;
9
+ }, z.core.$strict>]>;
7
10
  amount: z.ZodUnion<readonly [z.ZodObject<{
8
11
  balance: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
9
12
  }, z.core.$strip>, z.ZodObject<{
@@ -19,10 +22,13 @@ export declare const CallPayment_CreateSchema: z.ZodObject<{
19
22
  type_parameter: z.ZodDefault<z.ZodString>;
20
23
  }, z.core.$strict>;
21
24
  revenue: z.ZodArray<z.ZodObject<{
22
- recipient: z.ZodObject<{
25
+ recipient: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
26
+ name_or_address: string;
27
+ local_mark_first: boolean;
28
+ }, string>>, z.ZodObject<{
23
29
  name_or_address: z.ZodOptional<z.ZodString>;
24
30
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
25
- }, z.core.$strict>;
31
+ }, z.core.$strict>]>;
26
32
  amount: z.ZodUnion<readonly [z.ZodObject<{
27
33
  balance: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
28
34
  }, z.core.$strip>, z.ZodObject<{
@@ -50,10 +56,13 @@ export declare const CallPayment_DataSchema: z.ZodUnion<readonly [z.ZodObject<{
50
56
  type_parameter: z.ZodDefault<z.ZodString>;
51
57
  }, z.core.$strict>;
52
58
  revenue: z.ZodArray<z.ZodObject<{
53
- recipient: z.ZodObject<{
59
+ recipient: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
60
+ name_or_address: string;
61
+ local_mark_first: boolean;
62
+ }, string>>, z.ZodObject<{
54
63
  name_or_address: z.ZodOptional<z.ZodString>;
55
64
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
56
- }, z.core.$strict>;
65
+ }, z.core.$strict>]>;
57
66
  amount: z.ZodUnion<readonly [z.ZodObject<{
58
67
  balance: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
59
68
  }, z.core.$strip>, z.ZodObject<{
@@ -81,10 +90,13 @@ export declare const CallPayment_InputSchema: z.ZodObject<{
81
90
  type_parameter: z.ZodDefault<z.ZodString>;
82
91
  }, z.core.$strict>;
83
92
  revenue: z.ZodArray<z.ZodObject<{
84
- recipient: z.ZodObject<{
93
+ recipient: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
94
+ name_or_address: string;
95
+ local_mark_first: boolean;
96
+ }, string>>, z.ZodObject<{
85
97
  name_or_address: z.ZodOptional<z.ZodString>;
86
98
  local_mark_first: z.ZodOptional<z.ZodBoolean>;
87
- }, z.core.$strict>;
99
+ }, z.core.$strict>]>;
88
100
  amount: z.ZodUnion<readonly [z.ZodObject<{
89
101
  balance: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
90
102
  }, z.core.$strip>, z.ZodObject<{
@@ -1 +1 @@
1
- import{z}from'zod';import{PaymentInfoSchema}from'../query/index.js';import{CoinParamSchema,CallEnvSchema,TypeNamedObjectSchema}from'./base.js';import{AccountOrMark_AddressSchema,NameOrAddressSchema}from'../common/index.js';export const RevenueSchema=z['object']({'recipient':AccountOrMark_AddressSchema,'amount':CoinParamSchema})['strict']()['describe']('Payment\x20recipient\x20and\x20amount');export const CallPayment_CreateSchema=z['object']({'object':TypeNamedObjectSchema,'revenue':z['array'](RevenueSchema)['describe']('Array\x20of\x20payment\x20recipients\x20and\x20amounts'),'info':PaymentInfoSchema})['strict']()['describe']('Create\x20a\x20new\x20Payment.\x20USAGE:\x20Set\x20\x27object\x27\x20field\x20with\x20{name,\x20type,\x20...}\x20to\x20create\x20a\x20named\x20Payment.\x20NOTE:\x20\x27name\x27\x20goes\x20INSIDE\x20\x27object\x27,\x20NOT\x20at\x20the\x20data\x20root\x20level.\x20Payment\x20is\x20an\x20immutable\x20object\x20-\x20it\x20can\x20only\x20be\x20created,\x20not\x20modified.\x20The\x20\x27object\x27\x20field\x20is\x20CRITICAL\x20and\x20REQUIRED.');export const CallPayment_ReceiveSchema=z['object']({'object':NameOrAddressSchema['optional']()['describe']('CoinWrapper\x20object\x20ID\x20(0x...)\x20or\x20local\x20name\x20to\x20unwrap.\x20'+'OPTIONAL:\x20when\x20omitted,\x20AUTO-RECEIVE\x20mode\x20unwraps\x20EVERY\x20CoinWrapper\x20'+'currently\x20owned\x20by\x20the\x20caller\x20in\x20a\x20single\x20transaction\x20—\x20no\x20need\x20to\x20look\x20up\x20IDs\x20first.\x20'+'Find\x20received\x20CoinWrappers\x20via\x20query_toolkit\x20with\x20query_type=\x27onchain_received\x27.'),'receive':z['literal'](!![])['describe']('Set\x20to\x20true\x20to\x20activate\x20receive\x20mode.\x20'+'CoinWrapper\x20objects\x20ARE\x20transferred\x20to\x20recipients\x20via\x20transfer::public_transfer\x20(they\x20arrive\x20as\x20owned\x20objects),\x20'+'but\x20they\x20are\x20NOT\x20spendable\x20coins.\x20This\x20mode\x20unwraps\x20a\x20CoinWrapper\x20into\x20actual\x20coins\x20in\x20your\x20wallet.\x20'+'The\x20caller\x20must\x20be\x20the\x20CoinWrapper\x27s\x20owner\x20(the\x20recipient\x20'+'specified\x20in\x20the\x20Allocation\x27s\x20revenue\x20split).\x20'+'When\x20\x27object\x27\x20is\x20omitted,\x20every\x20CoinWrapper\x20owned\x20by\x20the\x20caller\x20is\x20unwrapped\x20at\x20once.'),'type_parameter':z['string']()['optional']()['describe']('Coin\x20type\x20of\x20the\x20CoinWrapper,\x20e.g.\x20\x270x2::wow::WOW\x27.\x20'+'OPTIONAL:\x20when\x20omitted\x20it\x20is\x20auto-derived\x20from\x20the\x20CoinWrapper\x27s\x20own\x20on-chain\x20type\x20'+'(the\x20inner\x20T\x20of\x20`CoinWrapper<T>`),\x20so\x20{object,\x20receive:true}\x20alone\x20unwraps\x20to\x20spendable\x20coins.\x20'+'Only\x20provide\x20it\x20explicitly\x20when\x20auto-derivation\x20fails.\x20In\x20AUTO-RECEIVE\x20mode\x20(no\x20object)\x20'+'the\x20type\x20is\x20always\x20derived\x20per-wrapper.')})['strict']()['describe']('Receive\x20mode:\x20unwrap\x20a\x20CoinWrapper\x20to\x20the\x20caller\x27s\x20wallet.\x20Use\x20after\x20Allocation\x27s\x20alloc_by_guard\x20creates\x20a\x20Payment\x20with\x20your\x20address\x20as\x20a\x20revenue\x20recipient.\x20The\x20CoinWrapper\x20holds\x20your\x20share\x20—\x20call\x20this\x20to\x20convert\x20it\x20to\x20actual\x20coins\x20in\x20your\x20wallet.\x20Provide\x20\x27object\x27\x20to\x20unwrap\x20a\x20specific\x20CoinWrapper,\x20or\x20OMIT\x20it\x20to\x20auto-unwrap\x20every\x20CoinWrapper\x20owned\x20by\x20the\x20caller.\x20CHAIN\x20TRUTH:\x20allocation\x20settlement\x20ALWAYS\x20creates\x20one\x20CoinWrapper\x20per\x20recipient\x20row\x20on-chain\x20—\x20there\x20is\x20NO\x20chain-level\x20auto-claim,\x20even\x20when\x20the\x20signer\x20IS\x20the\x20recipient\x20(ptrn-ln-261010\x20C-04).\x20After\x20an\x20alloc\x20where\x20you\x20are\x20a\x20recipient,\x20expect\x20a\x20CoinWrapper\x20under\x20your\x20address\x20and\x20claim\x20it\x20here;\x20a\x20\x27no\x20CoinWrapper\x20found\x27\x20result\x20means\x20the\x20funds\x20were\x20already\x20claimed\x20(verify\x20via\x20account_balance)\x20or\x20your\x20share\x20is\x20held\x20by\x20another\x20object\x20(Order/Entity)\x20and\x20must\x20be\x20claimed\x20through\x20that\x20object\x27s\x20own\x20receive\x20entry.');export const CallPayment_DataSchema=z['union']([CallPayment_CreateSchema,CallPayment_ReceiveSchema])['describe']('On-chain\x20Payment\x20operations.\x20TWO\x20modes:\x0a'+'(1)\x20CREATE:\x20Set\x20\x27object\x27\x20with\x20{name,\x20type_parameter,\x20...},\x20\x27revenue\x27,\x20and\x20\x27info\x27\x20to\x20create\x20a\x20new\x20Payment.\x0a'+'(2)\x20RECEIVE:\x20Set\x20{receive:\x20true}\x20to\x20unwrap\x20CoinWrappers\x20to\x20your\x20wallet.\x20Provide\x20\x27object\x27\x20(<coinwrapper_id_or_name>)\x20to\x20unwrap\x20a\x20specific\x20one,\x20or\x20OMIT\x20it\x20to\x20auto-unwrap\x20every\x20CoinWrapper\x20owned\x20by\x20the\x20caller.\x20type_parameter\x20optional\x20—\x20auto-derived\x20from\x20the\x20CoinWrapper\x27s\x20type.');export const CallPayment_InputSchema=z['object']({'data':CallPayment_DataSchema,'env':CallEnvSchema['optional']()})['strict']();
1
+ import{z}from'zod';import{PaymentInfoSchema}from'../query/index.js';import{CoinParamSchema,CallEnvSchema,TypeNamedObjectSchema}from'./base.js';import{AccountOrMark_AddressAISchema,NameOrAddressSchema}from'../common/index.js';export const RevenueSchema=z['object']({'recipient':AccountOrMark_AddressAISchema,'amount':CoinParamSchema})['strict']()['describe']('Payment\x20recipient\x20and\x20amount');export const CallPayment_CreateSchema=z['object']({'object':TypeNamedObjectSchema,'revenue':z['array'](RevenueSchema)['describe']('Array\x20of\x20payment\x20recipients\x20and\x20amounts'),'info':PaymentInfoSchema})['strict']()['describe']('Create\x20a\x20new\x20Payment.\x20USAGE:\x20Set\x20\x27object\x27\x20field\x20with\x20{name,\x20type,\x20...}\x20to\x20create\x20a\x20named\x20Payment.\x20NOTE:\x20\x27name\x27\x20goes\x20INSIDE\x20\x27object\x27,\x20NOT\x20at\x20the\x20data\x20root\x20level.\x20Payment\x20is\x20an\x20immutable\x20object\x20-\x20it\x20can\x20only\x20be\x20created,\x20not\x20modified.\x20The\x20\x27object\x27\x20field\x20is\x20CRITICAL\x20and\x20REQUIRED.');export const CallPayment_ReceiveSchema=z['object']({'object':NameOrAddressSchema['optional']()['describe']('CoinWrapper\x20object\x20ID\x20(0x...)\x20or\x20local\x20name\x20to\x20unwrap.\x20'+'OPTIONAL:\x20when\x20omitted,\x20AUTO-RECEIVE\x20mode\x20unwraps\x20EVERY\x20CoinWrapper\x20'+'currently\x20owned\x20by\x20the\x20caller\x20in\x20a\x20single\x20transaction\x20—\x20no\x20need\x20to\x20look\x20up\x20IDs\x20first.\x20'+'Find\x20received\x20CoinWrappers\x20via\x20query_toolkit\x20with\x20query_type=\x27onchain_received\x27.'),'receive':z['literal'](!![])['describe']('Set\x20to\x20true\x20to\x20activate\x20receive\x20mode.\x20'+'CoinWrapper\x20objects\x20ARE\x20transferred\x20to\x20recipients\x20via\x20transfer::public_transfer\x20(they\x20arrive\x20as\x20owned\x20objects),\x20'+'but\x20they\x20are\x20NOT\x20spendable\x20coins.\x20This\x20mode\x20unwraps\x20a\x20CoinWrapper\x20into\x20actual\x20coins\x20in\x20your\x20wallet.\x20'+'The\x20caller\x20must\x20be\x20the\x20CoinWrapper\x27s\x20owner\x20(the\x20recipient\x20'+'specified\x20in\x20the\x20Allocation\x27s\x20revenue\x20split).\x20'+'When\x20\x27object\x27\x20is\x20omitted,\x20every\x20CoinWrapper\x20owned\x20by\x20the\x20caller\x20is\x20unwrapped\x20at\x20once.'),'type_parameter':z['string']()['optional']()['describe']('Coin\x20type\x20of\x20the\x20CoinWrapper,\x20e.g.\x20\x270x2::wow::WOW\x27.\x20'+'OPTIONAL:\x20when\x20omitted\x20it\x20is\x20auto-derived\x20from\x20the\x20CoinWrapper\x27s\x20own\x20on-chain\x20type\x20'+'(the\x20inner\x20T\x20of\x20`CoinWrapper<T>`),\x20so\x20{object,\x20receive:true}\x20alone\x20unwraps\x20to\x20spendable\x20coins.\x20'+'Only\x20provide\x20it\x20explicitly\x20when\x20auto-derivation\x20fails.\x20In\x20AUTO-RECEIVE\x20mode\x20(no\x20object)\x20'+'the\x20type\x20is\x20always\x20derived\x20per-wrapper.')})['strict']()['describe']('Receive\x20mode:\x20unwrap\x20a\x20CoinWrapper\x20to\x20the\x20caller\x27s\x20wallet.\x20Use\x20after\x20Allocation\x27s\x20alloc_by_guard\x20creates\x20a\x20Payment\x20with\x20your\x20address\x20as\x20a\x20revenue\x20recipient.\x20The\x20CoinWrapper\x20holds\x20your\x20share\x20—\x20call\x20this\x20to\x20convert\x20it\x20to\x20actual\x20coins\x20in\x20your\x20wallet.\x20Provide\x20\x27object\x27\x20to\x20unwrap\x20a\x20specific\x20CoinWrapper,\x20or\x20OMIT\x20it\x20to\x20auto-unwrap\x20every\x20CoinWrapper\x20owned\x20by\x20the\x20caller.\x20CHAIN\x20TRUTH:\x20allocation\x20settlement\x20ALWAYS\x20creates\x20one\x20CoinWrapper\x20per\x20recipient\x20row\x20on-chain\x20—\x20there\x20is\x20NO\x20chain-level\x20auto-claim,\x20even\x20when\x20the\x20signer\x20IS\x20the\x20recipient\x20(ptrn-ln-261010\x20C-04).\x20After\x20an\x20alloc\x20where\x20you\x20are\x20a\x20recipient,\x20expect\x20a\x20CoinWrapper\x20under\x20your\x20address\x20and\x20claim\x20it\x20here;\x20a\x20\x27no\x20CoinWrapper\x20found\x27\x20result\x20means\x20the\x20funds\x20were\x20already\x20claimed\x20(verify\x20via\x20account_balance)\x20or\x20your\x20share\x20is\x20held\x20by\x20another\x20object\x20(Order/Entity)\x20and\x20must\x20be\x20claimed\x20through\x20that\x20object\x27s\x20own\x20receive\x20entry.');export const CallPayment_DataSchema=z['union']([CallPayment_CreateSchema,CallPayment_ReceiveSchema])['describe']('On-chain\x20Payment\x20operations.\x20TWO\x20modes:\x0a'+'(1)\x20CREATE:\x20Set\x20\x27object\x27\x20with\x20{name,\x20type_parameter,\x20...},\x20\x27revenue\x27,\x20and\x20\x27info\x27\x20to\x20create\x20a\x20new\x20Payment.\x0a'+'(2)\x20RECEIVE:\x20Set\x20{receive:\x20true}\x20to\x20unwrap\x20CoinWrappers\x20to\x20your\x20wallet.\x20Provide\x20\x27object\x27\x20(<coinwrapper_id_or_name>)\x20to\x20unwrap\x20a\x20specific\x20one,\x20or\x20OMIT\x20it\x20to\x20auto-unwrap\x20every\x20CoinWrapper\x20owned\x20by\x20the\x20caller.\x20type_parameter\x20optional\x20—\x20auto-derived\x20from\x20the\x20CoinWrapper\x27s\x20type.');export const CallPayment_InputSchema=z['object']({'data':CallPayment_DataSchema,'env':CallEnvSchema['optional']()})['strict']();
@@ -1 +1 @@
1
- import{CallPermission,GetAccountOrMark_Address}from'@wowok/wowok';import{handleCallResult}from'./handler.js';import{isValidPermissionIndex}from'../utils/permission-index-utils.js';function validatePermissionIndexes(a){const b=[];if(a['table']){const c=a['table'];switch(c['op']){case'add\x20perm\x20by\x20index':case'set\x20perm\x20by\x20index':case'remove\x20perm\x20by\x20index':b['push']({'index':c['index'],'path':'table.'+c['op']+'.index'});break;case'add\x20perm\x20by\x20entity':case'set\x20perm\x20by\x20entity':case'remove\x20perm\x20by\x20entity':for(let d=0x0;d<c['index']['length'];d++){b['push']({'index':c['index'][d],'path':'table.'+c['op']+'.index['+d+']'});}break;}}a['remark']&&(a['remark']['op']==='set'||a['remark']['op']==='remove')&&b['push']({'index':a['remark']['index'],'path':'remark.'+a['remark']['op']+'.index'});for(const {index:e,path:f}of b){if(!isValidPermissionIndex(e))throw new Error('Invalid\x20permission\x20index\x20'+e+'\x20at\x20\x27'+f+'\x27.\x20'+'Builtin\x20indexes\x20must\x20be\x20valid\x20BuiltinPermissionIndex\x20values;\x20'+'user-defined\x20indexes\x20must\x20be\x20in\x20[1000,\x2065535].');}}function validateEntityOps(a){if(!a['entity'])return;const b=a['entity'];if(b['op']==='swap'||b['op']==='replace'||b['op']==='copy'){if(b['entity1']===b['entity2'])throw new Error('Invalid\x20entity\x20'+b['op']+'\x20operation:\x20entity1\x20and\x20entity2\x20are\x20the\x20same\x20('+('\x27'+b['entity1']+'\x27).\x20'+b['op']+'\x20requires\x20two\x20distinct\x20entities.'));}}async function resolveManyEntities(a,b,c,d){const e=a?.['entities'];if(!e||e['length']===0x0)return;const f=c?.['network']?'\x20(network:\x20'+c['network']+')':'',g=[];for(const i of e){const j=i?.['name_or_address']??'';if(!j)continue;const k=await GetAccountOrMark_Address(i);if(!k)g['push'](j);}if(g['length']===0x0)return;const h=g['map'](l=>'\x27'+l+'\x27')['join'](',\x20');if(a?.['check_all_founded']===!![])throw new Error('invalid\x20parameter:'+g['length']+'/'+e['length']+'\x20'+b+'\x20entries\x20could\x20not\x20be\x20resolved\x20to\x20an\x20on-chain\x20address'+f+':\x20'+h+'.\x20'+'Check\x20the\x20spelling\x20in\x20local_mark_list\x20/\x20account_list,\x20or\x20pass\x20the\x20raw\x200x\x20address.');if(g['length']===e['length'])throw new Error('invalid\x20parameter:ALL\x20'+e['length']+'\x20'+b+'\x20entries\x20could\x20not\x20be\x20resolved\x20to\x20an\x20on-chain\x20address'+f+':\x20'+h+'.\x20'+'The\x20operation\x20would\x20write\x20nothing\x20yet\x20still\x20cost\x20gas,\x20so\x20it\x20was\x20refused.\x20'+'Check\x20the\x20spelling\x20in\x20local_mark_list\x20/\x20account_list,\x20create\x20the\x20account/mark\x20first,\x20or\x20pass\x20raw\x200x\x20addresses.');d['push']('PARTIAL\x20RESOLUTION:\x20'+g['length']+'/'+e['length']+'\x20'+b+'\x20entries\x20unresolved\x20and\x20will\x20be\x20DROPPED'+f+':\x20'+h+'.\x20'+'Only\x20the\x20resolvable\x20entities\x20will\x20be\x20written\x20on-chain.');}export async function handlePermissionOperations(a,b,c,d=[]){const e=[a['object'],a['remark'],a['table'],a['entity'],a['admin'],a['apply'],a['builder'],a['owner_receive'],a['um']]['some'](i=>i!==undefined);if(!e)throw new Error('invalid\x20parameter:permission\x20call\x20carries\x20NO\x20operation\x20—\x20every\x20field\x20in\x20data\x20is\x20empty\x20or\x20absent.\x20'+'A\x20schema\x20probe\x20must\x20never\x20be\x20a\x20write:\x20passed\x20through,\x20the\x20SDK\x20would\x20mint\x20a\x20NEW\x20Permission\x20object\x20with\x20empty\x20content,\x20an\x20irreversible\x20on-chain\x20spend.\x20'+'State\x20the\x20operation\x20explicitly:\x20{object:{name,...}}\x20to\x20create\x20a\x20Permission,\x20or\x20object\x20as\x20string\x20+\x20table/entity/admin/remark/um/apply/builder/owner_receive\x20to\x20operate\x20an\x20existing\x20one;\x20use\x20the\x20query\x20tool\x20first\x20to\x20inspect.');validatePermissionIndexes(a),validateEntityOps(a);const f=a['table'];f&&'entities'in(f['entity']??{})&&await resolveManyEntities(f['entity'],'table.'+f['op']+'.entity',b,d);a['admin']&&await resolveManyEntities(a['admin']['addresses'],'admin.addresses',b,d);const g=new CallPermission(a),h=await g['call'](b);return handleCallResult(h,c(a));}
1
+ import{CallPermission,GetAccountOrMark_Address}from'@wowok/wowok';import{handleCallResult}from'./handler.js';import{isValidPermissionIndex}from'../utils/permission-index-utils.js';function validatePermissionIndexes(a){const b=[];if(a['table']){const c=a['table'];switch(c['op']){case'add\x20perm\x20by\x20index':case'set\x20perm\x20by\x20index':case'remove\x20perm\x20by\x20index':b['push']({'index':c['index'],'path':'table.'+c['op']+'.index'});break;case'add\x20perm\x20by\x20entity':case'set\x20perm\x20by\x20entity':case'remove\x20perm\x20by\x20entity':for(let d=0x0;d<c['index']['length'];d++){b['push']({'index':c['index'][d],'path':'table.'+c['op']+'.index['+d+']'});}break;}}a['remark']&&(a['remark']['op']==='set'||a['remark']['op']==='remove')&&b['push']({'index':a['remark']['index'],'path':'remark.'+a['remark']['op']+'.index'});for(const {index:e,path:f}of b){if(!isValidPermissionIndex(e))throw new Error('Invalid\x20permission\x20index\x20'+e+'\x20at\x20\x27'+f+'\x27.\x20'+'Builtin\x20indexes\x20must\x20be\x20valid\x20BuiltinPermissionIndex\x20values;\x20'+'user-defined\x20indexes\x20must\x20be\x20in\x20[1000,\x2065535].');}}const STRICT_ADDRESS_RE=/^0[xX][0-9a-fA-F]{64}$/;function checkAddressShape(a,b,c){if(!a)return;if(!/^0[xX]/['test'](a))return;!STRICT_ADDRESS_RE['test'](a)&&c['push']('\x27'+a+'\x27\x20at\x20\x27'+b+'\x27\x20looks\x20like\x20a\x20hex\x20address\x20but\x20is\x20'+a['length']+'\x20chars\x20—\x20a\x20full\x20address\x20is\x200x\x20+\x2064\x20hex\x20chars\x20(66\x20total).\x20'+'The\x20SDK\x20would\x20silently\x20left-pad\x20a\x20short\x20hex\x20string\x20into\x20a\x20DIFFERENT\x20on-chain\x20address,\x20writing\x20the\x20grant\x20to\x20the\x20wrong\x20row.\x20'+'Pass\x20the\x20complete\x2066-char\x20address,\x20or\x20use\x20the\x20account\x27s\x20local\x20mark\x20name\x20instead.');}function validateAddressShapes(a){const b=[],c=a['table'];if(c){if('entities'in(c['entity']??{})){const e=c['entity'];(e['entities']??[])['forEach']((f,g)=>checkAddressShape(f?.['name_or_address'],'table.'+c['op']+'.entity.entities['+g+']',b));}else{const f=c['entity'];checkAddressShape(f?.['name_or_address'],'table.'+c['op']+'.entity',b);}}if(a['admin']){const g=a['admin']['addresses'];(g?.['entities']??[])['forEach']((h,j)=>checkAddressShape(h?.['name_or_address'],'admin.addresses.entities['+j+']',b));}const d=a['entity'];d&&(d['op']==='del'?checkAddressShape(d['entity']?.['name_or_address'],'entity.'+d['op']+'.entity',b):(checkAddressShape(d['entity1']?.['name_or_address'],'entity.'+d['op']+'.entity1',b),checkAddressShape(d['entity2']?.['name_or_address'],'entity.'+d['op']+'.entity2',b)));if(b['length']>0x0)throw new Error('invalid\x20parameter:'+b['length']+'\x20address\x20reference(s)\x20failed\x20strict\x20shape\x20validation:\x0a-\x20'+b['join']('\x0a-\x20'));}function validateEntityOps(a){if(!a['entity'])return;const b=a['entity'];if(b['op']==='swap'||b['op']==='replace'||b['op']==='copy'){if(b['entity1']===b['entity2'])throw new Error('Invalid\x20entity\x20'+b['op']+'\x20operation:\x20entity1\x20and\x20entity2\x20are\x20the\x20same\x20('+('\x27'+b['entity1']+'\x27).\x20'+b['op']+'\x20requires\x20two\x20distinct\x20entities.'));}}async function resolveManyEntities(a,b,c,d){const e=a?.['entities'];if(!e||e['length']===0x0)return;const f=c?.['network']?'\x20(network:\x20'+c['network']+')':'',g=[];for(const i of e){const j=i?.['name_or_address']??'';if(!j)continue;const k=await GetAccountOrMark_Address(i);if(!k)g['push'](j);}if(g['length']===0x0)return;const h=g['map'](l=>'\x27'+l+'\x27')['join'](',\x20');if(a?.['check_all_founded']===!![])throw new Error('invalid\x20parameter:'+g['length']+'/'+e['length']+'\x20'+b+'\x20entries\x20could\x20not\x20be\x20resolved\x20to\x20an\x20on-chain\x20address'+f+':\x20'+h+'.\x20'+'Check\x20the\x20spelling\x20in\x20local_mark_list\x20/\x20account_list,\x20or\x20pass\x20the\x20raw\x200x\x20address.');if(g['length']===e['length'])throw new Error('invalid\x20parameter:ALL\x20'+e['length']+'\x20'+b+'\x20entries\x20could\x20not\x20be\x20resolved\x20to\x20an\x20on-chain\x20address'+f+':\x20'+h+'.\x20'+'The\x20operation\x20would\x20write\x20nothing\x20yet\x20still\x20cost\x20gas,\x20so\x20it\x20was\x20refused.\x20'+'Check\x20the\x20spelling\x20in\x20local_mark_list\x20/\x20account_list,\x20create\x20the\x20account/mark\x20first,\x20or\x20pass\x20raw\x200x\x20addresses.');d['push']('PARTIAL\x20RESOLUTION:\x20'+g['length']+'/'+e['length']+'\x20'+b+'\x20entries\x20unresolved\x20and\x20will\x20be\x20DROPPED'+f+':\x20'+h+'.\x20'+'Only\x20the\x20resolvable\x20entities\x20will\x20be\x20written\x20on-chain.');}export async function handlePermissionOperations(a,b,c,d=[]){const e=[a['object'],a['remark'],a['table'],a['entity'],a['admin'],a['apply'],a['builder'],a['owner_receive'],a['um']]['some'](i=>i!==undefined);if(!e)throw new Error('invalid\x20parameter:permission\x20call\x20carries\x20NO\x20operation\x20—\x20every\x20field\x20in\x20data\x20is\x20empty\x20or\x20absent.\x20'+'A\x20schema\x20probe\x20must\x20never\x20be\x20a\x20write:\x20passed\x20through,\x20the\x20SDK\x20would\x20mint\x20a\x20NEW\x20Permission\x20object\x20with\x20empty\x20content,\x20an\x20irreversible\x20on-chain\x20spend.\x20'+'State\x20the\x20operation\x20explicitly:\x20{object:{name,...}}\x20to\x20create\x20a\x20Permission,\x20or\x20object\x20as\x20string\x20+\x20table/entity/admin/remark/um/apply/builder/owner_receive\x20to\x20operate\x20an\x20existing\x20one;\x20use\x20the\x20query\x20tool\x20first\x20to\x20inspect.');validateAddressShapes(a),validatePermissionIndexes(a),validateEntityOps(a);const f=a['table'];f&&'entities'in(f['entity']??{})&&await resolveManyEntities(f['entity'],'table.'+f['op']+'.entity',b,d);a['admin']&&await resolveManyEntities(a['admin']['addresses'],'admin.addresses',b,d);const g=new CallPermission(a),h=await g['call'](b);return handleCallResult(h,c(a));}