@wowok/agent-mcp 3.3.9 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/README.md +8 -0
  2. package/dist/chain-semantics/composition-truth.d.ts +102 -0
  3. package/dist/chain-semantics/composition-truth.js +1 -0
  4. package/dist/chain-semantics/eval-order.js +1 -1
  5. package/dist/chain-semantics/field-capability.js +1 -1
  6. package/dist/chain-semantics/freeze-map.js +1 -1
  7. package/dist/chain-semantics/fund-flow.js +1 -1
  8. package/dist/chain-semantics/guard-verbs.js +1 -1
  9. package/dist/chain-semantics/index.d.ts +1 -0
  10. package/dist/chain-semantics/index.js +1 -1
  11. package/dist/chain-semantics/object-graph.js +1 -1
  12. package/dist/composition/audit.js +1 -1
  13. package/dist/composition/blueprint-view.d.ts +3 -3
  14. package/dist/composition/blueprint-view.js +1 -1
  15. package/dist/composition/compile.d.ts +26 -4
  16. package/dist/composition/compile.js +1 -1
  17. package/dist/composition/emit-phases.d.ts +206 -0
  18. package/dist/composition/emit-phases.js +1 -0
  19. package/dist/composition/generate.d.ts +40 -0
  20. package/dist/composition/generate.js +1 -0
  21. package/dist/composition/guard-fill.d.ts +44 -0
  22. package/dist/composition/guard-fill.js +1 -0
  23. package/dist/composition/inflight.d.ts +26 -2
  24. package/dist/composition/inflight.js +1 -1
  25. package/dist/composition/input-normalize.d.ts +15 -0
  26. package/dist/composition/input-normalize.js +1 -0
  27. package/dist/composition/materialize.d.ts +22 -13
  28. package/dist/composition/materialize.js +1 -1
  29. package/dist/composition/mode-gates.d.ts +35 -0
  30. package/dist/composition/mode-gates.js +1 -0
  31. package/dist/composition/param-disclosure.d.ts +61 -0
  32. package/dist/composition/param-disclosure.js +1 -0
  33. package/dist/composition/plan-retry-ledger.d.ts +21 -0
  34. package/dist/composition/plan-retry-ledger.js +1 -0
  35. package/dist/composition/plan.d.ts +17 -2
  36. package/dist/composition/plan.js +1 -1
  37. package/dist/composition/product-card.d.ts +94 -0
  38. package/dist/composition/product-card.js +1 -0
  39. package/dist/composition/supply-chain-emit.d.ts +46 -0
  40. package/dist/composition/supply-chain-emit.js +1 -0
  41. package/dist/config/config-audit.spec.js +1 -1
  42. package/dist/config/config-warnings.d.ts +2 -0
  43. package/dist/config/config-warnings.js +1 -0
  44. package/dist/config/exposure.d.ts +2 -2
  45. package/dist/config/judgment.d.ts +31 -5
  46. package/dist/config/judgment.js +1 -1
  47. package/dist/config/judgment.spec.js +1 -1
  48. package/dist/config/match-policy-file.d.ts +34 -0
  49. package/dist/config/match-policy-file.js +1 -0
  50. package/dist/config/match-policy-file.spec.d.ts +1 -0
  51. package/dist/config/match-policy-file.spec.js +1 -0
  52. package/dist/config/rule-engine.d.ts +5 -5
  53. package/dist/config/rule-engine.js +1 -1
  54. package/dist/config/runtime.d.ts +0 -1
  55. package/dist/config/runtime.js +1 -1
  56. package/dist/config/severity.d.ts +0 -2
  57. package/dist/config/severity.js +1 -1
  58. package/dist/config/store-policy.spec.js +1 -1
  59. package/dist/config/template-params.d.ts +42 -0
  60. package/dist/config/template-params.js +1 -0
  61. package/dist/config/template-params.spec.d.ts +1 -0
  62. package/dist/config/template-params.spec.js +1 -0
  63. package/dist/customer/account-events.js +1 -1
  64. package/dist/data/api/api.spec.js +1 -1
  65. package/dist/data/api/cli.js +1 -1
  66. package/dist/data/api/server.d.ts +1 -0
  67. package/dist/data/api/server.js +1 -1
  68. package/dist/data/projection/store.d.ts +3 -1
  69. package/dist/data/projection/store.js +1 -1
  70. package/dist/data/projection/types.d.ts +32 -0
  71. package/dist/data/sync/cdc.d.ts +1 -2
  72. package/dist/data/sync/cdc.js +1 -1
  73. package/dist/data/sync/cdc.spec.js +1 -1
  74. package/dist/data/sync/store.d.ts +5 -0
  75. package/dist/data/sync/store.js +1 -1
  76. package/dist/data/sync/types.d.ts +2 -0
  77. package/dist/evaluation/acceptance.d.ts +8 -0
  78. package/dist/evaluation/acceptance.js +1 -1
  79. package/dist/evaluation/builtins/demand-match.js +1 -1
  80. package/dist/evaluation/builtins/graph-service.spec.js +1 -1
  81. package/dist/evaluation/capability.d.ts +2 -0
  82. package/dist/evaluation/category-match-rules.d.ts +0 -1
  83. package/dist/evaluation/category-match-rules.js +1 -1
  84. package/dist/evaluation/composer.d.ts +25 -0
  85. package/dist/evaluation/composer.js +1 -1
  86. package/dist/evaluation/engine.js +1 -1
  87. package/dist/evaluation/extract.d.ts +7 -0
  88. package/dist/evaluation/extract.js +1 -1
  89. package/dist/evaluation/game-strategy.d.ts +0 -3
  90. package/dist/evaluation/game-strategy.js +1 -1
  91. package/dist/evaluation/guard-scan.js +1 -1
  92. package/dist/evaluation/match-operation.d.ts +9 -0
  93. package/dist/evaluation/match-operation.js +1 -1
  94. package/dist/evaluation/match-policy-resolver.d.ts +9 -0
  95. package/dist/evaluation/match-policy-resolver.js +1 -0
  96. package/dist/evaluation/match-policy.d.ts +3 -1
  97. package/dist/evaluation/match-policy.js +1 -1
  98. package/dist/evaluation/region.d.ts +0 -6
  99. package/dist/evaluation/region.js +1 -1
  100. package/dist/evaluation/standards.d.ts +2 -1
  101. package/dist/evaluation/standards.js +1 -1
  102. package/dist/evaluation/structured-lines.d.ts +8 -0
  103. package/dist/evaluation/structured-lines.js +1 -0
  104. package/dist/evaluation/types.d.ts +6 -0
  105. package/dist/experience/realtime-feedback.js +1 -1
  106. package/dist/extensions/capability-manifest.d.ts +1 -0
  107. package/dist/extensions/capability-manifest.js +1 -1
  108. package/dist/extensions/capability.d.ts +91 -0
  109. package/dist/extensions/capability.js +1 -0
  110. package/dist/extensions/industry-audit.spec.js +1 -1
  111. package/dist/extensions/industry-pack.d.ts +13 -0
  112. package/dist/extensions/industry-pack.js +1 -1
  113. package/dist/extensions/modes.js +1 -1
  114. package/dist/extensions/registry.d.ts +0 -2
  115. package/dist/extensions/registry.js +1 -1
  116. package/dist/goal/GoalEngine.js +1 -1
  117. package/dist/graph/onchain/analyze.js +1 -1
  118. package/dist/graph/onchain/expand.js +1 -1
  119. package/dist/graph/onchain/exposure.js +1 -1
  120. package/dist/graph/onchain/facts.js +1 -1
  121. package/dist/graph/onchain/order-status.d.ts +0 -1
  122. package/dist/graph/onchain/order-status.js +1 -1
  123. package/dist/harness/recover.js +1 -1
  124. package/dist/harness/verify.d.ts +0 -3
  125. package/dist/harness/verify.js +1 -1
  126. package/dist/index.js +1 -1
  127. package/dist/intent/types.d.ts +0 -1
  128. package/dist/intent/types.js +1 -1
  129. package/dist/keeper/detectors.js +1 -1
  130. package/dist/keeper/types.d.ts +0 -1
  131. package/dist/keeper/types.js +1 -1
  132. package/dist/knowledge/allocation-risk.d.ts +1 -0
  133. package/dist/knowledge/allocation-risk.js +1 -1
  134. package/dist/knowledge/allocation-templates.js +1 -1
  135. package/dist/knowledge/allocator-rail-verifier.d.ts +6 -1
  136. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  137. package/dist/knowledge/arb-fund-facts.d.ts +1 -0
  138. package/dist/knowledge/arb-fund-facts.js +1 -1
  139. package/dist/knowledge/arbitration-ledger.js +1 -1
  140. package/dist/knowledge/arbitration-puzzle.js +1 -1
  141. package/dist/knowledge/arbitration-risk.d.ts +1 -0
  142. package/dist/knowledge/arbitration-risk.js +1 -1
  143. package/dist/knowledge/audit-rules.d.ts +2 -2
  144. package/dist/knowledge/audit-rules.js +1 -1
  145. package/dist/knowledge/baselines/judgment-baselines.json +21 -2
  146. package/dist/knowledge/baselines/rules/allocation.json +6 -6
  147. package/dist/knowledge/baselines/rules/arb.json +2 -2
  148. package/dist/knowledge/baselines/rules/guard.json +11 -11
  149. package/dist/knowledge/baselines/rules/oracle.json +120 -0
  150. package/dist/knowledge/baselines/rules/order.json +1 -1
  151. package/dist/knowledge/baselines/rules/plan.json +385 -18
  152. package/dist/knowledge/baselines/rules/progress.json +20 -2
  153. package/dist/knowledge/baselines/semantic-facts.js +1 -1
  154. package/dist/knowledge/builtin-templates.d.ts +25 -1
  155. package/dist/knowledge/builtin-templates.js +1 -1
  156. package/dist/knowledge/catalog-facts.d.ts +4 -0
  157. package/dist/knowledge/catalog-facts.js +1 -0
  158. package/dist/knowledge/commission-landing.js +1 -1
  159. package/dist/knowledge/component-schema.d.ts +64 -0
  160. package/dist/knowledge/component-schema.js +1 -0
  161. package/dist/knowledge/contact-templates.d.ts +0 -1
  162. package/dist/knowledge/contact-templates.js +1 -1
  163. package/dist/knowledge/dynamic-pricing.js +1 -1
  164. package/dist/knowledge/entity-recipient-guard.js +1 -1
  165. package/dist/knowledge/event-semantics.js +1 -1
  166. package/dist/knowledge/fee-param-bindings.d.ts +26 -0
  167. package/dist/knowledge/fee-param-bindings.js +1 -0
  168. package/dist/knowledge/fund-layer.d.ts +1 -0
  169. package/dist/knowledge/fund-layer.js +1 -1
  170. package/dist/knowledge/game-scenarios.js +1 -1
  171. package/dist/knowledge/getting-started.d.ts +2 -2
  172. package/dist/knowledge/getting-started.js +1 -1
  173. package/dist/knowledge/guard-anchor-reach.js +1 -1
  174. package/dist/knowledge/guard-binding-table.d.ts +52 -0
  175. package/dist/knowledge/guard-binding-table.js +1 -0
  176. package/dist/knowledge/guard-binding-verifier.d.ts +30 -0
  177. package/dist/knowledge/guard-binding-verifier.js +1 -0
  178. package/dist/knowledge/guard-bindings.js +1 -1
  179. package/dist/knowledge/guard-blueprint.d.ts +68 -0
  180. package/dist/knowledge/guard-blueprint.js +1 -0
  181. package/dist/knowledge/guard-design-patterns.d.ts +1 -1
  182. package/dist/knowledge/guard-design-patterns.js +1 -1
  183. package/dist/knowledge/guard-field-cognition.js +1 -1
  184. package/dist/knowledge/guard-host-context.d.ts +24 -0
  185. package/dist/knowledge/guard-host-context.js +1 -0
  186. package/dist/knowledge/guard-ledger.js +1 -1
  187. package/dist/knowledge/guard-lint.d.ts +1 -0
  188. package/dist/knowledge/guard-lint.js +1 -1
  189. package/dist/knowledge/guard-node-gates.d.ts +3 -0
  190. package/dist/knowledge/guard-node-gates.js +1 -1
  191. package/dist/knowledge/guard-puzzle.js +1 -1
  192. package/dist/knowledge/guard-render.js +1 -1
  193. package/dist/knowledge/guard-risk.js +1 -1
  194. package/dist/knowledge/guard-submission-prompt.d.ts +11 -0
  195. package/dist/knowledge/guard-submission-prompt.js +1 -1
  196. package/dist/knowledge/guard-templates.d.ts +1 -1
  197. package/dist/knowledge/guard-templates.js +1 -1
  198. package/dist/knowledge/guard-translation.js +1 -1
  199. package/dist/knowledge/index.d.ts +1 -1
  200. package/dist/knowledge/index.js +1 -1
  201. package/dist/knowledge/industry-generalizer.d.ts +6 -1
  202. package/dist/knowledge/industry-generalizer.js +1 -1
  203. package/dist/knowledge/industry-registry.js +1 -1
  204. package/dist/knowledge/industry-strategy.js +1 -1
  205. package/dist/knowledge/jsonrpc-enum.d.ts +52 -3
  206. package/dist/knowledge/jsonrpc-enum.js +1 -1
  207. package/dist/knowledge/knob-docs.d.ts +5 -0
  208. package/dist/knowledge/knob-docs.js +1 -0
  209. package/dist/knowledge/machine-templates.js +1 -1
  210. package/dist/knowledge/machine-topology.js +1 -1
  211. package/dist/knowledge/machine-translation.js +1 -1
  212. package/dist/knowledge/object-dependency.d.ts +31 -0
  213. package/dist/knowledge/object-dependency.js +1 -0
  214. package/dist/knowledge/onchain-constants.d.ts +4 -0
  215. package/dist/knowledge/onchain-constants.js +1 -1
  216. package/dist/knowledge/order-ledger.js +1 -1
  217. package/dist/knowledge/param-schema.d.ts +93 -0
  218. package/dist/knowledge/param-schema.js +1 -0
  219. package/dist/knowledge/param-tiers.d.ts +25 -0
  220. package/dist/knowledge/param-tiers.js +1 -0
  221. package/dist/knowledge/passport-ledger.d.ts +1 -1
  222. package/dist/knowledge/passport-ledger.js +1 -1
  223. package/dist/knowledge/path-oracle/coverage.d.ts +16 -0
  224. package/dist/knowledge/path-oracle/coverage.js +1 -0
  225. package/dist/knowledge/path-oracle/index.d.ts +5 -0
  226. package/dist/knowledge/path-oracle/index.js +1 -0
  227. package/dist/knowledge/path-oracle/products/food-delivery.d.ts +2 -0
  228. package/dist/knowledge/path-oracle/products/food-delivery.js +1 -0
  229. package/dist/knowledge/path-oracle/schema.d.ts +188 -0
  230. package/dist/knowledge/path-oracle/schema.js +1 -0
  231. package/dist/knowledge/pattern-resolutions.d.ts +108 -0
  232. package/dist/knowledge/pattern-resolutions.js +1 -0
  233. package/dist/knowledge/progress-ledger.js +1 -1
  234. package/dist/knowledge/progress-risk.js +1 -1
  235. package/dist/knowledge/projection.spec.js +1 -1
  236. package/dist/knowledge/protocol-facts.js +1 -1
  237. package/dist/knowledge/requirement-families.d.ts +13 -0
  238. package/dist/knowledge/requirement-families.js +1 -0
  239. package/dist/knowledge/reward-ledger.js +1 -1
  240. package/dist/knowledge/safety-rules.js +1 -1
  241. package/dist/knowledge/scenario-modes.d.ts +2 -0
  242. package/dist/knowledge/scenario-modes.js +1 -1
  243. package/dist/knowledge/scenario-topology.js +1 -1
  244. package/dist/knowledge/semantic-ir.d.ts +4 -0
  245. package/dist/knowledge/semantic-ir.js +1 -1
  246. package/dist/knowledge/service-allocation-semantics.js +1 -1
  247. package/dist/knowledge/service-ledger.d.ts +1 -1
  248. package/dist/knowledge/service-ledger.js +1 -1
  249. package/dist/knowledge/service-templates.js +1 -1
  250. package/dist/knowledge/sku-name-gate.d.ts +17 -0
  251. package/dist/knowledge/sku-name-gate.js +1 -0
  252. package/dist/knowledge/strategy-manuals.d.ts +1 -1
  253. package/dist/knowledge/strategy-manuals.js +1 -1
  254. package/dist/knowledge/supply-chain.d.ts +9 -0
  255. package/dist/knowledge/supply-chain.js +1 -1
  256. package/dist/knowledge/template-loader.d.ts +114 -6
  257. package/dist/knowledge/template-loader.js +1 -1
  258. package/dist/knowledge/template-nav.d.ts +9 -0
  259. package/dist/knowledge/template-nav.js +1 -0
  260. package/dist/knowledge/template-prose.d.ts +1 -1
  261. package/dist/knowledge/template-registry.js +1 -1
  262. package/dist/knowledge/template-scanner.d.ts +95 -0
  263. package/dist/knowledge/template-scanner.js +1 -1
  264. package/dist/knowledge/template-test-profiles.d.ts +17 -0
  265. package/dist/knowledge/template-test-profiles.js +1 -0
  266. package/dist/knowledge/template-validation.d.ts +1 -0
  267. package/dist/knowledge/template-validation.js +1 -1
  268. package/dist/knowledge/tools-reference.js +1 -1
  269. package/dist/knowledge/treasury-templates.js +1 -1
  270. package/dist/knowledge/workflow-guidance.d.ts +5 -0
  271. package/dist/knowledge/workflow-guidance.js +1 -1
  272. package/dist/monitor/MonitorLoop.js +1 -1
  273. package/dist/participation/radar-core.js +1 -1
  274. package/dist/participation/time-window.d.ts +37 -0
  275. package/dist/participation/time-window.js +1 -0
  276. package/dist/persona/address-format.d.ts +0 -1
  277. package/dist/persona/address-format.js +1 -1
  278. package/dist/persona/bridge.js +1 -1
  279. package/dist/persona/index.d.ts +0 -2
  280. package/dist/persona/index.js +1 -1
  281. package/dist/persona/model.js +1 -1
  282. package/dist/persona/persona-audit.spec.js +1 -1
  283. package/dist/persona/types.d.ts +6 -0
  284. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  285. package/dist/playbooks/service-build/game-theory.d.ts +2 -2
  286. package/dist/playbooks/service-build/intent-analyzer.js +1 -1
  287. package/dist/playbooks/service-build/machine-panorama.d.ts +1 -0
  288. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  289. package/dist/playbooks/service-build/merchant-guide.d.ts +52 -22
  290. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  291. package/dist/playbooks/service-build/migration-planner.d.ts +2 -0
  292. package/dist/playbooks/service-build/migration-planner.js +1 -1
  293. package/dist/playbooks/service-build/mode-actions.js +1 -1
  294. package/dist/playbooks/service-build/object-panorama.d.ts +8 -0
  295. package/dist/playbooks/service-build/object-panorama.js +1 -1
  296. package/dist/playbooks/service-build/participation-radar.d.ts +1 -0
  297. package/dist/playbooks/service-build/participation-radar.js +1 -1
  298. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  299. package/dist/playbooks/service-build/reverse-mapping.d.ts +6 -0
  300. package/dist/playbooks/service-build/reverse-mapping.js +1 -1
  301. package/dist/playbooks/service-build/service-panorama.d.ts +2 -0
  302. package/dist/playbooks/service-build/service-panorama.js +1 -1
  303. package/dist/playbooks/service-build/service-quote.js +1 -1
  304. package/dist/playbooks/service-build/service-quote.spec.js +1 -1
  305. package/dist/playbooks/service-build/workflow-design-assessment.d.ts +10 -1
  306. package/dist/playbooks/service-build/workflow-design-assessment.js +1 -1
  307. package/dist/relationship/registry.js +1 -1
  308. package/dist/review/index.js +1 -1
  309. package/dist/review/repository.js +1 -1
  310. package/dist/runtime/instance-registry.d.ts +7 -1
  311. package/dist/runtime/instance-registry.js +1 -1
  312. package/dist/safety/confirm-gate.js +1 -1
  313. package/dist/schema/benchmark-migration/index.d.ts +106 -0
  314. package/dist/schema/benchmark-migration/index.js +1 -1
  315. package/dist/schema/call/allocation.d.ts +15 -6
  316. package/dist/schema/call/allocation.js +1 -1
  317. package/dist/schema/call/arbitration.js +1 -1
  318. package/dist/schema/call/base.d.ts +264 -0
  319. package/dist/schema/call/base.js +1 -1
  320. package/dist/schema/call/bridge.d.ts +34 -6
  321. package/dist/schema/call/demand.d.ts +15 -6
  322. package/dist/schema/call/demand.js +1 -1
  323. package/dist/schema/call/error-codes.d.ts +1 -1
  324. package/dist/schema/call/error-codes.js +1 -1
  325. package/dist/schema/call/guard.d.ts +8 -8
  326. package/dist/schema/call/guard.js +1 -1
  327. package/dist/schema/call/handler.d.ts +3 -0
  328. package/dist/schema/call/handler.js +1 -1
  329. package/dist/schema/call/machine.d.ts +32 -8
  330. package/dist/schema/call/machine.js +1 -1
  331. package/dist/schema/call/order.d.ts +26 -8
  332. package/dist/schema/call/order.js +1 -1
  333. package/dist/schema/call/payment.d.ts +20 -8
  334. package/dist/schema/call/payment.js +1 -1
  335. package/dist/schema/call/permission-handler.js +1 -1
  336. package/dist/schema/call/permission.d.ts +330 -114
  337. package/dist/schema/call/permission.js +1 -1
  338. package/dist/schema/call/personal.d.ts +10 -4
  339. package/dist/schema/call/personal.js +1 -1
  340. package/dist/schema/call/progress.d.ts +16 -4
  341. package/dist/schema/call/reward.d.ts +10 -4
  342. package/dist/schema/call/reward.js +1 -1
  343. package/dist/schema/call/semantic.d.ts +1 -0
  344. package/dist/schema/call/semantic.js +1 -1
  345. package/dist/schema/call/service.d.ts +131 -43
  346. package/dist/schema/call/service.js +1 -1
  347. package/dist/schema/call/treasury.d.ts +15 -6
  348. package/dist/schema/call/treasury.js +1 -1
  349. package/dist/schema/common/index.js +1 -1
  350. package/dist/schema/config/index.d.ts +61 -0
  351. package/dist/schema/config/index.js +1 -1
  352. package/dist/schema/envelope-unify.d.ts +4 -0
  353. package/dist/schema/envelope-unify.js +1 -0
  354. package/dist/schema/evaluation/index.d.ts +224 -19
  355. package/dist/schema/evaluation/index.js +1 -1
  356. package/dist/schema/goal/index.d.ts +47 -0
  357. package/dist/schema/goal/planning.d.ts +116 -1
  358. package/dist/schema/goal/planning.js +1 -1
  359. package/dist/schema/industry-pack/index.d.ts +166 -6
  360. package/dist/schema/industry-pack/index.js +1 -1
  361. package/dist/schema/industry-pack/modes.d.ts +6 -6
  362. package/dist/schema/keeper/index.d.ts +26 -0
  363. package/dist/schema/local/index.d.ts +157 -0
  364. package/dist/schema/local/index.js +1 -1
  365. package/dist/schema/local/wip.d.ts +6 -0
  366. package/dist/schema/local/wip.js +1 -1
  367. package/dist/schema/messenger/index.d.ts +28 -0
  368. package/dist/schema/messenger/index.js +1 -1
  369. package/dist/schema/operations.d.ts +343 -84
  370. package/dist/schema/operations.js +1 -1
  371. package/dist/schema/persona/index.d.ts +2907 -640
  372. package/dist/schema/persona/index.js +1 -1
  373. package/dist/schema/query/bi.d.ts +251 -4
  374. package/dist/schema/query/bi.js +1 -1
  375. package/dist/schema/query/index.d.ts +271 -78
  376. package/dist/schema/query/index.js +1 -1
  377. package/dist/schema/schema-query/index.d.ts +1 -1
  378. package/dist/schema/schema-query/index.js +1 -1
  379. package/dist/schema/schema-version.js +1 -1
  380. package/dist/schema/utils/permission-machine-check.d.ts +2 -0
  381. package/dist/schema/utils/permission-machine-check.js +1 -1
  382. package/dist/schema/watch/index.d.ts +16 -0
  383. package/dist/schema/watch/index.js +1 -1
  384. package/dist/schema/workflow/index.d.ts +2 -2
  385. package/dist/schema/workflow/index.js +1 -1
  386. package/dist/schema-query-impl/index.d.ts +1 -1
  387. package/dist/schema-query-impl/index.js +1 -1
  388. package/dist/schemas/account_operation.output.json +98 -2
  389. package/dist/schemas/benchmark_migration_operation.output.json +341 -12
  390. package/dist/schemas/benchmark_migration_operation.schema.json +42 -3
  391. package/dist/schemas/bridge_operation.output.json +98 -2
  392. package/dist/schemas/bridge_operation.schema.json +5 -5
  393. package/dist/schemas/config_operation.output.json +352 -0
  394. package/dist/schemas/config_operation.schema.json +20 -2
  395. package/dist/schemas/evaluation_operation.output.json +586 -4
  396. package/dist/schemas/evaluation_operation.schema.json +194 -3
  397. package/dist/schemas/goal_operation.schema.json +183 -0
  398. package/dist/schemas/guard2file.schema.json +1 -1
  399. package/dist/schemas/index.json +1 -1
  400. package/dist/schemas/industry_pack_operation.output.json +771 -1
  401. package/dist/schemas/industry_pack_operation.schema.json +28 -4
  402. package/dist/schemas/keeper_operation.output.json +96 -2
  403. package/dist/schemas/local_cache_operation.output.json +98 -2
  404. package/dist/schemas/local_history_operation.output.json +98 -2
  405. package/dist/schemas/local_info_operation.output.json +98 -2
  406. package/dist/schemas/local_mark_operation.output.json +98 -2
  407. package/dist/schemas/machineNode2file.schema.json +1 -1
  408. package/dist/schemas/messenger_operation.output.json +107 -2
  409. package/dist/schemas/messenger_operation.schema.json +41 -34
  410. package/dist/schemas/monitor_events.output.json +96 -2
  411. package/dist/schemas/monitor_subscription.output.json +96 -2
  412. package/dist/schemas/onchain_events.output.json +108 -14
  413. package/dist/schemas/onchain_operations.output.json +326 -11
  414. package/dist/schemas/onchain_operations.schema.json +1343 -734
  415. package/dist/schemas/onchain_operations_allocation.schema.json +35 -19
  416. package/dist/schemas/onchain_operations_arbitration.schema.json +16 -8
  417. package/dist/schemas/onchain_operations_contact.schema.json +12 -4
  418. package/dist/schemas/onchain_operations_demand.schema.json +33 -17
  419. package/dist/schemas/onchain_operations_gen_passport.schema.json +12 -4
  420. package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -1
  421. package/dist/schemas/onchain_operations_guard.schema.json +297 -111
  422. package/dist/schemas/onchain_operations_machine.schema.json +56 -39
  423. package/dist/schemas/onchain_operations_order.schema.json +67 -42
  424. package/dist/schemas/onchain_operations_payment.schema.json +27 -12
  425. package/dist/schemas/onchain_operations_permission.schema.json +363 -232
  426. package/dist/schemas/onchain_operations_personal.schema.json +43 -28
  427. package/dist/schemas/onchain_operations_progress.schema.json +49 -32
  428. package/dist/schemas/onchain_operations_proof.schema.json +12 -4
  429. package/dist/schemas/onchain_operations_repository.schema.json +17 -8
  430. package/dist/schemas/onchain_operations_reward.schema.json +36 -20
  431. package/dist/schemas/onchain_operations_service.schema.json +230 -130
  432. package/dist/schemas/onchain_operations_treasury.schema.json +36 -20
  433. package/dist/schemas/onchain_table_data.output.json +276 -19
  434. package/dist/schemas/onchain_table_data.schema.json +104 -64
  435. package/dist/schemas/persona_operation.output.json +7752 -0
  436. package/dist/schemas/persona_operation.schema.json +1232 -4
  437. package/dist/schemas/query_toolkit.output.json +1054 -146
  438. package/dist/schemas/query_toolkit.schema.json +144 -13
  439. package/dist/schemas/schema_query.schema.json +1 -1
  440. package/dist/schemas/watch_operation.output.json +86 -3
  441. package/dist/schemas/wip_file.output.json +8 -0
  442. package/dist/schemas/workflow_operation.schema.json +5 -4
  443. package/dist/schemas/wowok_buildin_info.schema.json +1 -1
  444. package/dist/task/playbook.js +1 -1
  445. package/dist/tools/handlers/benchmark-migration.d.ts +12 -3
  446. package/dist/tools/handlers/benchmark-migration.js +1 -1
  447. package/dist/tools/handlers/config.js +1 -1
  448. package/dist/tools/handlers/evaluation.js +1 -1
  449. package/dist/tools/handlers/evaluation.spec.js +1 -1
  450. package/dist/tools/handlers/industry-pack.js +1 -1
  451. package/dist/tools/handlers/messenger.js +1 -1
  452. package/dist/tools/handlers/onchain.d.ts +24 -0
  453. package/dist/tools/handlers/onchain.js +1 -1
  454. package/dist/tools/handlers/persona.js +1 -1
  455. package/dist/tools/handlers/query.d.ts +8 -0
  456. package/dist/tools/handlers/query.js +1 -1
  457. package/dist/tools/handlers/winner-derivation.d.ts +20 -0
  458. package/dist/tools/handlers/winner-derivation.js +1 -0
  459. package/dist/tools/handlers/wip-upload.js +1 -1
  460. package/dist/tools/index.d.ts +1 -0
  461. package/dist/tools/index.js +1 -1
  462. package/dist/tools/registry/business.js +1 -1
  463. package/dist/tools/registry/config.js +1 -1
  464. package/dist/tools/registry/evaluation.js +1 -1
  465. package/dist/tools/registry/identity.js +1 -1
  466. package/dist/tools/registry/onchain.js +1 -1
  467. package/dist/tools/registry/query.js +1 -1
  468. package/dist/tools/sanitize-output.js +1 -1
  469. package/dist/tools/sanitize-output.spec.js +1 -1
  470. package/dist/tools/transport-integrity.d.ts +7 -0
  471. package/dist/tools/transport-integrity.js +1 -0
  472. package/dist/tools/types.d.ts +1 -0
  473. package/dist/tools/upgrade-check.d.ts +22 -0
  474. package/dist/tools/upgrade-check.js +1 -1
  475. package/dist/tools/wrap.d.ts +6 -1
  476. package/dist/tools/wrap.js +1 -1
  477. package/package.json +7 -6
  478. package/dist/extensions/business-modules.d.ts +0 -54
  479. package/dist/extensions/business-modules.js +0 -1
  480. package/dist/schemas/guard-templates.json +0 -379
@@ -1 +1 @@
1
- const SYM_NODE='progress.current',SYM_CLAIMED='order.claimed_by\x20some';function slotValue(a,b){if(b===undefined)return{'value':undefined,'isSubmission':![]};const c=a['find'](d=>d['identifier']===b);if(!c)return{'value':undefined,'isSubmission':![]};return{'value':c['value'],'isSubmission':c['b_submission']===!![]};}function classifyQueryLhs(a){if(a===SYM_NODE)return{'kind':'node'};if(a===SYM_CLAIMED)return{'kind':'claimed'};return{'kind':'unknown'};}function resolveValue(a,b){if(!b||b['type']!=='identifier')return{'known':![]};const c=slotValue(a,b['identifier']);if(c['isSubmission'])return{'known':![]};if(c['value']===undefined)return{'known':![]};return{'known':!![],'value':c['value']};}function evaluate(a,b,d){if(!b||typeof b['type']!=='string')return undefined;switch(b['type']){case'logic_and':{const e=Array['isArray'](b['nodes'])?b['nodes']:[];let f=![];for(const g of e){const h=evaluate(a,g,d);if(h===![])return![];if(h===undefined)f=!![];}return f?undefined:!![];}case'logic_or':{const i=Array['isArray'](b['nodes'])?b['nodes']:[];let j=![];for(const k of i){const l=evaluate(a,k,d);if(l===!![])return!![];if(l===undefined)j=!![];}return j?undefined:![];}case'logic_not':{const m=evaluate(a,b['node'],d);if(m===undefined)return undefined;return!m;}case'logic_equal':{const n=Array['isArray'](b['nodes'])?b['nodes']:[];if(n['length']<0x2)return undefined;const o=classifyQueryLhs(n[0x0]?.['query']),p=resolveValue(a,n[0x1]),q=o['kind']==='unknown'?classifyQueryLhs(n[0x1]?.['query']):o,r=!p['known']&&n[0x1]?.['query']!==undefined?resolveValue(a,n[0x0]):p;if(q['kind']==='node'){if(!r['known']||typeof r['value']!=='string')return undefined;return d['node']===r['value'];}if(q['kind']==='claimed'){if(!r['known']||typeof r['value']!=='boolean')return undefined;return d['claimed']===r['value'];}return undefined;}default:return undefined;}}function satisfiable(a,b,c){return evaluate(a,b,c)!==![];}function findDeadLiterals(a,b,c,d){if(!a||typeof a['type']!=='string')return;if(a['type']==='logic_and'&&Array['isArray'](a['nodes'])){const e=new Map();for(const f of a['nodes']){const g=resolvableEquality(f,b);if(g)e['set'](g['symbol'],g['value']);}for(const h of a['nodes']){const i=resolvableEquality(h,b);if(i){const k=e['get'](i['symbol']);if(k!==undefined&&k!==i['value']){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,i['symbol'],k,i['value'])});return;}continue;}const j=findClash(h,b,e);if(j){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,j['symbol'],j['pinned'],j['value'])});return;}}for(const l of a['nodes'])findDeadLiterals(l,b,c,d);return;}if(Array['isArray'](a['nodes'])){for(const m of a['nodes'])findDeadLiterals(m,b,c,d);}if(a['node'])findDeadLiterals(a['node'],b,c,d);}function resolvableEquality(c,d){if(!c||c['type']!=='logic_equal'||!Array['isArray'](c['nodes']))return undefined;for(const [e,f]of[[c['nodes'][0x0],c['nodes'][0x1]],[c['nodes'][0x1],c['nodes'][0x0]]]){if(!e||typeof e['query']!=='string')continue;const g=classifyQueryLhs(e['query']);if(g['kind']==='unknown')continue;const h=resolveValue(d,f);if(!h['known'])continue;return{'symbol':g['kind']==='node'?SYM_NODE:SYM_CLAIMED,'value':h['value']};}return undefined;}function findClash(a,b,c){if(!a||typeof a['type']!=='string')return undefined;if(a['type']==='logic_not')return undefined;const d=resolvableEquality(a,b);if(d){const e=c['get'](d['symbol']);if(e!==undefined&&e!==d['value'])return{'symbol':d['symbol'],'pinned':e,'value':d['value']};return undefined;}if(Array['isArray'](a['nodes']))for(const f of a['nodes']){const g=findClash(f,b,c);if(g)return g;}if(a['node'])return findClash(a['node'],b,c);return undefined;}function deadLiteralDetail(a,b,c,d){return'allocator\x20guard\x20\x27'+a+'\x27:\x20one\x20conjunction\x20scope\x20carries\x20'+b+'\x20'+('==\x20'+JSON['stringify'](c)+'\x20and\x20ALSO\x20'+b+'\x20==\x20'+JSON['stringify'](d)+'\x20—\x20the\x20second\x20')+'literal\x20contradicts\x20the\x20first\x20and\x20is\x20a\x20DEAD\x20literal\x20(azx7-mn-261014\x20CR-azx7-01:\x20a\x20pinned\x20'+'node\x20equality\x20made\x20the\x20sibling\x20closed_cancel/item_lost\x20legs\x20unreachable,\x20stranding\x20the\x20'+'escrow\x20at\x20every\x20other\x20terminal).\x20Hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20'+'instead\x20of\x20AND-prepending\x20a\x20single-node\x20gate.';}function hasArbitrationEvidenceLeg(a){if(!a||typeof a!=='object')return![];const b=a;if(typeof b['query']==='string'){const d=b['query'];return d['startsWith']('arb.')||d['startsWith']('order.dispute');}if(Array['isArray'](b['nodes'])){for(const e of b['nodes'])if(hasArbitrationEvidenceLeg(e))return!![];}if(b['node']&&hasArbitrationEvidenceLeg(b['node']))return!![];return![];}export function verifyAllocatorRails(a,b,c){const d=[];if(a['length']===0x0)return d;if(c?.['arbitrationBound']===!![]){const j=a['filter'](k=>k['track']==='refund'&&k['root']!==undefined&&!hasArbitrationEvidenceLeg(k['root']))['map'](k=>k['key']);j['length']>0x0&&d['push']({'code':'RAIL_RULING_WINDOW','level':'info','detail':'refund\x20rail(s)\x20['+j['join'](',\x20')+']\x20carry\x20no\x20arbitration-side\x20evidence\x20leg\x20'+'(arb.*\x20/\x20order.dispute*)\x20—\x20the\x20\x22ruled\x20but\x20unclaimed\x22\x20window\x20stays\x20open:\x20after\x20a\x20'+'buyer-favored\x20ruling\x20awards\x20compensation\x20but\x20BEFORE\x20the\x20claim/conclude\x20stamps\x20'+'order.claimed_by,\x20the\x20claimed_by-none\x20refund\x20route\x20can\x20still\x20drain\x20the\x20escrow\x20'+'(dual-track\x20overlap\x20is\x20a\x20LEGITIMATE\x20chain-allowed\x20commercial\x20shape,\x20order.move\x20'+'merchant\x27s-choice\x20note\x20—\x20disclosure,\x20not\x20a\x20violation).\x20To\x20close\x20it,\x20gate\x20the\x20rail\x20'+'on\x20ruling\x20evidence\x20(arb.indemnity\x20legs)\x20—\x20buildable\x20ONLY\x20when\x20this\x20rail\x20is\x20reachable\x20'+'exclusively\x20from\x20dispute-state\x20nodes,\x20or\x20sequence\x20the\x20edge\x20behind\x20the\x20claimed_by\x20stamp\x20'+'(tpl_forward_arb_ruling_won/dismissed\x204R-03b\x20form).\x20See\x20pattern.arb_status_escrow_holdback.'});}if(b['length']===0x0)return d;const e=b['filter'](k=>k['semanticRole']==='cancelled'||k['semanticRole']==='final'),f=b['map'](k=>({'node':k['name'],'claimed':!![]}));for(const k of a){if(k['root']===undefined)continue;const l=k['table'];findDeadLiterals(k['root'],l,k['key'],d);}for(const m of e){const n={'node':m['name'],'claimed':![]},o=a['some'](p=>satisfiable(p['table'],p['root'],n));!o&&d['push']({'code':'RAIL_TERMINAL_UNCOVERED','level':'critical','detail':'terminal\x20node\x20\x27'+m['name']+'\x27\x20(role\x20'+m['semanticRole']+')\x20has\x20NO\x20allocator\x20rail\x20'+'satisfiable\x20at\x20claimed_by=none\x20—\x20a\x20normal\x20(unclaimed)\x20order\x20reaching\x20this\x20'+'terminal\x20strands\x20its\x20escrow\x20forever\x20(azx7-mn-261014\x20CR-azx7-01:\x20refund\x20'+'rejected\x20abort\x207\x20at\x20closed_cancel/item_lost;\x20crs-mn-261014\x20F-30:\x20double-'+'negated\x20claimed_by\x20leg\x20bricked\x20the\x20refund\x20at\x20returned).\x20Guards/allocators\x20'+'freeze\x20at\x20publish\x20—\x20fix\x20the\x20rail\x20polarity/node-set\x20BEFORE\x20publishing.'});}const h=a['some'](p=>f['some'](q=>satisfiable(p['table'],p['root'],q)));!h&&d['push']({'code':'RAIL_AWARD_EXIT_MISSING','level':'critical','detail':'no\x20allocator\x20rail\x20is\x20satisfiable\x20at\x20claimed_by=some\x20on\x20ANY\x20machine\x20node\x20—\x20an\x20'+'arbitration-paid\x20order\x20has\x20NO\x20escrow\x20exit\x20(escrow-exit\x20invariant,\x20az-mn-261007).\x20'+'Pair\x20the\x20refund\x20rail\x20with\x20a\x20merchant-recovery\x20allocator\x20asserting\x20order.claimed_by\x20'+'some\x20==\x20true\x20(query\x201570)\x20on\x20the\x20post-delivery\x20node\x20set.\x20R2-05\x20DISMISSAL-STAMP\x20CAUTION\x20'+'(alg26-tn-261026\x20O11):\x20a\x20concluded\x20DISMISSAL\x20(indemnity=0)\x20ALSO\x20stamps\x20order.claimed_by\x20'+'(service.move:1703-1711\x20—\x20permissionless\x20keeper\x20conclude;\x20on\x20protocol\x20>=\x20154\x20the\x20ruled-zero\x20'+'seal\x20closes\x20claimed_by-none\x20refund\x20rails\x20BY\x20DESIGN,\x20F-BS-54/56).\x20A\x20recover\x20rail\x20discriminated\x20'+'ONLY\x20on\x20the\x20bare\x20order\x20stamp\x20routes\x20to\x20its\x20STATIC\x20recipient\x20regardless\x20of\x20the\x20ruling\x20direction\x20—\x20'+'under\x20a\x20dismissal\x20that\x20static\x20recipient\x20can\x20be\x20the\x20LOSING\x20party\x20(O11:\x20assignee\x20took\x200.15\x20after\x20'+'losing).\x20Split\x20the\x20recover\x20rail\x20by\x20arb\x20outcome\x20or\x20bind\x20its\x20recipient\x20to\x20the\x20winning\x20side\x20—\x20'+'discriminate\x20on\x20the\x20arb-side\x20award\x20(indemnity\x20>\x200\x20/\x20award-claimed\x20polarity),\x20never\x20the\x20bare\x20'+'order\x20stamp:\x20\x27claimed_by\x20some\x20⇒\x20recover-safe\x27\x20holds\x20ONLY\x20when\x20indemnity\x20>\x200.'});const i=a['filter'](p=>p['root']!==undefined);for(const p of f){const q=i['some'](u=>u['track']==='refund'&&satisfiable(u['table'],u['root'],p));if(!q)continue;const r=a['some'](u=>claimedTrueLegPasses(u,p));r&&d['push']({'code':'RAIL_POLARITY_COLLISION','level':'critical','detail':'at\x20node\x20\x27'+p['node']+'\x27\x20with\x20claimed_by=some,\x20BOTH\x20a\x20refund-track\x20rail\x20and\x20an\x20'+'award-polarity\x20rail\x20(claimed_by\x20some\x20==\x20true)\x20are\x20satisfiable\x20—\x20the\x20pairing\x20'+'can\x20double-pay\x20the\x20same\x20escrow\x20(crs-mn-261014\x20F-30:\x20the\x20double-negated\x20refund\x20'+'leg\x20passed\x20only\x20AFTER\x20the\x20award\x20paid;\x20dry-run\x20simulated\x20the\x20escrow\x20draining\x20'+'on\x20top\x20of\x20a\x20paid\x20ruling).\x20The\x20refund\x20leg\x20must\x20be\x20logic_equal[query\x20'+'\x27order.claimed_by\x20some\x27,\x20Bool\x20false]\x20—\x20never\x20logic_not(query)==false.'});}return d;}function claimedTrueLegPasses(a,b){const c=a['table'],d={'node':b['node'],'claimed':!![]};return satisfiable(c,a['root'],d)&&!satisfiable(c,a['root'],{'node':b['node'],'claimed':![]});}
1
+ import{ONCE_SLOT_BYTES,TASK_BINDING_SLOT}from'./onchain-constants.js';const SYM_NODE='progress.current',SYM_CLAIMED='order.claimed_by\x20some';function slotValue(a,b){if(b===undefined)return{'value':undefined,'isSubmission':![]};const c=a['find'](d=>d['identifier']===b);if(!c)return{'value':undefined,'isSubmission':![]};return{'value':c['value'],'isSubmission':c['b_submission']===!![]};}function classifyQueryLhs(a){if(a===SYM_NODE)return{'kind':'node'};if(a===SYM_CLAIMED)return{'kind':'claimed'};return{'kind':'unknown'};}function resolveValue(a,b){if(!b||b['type']!=='identifier')return{'known':![]};const c=slotValue(a,b['identifier']);if(c['isSubmission'])return{'known':![]};if(c['value']===undefined)return{'known':![]};return{'known':!![],'value':c['value']};}function evaluate(a,b,d){if(!b||typeof b['type']!=='string')return undefined;switch(b['type']){case'logic_and':{const e=Array['isArray'](b['nodes'])?b['nodes']:[];let f=![];for(const g of e){const h=evaluate(a,g,d);if(h===![])return![];if(h===undefined)f=!![];}return f?undefined:!![];}case'logic_or':{const i=Array['isArray'](b['nodes'])?b['nodes']:[];let j=![];for(const k of i){const l=evaluate(a,k,d);if(l===!![])return!![];if(l===undefined)j=!![];}return j?undefined:![];}case'logic_not':{const m=evaluate(a,b['node'],d);if(m===undefined)return undefined;return!m;}case'logic_equal':{const n=Array['isArray'](b['nodes'])?b['nodes']:[];if(n['length']<0x2)return undefined;const o=classifyQueryLhs(n[0x0]?.['query']),p=resolveValue(a,n[0x1]),q=o['kind']==='unknown'?classifyQueryLhs(n[0x1]?.['query']):o,r=!p['known']&&n[0x1]?.['query']!==undefined?resolveValue(a,n[0x0]):p;if(q['kind']==='node'){if(!r['known']||typeof r['value']!=='string')return undefined;return d['node']===r['value'];}if(q['kind']==='claimed'){if(!r['known']||typeof r['value']!=='boolean')return undefined;return d['claimed']===r['value'];}return undefined;}default:return undefined;}}function satisfiable(a,b,c){return evaluate(a,b,c)!==![];}function findDeadLiterals(a,b,c,d){if(!a||typeof a['type']!=='string')return;if(a['type']==='logic_and'&&Array['isArray'](a['nodes'])){const e=new Map();for(const f of a['nodes']){const g=resolvableEquality(f,b);if(g)e['set'](g['symbol'],g['value']);}for(const h of a['nodes']){const i=resolvableEquality(h,b);if(i){const k=e['get'](i['symbol']);if(k!==undefined&&k!==i['value']){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,i['symbol'],k,i['value'])});return;}continue;}const j=findClash(h,b,e);if(j){d['push']({'code':'RAIL_DEAD_LITERAL','level':'critical','detail':deadLiteralDetail(c,j['symbol'],j['pinned'],j['value'])});return;}}for(const l of a['nodes'])findDeadLiterals(l,b,c,d);return;}if(Array['isArray'](a['nodes'])){for(const m of a['nodes'])findDeadLiterals(m,b,c,d);}if(a['node'])findDeadLiterals(a['node'],b,c,d);}function resolvableEquality(c,d){if(!c||c['type']!=='logic_equal'||!Array['isArray'](c['nodes']))return undefined;for(const [e,f]of[[c['nodes'][0x0],c['nodes'][0x1]],[c['nodes'][0x1],c['nodes'][0x0]]]){if(!e||typeof e['query']!=='string')continue;const g=classifyQueryLhs(e['query']);if(g['kind']==='unknown')continue;const h=resolveValue(d,f);if(!h['known'])continue;return{'symbol':g['kind']==='node'?SYM_NODE:SYM_CLAIMED,'value':h['value']};}return undefined;}function findClash(a,b,c){if(!a||typeof a['type']!=='string')return undefined;if(a['type']==='logic_not')return undefined;const d=resolvableEquality(a,b);if(d){const e=c['get'](d['symbol']);if(e!==undefined&&e!==d['value'])return{'symbol':d['symbol'],'pinned':e,'value':d['value']};return undefined;}if(Array['isArray'](a['nodes']))for(const f of a['nodes']){const g=findClash(f,b,c);if(g)return g;}if(a['node'])return findClash(a['node'],b,c);return undefined;}function deadLiteralDetail(a,b,c,d){return'allocator\x20guard\x20\x27'+a+'\x27:\x20one\x20conjunction\x20scope\x20carries\x20'+b+'\x20'+('==\x20'+JSON['stringify'](c)+'\x20and\x20ALSO\x20'+b+'\x20==\x20'+JSON['stringify'](d)+'\x20—\x20the\x20second\x20')+'literal\x20contradicts\x20the\x20first\x20and\x20is\x20a\x20DEAD\x20literal\x20(azx7-mn-261014\x20CR-azx7-01:\x20a\x20pinned\x20'+'node\x20equality\x20made\x20the\x20sibling\x20closed_cancel/item_lost\x20legs\x20unreachable,\x20stranding\x20the\x20'+'escrow\x20at\x20every\x20other\x20terminal).\x20Hoist\x20the\x20node\x20predicate\x20to\x20ONE\x20top-level\x20n-ary\x20logic_or\x20'+'instead\x20of\x20AND-prepending\x20a\x20single-node\x20gate.';}export function hasCallerIdentityLeg(a){let b=![];const c=d=>{if(b||d===null||typeof d!=='object')return;if(Array['isArray'](d)){for(const f of d)c(f);return;}const e=d;if(e['type']==='context'&&e['context']==='Signer'){b=!![];return;}if(typeof e['query']==='string'){const g=e['query']['toLowerCase']();if(g['startsWith']('context')||g['includes']('signer'))b=!![];else{if(/order\.agent|permission\.(owner|admin)|named.?operator/['test'](g))b=!![];}}if(!b){for(const h of Object['keys'](e))c(e[h]);}};return c(a),b;}function claimedAxisSensitive(a,b){const c=a['table'];return satisfiable(c,a['root'],{'node':b,'claimed':!![]})!==satisfiable(c,a['root'],{'node':b,'claimed':![]});}export function verifyAllocatorRails(a,b,c){const d=[];if(a['length']===0x0)return d;{const j=c?.['declaredKeys'],k=[],l=[],m=[];for(const n of a){if(n['root']===undefined||hasCallerIdentityLeg(n['root']))continue;const o=n['track']==='settlement'||n['track']==='refund'||n['recoverTwin']===!![];if(!o){m['push'](n['key']);continue;}if(j?.['has'](n['key']))l['push'](n);else k['push'](n);}for(const q of k){d['push']({'code':'RAIL_NO_CALLER_IDENTITY_BOUND','level':'critical','railKey':q['key'],'detail':'allocator\x20rail\x20\x27'+q['key']+'\x27\x20('+q['track']+'\x20track'+((q['recoverTwin']===!![]?',\x20merchant-recovery\x20twin':'')+')\x20carries\x20NO\x20caller-identity\x20leg\x20')+'(no\x20context(Signer)\x20comparison,\x20no\x20order.agent\x20has\x20/\x20permission.*\x20/\x20named-operator\x20query\x20'+'resolving\x20the\x20caller)\x20—\x20ANY\x20address\x20whose\x20tx\x20reaches\x20the\x20allocator\x20can\x20trigger\x20this\x20route\x20'+'(ks11:\x20an\x20unexpected\x20account\x20swept\x20a\x20merchant-recovery\x20payout\x20and\x20doubled\x20the\x20allocation\x20draw).\x20'+'Money\x20rails\x20are\x20not\x20forwards\x20—\x20the\x20chain\x20injects\x20no\x20caller\x20rail\x20on\x20them,\x20so\x20the\x20guard\x20IS\x20the\x20'+'only\x20gate.\x20Bind\x20the\x20caller\x20per\x20pattern.identity_check_order_holder\x20(order.owner/agent,\x20host\x20'+'machine_forward)\x20or\x20pattern.repository_write_authorization\x20(permission-resolved,\x20host\x20'+'service_allocator_guard);\x20see\x20guard-host-context.ts\x20for\x20the\x20per-host\x20signer\x20semantics\x20—\x20the\x20'+'caller\x20of\x20an\x20allocator\x20gate\x20is\x20the\x20SETTLEMENT\x20TRIGGERER,\x20not\x20the\x20order\x20owner,\x20so\x20a\x20'+'forward-edge\x20identity\x20guard\x20pasted\x20here\x20checks\x20the\x20WRONG\x20subject.\x20A\x20deliberately\x20legless\x20'+'rail\x20(the\x20merchant-recovery\x20sweep\x20face:\x20payee\x20bound\x20by\x20the\x20paired\x20allocator\x20row,\x20'+'permissionless\x20keeper\x20firing)\x20must\x20carry\x20an\x20explicit\x20declare\x20—\x20guard_resolutions\x20'+'{kind:\x27declare\x27,\x20reason}\x20or\x20the\x20template\x27s\x20identity_leg_exempt\x20—\x20and\x20then\x20ships\x20with\x20a\x20'+'permanent\x20non-blocking\x20disclosure\x20instead\x20of\x20this\x20block.'});}for(const r of l){d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','railKey':r['key'],'detail':'allocator\x20rail\x20\x27'+r['key']+'\x27\x20carries\x20no\x20caller-identity\x20leg\x20and\x20ships\x20under\x20an\x20explicit\x20'+'declare\x20exemption\x20({kind:\x27declare\x27}\x20/\x20identity_leg_exempt):\x20the\x20legless\x20shape\x20is\x20the\x20'+'sanctioned\x20merchant-recovery\x20face\x20—\x20the\x20payee\x20is\x20bound\x20by\x20the\x20paired\x20allocator\x20row,\x20never\x20'+'by\x20the\x20caller.\x20This\x20receipt\x20rides\x20the\x20plan\x20notes\x20and\x20is\x20re-surfaced\x20at\x20publish;\x20it\x20never\x20blocks.'});}m['length']>0x0&&d['push']({'code':'RAIL_NO_CALLER_IDENTITY','level':'info','detail':'allocator\x20rail(s)\x20['+m['join'](',\x20')+']\x20carry\x20no\x20caller-identity\x20leg\x20'+'(no\x20context(Signer)\x20comparison,\x20no\x20order.agent\x20has\x20/\x20permission.*\x20/\x20named-operator\x20'+'query\x20resolving\x20the\x20caller)\x20—\x20ANY\x20address\x20whose\x20tx\x20reaches\x20the\x20allocator\x20can\x20'+'trigger\x20this\x20settlement\x20route\x20(sahr:\x20a\x20bystander\x20accelerated\x20another\x20party\x27s\x20'+'payout).\x20LEGITIMATE\x20when\x20the\x20scene\x20verifies\x20identity\x20upstream\x20(verifier_level\x20'+'level3_scene_combined)\x20or\x20the\x20venue\x20is\x20intentionally\x20open-trigger;\x20otherwise\x20bind\x20'+'the\x20caller\x20per\x20pattern.identity_check_order_holder\x20(order.owner/agent,\x20host\x20'+'machine_forward)\x20or\x20pattern.repository_write_authorization\x20(permission-resolved,\x20'+'host\x20service_allocator_guard).\x20See\x20guard-host-context.ts\x20for\x20the\x20per-host\x20signer\x20'+'semantics\x20—\x20the\x20caller\x20of\x20an\x20allocator\x20gate\x20is\x20the\x20SETTLEMENT\x20TRIGGERER,\x20not\x20the\x20'+'order\x20owner,\x20so\x20a\x20forward-edge\x20identity\x20guard\x20pasted\x20here\x20checks\x20the\x20WRONG\x20subject.'});}for(const u of a){if(u['track']!=='refund'||u['root']===undefined)continue;const v=u['table']['some'](w=>w['identifier']===TASK_BINDING_SLOT||w['identifier']===ONCE_SLOT_BYTES);if(v)continue;d['push']({'code':'REFUND_RAIL_REPLAY_DISCLOSURE','level':'info','railKey':u['key'],'detail':'refund\x20rail\x20\x27'+u['key']+'\x27\x20carries\x20no\x20once-key\x20row\x20(no\x20per-order\x20254\x20anchor,\x20no\x20per-period\x20255\x20key):\x20'+'the\x20refund\x20leg\x20stays\x20re-triggerable\x20on\x20its\x20node\x20state\x20across\x20the\x20order\x27s\x20life.\x20This\x20is\x20the\x20'+'SANCTIONED\x20shape\x20—\x20the\x20once-key\x20injection\x20is\x20deliberately\x20banned\x20on\x20refund\x20tracks\x20(a\x20refund\x20may\x20'+'fire\x20on\x20several\x20terminal\x20legs;\x20a\x20per-order\x20once\x20anchor\x20deadlocks\x20the\x20second\x20leg),\x20so\x20the\x20'+'replay\x20surface\x20is\x20disclosed,\x20not\x20gated.\x20Replay\x20cannot\x20redirect\x20funds:\x20the\x20recipient\x20binding\x20pins\x20'+'every\x20payout\x20to\x20the\x20paying\x20order,\x20and\x20balance\x20exhaustion\x20bounds\x20repetition\x20—\x20a\x20firing\x20aborts\x20on\x20'+'zero/insufficient\x20balance\x20once\x20the\x20pool\x20can\x20no\x20longer\x20fund\x20the\x20group\x20(a\x20Rate\x20group\x20summing\x20to\x20'+'10000\x20empties\x20the\x20pool\x20on\x20the\x20first\x20payout;\x20an\x20Amount-shaped\x20group\x20repeats\x20until\x20the\x20balance\x20'+'runs\x20below\x20the\x20fixed\x20leg).'});}if(b['length']===0x0)return d;const e=b['filter'](w=>w['semanticRole']==='cancelled'||w['semanticRole']==='final'),f=b['map'](w=>({'node':w['name'],'claimed':!![]}));for(const w of a){if(w['root']===undefined)continue;const x=w['table'];findDeadLiterals(w['root'],x,w['key'],d);}for(const y of e){const z=[{'node':y['name'],'claimed':![]}];for(const B of y['fromNodes']??[])z['push']({'node':B,'claimed':![]});const A=a['some'](C=>z['some'](D=>satisfiable(C['table'],C['root'],D)));!A&&d['push']({'code':'RAIL_TERMINAL_UNCOVERED','level':'critical','detail':'terminal\x20node\x20\x27'+y['name']+'\x27\x20(role\x20'+y['semanticRole']+')\x20has\x20NO\x20allocator\x20rail\x20'+'satisfiable\x20on\x20it\x20or\x20its\x20direct\x20predecessors\x20—\x20an\x20order\x20reaching\x20this\x20terminal\x20'+'strands\x20its\x20escrow\x20forever\x20(azx7-mn-261014\x20CR-azx7-01:\x20refund\x20'+'rejected\x20with\x20the\x20allocation\x20EINSUFFICIENT_BALANCE\x20abort\x20at\x20closed_cancel/item_lost;\x20crs-mn-261014\x20F-30:\x20a\x20double-'+'negated\x20claimed_by\x20leg\x20—\x20a\x20banned\x20shape\x20since\x20decision\x2011\x20—\x20bricked\x20the\x20refund\x20at\x20returned).\x20'+'Guards/allocators\x20freeze\x20at\x20publish\x20—\x20fix\x20the\x20rail\x27s\x20NODE-SET\x20before\x20publishing\x20'+'(decision\x2011:\x20exits\x20are\x20node-gated;\x20there\x20is\x20no\x20claimed_by\x20polarity\x20leg\x20to\x20fall\x20back\x20on).'});}const h=a['some'](C=>f['some'](D=>satisfiable(C['table'],C['root'],D)));!h&&d['push']({'code':'RAIL_AWARD_EXIT_MISSING','level':'critical','detail':'no\x20allocator\x20rail\x20is\x20satisfiable\x20on\x20ANY\x20machine\x20node\x20—\x20every\x20order\x20state\x20'+'(awarded\x20or\x20not)\x20strands\x20its\x20escrow\x20(escrow-exit\x20invariant,\x20az-mn-261007).\x20'+'Decision\x2011\x20two-rail\x20independence:\x20exits\x20are\x20NODE-GATED\x20—\x20an\x20awarded\x20order\x20exits\x20'+'through\x20the\x20SAME\x20terminal\x20rails\x20as\x20any\x20other\x20order\x20(its\x20award\x20is\x20a\x20separate\x20'+'commercial\x20indemnity;\x20a\x20claimed_by\x20gate\x20would\x20be\x20the\x20RAIL_CLAIMED_BY_LEG\x20violation,\x20'+'not\x20the\x20cure).\x20Partition\x20the\x20terminals\x20between\x20a\x20refund/settle\x20rail\x20and\x20a\x20'+'merchant-side\x20recovery\x20sweep\x20(tpl_allocator_node_gate_recover,\x20terminal-node-gated).\x20'+'Historical\x20(O11,\x20alg26-tn-261026):\x20a\x20recover\x20rail\x20keyed\x20on\x20the\x20bare\x20claimed_by\x20stamp\x20'+'routed\x20a\x20dismissal\x20to\x20the\x20LOSING\x20party\x20—\x20that\x20polarity\x20shape\x20is\x20banned\x20since\x20decision\x2011.'});const i=a['filter'](C=>C['root']!==undefined);{const C=new Set();for(const D of b){for(const E of i){if(claimedAxisSensitive(E,D['name']))C['add'](E['key']);}}C['size']>0x0&&d['push']({'code':'RAIL_CLAIMED_BY_LEG','level':'critical','detail':'allocator\x20rail(s)\x20['+[...C]['join'](',\x20')+']\x20flip\x20on\x20the\x20order.claimed_by\x20axis\x20—\x20'+'a\x20fund\x20rail\x20READS\x20the\x20arbitration\x20payout\x20stamp\x20(decision\x2011\x20two-rail\x20independence\x20violation;\x20'+'mirrors\x20R-FUND-RAIL-CLAIMED-BY).\x20The\x20fund\x20track\x20completes\x20by\x20ORDER-LEVEL\x20NODE\x20STATE:\x20gate\x20the\x20'+'rail\x20on\x20progress.current\x20node\x20sets\x20(refund/settle\x20faces),\x20partition\x20the\x20terminals\x20with\x20a\x20'+'terminal-node-gated\x20recovery\x20sweep\x20(tpl_allocator_node_gate_recover),\x20and\x20let\x20the\x20arbitrator\x20'+'rule\x20on\x20the\x20order\x27s\x20state\x20and\x20fund\x20destinations\x20—\x20a\x20double\x20collection\x20(settle+indemnity,\x20'+'refund+bounty)\x20is\x20a\x20legal\x20commercial\x20outcome\x20disclosed\x20at\x20the\x20MCP\x20confirmation\x20gate.\x20'+'Historical:\x20the\x20INV-C1\x20polarity\x20pair\x20(refund\x20some==false\x20/\x20recover\x20some==true)\x20was\x20the\x20old\x20'+'cure\x20and\x20the\x20W5-01\x20direction-blind\x20bug\x27s\x20cause\x20—\x20both\x20legs\x20were\x20removed\x20template-wide.'});}return d;}
@@ -20,6 +20,7 @@ export interface OrderFundFacts {
20
20
  amount: string;
21
21
  time: string | number;
22
22
  remark?: string;
23
+ released_to?: "order" | "other" | "mixed";
23
24
  }[];
24
25
  escrow_payouts_after_case: {
25
26
  payment: string;
@@ -1 +1 @@
1
- import{batchQueryObjectsByIds}from'../graph/onchain/sdk-batch.js';const PAYMENT_HISTORY_CAP=0x5;function asBigIntOrUndefined(a){try{if(typeof a==='bigint')return a;if(typeof a==='number'&&Number['isFinite'](a))return BigInt(Math['trunc'](a));if(typeof a==='string'&&a['trim']()!=='')return BigInt(a);}catch{}return undefined;}function asMsOrUndefined(a){if(typeof a==='number'&&Number['isFinite'](a))return a;if(typeof a==='string'&&/^\d+$/['test'](a['trim']()))return Number(a['trim']());return undefined;}function pickData(a){return a?.['data']??a;}function pickAddr(a){return a?.['object']??a?.['data']?.['object']??a?.['id'];}function rawVersion(a){const b=a?.['version']??a?.['data']?.['version'];return b===undefined||b===null||String(b)===''?undefined:String(b);}const READ_CONSISTENCY='live\x20read\x20(cache\x20bypassed);\x20a\x20read\x20issued\x20in\x20the\x20same\x20second\x20as\x20a\x20committing\x20transaction\x20can\x20trail\x20the\x20committed\x20effect\x20by\x20one\x20checkpoint\x20—\x20if\x20any\x20field\x20contradicts\x20a\x20transaction\x20just\x20submitted,\x20re-query\x20once\x20(compare\x20object_versions\x20across\x20the\x20two\x20reads)\x20before\x20concluding';export async function buildOrderFundFacts(b){const c=b['noCache']??!![];let d,e,f,g,h,i;if(b['arbRef']){const I=await batchQueryObjectsByIds([b['arbRef']],b['network'],c),J=I['find'](L=>pickData(L)?.['type']==='Arb'||pickData(L)?.['order']),K=pickData(J);i=rawVersion(J),K?.['order']&&typeof K['order']==='string'&&(d=K['order'],e=pickAddr(J),f=typeof K['status']==='number'?K['status']:undefined,g=K['indemnity']?.['amount']??null,h=K['time']);}if(!d&&b['orderRef'])d=b['orderRef'];if(!d)return undefined;const j=await batchQueryObjectsByIds([d],b['network'],c),k=pickData(j[0x0]);if(!k||k['amount']===undefined)return undefined;const l=rawVersion(j[0x0]),m=[];if(typeof k['allocation']==='string'&&k['allocation'])m['push'](k['allocation']);if(typeof k['progress']==='string'&&k['progress'])m['push'](k['progress']);const n=m['length']>0x0?await batchQueryObjectsByIds(m,b['network'],c):[],q=new Map();for(const L of n){const M=pickAddr(L);if(M)q['set'](M['toLowerCase'](),L);}const r=k['allocation']?q['get'](String(k['allocation'])['toLowerCase']()):undefined,s=pickData(r),u=k['progress']?q['get'](String(k['progress'])['toLowerCase']()):undefined,v=pickData(u),x=rawVersion(r),y=rawVersion(u),z=[],A=Array['isArray'](s?.['payment'])?s['payment']['slice'](-PAYMENT_HISTORY_CAP):[];if(A['length']>0x0){const N=await batchQueryObjectsByIds(A,b['network'],c),O=new Map();for(const P of N){const Q=pickAddr(P);if(Q)O['set'](Q['toLowerCase'](),P);}for(const R of A){const S=pickData(O['get'](String(R)['toLowerCase']()));if(!S)continue;z['push']({'payment':R,'amount':String(S['amount']??'0'),'time':S['time']??'',...S['info']?.['remark']?{'remark':String(S['info']['remark'])}:{}});}}const B=asBigIntOrUndefined(k['amount'])??0x0n,C=s?asBigIntOrUndefined(s['balance']):undefined,D=C!==undefined?B-C:undefined,E=asMsOrUndefined(h),F=[];if(E!==undefined)for(const T of z){const U=asMsOrUndefined(T['time']);U!==undefined&&U>E&&F['push']({'payment':T['payment'],'amount':T['amount'],'time':T['time']});}const G={...e?{'arb_case':e}:{},...f!==undefined?{'arb_status':f}:{},...g!==undefined?{'arb_indemnity':g}:{},'order':d,'order_amount':String(k['amount']),'claimed_by':typeof k['claimed_by']==='string'?k['claimed_by']:null,'progress_node':typeof v?.['current']==='string'&&v['current']!==''?v['current']:null,'allocation':typeof k['allocation']==='string'&&k['allocation']?k['allocation']:null,'allocation_balance':C!==undefined?String(C):null,'escrow_deficit':D!==undefined?String(D):null,'withdraw_history':z,'escrow_payouts_after_case':F,'object_versions':{...i?{'arb_case':i}:{},...l?{'order':l}:{},...x?{'allocation':x}:{},...y?{'progress':y}:{}},'read_consistency':READ_CONSISTENCY,...k['time']!==undefined?{'order_time':k['time']}:{},...h!==undefined?{'case_time':h}:{}},H=['ORDER\x20FUND\x20FACTS\x20(raw\x20units,\x20live\x20read):'];H['push']('-\x20freshness:\x20'+READ_CONSISTENCY),H['push']('-\x20order\x20'+d+':\x20amount='+G['order_amount']);G['allocation']?H['push']('-\x20escrow\x20allocation\x20'+G['allocation']+':\x20balance='+G['allocation_balance']+'\x20(deficit\x20vs\x20amount:\x20'+G['escrow_deficit']+')'):H['push']('-\x20escrow\x20allocation:\x20none\x20(zero-amount\x20order\x20carries\x20no\x20escrow)');H['push']('-\x20compensation\x20claimed_by:\x20'+(G['claimed_by']??'null\x20(unclaimed)')),H['push']('-\x20workflow\x20node:\x20'+(G['progress_node']??'(none)'));if(z['length']>0x0){H['push']('-\x20escrow\x20payouts\x20so\x20far\x20('+z['length']+(A['length']===PAYMENT_HISTORY_CAP?'+':'')+'):');for(const V of z){H['push']('\x20\x20*\x20'+V['amount']+'\x20at\x20'+V['time']+(V['remark']?'\x20—\x20'+V['remark']:'')+'\x20['+V['payment']+']');}}return D!==undefined&&D>0x0n&&H['push']('NET\x20GUIDANCE:\x20the\x20escrow\x20has\x20already\x20paid\x20out\x20'+D+'\x20raw\x20units\x20more\x20than\x20it\x20holds\x20—\x20'+'if\x20the\x20buyer\x20was\x20refunded\x20through\x20the\x20escrow\x20track\x20before\x20filing,\x20net\x20the\x20indemnity\x20against\x20the\x20refunded\x20principal;\x20'+'compensate\x20the\x20delta,\x20not\x20the\x20full\x20loss.'),G['claimed_by']&&H['push']('NOTE:\x20claimed_by\x20is\x20set\x20—\x20the\x20order\x20has\x20already\x20marked\x20a\x20compensation\x20claim;\x20a\x20further\x20ruling\x20pays\x20on\x20top\x20of\x20any\x20escrow\x20payout.'),F['length']>0x0&&H['push']('ESCROW\x20MOVED\x20DURING\x20THE\x20CASE:\x20'+F['length']+'\x20payout(s)\x20landed\x20after\x20the\x20case\x20was\x20filed\x20'+('(first:\x20'+F[0x0]['amount']+'\x20raw\x20at\x20'+F[0x0]['time']+').\x20')+'Reconcile\x20each\x20with\x20the\x20ruling\x20direction\x20—\x20a\x20sweep\x20that\x20contradicts\x20the\x20award\x20(e.g.\x20a\x20merchant\x20recover\x20on\x20a\x20'+'buyer-favorable\x20ruling)\x20belongs\x20in\x20the\x20ruling\x20text\x20and\x20the\x20parties\x27\x20statements,\x20never\x20in\x20a\x20silent\x20pass.'),H['push']('DUAL-TRACK\x20REMINDER:\x20the\x20escrow\x20track\x20(refund\x20/\x20recover\x20allocators)\x20and\x20this\x20arbitration\x20are\x20INDEPENDENT\x20'+'commercial\x20routes\x20—\x20the\x20protocol\x20deliberately\x20does\x20not\x20couple\x20them,\x20and\x20neither\x20blocks\x20the\x20other.\x20Both\x20are\x20'+'observable\x20here:\x20re-read\x20these\x20facts\x20before\x20you\x20finalize\x20the\x20ruling\x20and\x20again\x20before\x20the\x20indemnity\x20is\x20claimed;\x20'+'an\x20escrow\x20movement\x20that\x20lands\x20after\x20the\x20award\x20is\x20visible\x20in\x20the\x20payout\x20history\x20above.'),{'structured':G,'text':H['join']('\x0a')};}
1
+ import{batchQueryObjectsByIds}from'../graph/onchain/sdk-batch.js';const PAYMENT_HISTORY_CAP=0x5;function asBigIntOrUndefined(a){try{if(typeof a==='bigint')return a;if(typeof a==='number'&&Number['isFinite'](a))return BigInt(Math['trunc'](a));if(typeof a==='string'&&a['trim']()!=='')return BigInt(a);}catch{}return undefined;}function asMsOrUndefined(a){if(typeof a==='number'&&Number['isFinite'](a))return a;if(typeof a==='string'&&/^\d+$/['test'](a['trim']()))return Number(a['trim']());return undefined;}function pickData(a){return a?.['data']??a;}function pickAddr(a){return a?.['object']??a?.['data']?.['object']??a?.['id'];}function releasedTo(a,b){const c=Array['isArray'](a?.['record'])?a['record']:[];if(c['length']===0x0)return undefined;const d=b['toLowerCase']();let e=![],f=![];for(const g of c){const h=typeof g==='string'?g:g?.['recipient']??g?.['to'];if(typeof h!=='string'||h['trim']()==='')return undefined;if(h['toLowerCase']()===d)e=!![];else f=!![];}if(e&&f)return'mixed';return e?'order':'other';}function rawVersion(a){const b=a?.['version']??a?.['data']?.['version'];return b===undefined||b===null||String(b)===''?undefined:String(b);}const READ_CONSISTENCY='live\x20read\x20(cache\x20bypassed);\x20a\x20read\x20issued\x20in\x20the\x20same\x20second\x20as\x20a\x20committing\x20transaction\x20can\x20trail\x20the\x20committed\x20effect\x20by\x20one\x20checkpoint\x20—\x20if\x20any\x20field\x20contradicts\x20a\x20transaction\x20just\x20submitted,\x20re-query\x20once\x20(compare\x20object_versions\x20across\x20the\x20two\x20reads)\x20before\x20concluding';export async function buildOrderFundFacts(b){const c=b['noCache']??!![];let d,e,f,g,h,i;if(b['arbRef']){const I=await batchQueryObjectsByIds([b['arbRef']],b['network'],c),J=I['find'](L=>pickData(L)?.['type']==='Arb'||pickData(L)?.['order']),K=pickData(J);i=rawVersion(J),K?.['order']&&typeof K['order']==='string'&&(d=K['order'],e=pickAddr(J),f=typeof K['status']==='number'?K['status']:undefined,g=K['indemnity']?.['amount']??null,h=K['time']);}if(!d&&b['orderRef'])d=b['orderRef'];if(!d)return undefined;const j=await batchQueryObjectsByIds([d],b['network'],c),k=pickData(j[0x0]);if(!k||k['amount']===undefined)return undefined;const l=rawVersion(j[0x0]),m=[];if(typeof k['allocation']==='string'&&k['allocation'])m['push'](k['allocation']);if(typeof k['progress']==='string'&&k['progress'])m['push'](k['progress']);const n=m['length']>0x0?await batchQueryObjectsByIds(m,b['network'],c):[],q=new Map();for(const L of n){const M=pickAddr(L);if(M)q['set'](M['toLowerCase'](),L);}const r=k['allocation']?q['get'](String(k['allocation'])['toLowerCase']()):undefined,s=pickData(r),u=k['progress']?q['get'](String(k['progress'])['toLowerCase']()):undefined,v=pickData(u),x=rawVersion(r),y=rawVersion(u),z=[],A=Array['isArray'](s?.['payment'])?s['payment']['slice'](-PAYMENT_HISTORY_CAP):[];if(A['length']>0x0){const N=await batchQueryObjectsByIds(A,b['network'],c),O=new Map();for(const P of N){const Q=pickAddr(P);if(Q)O['set'](Q['toLowerCase'](),P);}for(const R of A){const S=pickData(O['get'](String(R)['toLowerCase']()));if(!S)continue;z['push']({'payment':R,'amount':String(S['amount']??'0'),'time':S['time']??'',...S['info']?.['remark']?{'remark':String(S['info']['remark'])}:{},...releasedTo(S,String(d))?{'released_to':releasedTo(S,String(d))}:{}});}}const B=asBigIntOrUndefined(k['amount'])??0x0n,C=s?asBigIntOrUndefined(s['balance']):undefined,D=C!==undefined?B-C:undefined,E=asMsOrUndefined(h),F=[];if(E!==undefined)for(const T of z){const U=asMsOrUndefined(T['time']);U!==undefined&&U>E&&F['push']({'payment':T['payment'],'amount':T['amount'],'time':T['time']});}const G={...e?{'arb_case':e}:{},...f!==undefined?{'arb_status':f}:{},...g!==undefined?{'arb_indemnity':g}:{},'order':d,'order_amount':String(k['amount']),'claimed_by':typeof k['claimed_by']==='string'?k['claimed_by']:null,'progress_node':typeof v?.['current']==='string'&&v['current']!==''?v['current']:null,'allocation':typeof k['allocation']==='string'&&k['allocation']?k['allocation']:null,'allocation_balance':C!==undefined?String(C):null,'escrow_deficit':D!==undefined?String(D):null,'withdraw_history':z,'escrow_payouts_after_case':F,'object_versions':{...i?{'arb_case':i}:{},...l?{'order':l}:{},...x?{'allocation':x}:{},...y?{'progress':y}:{}},'read_consistency':READ_CONSISTENCY,...k['time']!==undefined?{'order_time':k['time']}:{},...h!==undefined?{'case_time':h}:{}},H=['ORDER\x20FUND\x20FACTS\x20(raw\x20units,\x20live\x20read):'];H['push']('-\x20freshness:\x20'+READ_CONSISTENCY),H['push']('-\x20order\x20'+d+':\x20amount='+G['order_amount']);G['allocation']?H['push']('-\x20escrow\x20allocation\x20'+G['allocation']+':\x20balance='+G['allocation_balance']+'\x20(deficit\x20vs\x20amount:\x20'+G['escrow_deficit']+')'):H['push']('-\x20escrow\x20allocation:\x20none\x20(zero-amount\x20order\x20carries\x20no\x20escrow)');H['push']('-\x20compensation\x20claimed_by:\x20'+(G['claimed_by']??'null\x20(unclaimed)')),H['push']('-\x20workflow\x20node:\x20'+(G['progress_node']??'(none)'));if(z['length']>0x0){H['push']('-\x20escrow\x20payouts\x20so\x20far\x20('+z['length']+(A['length']===PAYMENT_HISTORY_CAP?'+':'')+'):');for(const V of z){const W=V['released_to']==='order'?'\x20→\x20order\x20(buyer-side\x20refund)':V['released_to']==='other'?'\x20→\x20NOT\x20the\x20order\x20(merchant/Entity\x20side)':V['released_to']==='mixed'?'\x20→\x20split\x20order\x20+\x20other\x20recipients':'';H['push']('\x20\x20*\x20'+V['amount']+'\x20at\x20'+V['time']+W+(V['remark']?'\x20—\x20'+V['remark']:'')+'\x20['+V['payment']+']');}}if(D!==undefined&&D>0x0n){const X=z['some'](a0=>a0['released_to']===undefined),Y=z['length']>0x0&&z['every'](a0=>a0['released_to']==='order'),Z=z['some'](a0=>a0['released_to']==='other'||a0['released_to']==='mixed');if(Y)H['push']('NET\x20GUIDANCE:\x20the\x20escrow\x20has\x20already\x20paid\x20out\x20'+D+'\x20raw\x20units\x20to\x20the\x20ORDER\x20(buyer-side\x20refund\x20rail,\x20'+'per\x20payout\x20records)\x20—\x20net\x20the\x20indemnity\x20against\x20the\x20refunded\x20principal;\x20compensate\x20the\x20delta,\x20not\x20the\x20full\x20loss.');else Z?H['push']('NET\x20GUIDANCE:\x20the\x20escrow\x20paid\x20out\x20'+D+'\x20raw\x20units\x20but\x20at\x20least\x20one\x20payout\x20went\x20to\x20NON-order\x20recipients\x20'+'(merchant/Entity\x20side\x20—\x20settlement\x20or\x20recover).\x20The\x20buyer\x20received\x20nothing\x20from\x20those;\x20their\x20loss\x20is\x20the\x20FULL\x20'+'price\x20and\x20the\x20indemnity\x20must\x20NOT\x20be\x20reduced\x20by\x20this\x20deficit.'):H['push']('NET\x20GUIDANCE:\x20the\x20escrow\x20has\x20already\x20paid\x20out\x20'+D+'\x20raw\x20units\x20more\x20than\x20it\x20holds'+((X?'\x20(payout\x20polarity\x20unknown\x20for\x20at\x20least\x20one\x20payout\x20—\x20records\x20unreadable)':'')+'.\x20')+'Polarity\x20decides\x20the\x20netting:\x20refunded\x20TO\x20THE\x20ORDER\x20(buyer\x20rail)\x20→\x20net\x20the\x20indemnity\x20against\x20the\x20refunded\x20principal,\x20'+'compensate\x20the\x20delta;\x20released\x20to\x20the\x20MERCHANT\x20side\x20→\x20the\x20buyer\x27s\x20loss\x20is\x20the\x20full\x20price,\x20do\x20NOT\x20reduce\x20the\x20award.\x20'+'Read\x20the\x20Payment\x20records\x20before\x20deciding.');}return G['claimed_by']&&H['push']('NOTE:\x20claimed_by\x20is\x20set\x20—\x20the\x20order\x20has\x20already\x20marked\x20a\x20compensation\x20claim;\x20a\x20further\x20ruling\x20pays\x20on\x20top\x20of\x20any\x20escrow\x20payout.'),F['length']>0x0&&H['push']('ESCROW\x20MOVED\x20DURING\x20THE\x20CASE:\x20'+F['length']+'\x20payout(s)\x20landed\x20after\x20the\x20case\x20was\x20filed\x20'+('(first:\x20'+F[0x0]['amount']+'\x20raw\x20at\x20'+F[0x0]['time']+').\x20')+'Reconcile\x20each\x20with\x20the\x20ruling\x20direction\x20—\x20a\x20sweep\x20that\x20contradicts\x20the\x20award\x20(e.g.\x20a\x20merchant\x20recover\x20on\x20a\x20'+'buyer-favorable\x20ruling)\x20belongs\x20in\x20the\x20ruling\x20text\x20and\x20the\x20parties\x27\x20statements,\x20never\x20in\x20a\x20silent\x20pass.'),H['push']('DUAL-TRACK\x20REMINDER:\x20the\x20escrow\x20track\x20(refund\x20/\x20recover\x20allocators)\x20and\x20this\x20arbitration\x20are\x20INDEPENDENT\x20'+'commercial\x20routes\x20—\x20the\x20protocol\x20deliberately\x20does\x20not\x20couple\x20them,\x20and\x20neither\x20blocks\x20the\x20other.\x20Both\x20are\x20'+'observable\x20here:\x20re-read\x20these\x20facts\x20before\x20you\x20finalize\x20the\x20ruling\x20and\x20again\x20before\x20the\x20indemnity\x20is\x20claimed;\x20'+'an\x20escrow\x20movement\x20that\x20lands\x20after\x20the\x20award\x20is\x20visible\x20in\x20the\x20payout\x20history\x20above.'),{'structured':G,'text':H['join']('\x0a')};}
@@ -1 +1 @@
1
- export const ARB_STATUS_CODE={'Principal_confirming':0x0,'Arbitrator_confirming':0x1,'Voting':0x2,'Arbitrated':0x3,'Objectionable':0x4,'Finished':0x5,'Withdrawn':0x6};export const ARB_TERMINAL_STATUSES=['Finished','Withdrawn'];export const ARB_STATUS_ALIASES={'created':'Principal_confirming','voting':'Voting','feedback':'Arbitrator_confirming','confirmed':'Arbitrated','completed':'Finished','reset':'Objectionable','disputed':'Withdrawn'};export const ARBITRATION_PERMISSIONS=[{'index':0x15e,'name':'ARBITRATION_NEW','description':'Create\x20new\x20Arbitration\x20object','governed_operations':['create\x20a\x20new\x20arbitration\x20service']},{'index':0x15f,'name':'ARBITRATION_DESCRIPTION','description':'Modify\x20Arbitration\x20description','governed_operations':['modify\x20the\x20arbitration\x20description']},{'index':0x160,'name':'ARBITRATION_ENDPOINT','description':'Reserved\x20placeholder\x20—\x20not\x20used\x20on-chain\x20(SDK\x20commented\x20out)','governed_operations':[],'is_reserved':!![]},{'index':0x161,'name':'ARBITRATION_LOCATION','description':'Set\x20Arbitration\x20location','governed_operations':['set\x20the\x20arbitration\x20location']},{'index':0x162,'name':'ARBITRATION_VOTING_GUARD','description':'Manage\x20voting_guard\x20list\x20(add\x20/\x20remove\x20/\x20clear)\x20—\x20controls\x20vote\x20weight','governed_operations':['add\x20a\x20passport-identifier\x20voting\x20guard\x20(dynamic\x20weight)','add\x20a\x20fixed-weight\x20voting\x20guard','remove\x20a\x20voting\x20guard','clear\x20the\x20voting\x20guard\x20list']},{'index':0x163,'name':'ARBITRATION_USAGE_GUARD','description':'Set\x20/\x20clear\x20usage_guard\x20—\x20controls\x20who\x20can\x20file\x20disputes','governed_operations':['set\x20the\x20usage\x20guard\x20(restrict\x20who\x20can\x20file\x20disputes)','clear\x20the\x20usage\x20guard']},{'index':0x164,'name':'ARBITRATION_PAUSE','description':'Pause\x20/\x20resume\x20Arbitration\x20(bPaused\x20default\x20true)','governed_operations':['pause/resume\x20the\x20arbitration\x20service']},{'index':0x165,'name':'ARBITRATION_FEE','description':'Set\x20dispute\x20application\x20fee\x20(u64)','governed_operations':['set\x20the\x20dispute\x20application\x20fee']},{'index':0x166,'name':'ARBITRATION_VOTE','description':'Cast\x20a\x20vote.\x20With\x20an\x20EMPTY\x20voting_guard\x20this\x20is\x20an\x20equal-weight\x20vote\x20(1\x20person\x201\x20vote)\x20—\x20'+'NOT\x20permissionless:\x20plain\x20voting\x20asserts\x20permission\x20358\x20on\x20the\x20arbitration\x27s\x20bound\x20Permission,\x20'+'whose\x20admin\x20ALWAYS\x20passes\x20the\x20assert\x20(a\x20fresh\x20Permission\x20seeds\x20its\x20creator\x20as\x20the\x20sole\x20admin;\x20'+'the\x20table\x20starts\x20empty).\x20So\x20only\x20the\x20arb-side\x20admin\x20and\x20explicit\x20358\x20grantees\x20can\x20vote\x20—\x20the\x20'+'disputing\x20customer\x20must\x20be\x20GRANTED\x20358\x20first,\x20or\x20voting\x20collapses\x20to\x20admin-only\x20(E-13,\x20test/6)','governed_operations':['cast\x20a\x20vote\x20(empty\x20voting_guard\x20=\x201\x20person\x201\x20vote,\x20permission\x20358\x20still\x20required)','cast\x20a\x20weighted\x20vote\x20via\x20voting_guard\x20(weights\x20resolved\x20per\x20guard)']},{'index':0x167,'name':'ARBITRATION_ARBITRATION','description':'Make\x20definitive\x20arbitration\x20ruling\x20(with\x20indemnity)','governed_operations':['issue\x20the\x20definitive\x20arbitration\x20ruling\x20(with\x20indemnity)']},{'index':0x168,'name':'ARBITRATION_FEEDBACK','description':'Provide\x20feedback\x20on\x20Arb\x20case','governed_operations':['attach\x20feedback\x20to\x20the\x20Arb\x20case']},{'index':0x169,'name':'ARBITRATION_CONFIRM','description':'Confirm\x20materials\x20submitted\x20by\x20principal\x20(starts\x20voting\x20phase)','governed_operations':['confirm\x20the\x20principal\x27s\x20materials\x20(starts\x20the\x20voting\x20phase)']},{'index':0x16a,'name':'ARBITRATION_VOTING_DEADLINE_CHANGE','description':'Change\x20voting\x20deadline\x20for\x20an\x20Arb\x20case','governed_operations':['change\x20the\x20voting\x20deadline\x20for\x20an\x20Arb\x20case']},{'index':0x16b,'name':'ARBITRATION_RESET','description':'Reset\x20arbitration\x20—\x20principal\x20resubmits\x20materials,\x20restart\x20lifecycle','governed_operations':['reset\x20the\x20arbitration\x20(principal\x20resubmits\x20materials)']},{'index':0x16c,'name':'ARBITRATION_ARB_WITHDRAW','description':'Withdraw\x20arbitration\x20fees\x20from\x20Arb\x20into\x20Arbitration.balance','governed_operations':['withdraw\x20arbitration\x20fees\x20from\x20the\x20Arb\x20into\x20Arbitration.balance']},{'index':0x16d,'name':'ARBITRATION_FEES_ALLOC','description':'Allocate\x20arbitration\x20fees\x20to\x20Allocation\x20object','governed_operations':['allocate\x20arbitration\x20fees\x20to\x20an\x20Allocation\x20object']},{'index':0x16e,'name':'ARBITRATION_FEES_TRANSFER','description':'Transfer\x20arbitration\x20fees\x20to\x20Treasury\x20object','governed_operations':['transfer\x20arbitration\x20fees\x20to\x20a\x20Treasury\x20object']},{'index':0x16f,'name':'ARBITRATION_OWNER_RECEIVE','description':'Owner\x20receive\x20(unwrap\x20received\x20Coin/Object\x20and\x20send\x20to\x20Permission\x20owner)','governed_operations':['owner\x20receipt\x20of\x20payments\x20(unwrapped\x20to\x20the\x20owner)','owner\x20receipt\x20of\x20whole\x20objects']},{'index':0x170,'name':'ARBITRATION_UM','description':'Set\x20/\x20clear\x20User\x20Manager\x20(Contact\x20object)','governed_operations':['bind\x20a\x20Contact\x20as\x20the\x20UM\x20coordinator','unbind\x20the\x20UM\x20Contact']}];export const DUAL_GUARD_MATRIX=[{'voting_guard_empty':!![],'usage_guard_empty':!![],'dispute_method':'dispute','vote_method':'vote','scenario':'Open\x20dispute\x20+\x20open\x20voting\x20(1\x20person\x201\x20vote)'},{'voting_guard_empty':!![],'usage_guard_empty':![],'dispute_method':'dispute_via_passport','vote_method':'vote','scenario':'Restricted\x20dispute\x20+\x20open\x20voting'},{'voting_guard_empty':![],'usage_guard_empty':!![],'dispute_method':'dispute','vote_method':'vote_weighted_by_guard','scenario':'Open\x20dispute\x20+\x20weighted\x20voting'},{'voting_guard_empty':![],'usage_guard_empty':![],'dispute_method':'dispute_via_passport','vote_method':'vote_weighted_by_guard','scenario':'Restricted\x20dispute\x20+\x20weighted\x20voting\x20(most\x20controlled)'}];export const ARBITRATION_SCENES=[{'id':'arbitration_create','name':'Create\x20new\x20Arbitration\x20service','operation_category':'lifecycle','permission_index':0x15e,'permission_name':'ARBITRATION_NEW','requires_voting_guard':'any','requires_usage_guard':'any','has_passport_variant':!![],'governed_operations':['create\x20a\x20new\x20arbitration\x20service'],'common_patterns':['Pre-publish\x20config:\x20create\x20Arbitration\x20+\x20Permission\x20together','bPaused\x20defaults\x20to\x20true\x20—\x20must\x20call\x20pause(false)\x20to\x20enable','Generic\x20T:\x20choose\x20Coin\x20type\x20(e.g.\x200x2::wow::WOW)\x20at\x20creation','object-linker\x20binding\x20(core):\x20permission\x20+\x20arbitration\x20linked\x20by\x20an\x20affiliation\x20core\x20binding'],'recommended_templates':['T-AB-01','T-AB-02']},{'id':'arbitration_dispute','name':'File\x20dispute\x20against\x20an\x20Order\x20(creates\x20Arb\x20case)','operation_category':'dispute','permission_index':0x0,'permission_name':'(order\x20op\x20permission\x20—\x20no\x20ARBITRATION_*\x20index)','required_arb_status':[],'resulting_arb_status':'Arbitrator_confirming','requires_voting_guard':'any','requires_usage_guard':'any','has_passport_variant':!![],'governed_operations':['file\x20a\x20dispute\x20against\x20an\x20Order\x20(creates\x20the\x20Arb\x20case)'],'common_patterns':['Fee\x20gate:\x20coin::value(&fee)\x20>=\x20self.fee,\x20else\x20E_FEE_NOT_ENOUGH','Order\x20op\x20permission\x20check\x20required\x20(caller\x20must\x20hold\x20the\x20matching\x20order\x20operation\x20permission)','Creates\x20independent\x20Arb<T>\x20object\x20with\x20its\x20own\x20lifecycle','If\x20usage_guard\x20is\x20Some\x20→\x20the\x20dispute\x20must\x20go\x20through\x20passport\x20verification','Order.dispute\x20list:\x20appends\x20new\x20Arb\x20(max\x2010\x20per\x20Order)','One-shot\x20filing:\x20the\x20Arb\x20is\x20created\x20directly\x20in\x20Arbitrator_confirming\x20status\x20—\x20proposition\x20and\x20description\x20are\x20final\x20at\x20filing;\x20edits\x20require\x20the\x20arbitrator\x20to\x20reset\x20the\x20case\x20back\x20to\x20Principal_confirming\x20first.\x20Assemble\x20the\x20complete\x20proposition\x20before\x20calling\x20dispute.'],'recommended_templates':['T-AB-01','T-AB-03','T-AB-04']},{'id':'arbitration_vote','name':'Vote\x20on\x20Arb\x20propositions','operation_category':'voting','permission_index':0x166,'permission_name':'ARBITRATION_VOTE','required_arb_status':['Voting'],'requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['open\x20a\x20vote\x20(1\x20person\x201\x20vote)','cast\x20a\x20weighted\x20vote\x20(weights\x20resolved\x20from\x20the\x20voting\x20guard)'],'common_patterns':['Open\x20vote:\x20voting_guard\x20empty\x20→\x20plain\x20vote\x20(passport\x20variant\x20supported);\x20equal\x20weight\x20'+'(1\x20person\x201\x20vote)\x20but\x20permission\x20358\x20still\x20gates\x20every\x20NON-admin\x20voter\x20—\x20the\x20bound\x20'+'Permission\x27s\x20admin\x20(its\x20creator,\x20by\x20default)\x20always\x20passes,\x20so\x20grant\x20358\x20to\x20the\x20disputing\x20'+'parties\x20or\x20voting\x20collapses\x20to\x20admin-only\x20(E-13)','Weighted\x20vote:\x20voting_guard\x20non-empty\x20→\x20vote\x20weight\x20resolved\x20per\x20voting\x20guard','votes:\x20u8\x20array\x20—\x20index\x20into\x20proposition\x20list\x20(0..N-1)','Mismatch:\x20vote()\x20with\x20non-empty\x20voting_guard\x20→\x20E_VOTING_GUARD_USED','Guard\x20not\x20in\x20list:\x20E_VOTING_GUARD_NOT_FOUND','E-15:\x20the\x20voting_deadline\x20IS\x20the\x20dispute-resolution\x20delay\x20window\x20—\x20the\x20ruling\x20(arbitration)\x20'+'aborts\x20with\x20E_VOTING_DEADLINE_NOT_PASSED\x20until\x20the\x20deadline\x20elapses.\x20Size\x20the\x20window\x20to\x20the\x20'+'business\x20expectation\x20(e.g.\x2010\x20minutes\x20for\x20tests,\x20days\x20for\x20production)'],'recommended_templates':['T-AB-02','T-AB-03']},{'id':'arbitration_confirm','name':'Confirm\x20principal\x20materials\x20and\x20start\x20voting\x20phase','operation_category':'ruling','permission_index':0x169,'permission_name':'ARBITRATION_CONFIRM','required_arb_status':['Arbitrator_confirming'],'resulting_arb_status':'Voting','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['confirm\x20the\x20principal\x27s\x20materials\x20(starts\x20the\x20voting\x20phase)'],'common_patterns':['Transitions\x20Arb\x20from\x20Arbitrator_confirming\x20→\x20Voting','voting_deadline:\x20u64\x20timestamp_ms\x20(null\x20=\x20no\x20deadline)','Once\x20in\x20Voting,\x20only\x20vote\x20/\x20voting_deadline_change\x20/\x20reset\x20allowed'],'recommended_templates':['T-AB-01','T-AB-02']},{'id':'arbitration_feedback','name':'Provide\x20feedback\x20on\x20Arb\x20case','operation_category':'ruling','permission_index':0x168,'permission_name':'ARBITRATION_FEEDBACK','required_arb_status':['Principal_confirming','Arbitrator_confirming','Voting','Arbitrated','Objectionable'],'requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['attach\x20feedback\x20to\x20the\x20Arb\x20case'],'common_patterns':['Feedback\x20is\x20informational\x20—\x20does\x20not\x20change\x20Arb\x20status','Used\x20by\x20principal\x20/\x20arbitrator\x20/\x20voters\x20to\x20attach\x20notes','No\x20state\x20transition;\x20supplements\x20the\x20case\x20record'],'recommended_templates':['T-AB-01','T-AB-07']},{'id':'arbitration_ruling','name':'Make\x20definitive\x20arbitration\x20ruling\x20with\x20indemnity','operation_category':'ruling','permission_index':0x167,'permission_name':'ARBITRATION_ARBITRATION','required_arb_status':['Voting'],'resulting_arb_status':'Arbitrated','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['issue\x20the\x20definitive\x20arbitration\x20ruling\x20(with\x20indemnity)'],'common_patterns':['Ruling\x20produces:\x20feedback\x20(string)\x20+\x20indemnity\x20(u64)','indemnity\x20is\x20compensation\x20amount\x20—\x20paid\x20through\x20the\x20order\x20compensation\x20flow','compensation\x20is\x20package-internal\x20—\x20only\x20the\x20order\x20lifecycle\x20can\x20trigger\x20it','Once\x20Arbitrated,\x20case\x20enters\x20Objectionable\x20window\x20(reset\x20possible)','E-16:\x20the\x20indemnity\x20is\x20paid\x20from\x20the\x20SERVICE\x27s\x20merchant-prepaid\x20compensation_fund\x20pool,\x20'+'NOT\x20from\x20the\x20order\x20escrow.\x20If\x20the\x20pool\x20is\x20smaller\x20than\x20the\x20indemnity,\x20arb_claim_compensation\x20'+'aborts\x20with\x20code\x2027\x20(E_COMPENSATION_NOT_MATCH)\x20—\x20the\x20ruling\x20stands\x20but\x20is\x20unpayable\x20until\x20the\x20'+'merchant\x20tops\x20up\x20(the\x20abort\x20does\x20NOT\x20consume\x20the\x20claim)','E-17/E-17b:\x20the\x20ruling\x20does\x20NOT\x20propagate\x20to\x20the\x20Machine/Allocation\x20escrow,\x20so\x20a\x20settlement\x20'+'forward\x20can\x20still\x20FIRE\x20after\x20a\x20claim.\x20Where\x20the\x20SEAL\x20actually\x20lives\x20(corrected\x20per\x20rex2-261024\x20'+'C-02\x20+\x20order.move\x20source):\x20the\x20escrow\x27s\x20Order-side\x20receive\x20has\x20deliberately\x20NO\x20claimed_by\x20gate\x20'+'(order.move\x20NOTE\x20—\x20principal\x20restitution\x20and\x20damages\x20are\x20two\x20INDEPENDENT\x20tracks;\x20gating\x20receive\x20'+'would\x20strand\x20the\x20principal\x20inside\x20the\x20order.\x20rex2\x20T9\x20live-proven:\x20claim\x20first,\x20then\x20owner_receive\x20'+'extracted\x20the\x20full\x20principal).\x20The\x20mutual\x20exclusion\x20lives\x20at\x20the\x20ALLOCATOR-GUARD\x20layer\x20instead:\x20'+'the\x20merchant\x27s\x20rail\x20pairing\x20—\x20refund\x20rail\x20gated\x20order.claimed_by\x20none\x20+\x20paired\x20recover\x20rail\x20'+'gated\x20claimed_by\x20some\x20(D-BUG-2,\x20template-shipped\x20refund_gate/recover_gate)\x20—\x20is\x20what\x20closes\x20the\x20'+'buyer\x20refund\x20leg\x20once\x20claimed_by\x20is\x20set.\x20That\x20pairing\x20is\x20a\x20MERCHANT\x20choice:\x20a\x20service\x20without\x20it\x20'+'can\x20stack\x20refund\x20+\x20compensation\x20in\x20both\x20directions\x20(rex2\x20T6/T9\x20live\x20double\x20payout,\x20297M\x20>\x20250M\x20'+'principal),\x20which\x20is\x20why\x20the\x20client\x20keeps\x20the\x20acknowledge_dual_payout\x20gate\x20(keeper\x20posture\x20拍板⑧\x20'+'dm-mtw-261027:\x20the\x20flag\x20stays\x20a\x20HUMAN\x20netting\x20decision\x20—\x20an\x20automated\x20keeper\x20refused\x20with\x20'+'dual_payout_unconfirmed\x20must\x20stop\x20and\x20escalate,\x20never\x20self-ack;\x20every\x20refusal\x20envelope\x20carries\x20the\x20'+'KEEPER\x20DIRECTIVE\x20verbatim).\x20claim\x20mechanics:\x20'+'compensate()\x20sets\x20claimed_by\x20when\x20an\x20award\x20is\x20CLAIMED\x20—\x20and\x20since\x20BF-14\x20a\x20zero-award\x20claim\x20aborts\x20'+'E_ZERO_INDEMNITY_CLAIM\x20inside\x20arbitration\x20finalization\x20BEFORE\x20any\x20state\x20change,\x20so\x20a\x20plain\x20dismissal\x20leaves\x20'+'the\x20flag\x20unset\x20and\x20refund\x20rails\x20live.\x20RULED-ZERO\x20SEAL\x20(F-BS-54/56,\x20protocol\x20154\x20'+'enable_arb_dismissal_conclusion_gate):\x20the\x20arbitration\x20conclusion\x20operation\x20stamps\x20claimed_by\x20on\x20a\x20CONCLUDED\x20DISMISSAL\x20'+'(amount-insensitive,\x20BKN-P1\x20decision\x20option\x20a)\x20—\x20on\x20protocol\x20>=\x20154\x20a\x20ruled-zero\x20closes\x20the\x20'+'claimed_by-none\x20refund\x20rails\x20at\x20ruling\x20time\x20and\x20the\x20recover\x20rail\x20becomes\x20the\x20only\x20escrow\x20exit\x20'+'(principal\x20exits\x20to\x20the\x20MERCHANT,\x20not\x20the\x20buyer).\x20On\x20a\x20PRE-154\x20network,\x20or\x20when\x20no\x20keeper\x20runs\x20'+'the\x20arbitration\x20conclusion\x20operation,\x20a\x20ruled-zero\x20does\x20NOT\x20seal:\x20the\x20buyer\x20can\x20lose\x20the\x20arbitration\x20and\x20still\x20walk\x20the\x20'+'refund\x20rail\x20—\x20probe\x20the\x20protocol\x20feature\x20before\x20relying\x20on\x20it.\x20STRANDING\x20IS\x20A\x20SERVICE-SHAPE\x20BUG,\x20'+'NOT\x20A\x20CHAIN\x20RULE:\x20gating\x20a\x20refund\x20rail\x20on\x20claimed_by\x20none\x20while\x20shipping\x20NO\x20recover\x20rail\x20leaves\x20a\x20'+'claimed\x20order\x20with\x20no\x20escrow\x20exit\x20(h1b-tn-261024\x20O11\x20live:\x201.0\x20WOW\x20stranded\x20after\x20a\x20zero-payout\x20'+'dismissal).\x20The\x20compile-time\x20rail\x20verifier\x20blocks\x20that\x20shape\x20pre-publish\x20'+'(RAIL_AWARD_EXIT_MISSING).\x20The\x20pairing\x20guarantees\x20no\x20stranding,\x20not\x20no-misallocation:\x20'+'award-amount\x20polarity\x20is\x20not\x20expressible\x20on\x20the\x20refund\x20track\x20(long-term:\x20N-9\x20order-authority\x20'+'model\x20window)'],'recommended_templates':['T-AB-01','T-AB-05']},{'id':'arbitration_reset','name':'Reset\x20arbitration\x20—\x20principal\x20resubmits\x20materials','operation_category':'ruling','permission_index':0x16b,'permission_name':'ARBITRATION_RESET','required_arb_status':['Objectionable','Arbitrator_confirming'],'resulting_arb_status':'Principal_confirming','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['reset\x20the\x20arbitration\x20(principal\x20resubmits\x20materials)'],'common_patterns':['Resets\x20Arb\x20from\x20Objectionable/Arbitrator_confirming\x20→\x20Principal_confirming','Used\x20when\x20principal\x20objects\x20to\x20ruling\x20and\x20resubmits\x20materials','Feedback\x20required\x20(string\x20explaining\x20reset\x20reason)','Restart\x20full\x20lifecycle:\x20Principal_confirming\x20→\x20...\x20→\x20Finished'],'recommended_templates':['T-AB-07']},{'id':'arbitration_arb_withdraw','name':'Withdraw\x20arbitration\x20fees\x20from\x20Arb\x20into\x20Arbitration.balance','operation_category':'fund','permission_index':0x16c,'permission_name':'ARBITRATION_ARB_WITHDRAW','required_arb_status':['Finished','Arbitrated'],'requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['withdraw\x20arbitration\x20fees\x20from\x20the\x20Arb\x20into\x20Arbitration.balance'],'common_patterns':['Moves\x20fees\x20from\x20the\x20Arb\x20object\x20into\x20Arbitration.balance\x20(clock-checked)','Finished:\x20withdraw\x20immediately','Arbitrated:\x20must\x20wait\x20WITHDRAW_DURATION_TIME\x20(30d)\x20past\x20indemnity.time\x20—\x20silence\x20=\x20acceptance','Objectionable:\x20NEVER\x20withdrawable\x20(protocol\x20141)\x20—\x20the\x20fee\x20stays\x20escrowed\x20until\x20the\x20objection\x20cycle\x20is\x20closed\x20by\x20the\x20principal\x20re-confirming','Increases\x20Arbitration.balance\x20—\x20funds\x20available\x20for\x20fee\x20allocation/transfer'],'recommended_templates':['T-AB-06']},{'id':'arbitration_fees_alloc','name':'Allocate\x20arbitration\x20fees\x20to\x20Allocation\x20object','operation_category':'fund','permission_index':0x16d,'permission_name':'ARBITRATION_FEES_ALLOC','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['allocate\x20arbitration\x20fees\x20to\x20an\x20Allocation\x20object'],'common_patterns':['Destination:\x20Allocation\x20object\x20(parameterized\x20fund\x20distribution)','payment_remark\x20+\x20payment_index:\x20bookkeeping\x20for\x20Payment\x20object','May\x20create\x20new\x20Payment\x20object\x20if\x20newPayment\x20name\x20provided','Triggers\x20balance::withdraw_all\x20—\x20extracts\x20ALL\x20balance'],'recommended_templates':['T-AB-06']},{'id':'arbitration_fees_transfer','name':'Transfer\x20arbitration\x20fees\x20to\x20Treasury\x20object','operation_category':'fund','permission_index':0x16e,'permission_name':'ARBITRATION_FEES_TRANSFER','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['transfer\x20arbitration\x20fees\x20to\x20a\x20Treasury\x20object'],'common_patterns':['Destination:\x20Treasury\x20object\x20(general\x20fund\x20pool)','Same\x20bookkeeping\x20as\x20fee\x20allocation\x20(remark\x20+\x20index\x20+\x20newPayment)','Triggers\x20balance::withdraw_all\x20—\x20extracts\x20ALL\x20balance','Choose\x20Allocation\x20vs\x20Treasury\x20by\x20distribution\x20need'],'recommended_templates':['T-AB-06']},{'id':'arbitration_voting_guard_config','name':'Configure\x20voting_guard\x20list\x20(add\x20/\x20set\x20/\x20remove\x20/\x20clear)','operation_category':'guard','permission_index':0x162,'permission_name':'ARBITRATION_VOTING_GUARD','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['add\x20a\x20passport-identifier\x20voting\x20guard\x20(dynamic\x20weight)','add\x20a\x20fixed-weight\x20voting\x20guard','remove\x20a\x20voting\x20guard','clear\x20the\x20voting\x20guard\x20list'],'common_patterns':['Max\x2050\x20guards:\x20MAX_VOTING_GUARD_COUNT=50\x20(off-by-one-safe:\x20len<50\x20allows\x20add)','GuardIdentifier(u8):\x20dynamic\x20weight\x20from\x20Passport\x20submission\x20value','FixedValue(u32):\x20static\x20weight\x20(e.g.\x20100\x20votes\x20per\x20holder)','Add\x20same\x20guard\x20twice\x20→\x20updates\x20vote_weight\x20(no\x20duplicate)','op=\x27set\x27\x20=\x20clear\x20then\x20add;\x20op=\x27add\x27\x20=\x20append;\x20op=\x27remove\x27\x20=\x20by\x20address'],'recommended_templates':['T-AB-02','T-AB-03']},{'id':'arbitration_usage_guard_config','name':'Configure\x20usage_guard\x20(set\x20/\x20clear)','operation_category':'guard','permission_index':0x163,'permission_name':'ARBITRATION_USAGE_GUARD','requires_voting_guard':'not_applicable','requires_usage_guard':'any','has_passport_variant':!![],'governed_operations':['set\x20the\x20usage\x20guard\x20(restrict\x20who\x20can\x20file\x20disputes)','clear\x20the\x20usage\x20guard'],'common_patterns':['Single\x20guard\x20(Option<address>)\x20—\x20not\x20a\x20list','Some(guard):\x20the\x20dispute\x20must\x20go\x20through\x20passport\x20verification','None:\x20dispute\x20can\x20use\x20either\x20variant\x20(no\x20passport\x20needed)','object-linker\x20affiliation\x20change:\x20updates\x20link\x20when\x20guard\x20changes'],'recommended_templates':['T-AB-04']},{'id':'arbitration_pause','name':'Pause\x20/\x20resume\x20Arbitration\x20service','operation_category':'lifecycle','permission_index':0x164,'permission_name':'ARBITRATION_PAUSE','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['pause/resume\x20the\x20arbitration\x20service'],'common_patterns':['bPaused\x20default\x20true\x20—\x20new\x20Arbitration\x20cannot\x20accept\x20disputes','pause(false)\x20to\x20enable,\x20pause(true)\x20to\x20disable','Paused\x20Arbitration\x20rejects\x20dispute\x20(E_PAUSED)','Does\x20not\x20affect\x20already-open\x20Arb\x20cases'],'recommended_templates':['T-AB-01']},{'id':'arbitration_service_statement','name':'Service\x20(defendant)\x20appends\x20a\x20text\x20statement\x20to\x20the\x20case\x20record','operation_category':'dispute','permission_index':0x141,'permission_name':'SERVICE_ARB_STATEMENT','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['append\x20the\x20seller\x27s\x20text\x20statement\x20to\x20a\x20case\x20against\x20an\x20order\x20of\x20the\x20service\x20(ArbStatementEvent)'],'common_patterns':['Defendant-side\x20voice\x20WITHOUT\x20holding\x20the\x20order\x20—\x20the\x20arb/arbitration\x20function\x20family\x20is\x20order-anchored;\x20this\x20entry\x20is\x20service-anchored','PRIMARY\x20evidence\x20channel\x20is\x20Messenger:\x20submit\x20encrypted\x20WTS\x20records\x20of\x20the\x20exchange\x20with\x20the\x20order\x20customer\x20first','This\x20statement\x20is\x20the\x20SECONDARY\x20channel:\x20declare\x20facts\x20or\x20report\x20customer\x20behavior\x20(absence,\x20non-cooperation)\x20on\x20the\x20case\x20record','Event-only:\x20nothing\x20on\x20the\x20Arb\x20object\x20is\x20mutated;\x20the\x20record\x20cannot\x20be\x20rewritten\x20or\x20deleted\x20by\x20any\x20party','Text\x20length\x20cap\x20identical\x20to\x20description/objection\x20(DESCRIPTION\x20bound,\x204000)'],'recommended_templates':[]}];export const ARBITRATION_LEDGER_VERSION='1.0.0';export function getScenesByCategory(a){return ARBITRATION_SCENES['filter'](b=>b['operation_category']===a);}export function findSceneById(a){return ARBITRATION_SCENES['find'](b=>b['id']===a);}export function findSceneByPermissionIndex(a){return ARBITRATION_SCENES['find'](b=>b['permission_index']===a);}export function getPermissionByIndex(a){return ARBITRATION_PERMISSIONS['find'](b=>b['index']===a);}export function getPermissionByName(a){return ARBITRATION_PERMISSIONS['find'](b=>b['name']===a);}export function isReservedIndex(a){const b=getPermissionByIndex(a);return!!b?.['is_reserved'];}export function isUsedPermissionIndex(a){const b=getPermissionByIndex(a);return!!b&&!b['is_reserved'];}export function getActivePermissionCount(){return ARBITRATION_PERMISSIONS['filter'](a=>!a['is_reserved'])['length'];}export function inferSceneFromIntent(a){const b=a['toLowerCase'](),c=[{'keywords':['create','new'],'sceneId':'arbitration_create'},{'keywords':['dispute','file','complaint'],'sceneId':'arbitration_dispute'},{'keywords':['vote','voting','decide'],'sceneId':'arbitration_vote'},{'keywords':['confirm','materials'],'sceneId':'arbitration_confirm'},{'keywords':['feedback','opinion'],'sceneId':'arbitration_feedback'},{'keywords':['ruling','arbitration','verdict'],'sceneId':'arbitration_ruling'},{'keywords':['reset','resubmit'],'sceneId':'arbitration_reset'},{'keywords':['arb_withdraw','withdraw','withdraw\x20fees'],'sceneId':'arbitration_arb_withdraw'},{'keywords':['allocate','allocate\x20fees','fees\x20allocation'],'sceneId':'arbitration_fees_alloc'},{'keywords':['fees_transfer','transfer','transfer\x20in'],'sceneId':'arbitration_fees_transfer'},{'keywords':['voting_guard','voting\x20guard'],'sceneId':'arbitration_voting_guard_config'},{'keywords':['usage_guard','usage\x20guard'],'sceneId':'arbitration_usage_guard_config'},{'keywords':['pause','enable'],'sceneId':'arbitration_pause'}];for(const {keywords:d,sceneId:e}of c){if(d['some'](f=>b['includes'](f['toLowerCase']()))){const f=findSceneById(e);if(f)return f;}}return undefined;}export function getDualGuardMatrixEntry(a,b){return DUAL_GUARD_MATRIX['find'](c=>c['voting_guard_empty']===a&&c['usage_guard_empty']===b);}export function isValidArbStatusTransition(a,b){const c={'Principal_confirming':['Arbitrator_confirming'],'Arbitrator_confirming':['Voting','Principal_confirming'],'Voting':['Arbitrated'],'Arbitrated':['Objectionable','Finished','Withdrawn'],'Objectionable':['Principal_confirming'],'Finished':['Withdrawn'],'Withdrawn':[]};return c[a]?.['includes'](b)??![];}export function isTerminalArbStatus(a){return ARB_TERMINAL_STATUSES['includes'](a);}export function getScenesProducingStatus(a){return ARBITRATION_SCENES['filter'](b=>b['resulting_arb_status']===a);}export function getScenesRequiringStatus(a){return ARBITRATION_SCENES['filter'](b=>b['required_arb_status']?.['includes'](a));}export function getArbitrationScenesCount(){return ARBITRATION_SCENES['length'];}export function getAllArbitrationPermissions(){return[...ARBITRATION_PERMISSIONS];}export function getActiveArbitrationPermissions(){return ARBITRATION_PERMISSIONS['filter'](a=>!a['is_reserved']);}
1
+ export const ARB_STATUS_CODE={'Principal_confirming':0x0,'Arbitrator_confirming':0x1,'Voting':0x2,'Arbitrated':0x3,'Objectionable':0x4,'Finished':0x5,'Withdrawn':0x6};export const ARB_TERMINAL_STATUSES=['Finished','Withdrawn'];export const ARB_STATUS_ALIASES={'created':'Principal_confirming','voting':'Voting','feedback':'Arbitrator_confirming','confirmed':'Arbitrated','completed':'Finished','reset':'Objectionable','disputed':'Withdrawn'};export const ARBITRATION_PERMISSIONS=[{'index':0x15e,'name':'ARBITRATION_NEW','description':'Create\x20new\x20Arbitration\x20object','governed_operations':['create\x20a\x20new\x20arbitration\x20service']},{'index':0x15f,'name':'ARBITRATION_DESCRIPTION','description':'Modify\x20Arbitration\x20description','governed_operations':['modify\x20the\x20arbitration\x20description']},{'index':0x160,'name':'ARBITRATION_ENDPOINT','description':'Reserved\x20placeholder\x20—\x20not\x20used\x20on-chain\x20(SDK\x20commented\x20out)','governed_operations':[],'is_reserved':!![]},{'index':0x161,'name':'ARBITRATION_LOCATION','description':'Set\x20Arbitration\x20location','governed_operations':['set\x20the\x20arbitration\x20location']},{'index':0x162,'name':'ARBITRATION_VOTING_GUARD','description':'Manage\x20voting_guard\x20list\x20(add\x20/\x20remove\x20/\x20clear)\x20—\x20controls\x20vote\x20weight','governed_operations':['add\x20a\x20passport-identifier\x20voting\x20guard\x20(dynamic\x20weight)','add\x20a\x20fixed-weight\x20voting\x20guard','remove\x20a\x20voting\x20guard','clear\x20the\x20voting\x20guard\x20list']},{'index':0x163,'name':'ARBITRATION_USAGE_GUARD','description':'Set\x20/\x20clear\x20usage_guard\x20—\x20controls\x20who\x20can\x20file\x20disputes','governed_operations':['set\x20the\x20usage\x20guard\x20(restrict\x20who\x20can\x20file\x20disputes)','clear\x20the\x20usage\x20guard']},{'index':0x164,'name':'ARBITRATION_PAUSE','description':'Pause\x20/\x20resume\x20Arbitration\x20(bPaused\x20default\x20true)','governed_operations':['pause/resume\x20the\x20arbitration\x20service']},{'index':0x165,'name':'ARBITRATION_FEE','description':'Set\x20dispute\x20application\x20fee\x20(u64)','governed_operations':['set\x20the\x20dispute\x20application\x20fee']},{'index':0x166,'name':'ARBITRATION_VOTE','description':'Cast\x20a\x20vote.\x20With\x20an\x20EMPTY\x20voting_guard\x20this\x20is\x20an\x20equal-weight\x20vote\x20(1\x20person\x201\x20vote)\x20—\x20'+'NOT\x20permissionless:\x20plain\x20voting\x20asserts\x20permission\x20358\x20on\x20the\x20arbitration\x27s\x20bound\x20Permission,\x20'+'whose\x20admin\x20ALWAYS\x20passes\x20the\x20assert\x20(a\x20fresh\x20Permission\x20seeds\x20its\x20creator\x20as\x20the\x20sole\x20admin;\x20'+'the\x20table\x20starts\x20empty).\x20So\x20only\x20the\x20arb-side\x20admin\x20and\x20explicit\x20358\x20grantees\x20can\x20vote\x20—\x20the\x20'+'disputing\x20customer\x20must\x20be\x20GRANTED\x20358\x20first,\x20or\x20voting\x20collapses\x20to\x20admin-only\x20(E-13,\x20test/6)','governed_operations':['cast\x20a\x20vote\x20(empty\x20voting_guard\x20=\x201\x20person\x201\x20vote,\x20permission\x20358\x20still\x20required)','cast\x20a\x20weighted\x20vote\x20via\x20voting_guard\x20(weights\x20resolved\x20per\x20guard)']},{'index':0x167,'name':'ARBITRATION_ARBITRATION','description':'Make\x20definitive\x20arbitration\x20ruling\x20(with\x20indemnity)','governed_operations':['issue\x20the\x20definitive\x20arbitration\x20ruling\x20(with\x20indemnity)']},{'index':0x168,'name':'ARBITRATION_FEEDBACK','description':'Provide\x20feedback\x20on\x20Arb\x20case','governed_operations':['attach\x20feedback\x20to\x20the\x20Arb\x20case']},{'index':0x169,'name':'ARBITRATION_CONFIRM','description':'Confirm\x20materials\x20submitted\x20by\x20principal\x20(starts\x20voting\x20phase)','governed_operations':['confirm\x20the\x20principal\x27s\x20materials\x20(starts\x20the\x20voting\x20phase)']},{'index':0x16a,'name':'ARBITRATION_VOTING_DEADLINE_CHANGE','description':'Change\x20voting\x20deadline\x20for\x20an\x20Arb\x20case','governed_operations':['change\x20the\x20voting\x20deadline\x20for\x20an\x20Arb\x20case']},{'index':0x16b,'name':'ARBITRATION_RESET','description':'Reset\x20arbitration\x20—\x20principal\x20resubmits\x20materials,\x20restart\x20lifecycle','governed_operations':['reset\x20the\x20arbitration\x20(principal\x20resubmits\x20materials)']},{'index':0x16c,'name':'ARBITRATION_ARB_WITHDRAW','description':'Withdraw\x20arbitration\x20fees\x20from\x20Arb\x20into\x20Arbitration.balance','governed_operations':['withdraw\x20arbitration\x20fees\x20from\x20the\x20Arb\x20into\x20Arbitration.balance']},{'index':0x16d,'name':'ARBITRATION_FEES_ALLOC','description':'Allocate\x20arbitration\x20fees\x20to\x20Allocation\x20object','governed_operations':['allocate\x20arbitration\x20fees\x20to\x20an\x20Allocation\x20object']},{'index':0x16e,'name':'ARBITRATION_FEES_TRANSFER','description':'Transfer\x20arbitration\x20fees\x20to\x20Treasury\x20object','governed_operations':['transfer\x20arbitration\x20fees\x20to\x20a\x20Treasury\x20object']},{'index':0x16f,'name':'ARBITRATION_OWNER_RECEIVE','description':'Owner\x20receive\x20(unwrap\x20received\x20Coin/Object\x20and\x20send\x20to\x20Permission\x20owner)','governed_operations':['owner\x20receipt\x20of\x20payments\x20(unwrapped\x20to\x20the\x20owner)','owner\x20receipt\x20of\x20whole\x20objects']},{'index':0x170,'name':'ARBITRATION_UM','description':'Set\x20/\x20clear\x20User\x20Manager\x20(Contact\x20object)','governed_operations':['bind\x20a\x20Contact\x20as\x20the\x20UM\x20coordinator','unbind\x20the\x20UM\x20Contact']}];export const DUAL_GUARD_MATRIX=[{'voting_guard_empty':!![],'usage_guard_empty':!![],'dispute_method':'dispute','vote_method':'vote','scenario':'Open\x20dispute\x20+\x20open\x20voting\x20(1\x20person\x201\x20vote)'},{'voting_guard_empty':!![],'usage_guard_empty':![],'dispute_method':'dispute_via_passport','vote_method':'vote','scenario':'Restricted\x20dispute\x20+\x20open\x20voting'},{'voting_guard_empty':![],'usage_guard_empty':!![],'dispute_method':'dispute','vote_method':'vote_weighted_by_guard','scenario':'Open\x20dispute\x20+\x20weighted\x20voting'},{'voting_guard_empty':![],'usage_guard_empty':![],'dispute_method':'dispute_via_passport','vote_method':'vote_weighted_by_guard','scenario':'Restricted\x20dispute\x20+\x20weighted\x20voting\x20(most\x20controlled)'}];export const ARBITRATION_SCENES=[{'id':'arbitration_create','name':'Create\x20new\x20Arbitration\x20service','operation_category':'lifecycle','permission_index':0x15e,'permission_name':'ARBITRATION_NEW','requires_voting_guard':'any','requires_usage_guard':'any','has_passport_variant':!![],'governed_operations':['create\x20a\x20new\x20arbitration\x20service'],'common_patterns':['Pre-publish\x20config:\x20create\x20Arbitration\x20+\x20Permission\x20together','bPaused\x20defaults\x20to\x20true\x20—\x20must\x20call\x20pause(false)\x20to\x20enable','Generic\x20T:\x20choose\x20Coin\x20type\x20(e.g.\x200x2::wow::WOW)\x20at\x20creation','object-linker\x20binding\x20(core):\x20permission\x20+\x20arbitration\x20linked\x20by\x20an\x20affiliation\x20core\x20binding'],'recommended_templates':['T-AB-01','T-AB-02']},{'id':'arbitration_dispute','name':'File\x20dispute\x20against\x20an\x20Order\x20(creates\x20Arb\x20case)','operation_category':'dispute','permission_index':0x0,'permission_name':'(order\x20op\x20permission\x20—\x20no\x20ARBITRATION_*\x20index)','required_arb_status':[],'resulting_arb_status':'Arbitrator_confirming','requires_voting_guard':'any','requires_usage_guard':'any','has_passport_variant':!![],'governed_operations':['file\x20a\x20dispute\x20against\x20an\x20Order\x20(creates\x20the\x20Arb\x20case)'],'common_patterns':['Fee\x20gate:\x20coin::value(&fee)\x20>=\x20self.fee,\x20else\x20E_FEE_NOT_ENOUGH','Order\x20op\x20permission\x20check\x20required\x20(caller\x20must\x20hold\x20the\x20matching\x20order\x20operation\x20permission)','Creates\x20independent\x20Arb<T>\x20object\x20with\x20its\x20own\x20lifecycle','If\x20usage_guard\x20is\x20Some\x20→\x20the\x20dispute\x20must\x20go\x20through\x20passport\x20verification','Order.dispute\x20list:\x20appends\x20new\x20Arb\x20(max\x2010\x20per\x20Order)','One-shot\x20filing:\x20the\x20Arb\x20is\x20created\x20directly\x20in\x20Arbitrator_confirming\x20status\x20—\x20proposition\x20and\x20description\x20are\x20final\x20at\x20filing;\x20edits\x20require\x20the\x20arbitrator\x20to\x20reset\x20the\x20case\x20back\x20to\x20Principal_confirming\x20first.\x20Assemble\x20the\x20complete\x20proposition\x20before\x20calling\x20dispute.'],'recommended_templates':['T-AB-01','T-AB-03','T-AB-04']},{'id':'arbitration_vote','name':'Vote\x20on\x20Arb\x20propositions','operation_category':'voting','permission_index':0x166,'permission_name':'ARBITRATION_VOTE','required_arb_status':['Voting'],'requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['open\x20a\x20vote\x20(1\x20person\x201\x20vote)','cast\x20a\x20weighted\x20vote\x20(weights\x20resolved\x20from\x20the\x20voting\x20guard)'],'common_patterns':['Open\x20vote:\x20voting_guard\x20empty\x20→\x20plain\x20vote\x20(passport\x20variant\x20supported);\x20equal\x20weight\x20'+'(1\x20person\x201\x20vote)\x20but\x20permission\x20358\x20still\x20gates\x20every\x20NON-admin\x20voter\x20—\x20the\x20bound\x20'+'Permission\x27s\x20admin\x20(its\x20creator,\x20by\x20default)\x20always\x20passes,\x20so\x20grant\x20358\x20to\x20the\x20disputing\x20'+'parties\x20or\x20voting\x20collapses\x20to\x20admin-only\x20(E-13)','Weighted\x20vote:\x20voting_guard\x20non-empty\x20→\x20vote\x20weight\x20resolved\x20per\x20voting\x20guard','votes:\x20u8\x20array\x20—\x20index\x20into\x20proposition\x20list\x20(0..N-1)','Mismatch:\x20vote()\x20with\x20non-empty\x20voting_guard\x20→\x20E_VOTING_GUARD_USED','Guard\x20not\x20in\x20list:\x20E_VOTING_GUARD_NOT_FOUND','E-15:\x20the\x20voting_deadline\x20IS\x20the\x20dispute-resolution\x20delay\x20window\x20—\x20the\x20ruling\x20(arbitration)\x20'+'aborts\x20with\x20E_VOTING_DEADLINE_NOT_PASSED\x20until\x20the\x20deadline\x20elapses.\x20Size\x20the\x20window\x20to\x20the\x20'+'business\x20expectation\x20(e.g.\x2010\x20minutes\x20for\x20tests,\x20days\x20for\x20production)'],'recommended_templates':['T-AB-02','T-AB-03']},{'id':'arbitration_confirm','name':'Confirm\x20principal\x20materials\x20and\x20start\x20voting\x20phase','operation_category':'ruling','permission_index':0x169,'permission_name':'ARBITRATION_CONFIRM','required_arb_status':['Arbitrator_confirming'],'resulting_arb_status':'Voting','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['confirm\x20the\x20principal\x27s\x20materials\x20(starts\x20the\x20voting\x20phase)'],'common_patterns':['Transitions\x20Arb\x20from\x20Arbitrator_confirming\x20→\x20Voting','voting_deadline:\x20u64\x20timestamp_ms\x20(null\x20=\x20no\x20deadline)','Once\x20in\x20Voting,\x20only\x20vote\x20/\x20voting_deadline_change\x20/\x20reset\x20allowed'],'recommended_templates':['T-AB-01','T-AB-02']},{'id':'arbitration_feedback','name':'Provide\x20feedback\x20on\x20Arb\x20case','operation_category':'ruling','permission_index':0x168,'permission_name':'ARBITRATION_FEEDBACK','required_arb_status':['Principal_confirming','Arbitrator_confirming','Voting','Arbitrated','Objectionable'],'requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['attach\x20feedback\x20to\x20the\x20Arb\x20case'],'common_patterns':['Feedback\x20is\x20informational\x20—\x20does\x20not\x20change\x20Arb\x20status','Used\x20by\x20principal\x20/\x20arbitrator\x20/\x20voters\x20to\x20attach\x20notes','No\x20state\x20transition;\x20supplements\x20the\x20case\x20record'],'recommended_templates':['T-AB-01','T-AB-07']},{'id':'arbitration_ruling','name':'Make\x20definitive\x20arbitration\x20ruling\x20with\x20indemnity','operation_category':'ruling','permission_index':0x167,'permission_name':'ARBITRATION_ARBITRATION','required_arb_status':['Voting'],'resulting_arb_status':'Arbitrated','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['issue\x20the\x20definitive\x20arbitration\x20ruling\x20(with\x20indemnity)'],'common_patterns':['Ruling\x20produces:\x20feedback\x20(string)\x20+\x20indemnity\x20(u64)','indemnity\x20is\x20compensation\x20amount\x20—\x20paid\x20through\x20the\x20order\x20compensation\x20flow','compensation\x20is\x20package-internal\x20—\x20only\x20the\x20order\x20lifecycle\x20can\x20trigger\x20it','Once\x20Arbitrated,\x20case\x20enters\x20Objectionable\x20window\x20(reset\x20possible)','E-16:\x20the\x20indemnity\x20is\x20paid\x20from\x20the\x20SERVICE\x27s\x20merchant-prepaid\x20compensation_fund\x20pool,\x20'+'NOT\x20from\x20the\x20order\x20escrow.\x20If\x20the\x20pool\x20is\x20smaller\x20than\x20the\x20indemnity,\x20arb_claim_compensation\x20'+'aborts\x20with\x20code\x2027\x20(E_COMPENSATION_NOT_MATCH)\x20—\x20the\x20ruling\x20stands\x20but\x20is\x20unpayable\x20until\x20the\x20'+'merchant\x20tops\x20up\x20(the\x20abort\x20does\x20NOT\x20consume\x20the\x20claim)','W5-15\x20(ddmc4\x20B-28\x20/\x20h1w9\x20F-08):\x20AWARD\x20≠\x20RECEIPT\x20—\x20the\x20ruling\x20writes\x20the\x20indemnity\x20on\x20the\x20case\x20and\x20'+'moves\x20NO\x20funds;\x20the\x20buyer\x20is\x20paid\x20only\x20at\x20arb_claim_compensation.\x20A\x20ZERO-indemnity\x20ruling\x20pays\x20'+'nothing\x20by\x20design\x20(its\x20claim\x20closes\x20the\x20case).\x20The\x20chain\x20checks\x20only\x20the\x203x\x20ceiling\x20at\x20the\x20'+'ruling\x20entry,\x20never\x20the\x20pool\x20—\x20the\x20MCP\x20ruling\x20receipt\x20now\x20probes\x20it\x20(\x22the\x20pool\x20can\x20currently\x20'+'pay\x20X;\x20this\x20case\x20needs\x20Y\x22),\x20and\x20a\x20definitely-unpayable\x20claim\x20is\x20refused\x20pre-flight\x20with\x20'+'compensation_pool_insufficient\x20(top-up\x20path\x20named)','E-17/E-17b:\x20the\x20ruling\x20does\x20NOT\x20propagate\x20to\x20the\x20Machine/Allocation\x20escrow,\x20so\x20a\x20settlement\x20'+'forward\x20can\x20still\x20FIRE\x20after\x20a\x20claim.\x20TWO-RAIL\x20INDEPENDENCE\x20(decision\x2011):\x20principal\x20restitution\x20'+'(order\x20fund\x20rails)\x20and\x20damages\x20(arbitration\x20indemnity)\x20are\x20two\x20INDEPENDENT\x20commercial\x20tracks\x20—\x20'+'the\x20escrow\x27s\x20Order-side\x20receive\x20has\x20deliberately\x20NO\x20claimed_by\x20gate\x20(rex2\x20T9\x20live-proven:\x20claim\x20'+'first,\x20then\x20owner_receive\x20extracted\x20the\x20full\x20principal),\x20and\x20decision-11\x20refund/settle\x20rails\x20are\x20'+'NODE-GATED\x20(terminal\x20refund/settle\x20node)\x20and\x20NEVER\x20read\x20order.claimed_by;\x20the\x20recover\x20rail\x20is\x20a\x20'+'terminal-node-gated\x20sweep\x20(RAIL_CLAIMED_BY_LEG\x20critical\x20bans\x20any\x20claimed_by\x20leg\x20on\x20a\x20fund\x20rail).\x20'+'The\x20old\x20allocator-pairing\x20seal\x20—\x20refund\x20rail\x20gated\x20order.claimed_by\x20none\x20+\x20recover\x20rail\x20gated\x20'+'claimed_by\x20some\x20(D-BUG-2\x20shape,\x20historically\x20shipped\x20as\x20refund_gate/recover_gate)\x20—\x20is\x20RETIRED:\x20'+'no\x20mutual\x20exclusion\x20is\x20engineered\x20between\x20the\x20tracks,\x20and\x20refund\x20+\x20award\x20overlap\x20is\x20LEGAL,\x20'+'disclosed\x20at\x20the\x20MCP\x20dual-payout\x20confirmation\x20gate\x20(rex2\x20T6/T9\x20live\x20double\x20payout,\x20297M\x20>\x20250M\x20'+'principal,\x20is\x20the\x20shape\x20the\x20gate\x20covers).\x20Keeper\x20posture\x20拍板⑧\x20'+'dm-mtw-261027:\x20the\x20acknowledge_dual_payout\x20flag\x20stays\x20a\x20HUMAN\x20netting\x20decision\x20—\x20an\x20automated\x20keeper\x20refused\x20with\x20'+'dual_payout_unconfirmed\x20must\x20stop\x20and\x20escalate,\x20never\x20self-ack;\x20every\x20refusal\x20envelope\x20carries\x20the\x20'+'KEEPER\x20DIRECTIVE\x20verbatim.\x20claim\x20mechanics\x20(arbitration\x20side):\x20'+'compensate()\x20sets\x20claimed_by\x20when\x20an\x20award\x20is\x20CLAIMED\x20—\x20and\x20since\x20BF-14\x20a\x20zero-award\x20claim\x20aborts\x20'+'E_ZERO_INDEMNITY_CLAIM\x20inside\x20arbitration\x20finalization\x20BEFORE\x20any\x20state\x20change,\x20so\x20a\x20plain\x20dismissal\x20leaves\x20'+'the\x20flag\x20unset.\x20RULED-ZERO\x20STAMP\x20(F-BS-54/56,\x20protocol\x20154\x20'+'enable_arb_dismissal_conclusion_gate):\x20the\x20arbitration\x20conclusion\x20operation\x20stamps\x20claimed_by\x20on\x20a\x20CONCLUDED\x20DISMISSAL\x20'+'(amount-insensitive,\x20BKN-P1\x20decision\x20option\x20a)\x20—\x20the\x20stamp\x20is\x20arbitration-side\x20EVIDENCE\x20for\x20the\x20'+'indemnity\x20track;\x20decision-11\x20fund\x20rails\x20do\x20not\x20read\x20it,\x20so\x20it\x20does\x20not\x20close\x20any\x20escrow\x20exit\x20'+'(the\x20recover\x20rail\x20sweeps\x20at\x20its\x20terminal\x20node\x20regardless).\x20Probe\x20the\x20protocol\x20feature\x20before\x20'+'relying\x20on\x20the\x20stamp\x27s\x20arbitration-side\x20effects.\x20STRANDING\x20IS\x20A\x20SERVICE-SHAPE\x20BUG,\x20'+'NOT\x20A\x20CHAIN\x20RULE:\x20a\x20refund\x20rail\x20with\x20NO\x20node-gated\x20exit\x20—\x20the\x20pre-decision-11\x20claimed_by-none\x20'+'gate\x20historically\x20produced\x20exactly\x20this\x20—\x20leaves\x20an\x20order\x20with\x20no\x20escrow\x20exit\x20'+'(h1b-tn-261024\x20O11\x20live:\x201.0\x20WOW\x20stranded\x20after\x20a\x20zero-payout\x20'+'dismissal).\x20The\x20compile-time\x20rail\x20verifier\x20blocks\x20that\x20shape\x20pre-publish\x20'+'(RAIL_AWARD_EXIT_MISSING).\x20The\x20tracks\x20guarantee\x20no\x20stranding,\x20not\x20no-misallocation:\x20'+'award-amount\x20polarity\x20is\x20not\x20expressible\x20on\x20the\x20refund\x20track\x20(long-term:\x20N-9\x20order-authority\x20'+'model\x20window)'],'recommended_templates':['T-AB-01','T-AB-05']},{'id':'arbitration_reset','name':'Reset\x20arbitration\x20—\x20principal\x20resubmits\x20materials','operation_category':'ruling','permission_index':0x16b,'permission_name':'ARBITRATION_RESET','required_arb_status':['Objectionable','Arbitrator_confirming'],'resulting_arb_status':'Principal_confirming','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['reset\x20the\x20arbitration\x20(principal\x20resubmits\x20materials)'],'common_patterns':['Resets\x20Arb\x20from\x20Objectionable/Arbitrator_confirming\x20→\x20Principal_confirming','Used\x20when\x20principal\x20objects\x20to\x20ruling\x20and\x20resubmits\x20materials','Feedback\x20required\x20(string\x20explaining\x20reset\x20reason)','Restart\x20full\x20lifecycle:\x20Principal_confirming\x20→\x20...\x20→\x20Finished'],'recommended_templates':['T-AB-07']},{'id':'arbitration_arb_withdraw','name':'Withdraw\x20arbitration\x20fees\x20from\x20Arb\x20into\x20Arbitration.balance','operation_category':'fund','permission_index':0x16c,'permission_name':'ARBITRATION_ARB_WITHDRAW','required_arb_status':['Finished','Arbitrated'],'requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['withdraw\x20arbitration\x20fees\x20from\x20the\x20Arb\x20into\x20Arbitration.balance'],'common_patterns':['Moves\x20fees\x20from\x20the\x20Arb\x20object\x20into\x20Arbitration.balance\x20(clock-checked)','Finished:\x20withdraw\x20immediately','Arbitrated:\x20must\x20wait\x20WITHDRAW_DURATION_TIME\x20(30d)\x20past\x20indemnity.time\x20—\x20silence\x20=\x20acceptance','Objectionable:\x20NEVER\x20withdrawable\x20(protocol\x20141)\x20—\x20the\x20fee\x20stays\x20escrowed\x20until\x20the\x20objection\x20cycle\x20is\x20closed\x20by\x20the\x20principal\x20re-confirming','Increases\x20Arbitration.balance\x20—\x20funds\x20available\x20for\x20fee\x20allocation/transfer'],'recommended_templates':['T-AB-06']},{'id':'arbitration_fees_alloc','name':'Allocate\x20arbitration\x20fees\x20to\x20Allocation\x20object','operation_category':'fund','permission_index':0x16d,'permission_name':'ARBITRATION_FEES_ALLOC','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['allocate\x20arbitration\x20fees\x20to\x20an\x20Allocation\x20object'],'common_patterns':['Destination:\x20Allocation\x20object\x20(parameterized\x20fund\x20distribution)','payment_remark\x20+\x20payment_index:\x20bookkeeping\x20for\x20Payment\x20object','May\x20create\x20new\x20Payment\x20object\x20if\x20newPayment\x20name\x20provided','Triggers\x20balance::withdraw_all\x20—\x20extracts\x20ALL\x20balance'],'recommended_templates':['T-AB-06']},{'id':'arbitration_fees_transfer','name':'Transfer\x20arbitration\x20fees\x20to\x20Treasury\x20object','operation_category':'fund','permission_index':0x16e,'permission_name':'ARBITRATION_FEES_TRANSFER','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['transfer\x20arbitration\x20fees\x20to\x20a\x20Treasury\x20object'],'common_patterns':['Destination:\x20Treasury\x20object\x20(general\x20fund\x20pool)','Same\x20bookkeeping\x20as\x20fee\x20allocation\x20(remark\x20+\x20index\x20+\x20newPayment)','Triggers\x20balance::withdraw_all\x20—\x20extracts\x20ALL\x20balance','Choose\x20Allocation\x20vs\x20Treasury\x20by\x20distribution\x20need'],'recommended_templates':['T-AB-06']},{'id':'arbitration_voting_guard_config','name':'Configure\x20voting_guard\x20list\x20(add\x20/\x20set\x20/\x20remove\x20/\x20clear)','operation_category':'guard','permission_index':0x162,'permission_name':'ARBITRATION_VOTING_GUARD','requires_voting_guard':'any','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['add\x20a\x20passport-identifier\x20voting\x20guard\x20(dynamic\x20weight)','add\x20a\x20fixed-weight\x20voting\x20guard','remove\x20a\x20voting\x20guard','clear\x20the\x20voting\x20guard\x20list'],'common_patterns':['Max\x2050\x20guards:\x20MAX_VOTING_GUARD_COUNT=50\x20(off-by-one-safe:\x20len<50\x20allows\x20add)','GuardIdentifier(u8):\x20dynamic\x20weight\x20from\x20Passport\x20submission\x20value','FixedValue(u32):\x20static\x20weight\x20(e.g.\x20100\x20votes\x20per\x20holder)','Add\x20same\x20guard\x20twice\x20→\x20updates\x20vote_weight\x20(no\x20duplicate)','op=\x27set\x27\x20=\x20clear\x20then\x20add;\x20op=\x27add\x27\x20=\x20append;\x20op=\x27remove\x27\x20=\x20by\x20address'],'recommended_templates':['T-AB-02','T-AB-03']},{'id':'arbitration_usage_guard_config','name':'Configure\x20usage_guard\x20(set\x20/\x20clear)','operation_category':'guard','permission_index':0x163,'permission_name':'ARBITRATION_USAGE_GUARD','requires_voting_guard':'not_applicable','requires_usage_guard':'any','has_passport_variant':!![],'governed_operations':['set\x20the\x20usage\x20guard\x20(restrict\x20who\x20can\x20file\x20disputes)','clear\x20the\x20usage\x20guard'],'common_patterns':['Single\x20guard\x20(Option<address>)\x20—\x20not\x20a\x20list','Some(guard):\x20the\x20dispute\x20must\x20go\x20through\x20passport\x20verification','None:\x20dispute\x20can\x20use\x20either\x20variant\x20(no\x20passport\x20needed)','object-linker\x20affiliation\x20change:\x20updates\x20link\x20when\x20guard\x20changes'],'recommended_templates':['T-AB-04']},{'id':'arbitration_pause','name':'Pause\x20/\x20resume\x20Arbitration\x20service','operation_category':'lifecycle','permission_index':0x164,'permission_name':'ARBITRATION_PAUSE','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['pause/resume\x20the\x20arbitration\x20service'],'common_patterns':['bPaused\x20default\x20true\x20—\x20new\x20Arbitration\x20cannot\x20accept\x20disputes','pause(false)\x20to\x20enable,\x20pause(true)\x20to\x20disable','Paused\x20Arbitration\x20rejects\x20dispute\x20(E_PAUSED)','Does\x20not\x20affect\x20already-open\x20Arb\x20cases'],'recommended_templates':['T-AB-01']},{'id':'arbitration_service_statement','name':'Service\x20(defendant)\x20appends\x20a\x20text\x20statement\x20to\x20the\x20case\x20record','operation_category':'dispute','permission_index':0x141,'permission_name':'SERVICE_ARB_STATEMENT','requires_voting_guard':'not_applicable','requires_usage_guard':'not_applicable','has_passport_variant':!![],'governed_operations':['append\x20the\x20seller\x27s\x20text\x20statement\x20to\x20a\x20case\x20against\x20an\x20order\x20of\x20the\x20service\x20(ArbStatementEvent)'],'common_patterns':['Defendant-side\x20voice\x20WITHOUT\x20holding\x20the\x20order\x20—\x20the\x20arb/arbitration\x20function\x20family\x20is\x20order-anchored;\x20this\x20entry\x20is\x20service-anchored','PRIMARY\x20evidence\x20channel\x20is\x20Messenger:\x20submit\x20encrypted\x20WTS\x20records\x20of\x20the\x20exchange\x20with\x20the\x20order\x20customer\x20first','This\x20statement\x20is\x20the\x20SECONDARY\x20channel:\x20declare\x20facts\x20or\x20report\x20customer\x20behavior\x20(absence,\x20non-cooperation)\x20on\x20the\x20case\x20record','Event-only:\x20nothing\x20on\x20the\x20Arb\x20object\x20is\x20mutated;\x20the\x20record\x20cannot\x20be\x20rewritten\x20or\x20deleted\x20by\x20any\x20party','Text\x20length\x20cap\x20identical\x20to\x20description/objection\x20(DESCRIPTION\x20bound,\x204000)'],'recommended_templates':[]}];export const ARBITRATION_LEDGER_VERSION='1.0.0';export function getScenesByCategory(a){return ARBITRATION_SCENES['filter'](b=>b['operation_category']===a);}export function findSceneById(a){return ARBITRATION_SCENES['find'](b=>b['id']===a);}export function findSceneByPermissionIndex(a){return ARBITRATION_SCENES['find'](b=>b['permission_index']===a);}export function getPermissionByIndex(a){return ARBITRATION_PERMISSIONS['find'](b=>b['index']===a);}export function getPermissionByName(a){return ARBITRATION_PERMISSIONS['find'](b=>b['name']===a);}export function isReservedIndex(a){const b=getPermissionByIndex(a);return!!b?.['is_reserved'];}export function isUsedPermissionIndex(a){const b=getPermissionByIndex(a);return!!b&&!b['is_reserved'];}export function getActivePermissionCount(){return ARBITRATION_PERMISSIONS['filter'](a=>!a['is_reserved'])['length'];}export function inferSceneFromIntent(a){const b=a['toLowerCase'](),c=[{'keywords':['create','new'],'sceneId':'arbitration_create'},{'keywords':['dispute','file','complaint'],'sceneId':'arbitration_dispute'},{'keywords':['vote','voting','decide'],'sceneId':'arbitration_vote'},{'keywords':['confirm','materials'],'sceneId':'arbitration_confirm'},{'keywords':['feedback','opinion'],'sceneId':'arbitration_feedback'},{'keywords':['ruling','arbitration','verdict'],'sceneId':'arbitration_ruling'},{'keywords':['reset','resubmit'],'sceneId':'arbitration_reset'},{'keywords':['arb_withdraw','withdraw','withdraw\x20fees'],'sceneId':'arbitration_arb_withdraw'},{'keywords':['allocate','allocate\x20fees','fees\x20allocation'],'sceneId':'arbitration_fees_alloc'},{'keywords':['fees_transfer','transfer','transfer\x20in'],'sceneId':'arbitration_fees_transfer'},{'keywords':['voting_guard','voting\x20guard'],'sceneId':'arbitration_voting_guard_config'},{'keywords':['usage_guard','usage\x20guard'],'sceneId':'arbitration_usage_guard_config'},{'keywords':['pause','enable'],'sceneId':'arbitration_pause'}];for(const {keywords:d,sceneId:e}of c){if(d['some'](f=>b['includes'](f['toLowerCase']()))){const f=findSceneById(e);if(f)return f;}}return undefined;}export function getDualGuardMatrixEntry(a,b){return DUAL_GUARD_MATRIX['find'](c=>c['voting_guard_empty']===a&&c['usage_guard_empty']===b);}export function isValidArbStatusTransition(a,b){const c={'Principal_confirming':['Arbitrator_confirming'],'Arbitrator_confirming':['Voting','Principal_confirming'],'Voting':['Arbitrated'],'Arbitrated':['Objectionable','Finished','Withdrawn'],'Objectionable':['Principal_confirming'],'Finished':['Withdrawn'],'Withdrawn':[]};return c[a]?.['includes'](b)??![];}export function isTerminalArbStatus(a){return ARB_TERMINAL_STATUSES['includes'](a);}export function getScenesProducingStatus(a){return ARBITRATION_SCENES['filter'](b=>b['resulting_arb_status']===a);}export function getScenesRequiringStatus(a){return ARBITRATION_SCENES['filter'](b=>b['required_arb_status']?.['includes'](a));}export function getArbitrationScenesCount(){return ARBITRATION_SCENES['length'];}export function getAllArbitrationPermissions(){return[...ARBITRATION_PERMISSIONS];}export function getActiveArbitrationPermissions(){return ARBITRATION_PERMISSIONS['filter'](a=>!a['is_reserved']);}
@@ -1 +1 @@
1
- import{MAX_VOTING_GUARD_COUNT}from'@wowok/wowok';import{getDualGuardMatrixEntry,isValidArbStatusTransition}from'./arbitration-ledger.js';export function initPuzzleFromIntent(a){const b={};return(a['action']||a['rule_sentence'])&&(b['intent']={'action':a['action']??'create_arbitration','target_arb':a['target_arb'],'target_order':a['target_order'],'rule_sentence':a['rule_sentence']??'','failure_conditions':a['failure_conditions']??[]}),b['constraints']={'F_AB_01_coin_type_valid':!![],'F_AB_02_permission_address_valid':!![],'F_AB_03_bPaused_default_true':!![],'F_AB_04_fee_u64_nonneg':!![],'F_AB_05_voting_guard_count_le_50':!![],'F_AB_06_voting_guard_no_duplicate':!![],'F_AB_07_usage_guard_single':!![],'F_AB_08_arb_status_transition_valid':!![],'F_AB_09_arb_belongs_to_arbitration':!![],'F_AB_10_order_op_permission':!![],'F_AB_11_dispute_fee_sufficient':!![],'F_AB_12_dual_guard_coherent':!![]},b['voting_guard']={'guards':[],'weight_mode':'none'},b['usage_guard']={'guard':null,'passport_required':![],'filter_rules':[]},b;}export function checkPuzzleCompleteness(a){const b=[],c=[];if(!a['intent'])b['push']('A'),c['push']({'dimension':'A','reason':'Intent\x20not\x20specified\x20(action\x20+\x20rule_sentence)'});else{if(!a['intent']['rule_sentence'])b['push']('A'),c['push']({'dimension':'A','reason':'rule_sentence\x20is\x20empty'});else{const d=a['intent']['action'];(d==='file_dispute'||d==='vote'||d==='confirm_materials'||d==='provide_feedback'||d==='make_ruling'||d==='reset_arbitration'||d==='withdraw_fees')&&!a['intent']['target_arb']&&!a['intent']['target_order']&&(b['push']('A'),c['push']({'dimension':'A','reason':d+'\x20requires\x20target_arb\x20or\x20target_order'})),d==='file_dispute'&&!a['intent']['target_order']&&(b['push']('A'),c['push']({'dimension':'A','reason':'file_dispute\x20requires\x20target_order'}));}}if(!a['arbitration_config']){const e=a['intent']?.['action']==='create_arbitration'||a['intent']?.['action']==='configure';e&&(b['push']('B'),c['push']({'dimension':'B','reason':'Arbitration\x20config\x20not\x20specified'}));}else a['intent']?.['action']==='create_arbitration'&&(!a['arbitration_config']['coin_type']&&(b['push']('B'),c['push']({'dimension':'B','reason':'coin_type\x20(generic\x20T)\x20required\x20for\x20create_arbitration'})),!a['arbitration_config']['permission_address']&&(b['push']('B'),c['push']({'dimension':'B','reason':'permission_address\x20required\x20for\x20create_arbitration'})));if(!a['voting_guard'])(a['intent']?.['action']==='configure_voting_guard'||a['intent']?.['action']==='vote')&&(b['push']('C'),c['push']({'dimension':'C','reason':'voting_guard\x20config\x20not\x20specified'}));else a['intent']?.['action']==='vote'&&a['voting_guard']['guards']['length']>0x0&&(a['voting_guard']['weight_mode']==='none'&&(b['push']('C'),c['push']({'dimension':'C','reason':'weight_mode\x20must\x20be\x20set\x20when\x20guards\x20non-empty'})));!a['usage_guard']&&((a['intent']?.['action']==='configure_usage_guard'||a['intent']?.['action']==='file_dispute')&&(b['push']('D'),c['push']({'dimension':'D','reason':'usage_guard\x20config\x20not\x20specified'})));if(!a['arbiter_config'])(a['intent']?.['action']==='vote'||a['intent']?.['action']==='make_ruling')&&(b['push']('E'),c['push']({'dimension':'E','reason':'Arbiter\x20config\x20not\x20specified'}));else a['intent']?.['action']==='vote'&&a['arbiter_config']['arbitrators']['length']===0x0&&(b['push']('E'),c['push']({'dimension':'E','reason':'At\x20least\x20one\x20arbitrator\x20required\x20for\x20voting'}));if(!a['constraints'])b['push']('F'),c['push']({'dimension':'F','reason':'Constraints\x20not\x20checked'});else{const f=['confirm_materials','vote','provide_feedback','make_ruling','reset_arbitration','withdraw_fees'];a['intent']&&f['includes'](a['intent']['action'])&&(!a['current_arb_status']&&(b['push']('F'),c['push']({'dimension':'F','reason':'current_arb_status\x20required\x20for\x20Arb\x20operations'})),!a['expected_arb_status']&&a['intent']['action']!=='provide_feedback'&&(b['push']('F'),c['push']({'dimension':'F','reason':'expected_arb_status\x20required\x20(non-feedback\x20Arb\x20ops)'})));}return{'dimensions':['A','B','C','D','E','F'],'missing':b,'missing_details':c,'complete':b['length']===0x0,'next_step':b['length']===0x0?'Puzzle\x20complete\x20—\x20ready\x20for\x20confirmation\x20text\x20generation':'Next:\x20complete\x20dimension\x20'+b[0x0]+'\x20—\x20'+c[0x0]['reason']};}export function validateConstraints(a){const b=[];a['voting_guard']&&a['voting_guard']['guards']['length']>MAX_VOTING_GUARD_COUNT&&b['push']({'constraint_id':'F-AB-05','severity':'high','message':'voting_guard\x20count\x20'+a['voting_guard']['guards']['length']+'\x20exceeds\x20MAX_VOTING_GUARD_COUNT\x20'+MAX_VOTING_GUARD_COUNT,'current_value':a['voting_guard']['guards']['length'],'limit':MAX_VOTING_GUARD_COUNT});if(a['voting_guard']&&a['voting_guard']['guards']['length']>0x0){const c=a['voting_guard']['guards']['map'](e=>e['guard']),d=c['filter']((e,f)=>c['indexOf'](e)!==f);d['length']>0x0&&b['push']({'constraint_id':'F-AB-06','severity':'medium','message':'Duplicate\x20voting_guard\x20addresses:\x20'+d['join'](',\x20'),'current_value':d['join'](',')});}a['current_arb_status']&&a['expected_arb_status']&&(a['current_arb_status']!==a['expected_arb_status']&&!isValidArbStatusTransition(a['current_arb_status'],a['expected_arb_status'])&&b['push']({'constraint_id':'F-AB-08','severity':'critical','message':'Invalid\x20Arb\x20status\x20transition:\x20'+a['current_arb_status']+'\x20→\x20'+a['expected_arb_status'],'current_value':a['current_arb_status']+'\x20→\x20'+a['expected_arb_status']}));a['intent']?.['action']==='file_dispute'&&a['arbitration_config']?.['fee']&&(a['arbitration_config']['fee']==='0'&&b['push']({'constraint_id':'F-AB-11','severity':'high','message':'Dispute\x20fee\x20is\x200\x20—\x20likely\x20below\x20arbitration.fee\x20threshold','current_value':'0'}));if(a['voting_guard']&&a['usage_guard']){const e=getDualGuardMatrixEntry(a['voting_guard']['guards']['length']===0x0,a['usage_guard']['guard']===null);a['intent']?.['action']==='file_dispute'&&(a['usage_guard']['guard']!==null&&!a['usage_guard']['passport_required']&&b['push']({'constraint_id':'F-AB-12','severity':'high','message':'usage_guard\x20is\x20Some\x20but\x20passport_required=false\x20—\x20dispute\x20will\x20fail\x20with\x20E_NEED_PASSPORT'})),a['intent']?.['action']==='vote'&&(a['voting_guard']['guards']['length']>0x0&&!a['intent']['target_arb']&&b['push']({'constraint_id':'F-AB-12','severity':'high','message':'voting_guard\x20is\x20non-empty\x20but\x20vote\x20target_arb\x20missing\x20—\x20must\x20use\x20the\x20Passport-verified\x20voting\x20path'}));}if(a['intent']?.['action']==='file_dispute'){}return b;}export function generateConfirmationText(a){const b=[];b['push']('═══\x20Arbitration\x20Confirmation\x20═══'),b['push']('');if(a['intent']){b['push']('Action:\x20'+a['intent']['action']);if(a['intent']['target_arb'])b['push']('Target\x20Arb:\x20'+a['intent']['target_arb']);if(a['intent']['target_order'])b['push']('Target\x20Order:\x20'+a['intent']['target_order']);b['push']('Rule:\x20'+a['intent']['rule_sentence']);if(a['intent']['failure_conditions']['length']>0x0){b['push']('Failure\x20conditions:');for(const e of a['intent']['failure_conditions'])b['push']('\x20\x20-\x20'+e);}b['push']('');}if(a['arbitration_config']){b['push']('─\x20Arbitration\x20Config\x20──────────────');const f=a['arbitration_config'];if(f['description'])b['push']('Description:\x20'+f['description']);if(f['location'])b['push']('Location:\x20'+f['location']);if(f['fee']!==undefined)b['push']('Fee:\x20'+f['fee']);if(f['bPaused']!==undefined)b['push']('bPaused:\x20'+f['bPaused']+'\x20(default\x20true\x20on\x20creation)');if(f['coin_type'])b['push']('Coin\x20type\x20(T):\x20'+f['coin_type']);if(f['permission_address'])b['push']('Permission:\x20'+f['permission_address']);if(f['um']!==undefined)b['push']('UM:\x20'+(f['um']??'(none)'));b['push']('');}if(a['voting_guard']&&a['voting_guard']['guards']['length']>0x0){b['push']('─\x20voting_guard\x20Config\x20──────────────'),b['push']('Count:\x20'+a['voting_guard']['guards']['length']+'\x20/\x20'+MAX_VOTING_GUARD_COUNT),b['push']('Weight\x20mode:\x20'+a['voting_guard']['weight_mode']);for(const h of a['voting_guard']['guards']){const i='GuardIdentifier'in h['vote_weight']?'GuardIdentifier('+h['vote_weight']['GuardIdentifier']+')':'FixedValue('+h['vote_weight']['FixedValue']+')';b['push']('\x20\x20'+h['guard']+':\x20'+i);}a['voting_guard']['cooperation_matrix']&&b['push']('Cooperation:\x20'+a['voting_guard']['cooperation_matrix']['scenario']),b['push']('');}if(a['usage_guard']&&a['usage_guard']['guard']!==null){b['push']('─\x20usage_guard\x20Config\x20──────────────'),b['push']('Guard:\x20'+a['usage_guard']['guard']),b['push']('Passport\x20required:\x20'+a['usage_guard']['passport_required']);if(a['usage_guard']['filter_rules']['length']>0x0){b['push']('Filter\x20rules:');for(const j of a['usage_guard']['filter_rules'])b['push']('\x20\x20-\x20'+j);}b['push']('');}if(a['arbiter_config']&&a['arbiter_config']['arbitrators']['length']>0x0){b['push']('─\x20Arbiter\x20Config\x20──────────────'),b['push']('Arbitrators\x20('+a['arbiter_config']['arbitrators']['length']+'):\x20'+a['arbiter_config']['arbitrators']['join'](',\x20')),b['push']('Vote\x20distribution:\x20'+a['arbiter_config']['vote_distribution']),b['push']('Ruling\x20authority:\x20'+a['arbiter_config']['ruling_authority']);if(a['arbiter_config']['fees_split']){b['push']('Fees\x20split:');const k=a['arbiter_config']['fees_split'];if(k['allocation'])b['push']('\x20\x20→\x20Allocation:\x20'+k['allocation']);if(k['treasury'])b['push']('\x20\x20→\x20Treasury:\x20'+k['treasury']);if(k['remark'])b['push']('\x20\x20Remark:\x20'+k['remark']);if(k['payment_index']!==undefined)b['push']('\x20\x20Payment\x20index:\x20'+k['payment_index']);}b['push']('');}if(a['current_arb_status']||a['expected_arb_status']){b['push']('─\x207-State\x20Flow\x20──────────────');if(a['current_arb_status'])b['push']('Current:\x20'+a['current_arb_status']);if(a['expected_arb_status'])b['push']('Expected\x20after:\x20'+a['expected_arb_status']);b['push']('');}const d=validateConstraints(a);if(d['length']>0x0){b['push']('─\x20Constraint\x20Violations\x20──────────────');for(const l of d){b['push']('\x20\x20['+l['severity']+']\x20'+l['constraint_id']+':\x20'+l['message']);}b['push']('');}return b['join']('\x0a');}
1
+ import{MAX_VOTING_GUARD_COUNT}from'@wowok/wowok';import{getDualGuardMatrixEntry,isValidArbStatusTransition}from'./arbitration-ledger.js';export function initPuzzleFromIntent(a){const b={};return(a['action']||a['rule_sentence'])&&(b['intent']={'action':a['action']??'create_arbitration','target_arb':a['target_arb'],'target_order':a['target_order'],'rule_sentence':a['rule_sentence']??'','failure_conditions':a['failure_conditions']??[]}),b['constraints']={'F_AB_01_coin_type_valid':!![],'F_AB_02_permission_address_valid':!![],'F_AB_03_bPaused_default_true':!![],'F_AB_04_fee_u64_nonneg':!![],'F_AB_05_voting_guard_count_le_50':!![],'F_AB_06_voting_guard_no_duplicate':!![],'F_AB_07_usage_guard_single':!![],'F_AB_08_arb_status_transition_valid':!![],'F_AB_09_arb_belongs_to_arbitration':!![],'F_AB_10_order_op_permission':!![],'F_AB_11_dispute_fee_sufficient':!![],'F_AB_12_dual_guard_coherent':!![]},b['voting_guard']={'guards':[],'weight_mode':'none'},b['usage_guard']={'guard':null,'passport_required':![],'filter_rules':[]},b;}export function checkPuzzleCompleteness(a){const b=[],c=[];if(!a['intent'])b['push']('A'),c['push']({'dimension':'A','reason':'Intent\x20not\x20specified\x20(action\x20+\x20rule_sentence)'});else{if(!a['intent']['rule_sentence'])b['push']('A'),c['push']({'dimension':'A','reason':'rule_sentence\x20is\x20empty'});else{const d=a['intent']['action'];(d==='file_dispute'||d==='vote'||d==='confirm_materials'||d==='provide_feedback'||d==='make_ruling'||d==='reset_arbitration'||d==='withdraw_fees')&&!a['intent']['target_arb']&&!a['intent']['target_order']&&(b['push']('A'),c['push']({'dimension':'A','reason':d+'\x20requires\x20target_arb\x20or\x20target_order'})),d==='file_dispute'&&!a['intent']['target_order']&&(b['push']('A'),c['push']({'dimension':'A','reason':'file_dispute\x20requires\x20target_order'}));}}if(!a['arbitration_config']){const e=a['intent']?.['action']==='create_arbitration'||a['intent']?.['action']==='configure';e&&(b['push']('B'),c['push']({'dimension':'B','reason':'Arbitration\x20config\x20not\x20specified'}));}else a['intent']?.['action']==='create_arbitration'&&(!a['arbitration_config']['coin_type']&&(b['push']('B'),c['push']({'dimension':'B','reason':'coin_type\x20(generic\x20T)\x20required\x20for\x20create_arbitration'})),!a['arbitration_config']['permission_address']&&(b['push']('B'),c['push']({'dimension':'B','reason':'permission_address\x20required\x20for\x20create_arbitration'})));if(!a['voting_guard'])(a['intent']?.['action']==='configure_voting_guard'||a['intent']?.['action']==='vote')&&(b['push']('C'),c['push']({'dimension':'C','reason':'voting_guard\x20config\x20not\x20specified'}));else a['intent']?.['action']==='vote'&&a['voting_guard']['guards']['length']>0x0&&(a['voting_guard']['weight_mode']==='none'&&(b['push']('C'),c['push']({'dimension':'C','reason':'weight_mode\x20must\x20be\x20set\x20when\x20guards\x20non-empty'})));!a['usage_guard']&&((a['intent']?.['action']==='configure_usage_guard'||a['intent']?.['action']==='file_dispute')&&(b['push']('D'),c['push']({'dimension':'D','reason':'usage_guard\x20config\x20not\x20specified'})));if(!a['arbiter_config'])(a['intent']?.['action']==='vote'||a['intent']?.['action']==='make_ruling')&&(b['push']('E'),c['push']({'dimension':'E','reason':'Arbiter\x20config\x20not\x20specified'}));else a['intent']?.['action']==='vote'&&a['arbiter_config']['arbitrators']['length']===0x0&&(b['push']('E'),c['push']({'dimension':'E','reason':'At\x20least\x20one\x20arbitrator\x20required\x20for\x20voting'}));if(!a['constraints'])b['push']('F'),c['push']({'dimension':'F','reason':'Constraints\x20not\x20checked'});else{const f=['confirm_materials','vote','provide_feedback','make_ruling','reset_arbitration','withdraw_fees'];a['intent']&&f['includes'](a['intent']['action'])&&(!a['current_arb_status']&&(b['push']('F'),c['push']({'dimension':'F','reason':'current_arb_status\x20required\x20for\x20Arb\x20operations'})),!a['expected_arb_status']&&a['intent']['action']!=='provide_feedback'&&(b['push']('F'),c['push']({'dimension':'F','reason':'expected_arb_status\x20required\x20(non-feedback\x20Arb\x20ops)'})));}return{'dimensions':['A','B','C','D','E','F'],'missing':b,'missing_details':c,'complete':b['length']===0x0,'next_step':b['length']===0x0?'Puzzle\x20complete\x20—\x20ready\x20for\x20confirmation\x20text\x20generation':'Next:\x20complete\x20dimension\x20'+b[0x0]+'\x20—\x20'+c[0x0]['reason']};}export function validateConstraints(a){const b=[];a['voting_guard']&&a['voting_guard']['guards']['length']>MAX_VOTING_GUARD_COUNT&&b['push']({'constraint_id':'F-AB-05','severity':'high','message':'voting_guard\x20count\x20'+a['voting_guard']['guards']['length']+'\x20exceeds\x20MAX_VOTING_GUARD_COUNT\x20'+MAX_VOTING_GUARD_COUNT,'current_value':a['voting_guard']['guards']['length'],'limit':MAX_VOTING_GUARD_COUNT});if(a['voting_guard']&&a['voting_guard']['guards']['length']>0x0){const c=a['voting_guard']['guards']['map'](e=>e['guard']),d=c['filter']((e,f)=>c['indexOf'](e)!==f);d['length']>0x0&&b['push']({'constraint_id':'F-AB-06','severity':'medium','message':'Duplicate\x20voting_guard\x20addresses:\x20'+d['join'](',\x20'),'current_value':d['join'](',')});}a['current_arb_status']&&a['expected_arb_status']&&(a['current_arb_status']!==a['expected_arb_status']&&!isValidArbStatusTransition(a['current_arb_status'],a['expected_arb_status'])&&b['push']({'constraint_id':'F-AB-08','severity':'critical','message':'Invalid\x20Arb\x20status\x20transition:\x20'+a['current_arb_status']+'\x20→\x20'+a['expected_arb_status'],'current_value':a['current_arb_status']+'\x20→\x20'+a['expected_arb_status']}));a['intent']?.['action']==='file_dispute'&&a['arbitration_config']?.['fee']&&(a['arbitration_config']['fee']==='0'&&b['push']({'constraint_id':'F-AB-11','severity':'high','message':'Dispute\x20fee\x20is\x200\x20—\x20likely\x20below\x20arbitration.fee\x20threshold','current_value':'0'}));a['voting_guard']&&a['usage_guard']&&(getDualGuardMatrixEntry(a['voting_guard']['guards']['length']===0x0,a['usage_guard']['guard']===null),a['intent']?.['action']==='file_dispute'&&(a['usage_guard']['guard']!==null&&!a['usage_guard']['passport_required']&&b['push']({'constraint_id':'F-AB-12','severity':'high','message':'usage_guard\x20is\x20Some\x20but\x20passport_required=false\x20—\x20dispute\x20will\x20fail\x20with\x20E_NEED_PASSPORT'})),a['intent']?.['action']==='vote'&&(a['voting_guard']['guards']['length']>0x0&&!a['intent']['target_arb']&&b['push']({'constraint_id':'F-AB-12','severity':'high','message':'voting_guard\x20is\x20non-empty\x20but\x20vote\x20target_arb\x20missing\x20—\x20must\x20use\x20the\x20Passport-verified\x20voting\x20path'})));if(a['intent']?.['action']==='file_dispute'){}return b;}export function generateConfirmationText(a){const b=[];b['push']('═══\x20Arbitration\x20Confirmation\x20═══'),b['push']('');if(a['intent']){b['push']('Action:\x20'+a['intent']['action']);if(a['intent']['target_arb'])b['push']('Target\x20Arb:\x20'+a['intent']['target_arb']);if(a['intent']['target_order'])b['push']('Target\x20Order:\x20'+a['intent']['target_order']);b['push']('Rule:\x20'+a['intent']['rule_sentence']);if(a['intent']['failure_conditions']['length']>0x0){b['push']('Failure\x20conditions:');for(const e of a['intent']['failure_conditions'])b['push']('\x20\x20-\x20'+e);}b['push']('');}if(a['arbitration_config']){b['push']('─\x20Arbitration\x20Config\x20──────────────');const f=a['arbitration_config'];if(f['description'])b['push']('Description:\x20'+f['description']);if(f['location'])b['push']('Location:\x20'+f['location']);if(f['fee']!==undefined)b['push']('Fee:\x20'+f['fee']);if(f['bPaused']!==undefined)b['push']('bPaused:\x20'+f['bPaused']+'\x20(default\x20true\x20on\x20creation)');if(f['coin_type'])b['push']('Coin\x20type\x20(T):\x20'+f['coin_type']);if(f['permission_address'])b['push']('Permission:\x20'+f['permission_address']);if(f['um']!==undefined)b['push']('UM:\x20'+(f['um']??'(none)'));b['push']('');}if(a['voting_guard']&&a['voting_guard']['guards']['length']>0x0){b['push']('─\x20voting_guard\x20Config\x20──────────────'),b['push']('Count:\x20'+a['voting_guard']['guards']['length']+'\x20/\x20'+MAX_VOTING_GUARD_COUNT),b['push']('Weight\x20mode:\x20'+a['voting_guard']['weight_mode']);for(const h of a['voting_guard']['guards']){const i='GuardIdentifier'in h['vote_weight']?'GuardIdentifier('+h['vote_weight']['GuardIdentifier']+')':'FixedValue('+h['vote_weight']['FixedValue']+')';b['push']('\x20\x20'+h['guard']+':\x20'+i);}a['voting_guard']['cooperation_matrix']&&b['push']('Cooperation:\x20'+a['voting_guard']['cooperation_matrix']['scenario']),b['push']('');}if(a['usage_guard']&&a['usage_guard']['guard']!==null){b['push']('─\x20usage_guard\x20Config\x20──────────────'),b['push']('Guard:\x20'+a['usage_guard']['guard']),b['push']('Passport\x20required:\x20'+a['usage_guard']['passport_required']);if(a['usage_guard']['filter_rules']['length']>0x0){b['push']('Filter\x20rules:');for(const j of a['usage_guard']['filter_rules'])b['push']('\x20\x20-\x20'+j);}b['push']('');}if(a['arbiter_config']&&a['arbiter_config']['arbitrators']['length']>0x0){b['push']('─\x20Arbiter\x20Config\x20──────────────'),b['push']('Arbitrators\x20('+a['arbiter_config']['arbitrators']['length']+'):\x20'+a['arbiter_config']['arbitrators']['join'](',\x20')),b['push']('Vote\x20distribution:\x20'+a['arbiter_config']['vote_distribution']),b['push']('Ruling\x20authority:\x20'+a['arbiter_config']['ruling_authority']);if(a['arbiter_config']['fees_split']){b['push']('Fees\x20split:');const k=a['arbiter_config']['fees_split'];if(k['allocation'])b['push']('\x20\x20→\x20Allocation:\x20'+k['allocation']);if(k['treasury'])b['push']('\x20\x20→\x20Treasury:\x20'+k['treasury']);if(k['remark'])b['push']('\x20\x20Remark:\x20'+k['remark']);if(k['payment_index']!==undefined)b['push']('\x20\x20Payment\x20index:\x20'+k['payment_index']);}b['push']('');}if(a['current_arb_status']||a['expected_arb_status']){b['push']('─\x207-State\x20Flow\x20──────────────');if(a['current_arb_status'])b['push']('Current:\x20'+a['current_arb_status']);if(a['expected_arb_status'])b['push']('Expected\x20after:\x20'+a['expected_arb_status']);b['push']('');}const d=validateConstraints(a);if(d['length']>0x0){b['push']('─\x20Constraint\x20Violations\x20──────────────');for(const l of d){b['push']('\x20\x20['+l['severity']+']\x20'+l['constraint_id']+':\x20'+l['message']);}b['push']('');}return b['join']('\x0a');}
@@ -110,4 +110,5 @@ export interface ArbitrationRiskAssessment {
110
110
  stakeholder_advice: Partial<Record<ArbitrationStakeholder, string[]>>;
111
111
  needs_human_review: boolean;
112
112
  }
113
+ export declare function disputeFeeReconciliation(venueFee: unknown, attachedFee: unknown): string;
113
114
  export declare function assessArbitrationRisks(ctx: RiskCheckContext): ArbitrationRiskAssessment;
@@ -1 +1 @@
1
- import{MAX_VOTING_GUARD_COUNT}from'@wowok/wowok';import{getJudgmentDoc,factoryRulePack}from'../config/judgment.js';import{evaluateRuleBook}from'../config/rule-engine.js';import{isTerminalArbStatus,isValidArbStatusTransition}from'./arbitration-ledger.js';const U8_MAX=0xff,U32_MAX=0xffffffff;export function arbitrationRiskFacts(a){const b=a['voting_guard'],c=!!b&&(b['op']==='add'||b['op']==='set'),d=c?b['op']==='set'?b['guards']['length']:(a['current_voting_guard_count']??0x0)+b['guards']['length']:undefined;let e,f;if(c)for(const F of b['guards']){const G=F??{},H=G['vote_weight'];if(!H||typeof H!=='object')continue;if('GuardIdentifier'in H&&H['GuardIdentifier']!==undefined&&Number(H['GuardIdentifier'])>U8_MAX){e=Number(H['GuardIdentifier']);break;}if('FixedValue'in H&&H['FixedValue']!==undefined&&Number(H['FixedValue'])>U32_MAX){f=Number(H['FixedValue']);break;}}let h=![],i,j,k;if(c){const I=b['guards'];if(I['length']>=0x2){const J=I['filter'](K=>{const L=K?.['vote_weight'];return!!L&&typeof L==='object'&&'FixedValue'in L&&L['FixedValue']!==undefined;})['map'](K=>Number(K['vote_weight']['FixedValue']));if(J['length']>0x0){const K=J['reduce']((M,N)=>M+N,0x0),L=Math['max'](...J);K>0x0&&L/K>0.5&&(h=!![],i=L,j=K,k=(L/K*0x64)['toFixed'](0x1));}}}let l=![],m,n;if(a['dispute']&&a['current_arbitration_fee']!==undefined)try{const M=BigInt(a['current_arbitration_fee']),N=a['dispute']['fee'],O=typeof N==='object'&&N!==null&&'balance'in N?BigInt(N['balance']??0x0):BigInt(0x0);m=O['toString'](),n=M['toString'](),l=O<M;}catch{}const o=!!a['dispute'],p=a['confirm']?.['voting_deadline']??a['voting_deadline_change']?.['voting_deadline'],q=a['current_timestamp_ms'],r=p!==undefined&&p!==null&&q!==undefined&&p<q,s=a['vote']?.['voting_guard'],t=a['current_voting_guard_addresses'],u=!t||t['length']===0x0,v=!!a['vote'],x=a['current_arb_status'],y=a['expected_arb_status'],z=!!x&&!!y&&x!==y&&!isValidArbStatusTransition(x,y),A=!!x&&isTerminalArbStatus(x),B=A&&!a['arb_withdraw']&&!!(a['vote']||a['confirm']||a['arbitration']||a['reset']||a['feedback']),C=a['reset']?String(a['reset']['arb']):undefined;let D,E;if(a['fees_transfer']){const P=a['fees_transfer']['to']??{};D='allocation'in P?'Allocation\x20'+P['allocation']:'Treasury\x20'+P['treasury'],E=String(a['fees_transfer']['payment_remark']);}return{'voting_guard_add_set':c,'voting_guard_new_count':d,'max_voting_guard_count':MAX_VOTING_GUARD_COUNT,'voting_guard_count_exceeded':d!==undefined&&d>MAX_VOTING_GUARD_COUNT,'weight_guard_identifier_over':e!==undefined,'weight_guard_identifier_value':e,'weight_fixed_over':f!==undefined,'weight_fixed_value':f,'weight_collusion_dominant':h,'weight_max':i,'weight_total':j,'weight_ratio_pct':k,'dispute_present':o,'dispute_fee_insufficient':l,'dispute_fee_provided':m,'arbitration_fee_required':n,'current_bPaused':a['current_bPaused'],'voting_deadline_selected':p??undefined,'current_timestamp_ms':q,'voting_deadline_in_past':r,'vote_voting_guard':s,'voting_guard_list_empty':u,'vote_present':v,'vote_guard_registered':!u&&s!==undefined?t['includes'](s):![],'registered_voting_guards':!u?t['join'](','):undefined,'builder':a['builder'],'arbitration_op_present':!!a['arbitration'],'current_arb_status':x,'expected_arb_status':y,'arb_transition_invalid':z,'arb_status_terminal':A,'arb_terminal_op_blocked':B,'reset_present':!!a['reset'],'reset_arb':C,'fees_transfer_present':!!a['fees_transfer'],'fees_transfer_dest':D,'fees_transfer_remark':E,'dispute_order':a['dispute']?String(a['dispute']['order']):undefined};}function arbitrationRuleBook(){const a=getJudgmentDoc()['rules']['domains']['arbitration'];if(!a)throw new Error('factory\x20rule\x20pack\x20\x27arbitration\x27\x20missing\x20—\x20broken\x20installation');return a['rules'];}function findingToArbitrationRisk(a){return{'id':a['rule_id'],'level':a['level'],'category':a['dimension']??'structural','title':a['title'],'description':a['description'],'affected_stakeholders':a['stakeholders']??[],'scenario':a['scenario']??'','mitigation':a['mitigation']??'','evidence':a['evidence'],...a['exposure']!=null?{'exposure':a['exposure']}:{}};}export const ARBITRATION_RISK_VERSION='1.0.0';export function getAllRiskRules(){const a=factoryRulePack('arbitration');if(!a)return[];return a['rules']['map'](b=>({'id':b['rule_id'],'category':b['dimension']??'structural','trigger':b['trigger']??'','check':c=>{const {findings:d}=evaluateRuleBook([b],arbitrationRiskFacts(c));return d['length']>0x0?findingToArbitrationRisk(d[0x0]):null;}}));}export function assessArbitrationRisks(a){const {findings:b}=evaluateRuleBook(arbitrationRuleBook(),arbitrationRiskFacts(a)),c=b['map'](findingToArbitrationRisk),d=c['length']===0x0?'low':c['some'](g=>g['level']==='critical')?'critical':c['some'](g=>g['level']==='high')?'high':c['some'](g=>g['level']==='medium')?'medium':'low',e={};for(const g of c){e[g['category']]=(e[g['category']]??0x0)+0x1;}const f={};for(const h of c){for(const i of h['affected_stakeholders']){if(!f[i])f[i]=[];f[i]['push'](h['id']+':\x20'+h['mitigation']);}}return{'summary':'Assessed\x20'+c['length']+'\x20risk(s)\x20across\x20'+Object['keys'](e)['length']+'\x20categories','risks':c,'overall_risk':d,'risks_by_category':e,'stakeholder_advice':f,'needs_human_review':c['some'](j=>j['level']==='critical'||j['level']==='high')};}
1
+ import{MAX_VOTING_GUARD_COUNT}from'@wowok/wowok';import{getJudgmentDoc,factoryRulePack}from'../config/judgment.js';import{evaluateRuleBook}from'../config/rule-engine.js';import{isTerminalArbStatus,isValidArbStatusTransition}from'./arbitration-ledger.js';const U8_MAX=0xff,U32_MAX=0xffffffff;export function arbitrationRiskFacts(a){const b=a['voting_guard'],c=!!b&&(b['op']==='add'||b['op']==='set'),d=c?b['op']==='set'?b['guards']['length']:(a['current_voting_guard_count']??0x0)+b['guards']['length']:undefined;let e,f;if(c)for(const F of b['guards']){const G=F??{},H=G['vote_weight'];if(!H||typeof H!=='object')continue;if('GuardIdentifier'in H&&H['GuardIdentifier']!==undefined&&Number(H['GuardIdentifier'])>U8_MAX){e=Number(H['GuardIdentifier']);break;}if('FixedValue'in H&&H['FixedValue']!==undefined&&Number(H['FixedValue'])>U32_MAX){f=Number(H['FixedValue']);break;}}let h=![],i,j,k;if(c){const I=b['guards'];if(I['length']>=0x2){const J=I['filter'](K=>{const L=K?.['vote_weight'];return!!L&&typeof L==='object'&&'FixedValue'in L&&L['FixedValue']!==undefined;})['map'](K=>Number(K['vote_weight']['FixedValue']));if(J['length']>0x0){const K=J['reduce']((M,N)=>M+N,0x0),L=Math['max'](...J);K>0x0&&L/K>0.5&&(h=!![],i=L,j=K,k=(L/K*0x64)['toFixed'](0x1));}}}let l=![],m,n;if(a['dispute']&&a['current_arbitration_fee']!==undefined)try{const M=BigInt(a['current_arbitration_fee']),N=a['dispute']['fee'],O=typeof N==='object'&&N!==null&&'balance'in N?BigInt(N['balance']??0x0):BigInt(0x0);m=O['toString'](),n=M['toString'](),l=O<M;}catch{}const o=!!a['dispute'],p=a['confirm']?.['voting_deadline']??a['voting_deadline_change']?.['voting_deadline'],q=a['current_timestamp_ms'],r=p!==undefined&&p!==null&&q!==undefined&&p<q,s=a['vote']?.['voting_guard'],t=a['current_voting_guard_addresses'],u=!t||t['length']===0x0,v=!!a['vote'],x=a['current_arb_status'],y=a['expected_arb_status'],z=!!x&&!!y&&x!==y&&!isValidArbStatusTransition(x,y),A=!!x&&isTerminalArbStatus(x),B=A&&!a['arb_withdraw']&&!!(a['vote']||a['confirm']||a['arbitration']||a['reset']||a['feedback']),C=a['reset']?String(a['reset']['arb']):undefined;let D,E;if(a['fees_transfer']){const P=a['fees_transfer']['to']??{};D='allocation'in P?'Allocation\x20'+P['allocation']:'Treasury\x20'+P['treasury'],E=String(a['fees_transfer']['payment_remark']);}return{'voting_guard_add_set':c,'voting_guard_new_count':d,'max_voting_guard_count':MAX_VOTING_GUARD_COUNT,'voting_guard_count_exceeded':d!==undefined&&d>MAX_VOTING_GUARD_COUNT,'weight_guard_identifier_over':e!==undefined,'weight_guard_identifier_value':e,'weight_fixed_over':f!==undefined,'weight_fixed_value':f,'weight_collusion_dominant':h,'weight_max':i,'weight_total':j,'weight_ratio_pct':k,'dispute_present':o,'dispute_fee_insufficient':l,'dispute_fee_provided':m,'arbitration_fee_required':n,'current_bPaused':a['current_bPaused'],'voting_deadline_selected':p??undefined,'current_timestamp_ms':q,'voting_deadline_in_past':r,'vote_voting_guard':s,'voting_guard_list_empty':u,'vote_present':v,'vote_guard_registered':!u&&s!==undefined?t['includes'](s):![],'registered_voting_guards':!u?t['join'](','):undefined,'builder':a['builder'],'arbitration_op_present':!!a['arbitration'],'current_arb_status':x,'expected_arb_status':y,'arb_transition_invalid':z,'arb_status_terminal':A,'arb_terminal_op_blocked':B,'reset_present':!!a['reset'],'reset_arb':C,'fees_transfer_present':!!a['fees_transfer'],'fees_transfer_dest':D,'fees_transfer_remark':E,'dispute_order':a['dispute']?String(a['dispute']['order']):undefined};}function arbitrationRuleBook(){const a=getJudgmentDoc()['rules']['domains']['arbitration'];if(!a)throw new Error('factory\x20rule\x20pack\x20\x27arbitration\x27\x20missing\x20—\x20broken\x20installation');return a['rules'];}function findingToArbitrationRisk(a){return{'id':a['rule_id'],'level':a['level'],'category':a['dimension']??'structural','title':a['title'],'description':a['description'],'affected_stakeholders':a['stakeholders']??[],'scenario':a['scenario']??'','mitigation':a['mitigation']??'','evidence':a['evidence'],...a['exposure']!=null?{'exposure':a['exposure']}:{}};}export const ARBITRATION_RISK_VERSION='1.0.0';export function getAllRiskRules(){const a=factoryRulePack('arbitration');if(!a)return[];return a['rules']['map'](b=>({'id':b['rule_id'],'category':b['dimension']??'structural','trigger':b['trigger']??'','check':c=>{const {findings:d}=evaluateRuleBook([b],arbitrationRiskFacts(c));return d['length']>0x0?findingToArbitrationRisk(d[0x0]):null;}}));}export function disputeFeeReconciliation(a,b){const c=g=>{try{if(typeof g==='bigint')return g;if(typeof g==='number'&&Number['isFinite'](g)&&g>=0x0)return BigInt(Math['floor'](g));if(typeof g==='string'&&/^-?\d+$/['test'](g['trim']()))return BigInt(g['trim']());}catch{}return null;},d=c(a),e=c(b),f='The\x20case\x20escrows\x20the\x20ARBITRATION\x20VENUE\x27s\x20configured\x20fee\x20(self.fee),\x20not\x20the\x20amount\x20'+'attached\x20to\x20dispute.fee\x20—\x20any\x20residue\x20above\x20the\x20venue\x20fee\x20is\x20refunded\x20to\x20the\x20filer\x20'+'in\x20the\x20SAME\x20transaction\x20(dispute_imp\x20refunds\x20the\x20remainder\x20at\x20filing).\x20To\x20make\x20a\x20fee\x20'+'real,\x20the\x20venue\x20must\x20set\x20it\x20first:\x20{operation_type:\x27arbitration\x27,\x20data:{object:\x27<venue>\x27,\x20fee:<amount>}}\x20'+'(arbitrator\x20permission\x20357).\x20Verify\x20the\x20created\x20Arb\x20case\x27s\x20fee\x20field.';if(d!==null&&e!==null){if(d===0x0n)return'DISPUTE\x20FEE\x20RECONCILIATION:\x20this\x20venue\x20charges\x20NO\x20dispute\x20fee\x20(fee\x20=\x200)\x20—\x20the\x20coin\x20you\x20'+('attached\x20('+e+')\x20is\x20refunded\x20to\x20your\x20account\x20IN\x20THIS\x20TRANSACTION\x20and\x20the\x20case\x20escrows\x200.\x20'+f);if(e>d)return'DISPUTE\x20FEE\x20RECONCILIATION:\x20the\x20case\x20escrows\x20the\x20venue\x20fee\x20('+d+');\x20the\x20excess\x20you\x20'+'attached\x20('+(e-d)+'\x20of\x20'+e+')\x20is\x20refunded\x20to\x20your\x20account\x20IN\x20THIS\x20'+'TRANSACTION.\x20'+f;if(e===d)return'DISPUTE\x20FEE\x20RECONCILIATION:\x20the\x20full\x20attached\x20amount\x20('+e+')\x20equals\x20the\x20venue\x20fee\x20—\x20'+'it\x20is\x20escrowed\x20into\x20the\x20case\x20in\x20this\x20transaction.';return'DISPUTE\x20FEE\x20RECONCILIATION:\x20the\x20attached\x20amount\x20('+e+')\x20is\x20BELOW\x20the\x20venue\x20fee\x20('+d+')\x20—\x20on-chain\x20this\x20aborts\x20with\x20E_FEE_NOT_ENOUGH.\x20'+f;}return'DISPUTE\x20FEE\x20MECHANISM:\x20'+f;}export function assessArbitrationRisks(a){const {findings:b}=evaluateRuleBook(arbitrationRuleBook(),arbitrationRiskFacts(a)),c=b['map'](findingToArbitrationRisk),d=c['length']===0x0?'low':c['some'](g=>g['level']==='critical')?'critical':c['some'](g=>g['level']==='high')?'high':c['some'](g=>g['level']==='medium')?'medium':'low',e={};for(const g of c){e[g['category']]=(e[g['category']]??0x0)+0x1;}const f={};for(const h of c){for(const i of h['affected_stakeholders']){if(!f[i])f[i]=[];f[i]['push'](h['id']+':\x20'+h['mitigation']);}}return{'summary':'Assessed\x20'+c['length']+'\x20risk(s)\x20across\x20'+Object['keys'](e)['length']+'\x20categories','risks':c,'overall_risk':d,'risks_by_category':e,'stakeholder_advice':f,'needs_human_review':c['some'](j=>j['level']==='critical'||j['level']==='high')};}
@@ -1,4 +1,5 @@
1
1
  export type AuditSeverity = "error" | "warning" | "info";
2
+ import { declaresTaskBindingSlot } from "./onchain-constants.js";
2
3
  declare function numericAmount(v: unknown): number | undefined;
3
4
  export { numericAmount };
4
5
  export interface AuditFinding {
@@ -34,7 +35,6 @@ export declare const DISPUTE_FAMILY_NODE_REGEX: RegExp;
34
35
  export declare const FUND_TERMINAL_NODE_REGEX: RegExp;
35
36
  export declare const ANTI_PATTERN_NODE_REGEX: RegExp;
36
37
  export declare const REMEDY_FAMILY_NODE_REGEX: RegExp;
37
- export declare function isRemedyLoopEdge(fromNode: string, toNode: string): boolean;
38
38
  export type LoopTier = "renewal" | "remedy" | "charge";
39
39
  export type ReentryKind = "none" | "review-loop" | "paid-cycle";
40
40
  export declare function classifyLoopCycle(cycleNodes: string[], declared?: ReentryKind): LoopTier;
@@ -82,7 +82,7 @@ export interface TaskBindingAdvisory {
82
82
  remediation?: TaskBindingRemediation;
83
83
  }
84
84
  export declare const TASK_BINDING_REMEDIATION_ENTRY: TaskBindingRemediationEntry;
85
- export declare function declaresTaskBindingSlot(table: unknown): boolean;
85
+ export { declaresTaskBindingSlot };
86
86
  export declare const REFUND_RAIL_NODE_REGEX: RegExp;
87
87
  export interface TaskBindingAdvisoryInput {
88
88
  guardRef?: string;