@wowok/agent-mcp 3.4.3 → 3.4.4

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 (853) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/build-stamp.js +1 -0
  3. package/dist/chain-semantics/composition-truth.js +1 -1
  4. package/dist/chain-semantics/eval-order.js +1 -1
  5. package/dist/chain-semantics/freeze-map.js +1 -1
  6. package/dist/chain-semantics/fund-flow.js +1 -1
  7. package/dist/chain-semantics/object-graph.js +1 -1
  8. package/dist/composition/audit.js +1 -1
  9. package/dist/composition/compile.js +1 -1
  10. package/dist/composition/emit-phases.js +1 -1
  11. package/dist/composition/generate.js +1 -1
  12. package/dist/composition/guard-fill.js +1 -1
  13. package/dist/composition/input-normalize.js +1 -1
  14. package/dist/composition/materialize.js +1 -1
  15. package/dist/composition/mode-gates.js +1 -1
  16. package/dist/composition/plan.js +1 -1
  17. package/dist/composition/product-card.js +1 -1
  18. package/dist/composition/shape-expand.js +1 -0
  19. package/dist/config/judgment.js +1 -1
  20. package/dist/config/template-params.js +1 -1
  21. package/dist/data/sync/cdc.js +1 -1
  22. package/dist/data/sync/graphql-source.js +1 -1
  23. package/dist/evaluation/engine.js +1 -1
  24. package/dist/experience/realtime-feedback.js +1 -1
  25. package/dist/graph/onchain/expand.js +1 -1
  26. package/dist/graph/onchain/exposure.js +1 -1
  27. package/dist/graph/onchain/sdk-batch.js +1 -1
  28. package/dist/harness/entry-ignite-selfheal.js +1 -0
  29. package/dist/harness/forward-leg-preflight.js +1 -0
  30. package/dist/harness/recover.js +1 -1
  31. package/dist/keeper/detectors.js +1 -1
  32. package/dist/knowledge/allocator-rail-verifier.js +1 -1
  33. package/dist/knowledge/arb-operation-face.js +1 -0
  34. package/dist/knowledge/arbitration-rail-verifier.js +1 -1
  35. package/dist/knowledge/arbitration-templates.js +1 -1
  36. package/dist/knowledge/audit-rules.d.ts +15 -0
  37. package/dist/knowledge/audit-rules.js +1 -1
  38. package/dist/knowledge/baselines/rules/alloc_audit.json.good +310 -0
  39. package/dist/knowledge/baselines/rules/allocation.json.good +568 -0
  40. package/dist/knowledge/baselines/rules/arb.json.good +174 -0
  41. package/dist/knowledge/baselines/rules/arbitration.json.good +393 -0
  42. package/dist/knowledge/baselines/rules/bridge.json.good +197 -0
  43. package/dist/knowledge/baselines/rules/contact.json.good +152 -0
  44. package/dist/knowledge/baselines/rules/demand.json.good +158 -0
  45. package/dist/knowledge/baselines/rules/graph.json.good +534 -0
  46. package/dist/knowledge/baselines/rules/guard.json +18 -5
  47. package/dist/knowledge/baselines/rules/guard.json.good +1192 -0
  48. package/dist/knowledge/baselines/rules/machine.json.good +734 -0
  49. package/dist/knowledge/baselines/rules/oracle.json +1 -1
  50. package/dist/knowledge/baselines/rules/oracle.json.good +120 -0
  51. package/dist/knowledge/baselines/rules/order.json.good +549 -0
  52. package/dist/knowledge/baselines/rules/payment.json.good +205 -0
  53. package/dist/knowledge/baselines/rules/permission.json.good +330 -0
  54. package/dist/knowledge/baselines/rules/personal.json.good +139 -0
  55. package/dist/knowledge/baselines/rules/plan.json +343 -1
  56. package/dist/knowledge/baselines/rules/plan.json.good +1187 -0
  57. package/dist/knowledge/baselines/rules/progress.json.good +364 -0
  58. package/dist/knowledge/baselines/rules/proof.json.good +158 -0
  59. package/dist/knowledge/baselines/rules/registrar.json.good +159 -0
  60. package/dist/knowledge/baselines/rules/repository.json.good +244 -0
  61. package/dist/knowledge/baselines/rules/resource.json.good +117 -0
  62. package/dist/knowledge/baselines/rules/reward.json +10 -10
  63. package/dist/knowledge/baselines/rules/reward.json.good +586 -0
  64. package/dist/knowledge/baselines/rules/service.json.good +595 -0
  65. package/dist/knowledge/baselines/rules/treasury.json.good +440 -0
  66. package/dist/knowledge/baselines/rules/util.json.good +101 -0
  67. package/dist/knowledge/builtin-templates.d.ts +13 -1
  68. package/dist/knowledge/builtin-templates.js +1 -1
  69. package/dist/knowledge/chain-query-registry.js +1 -1
  70. package/dist/knowledge/discount-threshold.js +1 -1
  71. package/dist/knowledge/fee-param-bindings.js +1 -1
  72. package/dist/knowledge/fund-layer.d.ts +2 -0
  73. package/dist/knowledge/fund-layer.js +1 -1
  74. package/dist/knowledge/getting-started.js +1 -1
  75. package/dist/knowledge/guard-binding-table.js +1 -1
  76. package/dist/knowledge/guard-binding-verifier.js +1 -1
  77. package/dist/knowledge/guard-create-preflight.js +1 -0
  78. package/dist/knowledge/guard-field-cognition.js +1 -1
  79. package/dist/knowledge/guard-host-context.js +1 -1
  80. package/dist/knowledge/guard-leg-eval.js +1 -0
  81. package/dist/knowledge/guard-node-gates.js +1 -1
  82. package/dist/knowledge/guard-puzzle.js +1 -1
  83. package/dist/knowledge/guard-quality.js +1 -0
  84. package/dist/knowledge/guard-render.js +1 -1
  85. package/dist/knowledge/guard-risk.js +1 -1
  86. package/dist/knowledge/guard-semantic-walk.js +1 -0
  87. package/dist/knowledge/guard-templates.d.ts +1 -0
  88. package/dist/knowledge/guard-templates.js +1 -1
  89. package/dist/knowledge/guard-translation.js +1 -1
  90. package/dist/knowledge/index.js +1 -1
  91. package/dist/knowledge/industry-registry.js +1 -1
  92. package/dist/knowledge/jsonrpc-enum.js +1 -1
  93. package/dist/knowledge/param-schema.js +1 -1
  94. package/dist/knowledge/param-tiers.js +1 -1
  95. package/dist/knowledge/path-oracle/coverage.js +1 -1
  96. package/dist/knowledge/path-oracle/index.js +1 -1
  97. package/dist/knowledge/path-oracle/products/airbnb.js +1 -0
  98. package/dist/knowledge/path-oracle/products/algora.js +1 -0
  99. package/dist/knowledge/path-oracle/products/alibaba-1688.js +1 -0
  100. package/dist/knowledge/path-oracle/products/amazon.js +1 -0
  101. package/dist/knowledge/path-oracle/products/beatstars.js +1 -0
  102. package/dist/knowledge/path-oracle/products/booking-com.js +1 -0
  103. package/dist/knowledge/path-oracle/products/contra.js +1 -0
  104. package/dist/knowledge/path-oracle/products/costco.js +1 -0
  105. package/dist/knowledge/path-oracle/products/coursera.js +1 -0
  106. package/dist/knowledge/path-oracle/products/duoduo-maicai.js +1 -0
  107. package/dist/knowledge/path-oracle/products/etsy.js +1 -0
  108. package/dist/knowledge/path-oracle/products/food-delivery.js +1 -1
  109. package/dist/knowledge/path-oracle/products/gamefound.js +1 -0
  110. package/dist/knowledge/path-oracle/products/gofundme.js +1 -0
  111. package/dist/knowledge/path-oracle/products/hackerone.js +1 -0
  112. package/dist/knowledge/path-oracle/products/kickstarter.js +1 -0
  113. package/dist/knowledge/path-oracle/products/klook.js +1 -0
  114. package/dist/knowledge/path-oracle/products/ninety-nine-designs.js +1 -0
  115. package/dist/knowledge/path-oracle/products/onlyfans.js +1 -0
  116. package/dist/knowledge/path-oracle/products/patreon.js +1 -0
  117. package/dist/knowledge/path-oracle/products/pinduoduo-kuaituantuan.js +1 -0
  118. package/dist/knowledge/path-oracle/products/royalty-exchange.js +1 -0
  119. package/dist/knowledge/path-oracle/products/shansong.js +1 -0
  120. package/dist/knowledge/path-oracle/products/taobao-presale.js +1 -0
  121. package/dist/knowledge/path-oracle/products/upwork-catalog.js +1 -0
  122. package/dist/knowledge/path-oracle/products/upwork.js +1 -0
  123. package/dist/knowledge/path-oracle/products/yuanfudao.js +1 -0
  124. package/dist/knowledge/path-oracle/products/ziroom.js +1 -0
  125. package/dist/knowledge/pattern-resolutions.js +1 -1
  126. package/dist/knowledge/product-detail-source.js +1 -1
  127. package/dist/knowledge/product-doc-b5.js +1 -1
  128. package/dist/knowledge/product-doc-facets.js +1 -0
  129. package/dist/knowledge/projection.js +1 -1
  130. package/dist/knowledge/publish-gate.js +1 -1
  131. package/dist/knowledge/publish-surface-contract.js +1 -1
  132. package/dist/knowledge/recipient-constraint.d.ts +20 -0
  133. package/dist/knowledge/recipient-constraint.js +1 -1
  134. package/dist/knowledge/rule-declaration-types.d.ts +13 -0
  135. package/dist/knowledge/rule-declaration-types.js +1 -0
  136. package/dist/knowledge/rule-declarations.js +1 -0
  137. package/dist/knowledge/scenario-modes.d.ts +6 -0
  138. package/dist/knowledge/scenario-topology.js +1 -1
  139. package/dist/knowledge/template-loader.js +1 -1
  140. package/dist/knowledge/template-prose.js +1 -1
  141. package/dist/knowledge/template-registry.js +1 -1
  142. package/dist/knowledge/template-scanner.js +1 -1
  143. package/dist/knowledge/tools-reference.js +1 -1
  144. package/dist/monitor/MonitorLoop.js +1 -1
  145. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  146. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  147. package/dist/playbooks/service-build/merchant-guide.js +1 -1
  148. package/dist/playbooks/service-build/object-panorama.js +1 -1
  149. package/dist/playbooks/service-build/participation-radar.js +1 -1
  150. package/dist/playbooks/service-build/relationship-profile.js +1 -1
  151. package/dist/playbooks/service-build/service-panorama.js +1 -1
  152. package/dist/playbooks/service-build/service-quote.js +1 -1
  153. package/dist/review/index.js +1 -1
  154. package/dist/review/service.js +1 -1
  155. package/dist/safety/confirm-gate.js +1 -1
  156. package/dist/schema/benchmark-migration/index.d.ts +9 -0
  157. package/dist/schema/benchmark-migration/index.js +1 -1
  158. package/dist/schema/call/arbitration.d.ts +8 -0
  159. package/dist/schema/call/arbitration.js +1 -1
  160. package/dist/schema/call/base.d.ts +8 -0
  161. package/dist/schema/call/base.js +1 -1
  162. package/dist/schema/call/bridge.d.ts +2 -0
  163. package/dist/schema/call/error-codes.d.ts +1 -1
  164. package/dist/schema/call/error-codes.js +1 -1
  165. package/dist/schema/call/handler.d.ts +2 -1
  166. package/dist/schema/call/handler.js +1 -1
  167. package/dist/schema/call/order.d.ts +10 -0
  168. package/dist/schema/call/permission-handler.js +1 -1
  169. package/dist/schema/call/permission.js +1 -1
  170. package/dist/schema/call/progress.d.ts +15 -0
  171. package/dist/schema/call/progress.js +1 -1
  172. package/dist/schema/call/receipt.d.ts +1 -0
  173. package/dist/schema/call/receipt.js +1 -1
  174. package/dist/schema/call/repository.d.ts +12 -0
  175. package/dist/schema/call/repository.js +1 -1
  176. package/dist/schema/call/reward.js +1 -1
  177. package/dist/schema/call/semantic.d.ts +1 -0
  178. package/dist/schema/call/semantic.js +1 -1
  179. package/dist/schema/call/service.d.ts +5 -3
  180. package/dist/schema/call/service.js +1 -1
  181. package/dist/schema/common/index.js +1 -1
  182. package/dist/schema/envelope-unify.js +1 -1
  183. package/dist/schema/goal/index.d.ts +23 -0
  184. package/dist/schema/goal/planning.js +1 -1
  185. package/dist/schema/industry-pack/index.d.ts +2 -2
  186. package/dist/schema/local/index.d.ts +20 -0
  187. package/dist/schema/local/index.js +1 -1
  188. package/dist/schema/local/wip.d.ts +4 -0
  189. package/dist/schema/local/wip.js +1 -1
  190. package/dist/schema/messenger/index.d.ts +5 -0
  191. package/dist/schema/messenger/index.js +1 -1
  192. package/dist/schema/operations.d.ts +944 -1
  193. package/dist/schema/operations.js +1 -1
  194. package/dist/schema/query/bi.js +1 -1
  195. package/dist/schema/query/index.d.ts +5 -5
  196. package/dist/schema/query/index.js +1 -1
  197. package/dist/schema/schema-version.js +1 -1
  198. package/dist/schema/workspace/index.d.ts +2 -2
  199. package/dist/schema-query-impl/index.js +1 -1
  200. package/dist/schemas/account_operation.schema.json +1 -257
  201. package/dist/schemas/ask_user.schema.json +1 -78
  202. package/dist/schemas/benchmark_migration_operation.schema.json +1 -626
  203. package/dist/schemas/bridge_operation.schema.json +1 -1069
  204. package/dist/schemas/config_operation.schema.json +1 -82
  205. package/dist/schemas/employee_operation.schema.json +1 -319
  206. package/dist/schemas/evaluation_operation.schema.json +1 -3932
  207. package/dist/schemas/goal_operation.schema.json +1 -1650
  208. package/dist/schemas/guard2file.schema.json +1 -137
  209. package/dist/schemas/index.json +1 -285
  210. package/dist/schemas/industry_pack_operation.schema.json +1 -582
  211. package/dist/schemas/intent_radar.schema.json +1 -155
  212. package/dist/schemas/keeper_operation.schema.json +1 -364
  213. package/dist/schemas/local_cache_operation.schema.json +1 -116
  214. package/dist/schemas/local_history_operation.schema.json +1 -105
  215. package/dist/schemas/local_info_operation.schema.json +1 -140
  216. package/dist/schemas/local_mark_operation.schema.json +1 -124
  217. package/dist/schemas/machineNode2file.schema.json +1 -137
  218. package/dist/schemas/messenger_operation.schema.json +1 -2068
  219. package/dist/schemas/monitor_events.schema.json +1 -87
  220. package/dist/schemas/monitor_subscription.schema.json +1 -327
  221. package/dist/schemas/onchain_events.schema.json +1 -207
  222. package/dist/schemas/onchain_operations.schema.json +1 -28699
  223. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1376
  224. package/dist/schemas/onchain_operations_arbitration.schema.json +1 -1355
  225. package/dist/schemas/onchain_operations_contact.schema.json +1 -988
  226. package/dist/schemas/onchain_operations_demand.schema.json +1 -1146
  227. package/dist/schemas/onchain_operations_gen_passport.schema.json +1 -663
  228. package/dist/schemas/onchain_operations_gen_proof.schema.json +1 -180
  229. package/dist/schemas/onchain_operations_guard.schema.json +1 -8518
  230. package/dist/schemas/onchain_operations_machine.schema.json +1 -1879
  231. package/dist/schemas/onchain_operations_order.schema.json +1 -1121
  232. package/dist/schemas/onchain_operations_payment.schema.json +1 -316
  233. package/dist/schemas/onchain_operations_permission.schema.json +1 -1036
  234. package/dist/schemas/onchain_operations_personal.schema.json +1 -1463
  235. package/dist/schemas/onchain_operations_progress.schema.json +1 -1041
  236. package/dist/schemas/onchain_operations_proof.schema.json +1 -750
  237. package/dist/schemas/onchain_operations_repository.schema.json +1 -2046
  238. package/dist/schemas/onchain_operations_reward.schema.json +1 -1286
  239. package/dist/schemas/onchain_operations_service.schema.json +1 -2602
  240. package/dist/schemas/onchain_operations_treasury.schema.json +1 -1527
  241. package/dist/schemas/onchain_table_data.schema.json +1 -1146
  242. package/dist/schemas/permission_operation.schema.json +1 -43
  243. package/dist/schemas/persona_operation.schema.json +1 -10424
  244. package/dist/schemas/query_toolkit.schema.json +1 -1867
  245. package/dist/schemas/schema_query.schema.json +1 -116
  246. package/dist/schemas/service_clone_operation.schema.json +1 -49
  247. package/dist/schemas/settle_sweep.schema.json +1 -0
  248. package/dist/schemas/strategy_review_operation.schema.json +1 -66
  249. package/dist/schemas/verify_guard_dry_run.schema.json +1 -0
  250. package/dist/schemas/watch_operation.schema.json +1 -145
  251. package/dist/schemas/wip_file.schema.json +1 -299
  252. package/dist/schemas/workflow_operation.schema.json +1 -722
  253. package/dist/schemas/workspace_operation.schema.json +1 -104
  254. package/dist/schemas/wowok_buildin_info.schema.json +1 -758
  255. package/dist/tools/handlers/benchmark-migration.js +1 -1
  256. package/dist/tools/handlers/config.js +1 -1
  257. package/dist/tools/handlers/entry-edge-recipe.js +1 -1
  258. package/dist/tools/handlers/file-export.js +1 -1
  259. package/dist/tools/handlers/local.js +1 -1
  260. package/dist/tools/handlers/messenger.js +1 -1
  261. package/dist/tools/handlers/onchain.js +1 -1
  262. package/dist/tools/handlers/pending-settlement-recipe.js +1 -0
  263. package/dist/tools/handlers/plan-recovery.js +1 -0
  264. package/dist/tools/handlers/query.js +1 -1
  265. package/dist/tools/handlers/repository-row-id.js +1 -0
  266. package/dist/tools/handlers/review-chain.js +1 -1
  267. package/dist/tools/handlers/settle-sweep.js +1 -0
  268. package/dist/tools/handlers/stale-build-check.js +1 -1
  269. package/dist/tools/handlers/submission-assembly.js +1 -1
  270. package/dist/tools/handlers/verify-guard-dry-run.js +1 -0
  271. package/dist/tools/handlers/wip-upload.js +1 -1
  272. package/dist/tools/index.d.ts +3 -1
  273. package/dist/tools/index.js +1 -1
  274. package/dist/tools/move-fn-index.gen.js +1 -1
  275. package/dist/tools/publish-gate-state.js +1 -1
  276. package/dist/tools/registry/business.js +1 -1
  277. package/dist/tools/registry/onchain.js +1 -1
  278. package/dist/tools/shared.js +1 -1
  279. package/dist/tools/types.d.ts +1 -1
  280. package/dist/tools/wrap.js +1 -1
  281. package/package.json +11 -4
  282. package/dist/chain-semantics/composition-truth.d.ts +0 -102
  283. package/dist/chain-semantics/eval-order.d.ts +0 -17
  284. package/dist/chain-semantics/field-capability.d.ts +0 -11
  285. package/dist/chain-semantics/freeze-map.d.ts +0 -11
  286. package/dist/chain-semantics/fund-flow.d.ts +0 -10
  287. package/dist/chain-semantics/guard-verbs.d.ts +0 -22
  288. package/dist/chain-semantics/index.d.ts +0 -12
  289. package/dist/chain-semantics/object-graph.d.ts +0 -18
  290. package/dist/communication/evidence.d.ts +0 -6
  291. package/dist/communication/message-cursors.d.ts +0 -35
  292. package/dist/communication/proof-reuse.d.ts +0 -9
  293. package/dist/communication/wts-attestation.d.ts +0 -39
  294. package/dist/composition/audit.d.ts +0 -15
  295. package/dist/composition/blueprint-view.d.ts +0 -63
  296. package/dist/composition/compile.d.ts +0 -83
  297. package/dist/composition/emit-phases.d.ts +0 -234
  298. package/dist/composition/generate.d.ts +0 -40
  299. package/dist/composition/guard-fill.d.ts +0 -52
  300. package/dist/composition/inflight.d.ts +0 -86
  301. package/dist/composition/input-normalize.d.ts +0 -15
  302. package/dist/composition/materialize.d.ts +0 -78
  303. package/dist/composition/mode-gates.d.ts +0 -35
  304. package/dist/composition/param-disclosure.d.ts +0 -61
  305. package/dist/composition/plan-retry-ledger.d.ts +0 -37
  306. package/dist/composition/plan.d.ts +0 -121
  307. package/dist/composition/product-card.d.ts +0 -94
  308. package/dist/composition/reflux.d.ts +0 -28
  309. package/dist/composition/supply-chain-emit.d.ts +0 -46
  310. package/dist/config/config-audit.spec.d.ts +0 -1
  311. package/dist/config/config-audit.spec.js +0 -1
  312. package/dist/config/config-warnings.d.ts +0 -2
  313. package/dist/config/index.d.ts +0 -4
  314. package/dist/config/judgment.spec.d.ts +0 -1
  315. package/dist/config/judgment.spec.js +0 -1
  316. package/dist/config/match-policy-file.d.ts +0 -34
  317. package/dist/config/match-policy-file.spec.d.ts +0 -1
  318. package/dist/config/match-policy-file.spec.js +0 -1
  319. package/dist/config/rule-engine.spec.d.ts +0 -1
  320. package/dist/config/rule-engine.spec.js +0 -1
  321. package/dist/config/runtime.d.ts +0 -29
  322. package/dist/config/store-policy.d.ts +0 -14
  323. package/dist/config/store-policy.spec.d.ts +0 -1
  324. package/dist/config/store-policy.spec.js +0 -1
  325. package/dist/config/template-params.d.ts +0 -42
  326. package/dist/config/template-params.spec.d.ts +0 -1
  327. package/dist/config/template-params.spec.js +0 -1
  328. package/dist/customer/account-events.d.ts +0 -32
  329. package/dist/data/api/api.spec.d.ts +0 -1
  330. package/dist/data/api/api.spec.js +0 -1
  331. package/dist/data/api/cli.d.ts +0 -1
  332. package/dist/data/api/head.d.ts +0 -16
  333. package/dist/data/api/head.spec.d.ts +0 -1
  334. package/dist/data/api/head.spec.js +0 -1
  335. package/dist/data/api/index.d.ts +0 -2
  336. package/dist/data/api/match.d.ts +0 -69
  337. package/dist/data/api/match.spec.d.ts +0 -1
  338. package/dist/data/api/match.spec.js +0 -1
  339. package/dist/data/api/server.d.ts +0 -13
  340. package/dist/data/projection/cli.d.ts +0 -1
  341. package/dist/data/projection/edges.d.ts +0 -8
  342. package/dist/data/projection/edges.spec.d.ts +0 -1
  343. package/dist/data/projection/edges.spec.js +0 -1
  344. package/dist/data/projection/facets.d.ts +0 -18
  345. package/dist/data/projection/facets.spec.d.ts +0 -1
  346. package/dist/data/projection/facets.spec.js +0 -1
  347. package/dist/data/projection/facts.d.ts +0 -40
  348. package/dist/data/projection/index.d.ts +0 -6
  349. package/dist/data/projection/project.d.ts +0 -10
  350. package/dist/data/projection/projection.spec.d.ts +0 -1
  351. package/dist/data/projection/projection.spec.js +0 -1
  352. package/dist/data/projection/schema.d.ts +0 -1
  353. package/dist/data/projection/store.d.ts +0 -51
  354. package/dist/data/projection/types.d.ts +0 -169
  355. package/dist/data/sync/cdc.d.ts +0 -33
  356. package/dist/data/sync/cdc.spec.d.ts +0 -1
  357. package/dist/data/sync/cdc.spec.js +0 -1
  358. package/dist/data/sync/graphql-source.d.ts +0 -16
  359. package/dist/data/sync/index.d.ts +0 -5
  360. package/dist/data/sync/reconciler.d.ts +0 -14
  361. package/dist/data/sync/reconciler.spec.d.ts +0 -1
  362. package/dist/data/sync/reconciler.spec.js +0 -1
  363. package/dist/data/sync/schema.d.ts +0 -1
  364. package/dist/data/sync/store.d.ts +0 -24
  365. package/dist/data/sync/sync.spec.d.ts +0 -1
  366. package/dist/data/sync/sync.spec.js +0 -1
  367. package/dist/data/sync/synchronizer.d.ts +0 -10
  368. package/dist/data/sync/types.d.ts +0 -164
  369. package/dist/evaluation/acceptance.d.ts +0 -33
  370. package/dist/evaluation/architecture.spec.d.ts +0 -1
  371. package/dist/evaluation/architecture.spec.js +0 -1
  372. package/dist/evaluation/builtins/arbitration-score.d.ts +0 -42
  373. package/dist/evaluation/builtins/demand-match.d.ts +0 -16
  374. package/dist/evaluation/builtins/graph-service.spec.d.ts +0 -1
  375. package/dist/evaluation/builtins/graph-service.spec.js +0 -1
  376. package/dist/evaluation/builtins/index.d.ts +0 -4
  377. package/dist/evaluation/builtins/purity.spec.d.ts +0 -1
  378. package/dist/evaluation/builtins/purity.spec.js +0 -1
  379. package/dist/evaluation/composer.d.ts +0 -38
  380. package/dist/evaluation/facets/catalog.d.ts +0 -19
  381. package/dist/evaluation/gap.d.ts +0 -2
  382. package/dist/evaluation/guard-scan.d.ts +0 -10
  383. package/dist/evaluation/index.d.ts +0 -14
  384. package/dist/evaluation/injection.d.ts +0 -6
  385. package/dist/evaluation/location-match.d.ts +0 -42
  386. package/dist/evaluation/match-operation.d.ts +0 -23
  387. package/dist/evaluation/match-policy-resolver.d.ts +0 -9
  388. package/dist/evaluation/match-policy.spec.d.ts +0 -1
  389. package/dist/evaluation/match-policy.spec.js +0 -1
  390. package/dist/evaluation/path-reasoning.d.ts +0 -37
  391. package/dist/evaluation/standards.d.ts +0 -11
  392. package/dist/evaluation/standards.spec.d.ts +0 -1
  393. package/dist/evaluation/standards.spec.js +0 -1
  394. package/dist/evaluation/structured-lines.d.ts +0 -8
  395. package/dist/evaluation/user-injection.d.ts +0 -6
  396. package/dist/experience/experience-reuse.d.ts +0 -10
  397. package/dist/experience/index.d.ts +0 -7
  398. package/dist/experience/persistence-config.d.ts +0 -6
  399. package/dist/experience/persistence.d.ts +0 -21
  400. package/dist/experience/realtime-feedback.d.ts +0 -5
  401. package/dist/experience/user-profile.d.ts +0 -25
  402. package/dist/extensions/capability.d.ts +0 -91
  403. package/dist/extensions/industry-audit.spec.d.ts +0 -1
  404. package/dist/extensions/industry-audit.spec.js +0 -1
  405. package/dist/goal/GoalClassifier.d.ts +0 -17
  406. package/dist/goal/GoalEngine.d.ts +0 -175
  407. package/dist/goal/GoalStore.d.ts +0 -27
  408. package/dist/goal/next-steps.d.ts +0 -12
  409. package/dist/goal/plan-approval.d.ts +0 -5
  410. package/dist/goal/pursue.d.ts +0 -18
  411. package/dist/graph/base.d.ts +0 -8
  412. package/dist/graph/onchain/analyze.d.ts +0 -59
  413. package/dist/graph/onchain/analyze.spec.d.ts +0 -1
  414. package/dist/graph/onchain/analyze.spec.js +0 -1
  415. package/dist/graph/onchain/anti-cheat.d.ts +0 -69
  416. package/dist/graph/onchain/anti-cheat.spec.d.ts +0 -1
  417. package/dist/graph/onchain/anti-cheat.spec.js +0 -1
  418. package/dist/graph/onchain/dataplane.d.ts +0 -44
  419. package/dist/graph/onchain/edge-batch.spec.d.ts +0 -1
  420. package/dist/graph/onchain/edge-batch.spec.js +0 -1
  421. package/dist/graph/onchain/edge-schema.d.ts +0 -69
  422. package/dist/graph/onchain/entity-profile.spec.d.ts +0 -1
  423. package/dist/graph/onchain/entity-profile.spec.js +0 -1
  424. package/dist/graph/onchain/event-history.spec.d.ts +0 -1
  425. package/dist/graph/onchain/event-history.spec.js +0 -1
  426. package/dist/graph/onchain/expand.d.ts +0 -4
  427. package/dist/graph/onchain/exploration.d.ts +0 -28
  428. package/dist/graph/onchain/exploration.spec.d.ts +0 -1
  429. package/dist/graph/onchain/exploration.spec.js +0 -1
  430. package/dist/graph/onchain/exposure.d.ts +0 -18
  431. package/dist/graph/onchain/exposure.spec.d.ts +0 -1
  432. package/dist/graph/onchain/exposure.spec.js +0 -1
  433. package/dist/graph/onchain/extract-deep.spec.d.ts +0 -1
  434. package/dist/graph/onchain/extract-deep.spec.js +0 -1
  435. package/dist/graph/onchain/extract.d.ts +0 -29
  436. package/dist/graph/onchain/facet-projection.d.ts +0 -99
  437. package/dist/graph/onchain/facet-projection.spec.d.ts +0 -1
  438. package/dist/graph/onchain/facet-projection.spec.js +0 -1
  439. package/dist/graph/onchain/facts.spec.d.ts +0 -1
  440. package/dist/graph/onchain/facts.spec.js +0 -1
  441. package/dist/graph/onchain/field-manifest.d.ts +0 -29
  442. package/dist/graph/onchain/field-manifest.spec.d.ts +0 -1
  443. package/dist/graph/onchain/field-manifest.spec.js +0 -1
  444. package/dist/graph/onchain/fixtures.d.ts +0 -80
  445. package/dist/graph/onchain/fixtures.spec.d.ts +0 -1
  446. package/dist/graph/onchain/fixtures.spec.js +0 -1
  447. package/dist/graph/onchain/graph-policy.spec.d.ts +0 -1
  448. package/dist/graph/onchain/graph-policy.spec.js +0 -1
  449. package/dist/graph/onchain/index.d.ts +0 -29
  450. package/dist/graph/onchain/interest.d.ts +0 -10
  451. package/dist/graph/onchain/interest.spec.d.ts +0 -1
  452. package/dist/graph/onchain/interest.spec.js +0 -1
  453. package/dist/graph/onchain/label-lint.spec.d.ts +0 -1
  454. package/dist/graph/onchain/label-lint.spec.js +0 -1
  455. package/dist/graph/onchain/names.d.ts +0 -23
  456. package/dist/graph/onchain/names.spec.d.ts +0 -1
  457. package/dist/graph/onchain/names.spec.js +0 -1
  458. package/dist/graph/onchain/object-held-receipts.d.ts +0 -20
  459. package/dist/graph/onchain/object-held-receipts.spec.d.ts +0 -1
  460. package/dist/graph/onchain/object-held-receipts.spec.js +0 -1
  461. package/dist/graph/onchain/onchain.spec.d.ts +0 -1
  462. package/dist/graph/onchain/onchain.spec.js +0 -1
  463. package/dist/graph/onchain/policy.d.ts +0 -8
  464. package/dist/graph/onchain/project-relationship.d.ts +0 -3
  465. package/dist/graph/onchain/proposal-graph.d.ts +0 -11
  466. package/dist/graph/onchain/proposal-graph.spec.d.ts +0 -1
  467. package/dist/graph/onchain/proposal-graph.spec.js +0 -1
  468. package/dist/graph/onchain/sdk-batch.d.ts +0 -129
  469. package/dist/graph/onchain/sdk-dataplane.d.ts +0 -44
  470. package/dist/graph/onchain/strategy.spec.d.ts +0 -1
  471. package/dist/graph/onchain/strategy.spec.js +0 -1
  472. package/dist/graph/onchain/synthesis.d.ts +0 -20
  473. package/dist/graph/onchain/synthesis.spec.d.ts +0 -1
  474. package/dist/graph/onchain/synthesis.spec.js +0 -1
  475. package/dist/graph/onchain/table-ledger.spec.d.ts +0 -1
  476. package/dist/graph/onchain/table-ledger.spec.js +0 -1
  477. package/dist/graph/onchain/viewport.d.ts +0 -6
  478. package/dist/harness/auto-escalation.d.ts +0 -15
  479. package/dist/intent/enrich.d.ts +0 -1
  480. package/dist/intent/index.d.ts +0 -23
  481. package/dist/intent/matcher.d.ts +0 -2
  482. package/dist/intent/store.d.ts +0 -19
  483. package/dist/intent/types.d.ts +0 -32
  484. package/dist/keeper/KeeperScan.d.ts +0 -41
  485. package/dist/keeper/KeeperStore.d.ts +0 -43
  486. package/dist/keeper/detectors.d.ts +0 -42
  487. package/dist/keeper/keeper.spec.d.ts +0 -1
  488. package/dist/keeper/keeper.spec.js +0 -1
  489. package/dist/keeper/types.d.ts +0 -67
  490. package/dist/knowledge/account-marks.d.ts +0 -36
  491. package/dist/knowledge/allocation-ledger.d.ts +0 -75
  492. package/dist/knowledge/allocation-puzzle.d.ts +0 -138
  493. package/dist/knowledge/allocation-risk.d.ts +0 -82
  494. package/dist/knowledge/allocation-templates.d.ts +0 -38
  495. package/dist/knowledge/allocator-rail-verifier.d.ts +0 -59
  496. package/dist/knowledge/anti-cheat.d.ts +0 -2
  497. package/dist/knowledge/arb-fund-facts.d.ts +0 -51
  498. package/dist/knowledge/arb-risk.d.ts +0 -39
  499. package/dist/knowledge/arbitration-puzzle.d.ts +0 -84
  500. package/dist/knowledge/arbitration-rail-verifier.d.ts +0 -35
  501. package/dist/knowledge/arbitration-risk.d.ts +0 -114
  502. package/dist/knowledge/arbitration-templates.d.ts +0 -39
  503. package/dist/knowledge/arbitration-venue-order.d.ts +0 -25
  504. package/dist/knowledge/baselines/guard-lint-baseline.spec.d.ts +0 -1
  505. package/dist/knowledge/baselines/guard-lint-baseline.spec.js +0 -1
  506. package/dist/knowledge/baselines/risk-baselines.spec.d.ts +0 -1
  507. package/dist/knowledge/baselines/risk-baselines.spec.js +0 -1
  508. package/dist/knowledge/baselines/risk-cases.d.ts +0 -8
  509. package/dist/knowledge/baselines/semantic-facts.d.ts +0 -12
  510. package/dist/knowledge/bridge-risk.d.ts +0 -36
  511. package/dist/knowledge/catalog-facts.d.ts +0 -4
  512. package/dist/knowledge/chain-query-registry.d.ts +0 -14
  513. package/dist/knowledge/commission-landing.d.ts +0 -26
  514. package/dist/knowledge/component-schema.d.ts +0 -64
  515. package/dist/knowledge/contact-risk.d.ts +0 -32
  516. package/dist/knowledge/contact-templates.d.ts +0 -26
  517. package/dist/knowledge/contract-invariants.d.ts +0 -54
  518. package/dist/knowledge/demand-risk.d.ts +0 -30
  519. package/dist/knowledge/discount-threshold.d.ts +0 -26
  520. package/dist/knowledge/dynamic-pricing.d.ts +0 -29
  521. package/dist/knowledge/entity-recipient-guard.d.ts +0 -21
  522. package/dist/knowledge/event-semantics.d.ts +0 -23
  523. package/dist/knowledge/evidence-review.d.ts +0 -35
  524. package/dist/knowledge/fee-param-bindings.d.ts +0 -28
  525. package/dist/knowledge/flywheel-loop.d.ts +0 -41
  526. package/dist/knowledge/game-scenarios.d.ts +0 -21
  527. package/dist/knowledge/getting-started.d.ts +0 -37
  528. package/dist/knowledge/goal-completion.d.ts +0 -31
  529. package/dist/knowledge/guard-anchor-reach.d.ts +0 -19
  530. package/dist/knowledge/guard-binding-table.d.ts +0 -52
  531. package/dist/knowledge/guard-binding-verifier.d.ts +0 -37
  532. package/dist/knowledge/guard-bindings.d.ts +0 -21
  533. package/dist/knowledge/guard-blueprint.d.ts +0 -68
  534. package/dist/knowledge/guard-design-patterns.d.ts +0 -38
  535. package/dist/knowledge/guard-eval.d.ts +0 -15
  536. package/dist/knowledge/guard-field-cognition.d.ts +0 -48
  537. package/dist/knowledge/guard-host-context.d.ts +0 -24
  538. package/dist/knowledge/guard-ledger.d.ts +0 -19
  539. package/dist/knowledge/guard-leg-map.d.ts +0 -5
  540. package/dist/knowledge/guard-lint.d.ts +0 -79
  541. package/dist/knowledge/guard-node-gates.d.ts +0 -9
  542. package/dist/knowledge/guard-puzzle.d.ts +0 -188
  543. package/dist/knowledge/guard-render.d.ts +0 -71
  544. package/dist/knowledge/guard-risk.d.ts +0 -71
  545. package/dist/knowledge/guard-submission-brief.d.ts +0 -94
  546. package/dist/knowledge/guard-submission-prompt.d.ts +0 -63
  547. package/dist/knowledge/guard-translation.d.ts +0 -58
  548. package/dist/knowledge/index.d.ts +0 -299
  549. package/dist/knowledge/industry-evolution.d.ts +0 -82
  550. package/dist/knowledge/industry-generalizer.d.ts +0 -63
  551. package/dist/knowledge/industry-rule-node.d.ts +0 -7
  552. package/dist/knowledge/industry-strategy.d.ts +0 -91
  553. package/dist/knowledge/intent-metrics.d.ts +0 -43
  554. package/dist/knowledge/jsonrpc-enum.d.ts +0 -102
  555. package/dist/knowledge/knob-docs.d.ts +0 -5
  556. package/dist/knowledge/machine-fork-watch.d.ts +0 -9
  557. package/dist/knowledge/machine-ledger.d.ts +0 -42
  558. package/dist/knowledge/machine-puzzle.d.ts +0 -206
  559. package/dist/knowledge/machine-risk.d.ts +0 -72
  560. package/dist/knowledge/machine-templates.d.ts +0 -92
  561. package/dist/knowledge/machine-topology.d.ts +0 -116
  562. package/dist/knowledge/machine-translation.d.ts +0 -96
  563. package/dist/knowledge/market-metrics.d.ts +0 -34
  564. package/dist/knowledge/market-operations.d.ts +0 -46
  565. package/dist/knowledge/migration-preflight.d.ts +0 -27
  566. package/dist/knowledge/object-dependency.d.ts +0 -31
  567. package/dist/knowledge/operation-dictionary.d.ts +0 -18
  568. package/dist/knowledge/order-ledger.d.ts +0 -69
  569. package/dist/knowledge/order-puzzle.d.ts +0 -162
  570. package/dist/knowledge/order-risk.d.ts +0 -62
  571. package/dist/knowledge/order-templates.d.ts +0 -50
  572. package/dist/knowledge/param-schema.d.ts +0 -93
  573. package/dist/knowledge/param-tiers.d.ts +0 -27
  574. package/dist/knowledge/passport-ledger.d.ts +0 -60
  575. package/dist/knowledge/passport-templates.d.ts +0 -40
  576. package/dist/knowledge/path-oracle/coverage.d.ts +0 -16
  577. package/dist/knowledge/path-oracle/index.d.ts +0 -5
  578. package/dist/knowledge/path-oracle/products/food-delivery.d.ts +0 -2
  579. package/dist/knowledge/path-oracle/schema.d.ts +0 -188
  580. package/dist/knowledge/pattern-resolutions.d.ts +0 -110
  581. package/dist/knowledge/payment-risk.d.ts +0 -38
  582. package/dist/knowledge/payment-tracker.d.ts +0 -63
  583. package/dist/knowledge/permission-ledger.d.ts +0 -49
  584. package/dist/knowledge/permission-puzzle.d.ts +0 -122
  585. package/dist/knowledge/permission-risk.d.ts +0 -70
  586. package/dist/knowledge/permission-templates.d.ts +0 -38
  587. package/dist/knowledge/personal-risk.d.ts +0 -36
  588. package/dist/knowledge/product-detail-source.d.ts +0 -37
  589. package/dist/knowledge/product-doc-b5.d.ts +0 -16
  590. package/dist/knowledge/progress-ledger.d.ts +0 -63
  591. package/dist/knowledge/progress-puzzle.d.ts +0 -82
  592. package/dist/knowledge/progress-risk.d.ts +0 -75
  593. package/dist/knowledge/progress-templates.d.ts +0 -38
  594. package/dist/knowledge/projection.d.ts +0 -54
  595. package/dist/knowledge/projection.spec.d.ts +0 -1
  596. package/dist/knowledge/projection.spec.js +0 -1
  597. package/dist/knowledge/proof-risk.d.ts +0 -33
  598. package/dist/knowledge/protocol-facts.d.ts +0 -17
  599. package/dist/knowledge/publish-gate.d.ts +0 -20
  600. package/dist/knowledge/publish-readiness.d.ts +0 -25
  601. package/dist/knowledge/publish-surface-contract.d.ts +0 -16
  602. package/dist/knowledge/puzzle-projections.d.ts +0 -11
  603. package/dist/knowledge/rail-exit-satisfiability.d.ts +0 -25
  604. package/dist/knowledge/registrar-risk.d.ts +0 -34
  605. package/dist/knowledge/release-sentinel.d.ts +0 -12
  606. package/dist/knowledge/repository-risk.d.ts +0 -46
  607. package/dist/knowledge/repository-write-semantics.d.ts +0 -27
  608. package/dist/knowledge/reputation-rules.d.ts +0 -36
  609. package/dist/knowledge/requirement-families.d.ts +0 -13
  610. package/dist/knowledge/resource-risk.d.ts +0 -32
  611. package/dist/knowledge/reward-ledger.d.ts +0 -97
  612. package/dist/knowledge/reward-puzzle.d.ts +0 -98
  613. package/dist/knowledge/reward-risk.d.ts +0 -86
  614. package/dist/knowledge/reward-templates.d.ts +0 -25
  615. package/dist/knowledge/rule-node-analyzers.d.ts +0 -49
  616. package/dist/knowledge/rule-outcome.d.ts +0 -5
  617. package/dist/knowledge/scenario-topology.d.ts +0 -48
  618. package/dist/knowledge/semantic-ir.d.ts +0 -136
  619. package/dist/knowledge/service-allocation-semantics.d.ts +0 -36
  620. package/dist/knowledge/service-allocator-audit-node.d.ts +0 -3
  621. package/dist/knowledge/service-ledger.d.ts +0 -87
  622. package/dist/knowledge/service-puzzle.d.ts +0 -158
  623. package/dist/knowledge/service-risk-node.d.ts +0 -3
  624. package/dist/knowledge/service-risk.d.ts +0 -110
  625. package/dist/knowledge/service-templates.d.ts +0 -41
  626. package/dist/knowledge/settlement-semantics.d.ts +0 -1
  627. package/dist/knowledge/strategy-manuals.d.ts +0 -15
  628. package/dist/knowledge/supply-chain.d.ts +0 -35
  629. package/dist/knowledge/template-index.d.ts +0 -19
  630. package/dist/knowledge/template-loader.d.ts +0 -425
  631. package/dist/knowledge/template-nav.d.ts +0 -9
  632. package/dist/knowledge/template-prose.d.ts +0 -50
  633. package/dist/knowledge/template-registry.d.ts +0 -48
  634. package/dist/knowledge/template-scanner.d.ts +0 -158
  635. package/dist/knowledge/template-test-profiles.d.ts +0 -17
  636. package/dist/knowledge/template-validation.d.ts +0 -3
  637. package/dist/knowledge/tools-reference.d.ts +0 -17
  638. package/dist/knowledge/treasury-ledger.d.ts +0 -42
  639. package/dist/knowledge/treasury-puzzle.d.ts +0 -163
  640. package/dist/knowledge/treasury-risk.d.ts +0 -88
  641. package/dist/knowledge/treasury-templates.d.ts +0 -38
  642. package/dist/knowledge/universal-template.d.ts +0 -22
  643. package/dist/knowledge/util-risk.d.ts +0 -30
  644. package/dist/knowledge/workflow-guidance.d.ts +0 -194
  645. package/dist/knowledge/workspace-lists.d.ts +0 -61
  646. package/dist/monitor/SuggestionBridge.spec.d.ts +0 -1
  647. package/dist/monitor/SuggestionBridge.spec.js +0 -1
  648. package/dist/participation/arbitrator-interest.d.ts +0 -22
  649. package/dist/participation/demander-interest.d.ts +0 -23
  650. package/dist/participation/employee-kpi.d.ts +0 -37
  651. package/dist/participation/employee-kpi.spec.d.ts +0 -1
  652. package/dist/participation/employee-kpi.spec.js +0 -1
  653. package/dist/participation/employee-store.d.ts +0 -16
  654. package/dist/participation/game-context.d.ts +0 -25
  655. package/dist/participation/index.d.ts +0 -2
  656. package/dist/participation/node-action-advisor.d.ts +0 -68
  657. package/dist/participation/time-window.d.ts +0 -48
  658. package/dist/persona/facet-profile.d.ts +0 -33
  659. package/dist/persona/persona-audit.spec.d.ts +0 -1
  660. package/dist/persona/persona-audit.spec.js +0 -1
  661. package/dist/playbooks/service-build/business-puzzle.d.ts +0 -48
  662. package/dist/playbooks/service-build/context-assembly.d.ts +0 -32
  663. package/dist/playbooks/service-build/facet-money.d.ts +0 -33
  664. package/dist/playbooks/service-build/facet-money.spec.d.ts +0 -1
  665. package/dist/playbooks/service-build/facet-money.spec.js +0 -1
  666. package/dist/playbooks/service-build/game-theory.d.ts +0 -47
  667. package/dist/playbooks/service-build/index.d.ts +0 -15
  668. package/dist/playbooks/service-build/intent-analyzer.d.ts +0 -72
  669. package/dist/playbooks/service-build/machine-nodes.d.ts +0 -27
  670. package/dist/playbooks/service-build/machine-panorama.d.ts +0 -71
  671. package/dist/playbooks/service-build/merchant-guide.d.ts +0 -382
  672. package/dist/playbooks/service-build/migration-planner.d.ts +0 -61
  673. package/dist/playbooks/service-build/mode-actions.d.ts +0 -260
  674. package/dist/playbooks/service-build/object-panorama.d.ts +0 -317
  675. package/dist/playbooks/service-build/object-type.d.ts +0 -1
  676. package/dist/playbooks/service-build/participation-radar.d.ts +0 -20
  677. package/dist/playbooks/service-build/pipeline-actions.d.ts +0 -108
  678. package/dist/playbooks/service-build/process.d.ts +0 -6
  679. package/dist/playbooks/service-build/relationship-profile.d.ts +0 -3
  680. package/dist/playbooks/service-build/reverse-mapping-nk4.spec.d.ts +0 -1
  681. package/dist/playbooks/service-build/reverse-mapping-nk4.spec.js +0 -1
  682. package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.d.ts +0 -1
  683. package/dist/playbooks/service-build/reverse-mapping-refund-p0-5.spec.js +0 -1
  684. package/dist/playbooks/service-build/reverse-mapping.d.ts +0 -66
  685. package/dist/playbooks/service-build/risk-aggregator.d.ts +0 -59
  686. package/dist/playbooks/service-build/service-panorama.d.ts +0 -229
  687. package/dist/playbooks/service-build/service-quote.d.ts +0 -2
  688. package/dist/playbooks/service-build/service-quote.spec.d.ts +0 -1
  689. package/dist/playbooks/service-build/service-quote.spec.js +0 -1
  690. package/dist/playbooks/service-build/topology-evaluation.spec.d.ts +0 -1
  691. package/dist/playbooks/service-build/topology-evaluation.spec.js +0 -1
  692. package/dist/playbooks/service-build/topology-query.d.ts +0 -25
  693. package/dist/playbooks/service-build/workflow-design-assessment.d.ts +0 -33
  694. package/dist/relationship/derivation.d.ts +0 -95
  695. package/dist/relationship/derivation.spec.d.ts +0 -1
  696. package/dist/relationship/derivation.spec.js +0 -1
  697. package/dist/relationship/incentive.d.ts +0 -38
  698. package/dist/relationship/index.d.ts +0 -4
  699. package/dist/relationship/registry.d.ts +0 -13
  700. package/dist/relationship/types.d.ts +0 -45
  701. package/dist/review/arb.d.ts +0 -4
  702. package/dist/review/demand.d.ts +0 -3
  703. package/dist/review/index.d.ts +0 -3
  704. package/dist/review/machine.d.ts +0 -3
  705. package/dist/review/order.d.ts +0 -8
  706. package/dist/review/progress.d.ts +0 -3
  707. package/dist/review/repository.d.ts +0 -3
  708. package/dist/review/service.d.ts +0 -5
  709. package/dist/review/types.d.ts +0 -163
  710. package/dist/role/derivation.d.ts +0 -35
  711. package/dist/role/index.d.ts +0 -6
  712. package/dist/role/intent.d.ts +0 -23
  713. package/dist/role/model.d.ts +0 -9
  714. package/dist/role/profiles.d.ts +0 -26
  715. package/dist/role/resolution.d.ts +0 -27
  716. package/dist/runtime/instance-registry.d.ts +0 -14
  717. package/dist/safety/index.d.ts +0 -3
  718. package/dist/schema/call/permission-handler.d.ts +0 -5
  719. package/dist/schema/call/semantic-customer-advice.spec.d.ts +0 -1
  720. package/dist/schema/call/semantic-customer-advice.spec.js +0 -1
  721. package/dist/schema/common/tokentype-short-probe.spec.d.ts +0 -1
  722. package/dist/schema/common/tokentype-short-probe.spec.js +0 -1
  723. package/dist/schema/envelope-unify.d.ts +0 -5
  724. package/dist/schema/goal/planning.d.ts +0 -742
  725. package/dist/schema/industry-pack/modes.d.ts +0 -447
  726. package/dist/schema/query/bi.d.ts +0 -3369
  727. package/dist/schema/utils/guard-query-utils.d.ts +0 -18
  728. package/dist/schema/utils/permission-index-utils.d.ts +0 -2
  729. package/dist/schema/utils/skills-recommendation.d.ts +0 -2
  730. package/dist/schema-query-impl/index.d.ts +0 -83
  731. package/dist/schemas/account_operation.output.json +0 -3869
  732. package/dist/schemas/ask_user.output.json +0 -54
  733. package/dist/schemas/benchmark_migration_operation.output.json +0 -1669
  734. package/dist/schemas/bridge_operation.output.json +0 -1548
  735. package/dist/schemas/config_operation.output.json +0 -896
  736. package/dist/schemas/employee_operation.output.json +0 -307
  737. package/dist/schemas/evaluation_operation.output.json +0 -4716
  738. package/dist/schemas/guard2file.output.json +0 -83
  739. package/dist/schemas/industry_pack_operation.output.json +0 -2985
  740. package/dist/schemas/intent_radar.output.json +0 -326
  741. package/dist/schemas/keeper_operation.output.json +0 -1441
  742. package/dist/schemas/local_cache_operation.output.json +0 -1718
  743. package/dist/schemas/local_history_operation.output.json +0 -1644
  744. package/dist/schemas/local_info_operation.output.json +0 -1530
  745. package/dist/schemas/local_mark_operation.output.json +0 -1622
  746. package/dist/schemas/machineNode2file.output.json +0 -88
  747. package/dist/schemas/messenger_operation.output.json +0 -4692
  748. package/dist/schemas/monitor_events.output.json +0 -1602
  749. package/dist/schemas/monitor_subscription.output.json +0 -1629
  750. package/dist/schemas/onchain_events.output.json +0 -4053
  751. package/dist/schemas/onchain_operations.output.json +0 -7788
  752. package/dist/schemas/onchain_table_data.output.json +0 -11868
  753. package/dist/schemas/permission_operation.output.json +0 -205
  754. package/dist/schemas/persona_operation.output.json +0 -64612
  755. package/dist/schemas/query_toolkit.output.json +0 -28302
  756. package/dist/schemas/schema_query.output.json +0 -81
  757. package/dist/schemas/service_clone_operation.output.json +0 -247
  758. package/dist/schemas/strategy_review_operation.output.json +0 -532
  759. package/dist/schemas/watch_operation.output.json +0 -930
  760. package/dist/schemas/wip_file.output.json +0 -360
  761. package/dist/schemas/workflow_operation.output.json +0 -422
  762. package/dist/schemas/workspace_operation.output.json +0 -477
  763. package/dist/schemas/wowok_buildin_info.output.json +0 -2477
  764. package/dist/strategy/collectors.d.ts +0 -66
  765. package/dist/strategy/collectors.spec.d.ts +0 -1
  766. package/dist/strategy/collectors.spec.js +0 -1
  767. package/dist/strategy/index.d.ts +0 -5
  768. package/dist/strategy/metrics.d.ts +0 -20
  769. package/dist/strategy/review.d.ts +0 -48
  770. package/dist/strategy/scorecard.d.ts +0 -32
  771. package/dist/strategy/store.d.ts +0 -26
  772. package/dist/task/ProcessStore.d.ts +0 -98
  773. package/dist/task/playbook.d.ts +0 -11
  774. package/dist/task/substep-trace.d.ts +0 -91
  775. package/dist/tools/build-fingerprint.d.ts +0 -28
  776. package/dist/tools/error-catalog.d.ts +0 -17
  777. package/dist/tools/handlers/ask-user.d.ts +0 -3
  778. package/dist/tools/handlers/benchmark-migration.d.ts +0 -121
  779. package/dist/tools/handlers/bridge.d.ts +0 -8
  780. package/dist/tools/handlers/config.d.ts +0 -2
  781. package/dist/tools/handlers/dispatch-expectations.d.ts +0 -2
  782. package/dist/tools/handlers/dispatch-expectations.spec.d.ts +0 -1
  783. package/dist/tools/handlers/dispatch-expectations.spec.js +0 -1
  784. package/dist/tools/handlers/employee.d.ts +0 -8
  785. package/dist/tools/handlers/employee.spec.d.ts +0 -1
  786. package/dist/tools/handlers/employee.spec.js +0 -1
  787. package/dist/tools/handlers/entry-edge-recipe.d.ts +0 -101
  788. package/dist/tools/handlers/escrow-deficit.d.ts +0 -10
  789. package/dist/tools/handlers/evaluation.d.ts +0 -2
  790. package/dist/tools/handlers/evaluation.spec.d.ts +0 -1
  791. package/dist/tools/handlers/evaluation.spec.js +0 -1
  792. package/dist/tools/handlers/file-export.d.ts +0 -3
  793. package/dist/tools/handlers/fund-rail-recipe.d.ts +0 -10
  794. package/dist/tools/handlers/goal.d.ts +0 -4
  795. package/dist/tools/handlers/industry-pack.d.ts +0 -3
  796. package/dist/tools/handlers/intent-radar.d.ts +0 -2
  797. package/dist/tools/handlers/keeper.d.ts +0 -12
  798. package/dist/tools/handlers/local.d.ts +0 -6
  799. package/dist/tools/handlers/mark-namespace.d.ts +0 -30
  800. package/dist/tools/handlers/messenger.d.ts +0 -24
  801. package/dist/tools/handlers/monitor.d.ts +0 -26
  802. package/dist/tools/handlers/name-resolution.d.ts +0 -4
  803. package/dist/tools/handlers/name-resolution.spec.d.ts +0 -1
  804. package/dist/tools/handlers/name-resolution.spec.js +0 -1
  805. package/dist/tools/handlers/network.d.ts +0 -1
  806. package/dist/tools/handlers/onchain-name-registration.d.ts +0 -49
  807. package/dist/tools/handlers/onchain-name-registration.spec.d.ts +0 -1
  808. package/dist/tools/handlers/onchain-name-registration.spec.js +0 -1
  809. package/dist/tools/handlers/onchain.d.ts +0 -132
  810. package/dist/tools/handlers/permission.d.ts +0 -2
  811. package/dist/tools/handlers/persona.d.ts +0 -4
  812. package/dist/tools/handlers/publish-binding-echo.d.ts +0 -22
  813. package/dist/tools/handlers/review-chain.d.ts +0 -19
  814. package/dist/tools/handlers/schema-query.d.ts +0 -2
  815. package/dist/tools/handlers/service-clone.d.ts +0 -20
  816. package/dist/tools/handlers/stale-build-check.d.ts +0 -9
  817. package/dist/tools/handlers/strategy-review.d.ts +0 -2
  818. package/dist/tools/handlers/submission-assembly.d.ts +0 -55
  819. package/dist/tools/handlers/watch.d.ts +0 -2
  820. package/dist/tools/handlers/winner-derivation.d.ts +0 -20
  821. package/dist/tools/handlers/wip-upload.d.ts +0 -22
  822. package/dist/tools/handlers/wip.d.ts +0 -2
  823. package/dist/tools/handlers/workflow.d.ts +0 -2
  824. package/dist/tools/handlers/workspace.d.ts +0 -4
  825. package/dist/tools/move-fn-index.gen.d.ts +0 -3
  826. package/dist/tools/publish-gate-state.d.ts +0 -5
  827. package/dist/tools/registry/agent.d.ts +0 -2
  828. package/dist/tools/registry/bridge.d.ts +0 -2
  829. package/dist/tools/registry/business.d.ts +0 -2
  830. package/dist/tools/registry/config.d.ts +0 -2
  831. package/dist/tools/registry/evaluation.d.ts +0 -2
  832. package/dist/tools/registry/files.d.ts +0 -2
  833. package/dist/tools/registry/identity.d.ts +0 -2
  834. package/dist/tools/registry/interaction.d.ts +0 -2
  835. package/dist/tools/registry/local.d.ts +0 -2
  836. package/dist/tools/registry/messenger.d.ts +0 -2
  837. package/dist/tools/registry/monitor.d.ts +0 -2
  838. package/dist/tools/registry/onchain.d.ts +0 -2
  839. package/dist/tools/registry/query.d.ts +0 -2
  840. package/dist/tools/retry.d.ts +0 -8
  841. package/dist/tools/rules-hook.d.ts +0 -5
  842. package/dist/tools/runtime-health.d.ts +0 -10
  843. package/dist/tools/sanitize-description-roundtrip.spec.d.ts +0 -1
  844. package/dist/tools/sanitize-description-roundtrip.spec.js +0 -1
  845. package/dist/tools/sanitize-output.d.ts +0 -4
  846. package/dist/tools/sanitize-output.spec.d.ts +0 -1
  847. package/dist/tools/sanitize-output.spec.js +0 -1
  848. package/dist/tools/shared.d.ts +0 -20
  849. package/dist/tools/transport-integrity.d.ts +0 -7
  850. package/dist/tools/upgrade-check.d.ts +0 -75
  851. package/dist/tools/wip-deploy-assist.d.ts +0 -34
  852. package/dist/tools/wip-verify-ledger.d.ts +0 -16
  853. package/dist/tools/wrap.d.ts +0 -45
@@ -1 +1 @@
1
- import{GUARDQUERY}from'@wowok/wowok';import{getChainQuery}from'./chain-query-registry.js';import{isUnboundSignerTheft}from'./recipient-constraint.js';import{factoryRulePack,getJudgmentDoc}from'../config/judgment.js';import{evaluateRuleBook}from'../config/rule-engine.js';function rootRaw(a){try{return JSON['stringify'](a)??'';}catch{return'';}}function hasSignerCheck(a){return a['includes']('\x22Signer\x22');}function hasClockCheck(a){return a['includes']('\x22Clock\x22');}function hasGuardSelfRef(a){return a['includes']('\x22Guard\x22');}function hasWitness(a){return a['includes']('\x22convert_witness\x22');}function extractWitnessCodes(a){const b=[],c=rootRaw(a),d=c['matchAll'](/"convert_witness"\s*:\s*(\d+)/g);for(const e of d){const f=parseInt(e[0x1],0xa);if(f>=0x64&&f<=0x6d)b['push'](f);}return b;}const WITNESS_CHAIN={0x64:['Order','Progress'],0x65:['Order','Machine'],0x66:['Order','Service'],0x67:['Progress','Machine'],0x68:['Arb','Order'],0x69:['Arb','Arbitration'],0x6a:['Arb','Order','Progress'],0x6b:['Arb','Order','Service'],0x6c:['Arb','Order','Machine'],0x6d:['Order','Allocation']};function extractWitnessIdentifierPairs(a){const b=[],c=new WeakSet();function d(e){if(e===null||typeof e!=='object')return;if(c['has'](e))return;c['add'](e);typeof e['convert_witness']==='number'&&typeof e['identifier']==='number'&&b['push']({'code':e['convert_witness'],'identifier':e['identifier']});for(const f of Object['keys'](e)){const g=e[f];if(Array['isArray'](g)){for(const h of g)d(h);}else g!==null&&typeof g==='object'&&d(g);}}return d(a),b;}const WITNESS_TARGET_PREFIX={0x64:'progress',0x65:'machine',0x66:'service',0x67:'machine',0x68:'order',0x69:'arb',0x6a:'progress',0x6b:'service',0x6c:'machine',0x6d:'allocation'},WITNESS_NAME_TO_CODE={'orderprogress':0x64,'ordermachine':0x65,'orderservice':0x66,'progressmachine':0x67,'arborder':0x68,'arbarbitration':0x69,'arbprogress':0x6a,'arbmachine':0x6b,'arbservice':0x6c,'orderallocation':0x6d};function witnessCodeOf(a){if(typeof a==='number')return a>=0x64&&a<=0x6d?a:undefined;if(typeof a==='string'){const b=a['toLowerCase']()['replace'](/^type/,'');return WITNESS_NAME_TO_CODE[b];}return undefined;}function extractQuerySourceTriples(a){const b=[],c=new WeakSet();function d(e){if(e===null||typeof e!=='object')return;if(c['has'](e))return;c['add'](e);if(typeof e['query']==='string'&&e['object']&&typeof e['object']==='object'){const f=witnessCodeOf(e['object']['convert_witness']);b['push']({'query':e['query'],'code':f,'identifier':typeof e['object']['identifier']==='number'?e['object']['identifier']:undefined});}for(const g of Object['keys'](e)){const h=e[g];if(Array['isArray'](h)){for(const i of h)d(i);}else h!==null&&typeof h==='object'&&d(h);}}return d(a),b;}function walkGuardRootNodes(a,b){const c=new WeakSet();function d(e){if(e===null||typeof e!=='object')return;if(c['has'](e))return;c['add'](e),b(e);for(const f of getChildNodes(e))d(f);}d(a);}function getChildNodes(a){if(!a||typeof a!=='object')return[];const b=[];if(Array['isArray'](a['nodes']))b['push'](...a['nodes']);if(a['left'])b['push'](a['left']);if(a['right'])b['push'](a['right']);if(a['vec'])b['push'](a['vec']);if(a['target'])b['push'](a['target']);if(a['object']&&typeof a['object']==='object')b['push'](a['object']);if(Array['isArray'](a['parameters']))b['push'](...a['parameters']);return b['filter'](d=>d&&typeof d==='object');}function findSignerLogicEqualNodes(a){const b=[];function c(d,e){if(!d||typeof d!=='object')return;if(d['type']==='logic_equal'){const f=Array['isArray'](d['nodes'])?d['nodes']:d['left']&&d['right']?[d['left'],d['right']]:[];if(f['length']===0x2){const g=f['findIndex'](h=>h?.['type']==='context'&&h?.['context']==='Signer');g>=0x0&&b['push']({'node':d,'parentType':e,'otherOperand':f[0x1-g]});}}for(const h of getChildNodes(d)){c(h,d['type']);}}return c(a,null),b;}function detectLevel1StrictBinding(a,b){const c=findSignerLogicEqualNodes(a);for(const d of c){const e=d['otherOperand'];if(e?.['type']==='identifier'){const f=b['find'](g=>g['identifier']===e['identifier']);if(f&&!f['b_submission']&&f['value_type']==='Address'&&typeof f['value']==='string'&&f['value']['length']>0x0)return{'detected':!![],'entry':{'identifier':f['identifier'],'value':f['value'],'name':f['name']}};}}return{'detected':![]};}function isSignerCheckInLogicOr(a){const b=findSignerLogicEqualNodes(a);return b['some'](c=>c['parentType']==='logic_or');}const QUERY_INVARIANT_MAP=((()=>{const a=new Map();for(const b of GUARDQUERY){b['invariant']!==undefined&&a['set'](b['id'],b['invariant']);}return a;})());function extractQueryIds(a){const b=[],c=rootRaw(a),d=c['matchAll'](/"query"\s*:\s*(\d+)/g);for(const f of d){const g=parseInt(f[0x1],0xa);if(!b['includes'](g))b['push'](g);}const e=c['matchAll'](/"query"\s*:\s*"([^"]+)"/g);for(const h of e){const i=h[0x1],j=GUARDQUERY['find'](k=>k['name']===i);if(j&&!b['includes'](j['id']))b['push'](j['id']);}return b;}function bareBoolQueryClauses(a){const b=[],c=(d,e)=>{if(e>0x40||!d||typeof d!=='object'||typeof d['type']!=='string')return;if((d['type']==='logic_and'||d['type']==='logic_or')&&Array['isArray'](d['nodes']))for(const f of d['nodes']){if(f&&typeof f==='object'&&f['type']==='query'){const g=f['query'],h=typeof g==='number'?'#'+g:typeof g==='string'?g:'(unknown\x20query)';if(!b['includes'](h))b['push'](h);}}if(Array['isArray'](d['nodes'])){for(const i of d['nodes'])c(i,e+0x1);}if(d['node'])c(d['node'],e+0x1);};return c(a,0x0),b;}export function rootReferencedIdentifiers(a){const b=new Set(),c=(d,e)=>{if(e>0x40||!d||typeof d!=='object')return;d['type']==='identifier'&&Number['isFinite'](Number(d['identifier']))&&b['add'](Number(d['identifier']));if(Array['isArray'](d['nodes'])){for(const f of d['nodes'])c(f,e+0x1);}if(d['node'])c(d['node'],e+0x1);};return c(a,0x0),b;}function mentionsClock(a,b=0x0){if(b>0x40||!a||typeof a!=='object')return![];if(a['type']==='context'&&String(a['context'])['toLowerCase']()==='clock')return!![];if(Array['isArray'](a['nodes'])&&a['nodes']['some'](d=>mentionsClock(d,b+0x1)))return!![];return mentionsClock(a['node'],b+0x1);}function riskyQueryIds(a){return extractQueryIds(a)['filter'](b=>!QUERY_INVARIANT_MAP['has'](b));}function queryLabel(a){const b=GUARDQUERY['find'](c=>c['id']===a);return b?b['id']+'\x20('+b['name']+')':''+a;}function unpinnedTimeLockQueries(a){const b=new Set(),c=(d,e,f)=>{if(f>0x40||!d||typeof d!=='object')return;let g=e;if(d['type']==='logic_and'&&Array['isArray'](d['nodes'])){const h=new Set(e);for(const i of d['nodes']){if(i?.['type']==='logic_as_u256_greater'&&Array['isArray'](i['nodes'])&&i['nodes']['length']===0x2){for(const j of i['nodes'])for(const k of extractQueryIds(j))h['add'](k);}}g=h;}if(d['type']==='logic_as_u256_greater_or_equal'&&Array['isArray'](d['nodes'])&&d['nodes']['length']===0x2){const [l,m]=d['nodes'],n=mentionsClock(l)?m:mentionsClock(m)?l:undefined;if(n!==undefined){for(const o of riskyQueryIds(n))if(!g['has'](o))b['add'](o);}}if(Array['isArray'](d['nodes'])){for(const p of d['nodes'])c(p,g,f+0x1);}if(d['node'])c(d['node'],g,f+0x1);};return c(a,new Set(),0x0),[...b];}function ambiguousStrictComparisons(a,b){const c=f=>{if(f?.['type']!=='identifier')return undefined;const g=b['find'](i=>Number(i['identifier'])===Number(f['identifier']));if(g===undefined||g['b_submission'])return undefined;const h=Number(g['value']);return Number['isFinite'](h)?h:undefined;},d=new Set(),e=(f,g)=>{if(g>0x40||!f||typeof f!=='object')return;if(f['type']==='logic_as_u256_greater'&&Array['isArray'](f['nodes'])&&f['nodes']['length']===0x2){const [h,i]=f['nodes'],j=c(h),k=c(i),l=j??k,m=j!==undefined?i:k!==undefined?h:undefined;if(m!==undefined&&l!==undefined&&l!==0x0){for(const n of riskyQueryIds(m))d['add'](n);}}if(Array['isArray'](f['nodes'])){for(const o of f['nodes'])e(o,g+0x1);}if(f['node'])e(f['node'],g+0x1);};return e(a,0x0),[...d];}const REENTRANCY_SPECS=[{'sceneId':'reward_claim','level':'critical','existsPrimitives':[0x64d],'countPrimitives':[0x64c],'addressPrimitives':[0x65a],'rationale':'Guard\x20pass\x20distributes\x20reward\x20funds\x20to\x20the\x20Claimant\x20AND\x20creates\x20a\x20reward_record,\x20but\x20the\x20Guard\x20conditions\x20(identity,\x20time,\x20node\x20state)\x20do\x20NOT\x20naturally\x20invalidate\x20after\x20a\x20claim.\x20'+'Without\x20an\x20explicit\x20anti-reentrancy\x20primitive,\x20the\x20same\x20Claimant\x20can\x20repeatedly\x20pass\x20the\x20Guard\x20and\x20DRAIN\x20THE\x20ENTIRE\x20POOL.\x20'+'This\x20is\x20the\x20most\x20severe\x20reentrancy\x20scene\x20—\x20direct\x20fund\x20loss.','mitigation':'Add\x20ONE\x20of\x20the\x20following\x20to\x20the\x20root\x20(wrapped\x20in\x20logic_and\x20with\x20existing\x20conditions):\x0a'+'\x20\x20-\x20logic_not(query(\x27reward.record\x20has\x27,\x20object=reward,\x20parameters=[claimant_address]))\x20—\x20RECOMMENDED\x20(per-user\x20Bool\x20check)\x0a'+'\x20\x20-\x20logic_equal([query(\x27reward.record\x20count\x27,\x20object=reward),\x20identifier(N)])\x20where\x20table[N].value=0\x20—\x20total-claim\x20count\x20is\x200\x0a'+'\x20\x20-\x20logic_as_u256_equal([query(\x27reward.record.find_first\x27,\x20object=reward,\x20where={...}),\x20identifier(N)])\x20where\x20table[N].value=18446744073709551615\x20—\x20no\x20matching\x20record\x20found\x20(the\x20u64::MAX\x20sentinel,\x20protocol\x20136+;\x20a\x20plain\x20logic_not\x20wrap\x20is\x20WRONG\x20—\x20the\x20query\x20resolves\x20to\x20a\x20number,\x20and\x20on\x20legacy\x20binaries\x20it\x20aborts\x20instead)\x0a'+'RECORD-GATE\x20FORM\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20the\x20protocol\x20facts\x20are\x20the\x20source\x20of\x20truth):\x20entry-stamp\x20the\x20guard\x20(guard_add\x20store_from_id\x20=\x20the\x20slot\x20whose\x20submitted\x20value\x20is\x20the\x20per-order\x20stamp\x20—\x20slot\x200,\x20the\x20submitted\x20Order)\x20and\x20scope\x20the\x20record\x20query\x20BY\x20THE\x20ORDER:\x20logic_not(query(\x27reward.record.exists_where\x27,\x20object=reward,\x20where:{storeFromId:{identifier:0}}))\x20=\x20once\x20per\x20buyer\x20per\x20ORDER\x20(the\x20native\x20claim\x20key\x20is\x20recipient+guard+stamp,\x20so\x20the\x20same\x20buyer\x20on\x20a\x20different\x20order\x20claims\x20again);\x20entry-stamped\x20+\x20EMPTY\x20where:{}\x20=\x20once\x20per\x20buyer\x20for\x20life\x20(a\x20deliberate\x20one-bounty-per-buyer\x20choice,\x20never\x20a\x20default\x20—\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order,\x20upw-mn-261014\x20F-48).\x20An\x20UNSTAMPED\x20entry\x20never\x20keys\x20its\x20claim\x20records\x20(store_from\x20=\x20none\x20matches\x20no\x20predicate)\x20—\x20the\x20old\x20\x27storeFromId\x20filter\x20no-ops\x27\x20verdict\x20described\x20unstamped\x20rewards\x20only.\x20Never\x20hand-write\x20the\x20RAW\x20query\x20form\x20with\x20an\x20empty\x20VecU8\x20parameter\x20(uncoded\x20VM\x20abort,\x20klk-mn-261013\x20F-05).\x20DEPLOYED-BINARY\x20CAUTION\x20(DEPLOY-K1):\x20confirm\x20the\x20chain\x20generation\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20(build_stamp.chain_stamp)\x20and\x20re-probe\x20one\x20gate\x20on\x20the\x20live\x20network\x20before\x20wiring\x20a\x20funded\x20pool.'},{'sceneId':'arbitration_voting_guard','level':'critical','existsPrimitives':[0x57c,0x57e],'countPrimitives':[0x57d],'addressPrimitives':[],'rationale':'Guard\x20pass\x20counts\x20the\x20vote\x20with\x20the\x20extracted\x20weight.\x20Without\x20anti-reentrancy,\x20the\x20same\x20voter\x20can\x20vote\x20MULTIPLE\x20times,\x20'+'multiplying\x20their\x20weight\x20and\x20skewing\x20the\x20arbitration\x20result\x20—\x20which\x20directly\x20determines\x20fund\x20ownership\x20via\x20compensation.\x20'+'The\x20voter\x27s\x20eligibility\x20(identity,\x20reputation)\x20does\x20NOT\x20naturally\x20invalidate\x20after\x20voting.\x20'+'Note:\x20arb.voted_count\x20(1403)\x20is\x20total\x20voter\x20count\x20(NOT\x20per-voter)\x20and\x20does\x20NOT\x20serve\x20as\x20an\x20anti-reentrancy\x20primitive\x20for\x20an\x20individual\x20voter.','mitigation':'Add\x20ONE\x20of\x20the\x20following\x20to\x20the\x20root\x20(wrapped\x20in\x20logic_and):\x0a'+'\x20\x20-\x20logic_not(query(\x27arb.voted\x20has\x27,\x20object=arb,\x20parameters=[voter_address]))\x20—\x20RECOMMENDED\x20(per-voter\x20Bool)\x0a'+'\x20\x20-\x20logic_not(query(\x27arb.voted.agree\x20has\x27,\x20object=arb,\x20parameters=[voter_address,\x20proposition_index]))\x20—\x20per-voter-per-proposition\x0a'+'\x20\x20-\x20logic_equal([query(\x27arb.voted.agree\x20count\x27,\x20object=arb,\x20parameters=[voter_address]),\x20identifier(N)])\x20where\x20table[N].value=0'},{'sceneId':'arbitration_usage_guard','level':'high','existsPrimitives':[0x61d],'countPrimitives':[0x61c],'addressPrimitives':[],'rationale':'Guard\x20pass\x20creates\x20a\x20new\x20Arb\x20case.\x20Without\x20anti-reentrancy,\x20a\x20customer\x20can\x20create\x20multiple\x20Arb\x20cases\x20for\x20the\x20SAME\x20Order\x20'+'(up\x20to\x20MAX_DISPUTE_COUNT=10),\x20harassing\x20the\x20counterparty\x20and\x20inflating\x20arbitration\x20system\x20load.\x20'+'Not\x20direct\x20fund\x20loss,\x20but\x20severe\x20system\x20abuse.\x20Filing\x20a\x20dispute\x20deduplicates\x20by\x20Arb\x20address\x20but\x20does\x20NOT\x20prevent\x20multiple\x20distinct\x20Arbs.','mitigation':'Add\x20ONE\x20of\x20the\x20following\x20to\x20the\x20root\x20(wrapped\x20in\x20logic_and):\x0a'+'\x20\x20-\x20logic_not(query(\x27order.dispute\x20has\x27,\x20object=order,\x20parameters=[existing_arb_address]))\x20—\x20per-Arb\x20check\x0a'+'\x20\x20-\x20logic_equal([query(\x27order.dispute\x20count\x27,\x20object=order),\x20identifier(N)])\x20where\x20table[N].value=0\x20—\x20STRICT:\x20block\x20any\x20prior\x20dispute\x0a'+'\x20\x20-\x20logic_as_u256_lesser_or_equal([query(\x27order.dispute\x20count\x27,\x20object=order),\x20identifier(N)])\x20where\x20table[N].value=K\x20—\x20LENIENT:\x20allow\x20up\x20to\x20K\x20disputes'},{'sceneId':'service_order_allocators_guard','level':'low','existsPrimitives':[0x620],'countPrimitives':[],'addressPrimitives':[0x621],'rationale':'Protocol-level\x20protection:\x20attaching\x20an\x20Allocation\x20to\x20an\x20Order\x20asserts\x20ONE\x20Allocation\x20per\x20Order\x20(E_ALLOCATION_ALREADY_SPECIFIED).\x20'+'After\x20alloc()\x20executes,\x20typical\x20Surplus-mode\x20and\x20Rate-mode\x20allocators\x20drain\x20the\x20pool,\x20making\x20reentrancy\x20unprofitable.\x20'+'EXACTNESS\x20CAVEAT:\x20Rate\x20legs\x20floor\x20independently\x20(balance*rate/10000)\x20—\x20a\x20multi-leg\x20Rate\x20set\x20drains\x20to\x20exactly\x200\x20only\x20when\x20'+'the\x20balance\x20divides\x20evenly;\x20truncation\x20dust\x20otherwise\x20survives\x20and\x20a\x20second\x20alloc()\x20can\x20extract\x20it.\x20Single-leg\x20Rate\x2010000\x20'+'and\x20Surplus\x20mode\x20always\x20drain\x20exactly.\x20For\x20a\x20guaranteed\x20one-shot\x20rail,\x20arm\x20the\x20255\x20once-slot\x20instead\x20of\x20relying\x20on\x20the\x20arithmetic.\x20'+'EDGE\x20CASE:\x20Amount-mode-only\x20allocators\x20(no\x20Surplus,\x20total\x20<\x20full\x20balance)\x20leave\x20remainder;\x20a\x20second\x20alloc()\x20could\x20extract\x20more\x20—\x20mitigated\x20by\x20preferring\x20Rate/RateGross/Surplus\x20modes.\x20'+'External\x20deposit\x20via\x20receive()\x20is\x20possible\x20but\x20irrational\x20(attacker\x20funds\x20the\x20Allocation\x20they\x20attack).','mitigation':'Default:\x20no\x20action\x20needed\x20for\x20Surplus\x20or\x20single-leg\x20Rate-10000\x20rails.\x20IF\x20using\x20multi-leg\x20Rate\x20sets\x20with\x20untrusted\x20balances\x20or\x20'+'Amount-mode-only\x20allocators:\x20arm\x20a\x20255\x20once-slot\x20(one-shot\x20rail)\x20OR\x20add\x20logic_not(query(\x27order.allocation\x20some\x27,\x20object=order))\x20'+'OR\x20prefer\x20Rate/RateGross/Surplus\x20modes\x20to\x20drain\x20the\x20balance\x20completely.'},{'sceneId':'service_buy_guard','level':'low','existsPrimitives':[],'countPrimitives':[],'addressPrimitives':[],'rationale':'Each\x20purchase\x20creates\x20a\x20fresh\x20Order;\x20no\x20existing\x20Order\x20state\x20is\x20modified.\x20Default:\x20no\x20reentrancy\x20risk.\x20'+'IF\x20business\x20intent\x20is\x20\x27limit\x20one\x20purchase\x20per\x20user\x27\x20(limited-edition\x20goods,\x20whitelist\x20single-buy),\x20an\x20anti-reentrancy\x20check\x20is\x20REQUIRED\x20'+'but\x20no\x20direct\x20GUARDQUERY\x20primitive\x20exists\x20for\x20per-user\x20purchase\x20history.','mitigation':'IF\x20limit-purchase\x20intent:\x20record\x20purchases\x20in\x20a\x20Repository\x20and\x20add\x20logic_not(query(\x27repository.data\x20has\x27,\x20...))\x20to\x20the\x20BUY\x20guard\x20root\x20(valid\x20on\x20the\x20READ\x20side\x20only\x20—\x20buy_guard\x20runs\x20in\x20a\x20separate\x20transaction,\x20so\x20the\x20pre-state\x20is\x20visible);\x20'+'NEVER\x20move\x20this\x20check\x20into\x20a\x20Repository\x20write_guard\x20verified\x20in\x20the\x20write\x20PTB\x20—\x20there\x20the\x20idiom\x20aborts\x20at\x20the\x20write\x20site\x20(ofn-mn-261012\x20F-02);\x20OR\x20revoke\x20EntityRegistrar\x20membership\x20after\x20first\x20buy;\x20OR\x20use\x20an\x20off-chain\x20allowlist\x20with\x20on-chain\x20Merkle\x20proof.'},{'sceneId':'repository_write_guard','level':'low','existsPrimitives':[0x48e],'countPrimitives':[],'addressPrimitives':[],'rationale':'Default\x20writes\x20are\x20idempotent\x20(same\x20ID\x20overwrites,\x20different\x20ID\x20appends);\x20no\x20fund\x20flow.\x20'+'IF\x20business\x20intent\x20is\x20\x27one\x20write\x20per\x20ID\x27\x20(voting,\x20immutable\x20credential,\x20single-attestation),\x20an\x20anti-reentrancy\x20check\x20is\x20needed.','mitigation':'GUARD-side\x20one-write-per-ID\x20is\x20NOT\x20enforceable\x20(ofn-mn-261012\x20F-02,\x20mainnet\x20A/B\x20verified):\x20the\x20write\x20guard\x20is\x20verified\x20inside\x20the\x20write\x20PTB\x20and\x20repository.data\x20is\x20an\x20UPSERT\x20—\x20a\x20logic_not(query(\x27repository.data\x20has\x27,\x20...))\x20leg\x20always\x20aborts\x20at\x20the\x20write\x20site.\x20POLICY-side\x20one-write\x20IS\x20enforceable\x20TODAY\x20(K3(a)):\x20set\x20write_once\x20on\x20the\x20Repository\x20policy\x20rule\x20—\x20a\x20second\x20write\x20to\x20the\x20same\x20(id,\x20key)\x20aborts\x20E_POLICY_WRITE_ONCE_CONFLICT=24\x20(compile\x20emits\x20it\x20on\x20the\x20review/rating\x20policies).\x20Also\x20usable:\x20the\x20protocol-255\x20ONCE\x20slot\x20(limits\x20the\x20guard\x20pool\x20to\x20one\x20pass)\x20plus\x20the\x20254\x20task-binding\x20slot\x20(per-order\x20scoping);\x20per-row\x20value\x20ranges\x20(e.g.\x20rating\x201-5)\x20go\x20through\x20a\x20Repository\x20write\x20policy.\x20A\x20chain-side\x20write-guard\x20post-state\x20read\x20is\x20on\x20the\x20protocol\x20decision\x20list.'},{'sceneId':'gen_passport_guard','level':'low','existsPrimitives':[],'countPrimitives':[],'addressPrimitives':[],'rationale':'Each\x20gen_passport\x20call\x20generates\x20an\x20independent\x20Passport\x20(one\x20Passport\x20per\x20operation).\x20'+'Multiple\x20Passports\x20for\x20the\x20same\x20user\x20are\x20usually\x20valid\x20(each\x20serves\x20a\x20different\x20subsequent\x20operation).\x20'+'IF\x20business\x20intent\x20is\x20\x27one\x20active\x20Passport\x20per\x20user\x27,\x20an\x20anti-reentrancy\x20check\x20is\x20needed\x20but\x20no\x20direct\x20GUARDQUERY\x20primitive\x20exists.','mitigation':'IF\x20one-passport-per-user\x20intent:\x20use\x20off-chain\x20tracking\x20or\x20a\x20Repository\x20to\x20record\x20issued\x20Passport\x20IDs.'}],QUERY_TYPE_ALIASES=new Map([['query_reward_record_exists',0x64d],['query_reward_record_count',0x64c],['query_reward_record_find',0x65a],['query_progress_history_find',0x4fa],['query_progress_history_time',0x500],['query_progress_history_time_or_zero',0x507],['query_progress_history_session_find',0x4fb],['query_progress_history_session_forward_find',0x4fc],['query_progress_history_session_count',0x4f9],['query_progress_history_session_forward_count',0x4ee],['query_repository_data_count_where',0x495],['query_repository_data_sum_where',0x496],['query_repository_data_sum_where_bound',0x49b],['query_repository_data_sum_where_bound_all',0x49d],['query_repository_policies_keys',0x497],['query_repository_data_find_where',0x498],['query_repository_data_keys_where',0x499],['query_repository_data_has',0x48e],['query_repository_data',0x48f],['query_order_named_operator_member',0x627]]);function detectReentrancyProtection(a,b,c){const d=new Set([...c['existsPrimitives'],...c['countPrimitives'],...c['addressPrimitives']]);if(d['size']===0x0)return{'state':'absent','evidence':'No\x20anti-reentrancy\x20primitive\x20available\x20in\x20GUARDQUERY\x20for\x20this\x20scene'};const e=new Map(),f=new Map();for(const p of d){const q=GUARDQUERY['find'](r=>r['id']===p);q&&(e['set'](p,q['name']),f['set'](q['name'],p));}const g=Array['from'](f['keys']());function h(r){if(!r||typeof r!=='object')return-0x1;if(typeof r['query']==='number'&&d['has'](r['query']))return r['query'];if(typeof r['query']==='string'&&f['has'](r['query']))return f['get'](r['query']);if(typeof r['type']==='string'&&QUERY_TYPE_ALIASES['has'](r['type'])){const s=QUERY_TYPE_ALIASES['get'](r['type']);if(d['has'](s))return s;}if(typeof r['type']==='string'&&f['has'](r['type']))return f['get'](r['type']);return-0x1;}function i(r){if(!r||typeof r!=='object')return![];if(typeof r['type']==='string'&&['number','u8','u16','u32','u64','u128','u256']['includes'](r['type']))return r['value']===0x0||r['value']==='0'||r['value']===0x0n;if(r['type']==='identifier'&&typeof r['identifier']==='number'){const s=b['find'](t=>t['identifier']===r['identifier']);if(s&&!s['b_submission'])return s['value']===0x0||s['value']==='0'||s['value']===0x0n;}return![];}function j(r,s){if(!r||typeof r!=='object')return[];const t=[];if(Array['isArray'](r['nodes']))for(const u of r['nodes']){if(u!==s)t['push'](u);}if(r['left']&&r['left']!==s)t['push'](r['left']);if(r['right']&&r['right']!==s)t['push'](r['right']);return t['filter'](v=>v&&typeof v==='object');}let k=![],l=![],m='',n='';function o(r,s,t){if(!r||typeof r!=='object')return;const u=h(r);if(u>=0x0){k=!![];const x=e['get'](u)??'query_'+u;n=x;const y=s?.['type']??null;let z=![];const A=c['existsPrimitives']['includes'](u),B=c['addressPrimitives']['includes'](u),C=c['countPrimitives']['includes'](u);(A||B)&&y==='logic_not'&&(z=!![]);if(C&&y==='logic_equal'){const D=j(s,r);D['some'](E=>i(E))&&(z=!![]);}if(z&&t&&!m)m='Primitive\x20\x22'+x+'\x22\x20is\x20properly\x20wrapped\x20but\x20sits\x20inside\x20an\x20OR\x20disjunction\x20—\x20any\x20sibling\x20branch\x20satisfies\x20the\x20tree\x20without\x20it,\x20so\x20the\x20gate\x20is\x20NOT\x20enforced\x20(false\x20sense\x20of\x20security).';else{if(z&&!t)l=!![];else{if(!z&&!m){const E=C?'logic_equal\x20with\x20a\x20zero\x20operand':'logic_not';m='Primitive\x20\x22'+x+'\x22\x20found\x20but\x20its\x20immediate\x20parent\x20is\x20'+(y??'root')+'\x20(expected\x20'+E+').\x20The\x20primitive\x20is\x20present\x20but\x20does\x20NOT\x20actually\x20prevent\x20reentrancy\x20—\x20this\x20is\x20a\x20false\x20sense\x20of\x20security.';}}}}const v=t||r['type']==='logic_or',w=[];if(Array['isArray'](r['nodes'])){for(const F of r['nodes'])w['push']({'node':F,'disjunctive':v});}if(Array['isArray'](r['and'])){for(const G of r['and'])w['push']({'node':G,'disjunctive':t});}if(Array['isArray'](r['or'])){for(const H of r['or'])w['push']({'node':H,'disjunctive':!![]});}if(r['left'])w['push']({'node':r['left'],'disjunctive':v});if(r['right'])w['push']({'node':r['right'],'disjunctive':v});w['push']({'node':r['node'],'disjunctive':t}),w['push']({'node':r['vec'],'disjunctive':t}),w['push']({'node':r['target'],'disjunctive':t});if(r['object']&&typeof r['object']==='object')w['push']({'node':r['object'],'disjunctive':t});if(Array['isArray'](r['parameters'])){for(const I of r['parameters'])w['push']({'node':I,'disjunctive':t});}for(const J of w){J['node']&&typeof J['node']==='object'&&o(J['node'],r,J['disjunctive']);}}o(a,null,![]);if(l)return{'state':'protected','evidence':'Anti-reentrancy\x20primitive\x20\x22'+n+'\x22\x20is\x20properly\x20wrapped','foundPrimitiveName':n};if(k)return{'state':'pseudo','evidence':m,'foundPrimitiveName':n};return{'state':'absent','evidence':'No\x20anti-reentrancy\x20primitive\x20found\x20in\x20root.\x20Expected\x20one\x20of:\x20'+g['join'](',\x20')};}function stableKey(a){if(a===null||typeof a!=='object')return JSON['stringify'](a)??'null';if(Array['isArray'](a))return'['+a['map'](stableKey)['join'](',')+']';const b=a;return'{'+Object['keys'](b)['sort']()['map'](c=>JSON['stringify'](c)+':'+stableKey(b[c]))['join'](',')+'}';}function readsContext(a){return rootRaw(a)['includes']('\x22context\x22');}const NUMERIC_VALUE_TYPE=/^u(?:8|16|32|64|128|256)$/i,NUMERIC_NODE_TYPES=new Set(['calc_number_add','calc_number_multiply','calc_number_subtract','time_until','calc_number_divide','calc_number_mod','convert_address_number','convert_string_number','convert_safe_u8','convert_safe_u16','convert_safe_u32','convert_safe_u64','convert_safe_u128','convert_safe_u256','vec_length','calc_string_length']),REFLEXIVE_TRUE_OPS=new Set(['logic_equal','logic_as_u256_equal','logic_string_nocase_equal','calc_string_nocase_equal','logic_string_contains','calc_string_contains','logic_string_nocase_contains','calc_string_nocase_contains']),REFLEXIVE_FALSE_OPS=new Set(['logic_not_equal','logic_as_u256_greater','logic_as_u256_lesser']);function tableEntryOf(a,b){if(!a||a['type']!=='identifier')return undefined;return b['find'](c=>c['identifier']===a['identifier']);}function staticValueType(a,b){if(!a||typeof a!=='object'||typeof a['type']!=='string')return undefined;if(a['type']==='identifier')return tableEntryOf(a,b)?.['value_type'];const c=QUERY_TYPE_ALIASES['get'](a['type']),d=a['type']==='query'?a['query']:c;if(d!==undefined){const e=GUARDQUERY['find'](f=>f['id']===d||typeof d==='string'&&f['name']===d);if(e)return String(e['return']);}return NUMERIC_NODE_TYPES['has'](a['type'])?'U64':undefined;}function constantNumber(a,b){const c=tableEntryOf(a,b);if(!c||c['b_submission'])return undefined;if(!NUMERIC_VALUE_TYPE['test'](String(c['value_type'])))return undefined;const d=String(c['value']??'')['trim']();if(!/^\d+$/['test'](d))return undefined;try{return BigInt(d);}catch{return undefined;}}function foldCertainOutcome(c,d,e=0x0){if(e>0x40||!c||typeof c!=='object'||typeof c['type']!=='string')return undefined;const f=Array['isArray'](c['nodes'])?c['nodes']:[],g=i=>foldCertainOutcome(i,d,e+0x1),h=()=>f['length']>0x0?f['map'](g):undefined;switch(c['type']){case'identifier':{const i=tableEntryOf(c,d);if(!i||i['b_submission'])return undefined;if(/^bool$/i['test'](String(i['value_type']))){const j=String(i['value']??'')['trim']()['toLowerCase']();if(j==='true'||j==='false')return{'outcome':j,'reason':'table\x20entry\x20#'+i['identifier']+'\x20is\x20the\x20constant\x20Bool\x20'+j};}return undefined;}case'logic_and':{const k=h();if(!k)return undefined;const l=k['find'](m=>m?.['outcome']==='false');if(l)return{'outcome':'false','reason':'a\x20logic_and\x20branch\x20is\x20always\x20false:\x20'+l['reason']};if(k['every'](m=>m?.['outcome']==='true'))return{'outcome':'true','reason':'every\x20logic_and\x20branch\x20is\x20always\x20true:\x20'+(k[0x0]?.['reason']??'')};return undefined;}case'logic_or':{const m=h();if(!m)return undefined;const n=m['find'](o=>o?.['outcome']==='true');if(n)return{'outcome':'true','reason':'a\x20logic_or\x20branch\x20is\x20always\x20true:\x20'+n['reason']};if(m['every'](o=>o?.['outcome']==='false'))return{'outcome':'false','reason':'every\x20logic_or\x20branch\x20is\x20always\x20false'};return undefined;}case'logic_not':{const o=g(c['node']);if(!o)return undefined;return{'outcome':o['outcome']==='true'?'false':'true','reason':'logic_not\x20of\x20'+(o['outcome']==='true'?'an\x20always-true':'an\x20always-false')+'\x20expression:\x20'+o['reason']};}default:{if(f['length']<0x2)return undefined;const p=new Set(f['map'](stableKey));if(p['size']===0x1&&!readsContext(f[0x0])&&!rootRaw(f[0x0])['includes']('\x22query\x22')){if(REFLEXIVE_TRUE_OPS['has'](c['type']))return{'outcome':'true','reason':c['type']+'\x20compares\x20the\x20same\x20operand\x20to\x20itself\x20(identifier/constant\x20subtree\x20'+stableKey(f[0x0])['slice'](0x0,0x50)+')\x20—\x20it\x20can\x20never\x20reject'};if(REFLEXIVE_FALSE_OPS['has'](c['type']))return{'outcome':'false','reason':c['type']+'\x20compares\x20the\x20same\x20operand\x20to\x20itself\x20—\x20it\x20can\x20never\x20pass'};}const q=f['map'](s=>constantNumber(s,d)),r=c['type']==='logic_as_u256_greater_or_equal'?0x1:c['type']==='logic_as_u256_lesser_or_equal'?0x0:-0x1;if(r>=0x0&&f['length']===0x2){const s=0x1-r,t=f[s],u=staticValueType(t,d);if(q[r]===0x0n&&q[s]===undefined&&u!==undefined&&NUMERIC_VALUE_TYPE['test'](String(u))&&!readsContext(t))return{'outcome':'true','reason':c['type']+'\x20against\x20the\x20constant\x200\x20on\x20an\x20unsigned\x20('+u+')\x20operand\x20—\x20every\x20U-value\x20satisfies\x20it'};}if(q['length']===0x2&&q[0x0]!==undefined&&q[0x1]!==undefined){const v=q[0x0],w=q[0x1],x={'logic_equal':v===w,'logic_as_u256_equal':v===w,'logic_not_equal':v!==w,'logic_as_u256_greater':v>w,'logic_as_u256_greater_or_equal':v>=w,'logic_as_u256_lesser':v<w,'logic_as_u256_lesser_or_equal':v<=w};if(c['type']in x)return{'outcome':x[c['type']]?'true':'false','reason':c['type']+'\x20folds\x20on\x20two\x20constant\x20operands\x20('+v['toString']()+'\x20vs\x20'+w['toString']()+')'};}return undefined;}}}export function guardRiskFacts(a){const b={},c=rootRaw(a?.['root']),d=c['toLowerCase'](),f=Array['isArray'](a?.['table'])?a['table']:[],g=a?.['scene'],h=a?.['rely'];b['has_signer_check']=hasSignerCheck(c),b['has_clock_check']=hasClockCheck(c),b['has_guard_self_ref']=hasGuardSelfRef(c),b['has_witness']=hasWitness(c),b['queries_repository']=d['includes']('repository'),b['queries_progress']=d['includes']('progress'),b['root_has_query']=d['includes']('\x22query\x22'),b['root_has_clock_token']=d['includes']('clock'),b['root_has_calc_number_add']=d['includes']('calc_number_add'),b['root_has_logic_string_contains']=d['includes']('logic_string_contains'),b['root_has_logic_string_nocase']=d['includes']('logic_string_nocase'),b['root_has_logic_as_u256_greater_or_equal']=d['includes']('\x22logic_as_u256_greater_or_equal\x22'),b['root_has_logic_as_u256_greater']=d['includes']('\x22logic_as_u256_greater\x22'),b['root_has_logic_equal']=c['includes']('\x22logic_equal\x22'),b['root_has_logic_not_equal']=c['includes']('\x22logic_not_equal\x22'),b['logic_and_count']=(d['match'](/"logic_and"/g)||[])['length'],b['root_is_identifier']=a?.['root']?.['type']==='identifier';const i=b['root_is_identifier']?f['find'](H=>H['identifier']===a['root']['identifier']):undefined;b['root_identifier_is_submission']=i?.['b_submission']??![];const j=extractQueryIds(a?.['root']);b['root_query_ids_csv']=j['join'](',\x20'),b['root_has_progress_current_query']=j['includes'](0x4e5);const k=bareBoolQueryClauses(a?.['root']);k['length']>0x0&&(b['bare_bool_query_count']=k['length'],b['bare_bool_query_csv_sp']=k['join'](',\x20'));b['queries_arb_status']=d['includes']('arb.status'),b['arb_status_transient_gate']=b['queries_arb_status']&&f['some'](H=>!H['b_submission']&&/^u(8|16|32|64|128|256)$/i['test'](String(H['value_type']))&&Number(H['value'])===0x5);const l=f['some'](H=>H['b_submission']);b['has_submission']=l;const m=f['filter'](H=>!H['b_submission']&&H['value_type']==='Address'&&H['value']);m['length']>0x0&&(b['const_addr_count']=m['length'],b['const_addr_list']=m['map'](H=>'#'+H['identifier']+'='+H['value'])['join'](',\x20'));const n=f['filter'](H=>!H['b_submission']&&H['value_type']==='Address'&&typeof H['value']==='string'&&(H['value']['toLowerCase']()==='0xaab'||H['value']['toLowerCase']()==='0xaaa'));if(n['length']>0x0){b['sys_addr_list']=n['map'](J=>'#'+J['identifier']+'='+J['value']+'('+J['name']+')')['join'](',\x20');const H={'0xaab':/linker|permission|contact|messenger|coin registry|display registry/i,'0xaaa':/entity(?![_-]?linker)|permission|contact|messenger|coin registry|display registry/i},I=n['find'](J=>J['name']&&H[String(J['value'])['toLowerCase']()]?.['test'](J['name']));b['sys_addr_wrong']=I!==undefined;}const o=extractWitnessCodes(a?.['root']),p=o['filter'](J=>[0x6a,0x6b,0x6c]['includes'](J));if(p['length']>0x0){const J={0x6a:'Arb→Progress\x20(two\x20hops:\x20arb.order\x20→\x20order.progress)',0x6b:'Arb→Machine\x20(two\x20hops:\x20arb.order\x20→\x20order.machine)',0x6c:'Arb→Service\x20(two\x20hops:\x20arb.order\x20→\x20order.service)'};b['witness_multihop_codes']=p,b['witness_multihop_csv']=p['join'](',\x20'),b['witness_multihop_names_block']=p['map'](K=>'\x20\x20-\x20'+K+':\x20'+J[K])['join']('\x0a');}const q=extractWitnessIdentifierPairs(a?.['root']),r=q['filter'](K=>K['code']>=0x64&&K['code']<=0x6d);if(r['length']>0x0){const K=[],L=[];for(const {code:N,identifier:O}of r){const P=WITNESS_CHAIN[N];if(!P)continue;const Q=P[0x0],R=f['find'](T=>T['identifier']===O);if(!R)continue;const S=N+'\x20('+P['join']('→')+')';R['object_type']?R['object_type']!==Q&&K['push']('witness\x20'+S+'\x20references\x20#'+O+'\x20'+('but\x20object_type='+R['object_type']+'\x20(expected\x20'+Q+')')):L['push']('witness\x20'+S+'\x20references\x20#'+O+'\x20'+('but\x20object_type\x20is\x20not\x20set\x20(expected\x20'+Q+')'));if(P['length']===0x3){const T=P[0x1],U=f['some'](V=>V['object_type']===T);!U&&L['push']('witness\x20'+S+'\x20multi-hop\x20chain\x20expects\x20intermediate\x20'+(T+'\x20in\x20table,\x20but\x20no\x20entry\x20with\x20object_type='+T+'\x20found'));}}const M=[...K,...L];M['length']>0x0&&(b['rc2_02_issue_count']=M['length'],b['rc2_02_has_hard_mismatch']=K['length']>0x0,b['rc2_02_evidence_lines']=M['map'](V=>'\x20\x20-\x20'+V)['join']('\x0a'),b['rc2_02_evidence_csv']=M['join'](';\x20'));}const s=extractQuerySourceTriples(a?.['root']);if(s['length']>0x0){const V=[],W=[],X=[];for(const Y of s){const Z=Y['query']['split'](/[.\s]/)[0x0]?.['toLowerCase']()??'';if(Y['code']!==undefined){const a0=WITNESS_TARGET_PREFIX[Y['code']];a0&&Z!==a0&&V['push']('query\x20\x22'+Y['query']+'\x22\x20follows\x20convert_witness\x20'+Y['code']+'\x20(target\x20'+a0+'.*)\x20—\x20'+('prefix\x20\x22'+Z+'.*\x22\x20does\x20not\x20exist\x20on\x20the\x20converted\x20type'));}else{if(Z==='progress'&&Y['identifier']!==undefined){const a1=f['find'](a2=>a2['identifier']===Y['identifier']);if(a1?.['object_type']&&a1['object_type']!=='Progress')W['push']('query\x20\x22'+Y['query']+'\x22\x20reads\x20#'+Y['identifier']+'\x20(object_type='+a1['object_type']+')\x20'+'without\x20convert_witness\x20—\x20no\x20PROGRESS→ORDER\x20reverse\x20edge\x20exists;\x20'+'derive\x20Progress\x20via\x20convert_witness\x20100\x20(OrderProgress)');else a1&&!a1['object_type']&&a1['b_submission']===!![]&&X['push']('query\x20\x22'+Y['query']+'\x22\x20reads\x20submission\x20#'+Y['identifier']+'\x20without\x20convert_witness\x20'+'and\x20without\x20an\x20object_type\x20annotation\x20—\x20if\x20this\x20submits\x20the\x20ORDER,\x20'+'progress.*\x20is\x20unresolvable\x20(no\x20PROGRESS→ORDER\x20edge);\x20derive\x20via\x20convert_witness\x20100');}}}V['length']>0x0&&(b['rc2_05_mismatch_count']=V['length'],b['rc2_05_evidence_lines']=V['map'](a2=>'\x20\x20-\x20'+a2)['join']('\x0a'));if(W['length']>0x0||X['length']>0x0){const a2=[...W,...X];b['rc2_06_issue_count']=a2['length'],b['rc2_06_has_hard_mismatch']=W['length']>0x0,b['rc2_06_evidence_lines']=a2['map'](a3=>'\x20\x20-\x20'+a3)['join']('\x0a');}}const u=[];walkGuardRootNodes(a?.['root'],a3=>{if(typeof a3['query']!=='string'||!/keys\s+where/i['test'](a3['query']))return;const a4=getChainQuery(a3['query']);if(!a4){u['push']('query\x20\x22'+a3['query']+'\x22\x20is\x20not\x20in\x20the\x20chain\x20query\x20registry\x20—\x20the\x20native\x20verifier\x20has\x20no\x20such\x20query');return;}const a5=Array['isArray'](a3['parameters'])?a3['parameters']:[];if(a5['length']===0x0)return;if(a5['length']!==a4['requiredParams']['length']){u['push']('\x22'+a3['query']+'\x22\x20carries\x20'+a5['length']+'\x20parameter(s)\x20but\x20the\x20native\x20signature\x20for\x20'+a4['id']+'\x20is\x20('+a4['requiredParams']['join'](',\x20')+')\x20—\x20arity\x20mismatch\x20aborts\x20with\x20GUARD_QUERY_PARAM_INVALID');return;}a5['forEach']((a6,a7)=>{if(a6===null||typeof a6!=='object')return;if(typeof a6['identifier']!=='number')return;const a8=f?.['find'](ae=>ae['identifier']===a6['identifier']),a9=a8?.['value_type'];if(!a9)return;const aa=a4['requiredParams'][a7],ab={'VecU8':'VectorU8','VecAddress':'VectorAddress','VecString':'VectorString','VecBool':'VectorBool'},ac=ab[String(a9)]??String(a9),ad=ac===aa||ac==='Value';!ad&&u['push']('\x22'+a3['query']+'\x22\x20param\x20'+(a7+0x1)+':\x20table\x20#'+a6['identifier']+'\x20is\x20'+a9+'\x20but\x20the\x20native\x20requires\x20'+aa+'\x20(query\x20'+a4['id']+')\x20—\x20GUARD_QUERY_PARAM_INVALID\x20at\x20verification');});});u['length']>0x0&&(b['rc2_07_keys_where_count']=u['length'],b['rc2_07_evidence_lines']=u['map'](a3=>'\x20\x20-\x20'+a3)['join']('\x0a'));if(g?.['binding_field']==='buy_guard'){const a3=c['match'](/"query"\s*:\s*"order\.[^"]*"/g)??[];a3['length']>0x0&&(b['rx1_19_order_query_count']=a3['length'],b['rx1_19_evidence_csv']=a3['join'](',\x20'));}if(b['has_witness']){const a4=d['includes']('repository')&&d['includes']('\x22query\x22'),a5=d['includes']('progress_history')&&d['includes']('\x22query\x22');if(a4||a5){const a6=d['includes']('convert_number_address')||d['includes']('convert_address_number')||d['includes']('convert_u256')||d['includes']('convert_string');b['rc2_04_queries_repo']=a4,b['rc2_04_queries_progress_history']=a5,b['rc2_04_has_conversion']=a6,b['rc2_04_conversion_note']=a6?'\x0aThe\x20current\x20Guard\x20already\x20uses\x20type\x20conversion\x20nodes,\x20but\x20ensure\x20the\x20conversion\x20direction\x20is\x20correct.':'\x0aWarning:\x20no\x20type\x20conversion\x20node\x20detected\x20in\x20the\x20current\x20Guard;\x20parameter\x20type\x20mismatch\x20risk\x20may\x20exist.',b['rc2_04_conversion_evidence']=a6?'Type\x20conversion\x20node\x20in\x20use':'No\x20type\x20conversion\x20node\x20detected';}}b['scene_present']=g!==undefined;g&&(b['scene_id']=g['id'],b['scene_host_object']=g['host_object'],b['scene_binding_field']=g['binding_field'],b['scene_mutable_after_publish']=g['mutable_after_publish']);b['rc3_01_sharing_exempt']=g?.['id']==='service_order_allocators_guard'&&Array['isArray'](a?.['sharing_recipients'])&&a['sharing_recipients']['length']>0x0&&!a['sharing_recipients']['includes']('Signer');if(g?.['binding_field']==='voting_guard'){const a7=f['filter'](a8=>a8['b_submission']&&['U8','U16','U32','U64','U128','U256']['includes'](a8['value_type']));a7['length']>0x0&&(b['rc3_02_numeric_count']=a7['length'],b['rc3_02_numeric_list']=a7['map'](a8=>'#'+a8['identifier']+'('+a8['value_type']+')')['join'](',\x20'));}const v=f['filter'](a8=>a8['b_submission']&&a8['value_type']==='Address');if(v['length']>0x0){b['rc3_03_submitted_addr_count']=v['length'];const a8=v['filter'](a9=>!a9['object_type']);b['rc3_03_no_type_count']=a8['length'],b['rc3_03_evidence']=a8['length']>0x0?'Missing\x20object_type:\x20'+a8['map'](a9=>'#'+a9['identifier'])['join'](',\x20'):'Annotated:\x20'+v['map'](a9=>'#'+a9['identifier']+'='+a9['object_type'])['join'](',\x20');}b['rc3_01_order_anchored']=g?.['id']==='service_order_allocators_guard'&&f['some'](a9=>a9['b_submission'])&&((()=>{const a9=rootReferencedIdentifiers(a?.['root']);return f['filter'](aa=>aa['b_submission'])['every'](aa=>!a9['has'](aa['identifier']));})());if(v['length']>0x0){const a9=o['some'](ag=>[0x64,0x65,0x66]['includes'](ag)),aa=o['some'](ag=>[0x67]['includes'](ag)),ab=o['some'](ag=>[0x68,0x69,0x6a,0x6b,0x6c]['includes'](ag)),ac=v['filter'](ag=>ag['object_type']==='Order'||a9&&!ag['object_type']),ad=v['filter'](ag=>ag['object_type']==='Progress'||aa&&!ag['object_type']),ae=v['filter'](ag=>ag['object_type']==='Arb'||ab&&!ag['object_type']),af=ac['length']>0x0||ad['length']>0x0||ae['length']>0x0;if(af){const ag=['machine_forward_guard','service_order_allocators_guard','arbitration_usage_guard','arbitration_voting_guard','reward_claim','progress_submission_guard'],ah=g?.['id'],ai=!ah||ag['includes'](ah);if(ai){const aj=new Set([0x61b,0x618,0x4e2,0x57a,0x579]),ak=j['some'](al=>aj['has'](al));if(!ak){const al=[];for(const am of ac){al['push']('#'+am['identifier']+(am['object_type']?'(Order)':'(inferred\x20Order\x20via\x20witness\x20100-102)'));}for(const an of ad){al['push']('#'+an['identifier']+(an['object_type']?'(Progress)':'(inferred\x20Progress\x20via\x20witness\x20103)'));}for(const ao of ae){al['push']('#'+ao['identifier']+(ao['object_type']?'(Arb)':'(inferred\x20Arb\x20via\x20witness\x20104-108)'));}b['rc3_05_applies']=!![],b['rc3_05_critical']=ah!==undefined&&ah==='machine_forward_guard',b['rc3_05_unbound_csv']=al['join'](',\x20'),b['rc3_05_scene_label']=ah??'unknown\x20scene\x20(conservative\x20flag)';}}}}if(g?.['id']==='service_order_allocators_guard'&&!b['has_signer_check']){const ap=a?.['sharing_recipients'],aq=ap!==undefined&&ap['length']>0x0,ar=aq&&ap['includes']('Signer');if(!(aq&&!ar)){const as=isUnboundSignerTheft({'recipient_is_signer':ar,'caller_identity_constrained':![]});b['rc3_06_applies']=!![],b['rc3_06_signer_sharing']=as,b['rc3_06_recipients_label']=aq?'['+ap['join'](',\x20')+']':'(not\x20provided\x20—\x20conservative\x20flag)',b['rc3_06_title_suffix']=ar?'sharing.who=Signer\x20confirmed\x20—\x20anyone\x20can\x20steal\x20100%\x20of\x20funds':'if\x20sharing.who=Signer,\x20anyone\x20can\x20steal\x20100%\x20of\x20funds',b['rc3_06_level_rationale']=as?'Signer\x20sharing\x20confirmed\x20→\x20critical':'sharing\x20hint\x20absent\x20→\x20conservative\x20medium';}}if(b['has_signer_check']){const at=c['includes']('\x22logic_equal\x22'),au=c['includes']('\x22logic_not_equal\x22');b['rc4_01_comparison_detail']=(at?'logic_equal(==)':'')+'\x20'+(au?'logic_not_equal(!=)':''),b['rc4_01_comparison_ops']=(at?'==':'')+'\x20'+(au?'!=':'');}if(b['has_clock_check']){const av=b['root_has_logic_as_u256_greater_or_equal']===!![],aw=b['root_has_logic_as_u256_greater']===!![];(av||aw)&&(b['rc4_02_has_greater_or_equal']=av,b['rc4_02_has_greater']=aw,b['rc4_02_comparison_ops']=(av?'>=':'')+'\x20'+(aw?'>':''));}if(b['has_signer_check']&&!isSignerCheckInLogicOr(a?.['root'])){const ax=detectLevel1StrictBinding(a?.['root'],f);if(ax['detected']&&ax['entry']){const ay=ax['entry'];b['rc4_04_detected']=!![],b['rc4_04_entry_identifier']=ay['identifier'],b['rc4_04_entry_value']=ay['value'],b['rc4_04_entry_detail']='b_submission=false,\x20value=\x22'+ay['value']+'\x22'+(ay['name']?',\x20name=\x22'+ay['name']+'\x22':'');}}const w=az=>az['length']===0x0?'':'Queries\x20without\x20non-zero\x20invariant:\x20'+az['map'](queryLabel)['join'](',\x20'),x=unpinnedTimeLockQueries(a?.['root']);x['length']>0x0&&b['root_has_calc_number_add']&&(b['rx1_01_trigger']=!![],b['rx1_01_evidence']=w(x));const y=ambiguousStrictComparisons(a?.['root'],f);y['length']>0x0&&(b['rx1_02_trigger']=!![],b['rx1_02_evidence']=w(y));const z=Array['isArray'](h?.['guards'])?h['guards']:[];b['rely_guards_count']=z['length'],b['rely_is_or']=h?.['logic_or']===!![],b['rely_logic']=h?.['logic_or']?'OR':'AND';const A=d['includes']('repository')&&d['includes']('\x22query\x22'),B=f['some'](az=>az['b_submission']&&az['value_type']==='Address'&&az['object_type']==='Repository'),C=A&&B;b['rx1_11_self_rep_false']=C,b['rx1_11_warning_tail']=C?'\x0aWarning:\x20the\x20current\x20Guard\x20itself\x20queries\x20repository.data\x20and\x20the\x20Repository\x20address\x20comes\x20from\x20submission,\x20'+'so\x20its\x20own\x20rep=false\x20and\x20cannot\x20be\x20depended\x20on\x20by\x20other\x20Guards.':'',b['rx1_11_evidence']=C?'Self\x20rep=false\x20(repository.data\x20query\x20depends\x20on\x20submission)':'Self\x20rep\x20status\x20to\x20be\x20confirmed';if(l){const az=f['filter'](aB=>aB['b_submission']),aA=az['filter'](aB=>(aB['name']??'')==='');aA['length']>0x0&&(b['rx1_12_vague_count']=aA['length'],b['rx1_12_vague_csv']=aA['map'](aB=>'identifier='+aB['identifier']+',\x20name=\x22'+(aB['name']??'')+'\x22')['join'](';\x20'));}if(g){const aB=f['find'](aC=>!aC['b_submission']&&aC['value_type']==='Address'&&aC['object_type']===g['host_object']);aB&&(b['rx1_13_detected']=!![],b['rx1_13_identifier']=aB['identifier']);}const D=REENTRANCY_SPECS['find'](aC=>aC['sceneId']===g?.['id']);if(D){const aC=detectReentrancyProtection(a?.['root'],f,D);aC['state']!=='protected'&&(b['reentry_applicable']=!![],b['reentry_state']=aC['state'],b['reentry_scene_id']=D['sceneId'],b['reentry_rationale']=D['rationale'],b['reentry_mitigation']=D['mitigation'],aC['state']==='pseudo'&&(b['reentry_found_primitive']=aC['foundPrimitiveName']??''),b['reentry_evidence']=aC['evidence']);}const E=foldCertainOutcome(a?.['root'],f),F=E?.['outcome']==='true';b['tree_folds_always_true']=F;E&&E['outcome']==='false'&&(b['tree_folds_always_false']=!![],b['tree_folds_always_false_reason']=E['reason']);if(F)b['tree_folds_always_true_reason']=E['reason'];const G=g?.['binding_field']==='write_guard'||g?.['id']==='repository_write_guard';return b['write_guard_scene']=G,G&&(b['write_guard_no_identity_check']=!b['has_signer_check'],b['write_guard_open']=F||!b['has_signer_check']),b;}function guardRuleBook(){const a=getJudgmentDoc()['rules']['domains']['guard'];if(!a)throw new Error('factory\x20rule\x20pack\x20\x27guard\x27\x20missing\x20—\x20broken\x20installation');return a['rules'];}function dataSourceClassFor(a){if(a['startsWith']('R-C1-'))return'type1_onchain_constant';if(a['startsWith']('R-C2-'))return'type2_witness_derived';if(a['startsWith']('R-C3-'))return'type3_submitted_object';if(a['startsWith']('R-C4-'))return'type4_system_context';return'cross_type';}function findingToGuardRisk(a){return{'id':a['rule_id'],'data_source_class':dataSourceClassFor(a['rule_id']),'level':a['level'],'category':a['dimension']??'data_source_trust','title':a['title'],'description':a['description'],'affected_stakeholders':a['stakeholders']??[],'scenario':a['scenario']??'','mitigation':a['mitigation']??'',...a['evidence']!==undefined?{'evidence':a['evidence']}:{},...a['exposure']!=null?{'exposure':a['exposure']}:{}};}export function runGuardRulePack(a){const b=guardRuleBook();let c;try{c=guardRiskFacts(a);}catch{return[];}return evaluateRuleBook(b,c)['findings']['map'](findingToGuardRisk);}export function assembleGuardAssessment(a,b){const c=getOverallRiskLevel(b),d={};for(const h of b){d[h['data_source_class']]=(d[h['data_source_class']]??0x0)+0x1;}const e=generateStakeholderAdvice(b,a['scene']),f=b['some'](i=>i['level']==='critical')||b['filter'](i=>i['level']==='high')['length']>=0x2,g=generateGuardSummary(a);return{'guard_summary':g,'scene':a['scene'],'risks':b,'overall_risk':c,'risks_by_data_source':d,'stakeholder_advice':e,'needs_human_review':f};}function getOverallRiskLevel(a){if(a['some'](b=>b['level']==='critical'))return'critical';if(a['some'](b=>b['level']==='high'))return'high';if(a['some'](b=>b['level']==='medium'))return'medium';return'low';}function generateStakeholderAdvice(a,b){const c={};for(const d of a){for(const e of d['affected_stakeholders']){if(!c[e])c[e]=[];c[e]['push']('['+d['level']['toUpperCase']()+']\x20'+d['title']+':\x20'+d['mitigation']);}}if(b)switch(b['binding_field']){case'buy_guard':if(!c['customer'])c['customer']=[];c['customer']['push']('Before\x20purchase,\x20verify\x20the\x20buy_guard\x20logic\x20to\x20ensure\x20your\x20identity/credentials\x20can\x20pass\x20validation');break;case'order_allocators':if(!c['provider'])c['provider']=[];c['provider']['push']('Verify\x20the\x20order_allocators\x20ordering\x20to\x20ensure\x20your\x20Allocator\x20will\x20not\x20be\x20skipped\x20by\x20preceding\x20conditions');break;case'voting_guard':if(!c['arbitrator'])c['arbitrator']=[];c['arbitrator']['push']('Confirm\x20the\x20voting\x20weight\x20source\x20is\x20trustworthy;\x20prefer\x20querying\x20EntityRegistrar\x20rather\x20than\x20user-submitted\x20data');break;case'Forward.guard':if(!c['customer'])c['customer']=[];c['customer']['push']('Verify\x20the\x20Forward.guard\x20conditions\x20to\x20ensure\x20you\x20can\x20satisfy\x20the\x20advancement\x20criteria\x20and\x20avoid\x20locked\x20funds');break;}return c;}function generateGuardSummary(a){const b=[];b['push']('table\x20entries:\x20'+a['table']['length']);const c=a['table']['filter'](d=>d['b_submission'])['length'];return b['push']('submitted\x20data:\x20'+c+'\x20entries'),b['push']('root\x20type:\x20'+(a['root']?.['type']??'unknown')),a['rely']&&b['push']('rely:\x20'+a['rely']['guards']['length']+'\x20dependencies\x20('+(a['rely']['logic_or']?'OR':'AND')+')'),b['join'](',\x20');}export function getRiskSummary(a){return{'risk_count':a['risks']['length'],'critical_count':a['risks']['filter'](b=>b['level']==='critical')['length'],'high_count':a['risks']['filter'](b=>b['level']==='high')['length'],'needs_human_review':a['needs_human_review'],'top_risks':a['risks']['filter'](b=>b['level']==='critical'||b['level']==='high')['slice'](0x0,0x3)['map'](b=>b['title'])};}export function getRiskRulesCount(){return factoryRulePack('guard')?.['rules']['length']??0x0;}export const RISK_RULES=((()=>{const a=factoryRulePack('guard');if(!a)return[];return a['rules']['map'](b=>({'id':b['rule_id'],'data_source_class':dataSourceClassFor(b['rule_id']),'trigger':b['trigger']??'','check':c=>{const d=guardRuleBook()['find'](f=>f['rule_id']===b['rule_id']);if(!d)return null;const {findings:e}=evaluateRuleBook([d],guardRiskFacts(c));return e['length']>0x0?findingToGuardRisk(e[0x0]):null;}}));})());
1
+ import{GUARDQUERY}from'@wowok/wowok';import{getChainQuery}from'./chain-query-registry.js';import{isUnboundSignerTheft}from'./recipient-constraint.js';import{factoryRulePack,getJudgmentDoc}from'../config/judgment.js';import{evaluateRuleBook}from'../config/rule-engine.js';function rootRaw(a){try{return JSON['stringify'](a)??'';}catch{return'';}}function hasSignerCheck(a){return a['includes']('\x22Signer\x22');}function hasClockCheck(a){return a['includes']('\x22Clock\x22');}function hasGuardSelfRef(a){return a['includes']('\x22Guard\x22');}function hasWitness(a){return a['includes']('\x22convert_witness\x22');}function extractWitnessCodes(a){const b=[],c=rootRaw(a),d=c['matchAll'](/"convert_witness"\s*:\s*(\d+)/g);for(const e of d){const f=parseInt(e[0x1],0xa);if(f>=0x64&&f<=0x6d)b['push'](f);}return b;}const WITNESS_CHAIN={0x64:['Order','Progress'],0x65:['Order','Machine'],0x66:['Order','Service'],0x67:['Progress','Machine'],0x68:['Arb','Order'],0x69:['Arb','Arbitration'],0x6a:['Arb','Order','Progress'],0x6b:['Arb','Order','Service'],0x6c:['Arb','Order','Machine'],0x6d:['Order','Allocation']};function extractWitnessIdentifierPairs(a){const b=[],c=new WeakSet();function d(e){if(e===null||typeof e!=='object')return;if(c['has'](e))return;c['add'](e);typeof e['convert_witness']==='number'&&typeof e['identifier']==='number'&&b['push']({'code':e['convert_witness'],'identifier':e['identifier']});for(const f of Object['keys'](e)){const g=e[f];if(Array['isArray'](g)){for(const h of g)d(h);}else g!==null&&typeof g==='object'&&d(g);}}return d(a),b;}const WITNESS_TARGET_PREFIX={0x64:'progress',0x65:'machine',0x66:'service',0x67:'machine',0x68:'order',0x69:'arb',0x6a:'progress',0x6b:'service',0x6c:'machine',0x6d:'allocation'},WITNESS_NAME_TO_CODE={'orderprogress':0x64,'ordermachine':0x65,'orderservice':0x66,'progressmachine':0x67,'arborder':0x68,'arbarbitration':0x69,'arbprogress':0x6a,'arbmachine':0x6b,'arbservice':0x6c,'orderallocation':0x6d};function witnessCodeOf(a){if(typeof a==='number')return a>=0x64&&a<=0x6d?a:undefined;if(typeof a==='string'){const b=a['toLowerCase']()['replace'](/^type/,'');return WITNESS_NAME_TO_CODE[b];}return undefined;}function extractQuerySourceTriples(a){const b=[],c=new WeakSet();function d(e){if(e===null||typeof e!=='object')return;if(c['has'](e))return;c['add'](e);if(typeof e['query']==='string'&&e['object']&&typeof e['object']==='object'){const f=witnessCodeOf(e['object']['convert_witness']);b['push']({'query':e['query'],'code':f,'identifier':typeof e['object']['identifier']==='number'?e['object']['identifier']:undefined});}for(const g of Object['keys'](e)){const h=e[g];if(Array['isArray'](h)){for(const i of h)d(i);}else h!==null&&typeof h==='object'&&d(h);}}return d(a),b;}function walkGuardRootNodes(a,b){const c=new WeakSet();function d(e){if(e===null||typeof e!=='object')return;if(c['has'](e))return;c['add'](e),b(e);for(const f of getChildNodes(e))d(f);}d(a);}function getChildNodes(a){if(!a||typeof a!=='object')return[];const b=[];if(Array['isArray'](a['nodes']))b['push'](...a['nodes']);if(a['left'])b['push'](a['left']);if(a['right'])b['push'](a['right']);if(a['vec'])b['push'](a['vec']);if(a['target'])b['push'](a['target']);if(a['object']&&typeof a['object']==='object')b['push'](a['object']);if(Array['isArray'](a['parameters']))b['push'](...a['parameters']);return b['filter'](d=>d&&typeof d==='object');}function findSignerLogicEqualNodes(a){const b=[];function c(d,e){if(!d||typeof d!=='object')return;if(d['type']==='logic_equal'){const f=Array['isArray'](d['nodes'])?d['nodes']:d['left']&&d['right']?[d['left'],d['right']]:[];if(f['length']===0x2){const g=f['findIndex'](h=>h?.['type']==='context'&&h?.['context']==='Signer');g>=0x0&&b['push']({'node':d,'parentType':e,'otherOperand':f[0x1-g]});}}for(const h of getChildNodes(d)){c(h,d['type']);}}return c(a,null),b;}function detectLevel1StrictBinding(a,b){const c=findSignerLogicEqualNodes(a);for(const d of c){const e=d['otherOperand'];if(e?.['type']==='identifier'){const f=b['find'](g=>g['identifier']===e['identifier']);if(f&&!f['b_submission']&&f['value_type']==='Address'&&typeof f['value']==='string'&&f['value']['length']>0x0)return{'detected':!![],'entry':{'identifier':f['identifier'],'value':f['value'],'name':f['name']}};}}return{'detected':![]};}function isSignerCheckInLogicOr(a){const b=findSignerLogicEqualNodes(a);return b['some'](c=>c['parentType']==='logic_or');}const QUERY_INVARIANT_MAP=((()=>{const a=new Map();for(const b of GUARDQUERY){b['invariant']!==undefined&&a['set'](b['id'],b['invariant']);}return a;})());function extractQueryIds(a){const b=[],c=rootRaw(a),d=c['matchAll'](/"query"\s*:\s*(\d+)/g);for(const f of d){const g=parseInt(f[0x1],0xa);if(!b['includes'](g))b['push'](g);}const e=c['matchAll'](/"query"\s*:\s*"([^"]+)"/g);for(const h of e){const i=h[0x1],j=GUARDQUERY['find'](k=>k['name']===i);if(j&&!b['includes'](j['id']))b['push'](j['id']);}return b;}function bareBoolQueryClauses(a){const b=[],c=(d,e)=>{if(e>0x40||!d||typeof d!=='object'||typeof d['type']!=='string')return;if((d['type']==='logic_and'||d['type']==='logic_or')&&Array['isArray'](d['nodes']))for(const f of d['nodes']){if(f&&typeof f==='object'&&f['type']==='query'){const g=f['query'],h=typeof g==='number'?'#'+g:typeof g==='string'?g:'(unknown\x20query)';if(!b['includes'](h))b['push'](h);}}if(Array['isArray'](d['nodes'])){for(const i of d['nodes'])c(i,e+0x1);}if(d['node'])c(d['node'],e+0x1);};return c(a,0x0),b;}export function rootReferencedIdentifiers(a){const b=new Set(),c=(d,e)=>{if(e>0x40||!d||typeof d!=='object')return;d['type']==='identifier'&&Number['isFinite'](Number(d['identifier']))&&b['add'](Number(d['identifier']));if(Array['isArray'](d['nodes'])){for(const f of d['nodes'])c(f,e+0x1);}if(d['node'])c(d['node'],e+0x1);};return c(a,0x0),b;}function mentionsClock(a,b=0x0){if(b>0x40||!a||typeof a!=='object')return![];if(a['type']==='context'&&String(a['context'])['toLowerCase']()==='clock')return!![];if(Array['isArray'](a['nodes'])&&a['nodes']['some'](d=>mentionsClock(d,b+0x1)))return!![];return mentionsClock(a['node'],b+0x1);}function riskyQueryIds(a){return extractQueryIds(a)['filter'](b=>!QUERY_INVARIANT_MAP['has'](b));}function queryLabel(a){const b=GUARDQUERY['find'](c=>c['id']===a);return b?b['id']+'\x20('+b['name']+')':''+a;}function unpinnedTimeLockQueries(a){const b=new Set(),c=(d,e,f)=>{if(f>0x40||!d||typeof d!=='object')return;let g=e;if(d['type']==='logic_and'&&Array['isArray'](d['nodes'])){const h=new Set(e);for(const i of d['nodes']){if(i?.['type']==='logic_as_u256_greater'&&Array['isArray'](i['nodes'])&&i['nodes']['length']===0x2){for(const j of i['nodes'])for(const k of extractQueryIds(j))h['add'](k);}}g=h;}if(d['type']==='logic_as_u256_greater_or_equal'&&Array['isArray'](d['nodes'])&&d['nodes']['length']===0x2){const [l,m]=d['nodes'],n=mentionsClock(l)?m:mentionsClock(m)?l:undefined;if(n!==undefined){for(const o of riskyQueryIds(n))if(!g['has'](o))b['add'](o);}}if(Array['isArray'](d['nodes'])){for(const p of d['nodes'])c(p,g,f+0x1);}if(d['node'])c(d['node'],g,f+0x1);};return c(a,new Set(),0x0),[...b];}function ambiguousStrictComparisons(a,b){const c=f=>{if(f?.['type']!=='identifier')return undefined;const g=b['find'](i=>Number(i['identifier'])===Number(f['identifier']));if(g===undefined||g['b_submission'])return undefined;const h=Number(g['value']);return Number['isFinite'](h)?h:undefined;},d=new Set(),e=(f,g)=>{if(g>0x40||!f||typeof f!=='object')return;if(f['type']==='logic_as_u256_greater'&&Array['isArray'](f['nodes'])&&f['nodes']['length']===0x2){const [h,i]=f['nodes'],j=c(h),k=c(i),l=j??k,m=j!==undefined?i:k!==undefined?h:undefined;if(m!==undefined&&l!==undefined&&l!==0x0){for(const n of riskyQueryIds(m))d['add'](n);}}if(Array['isArray'](f['nodes'])){for(const o of f['nodes'])e(o,g+0x1);}if(f['node'])e(f['node'],g+0x1);};return e(a,0x0),[...d];}const REENTRANCY_SPECS=[{'sceneId':'reward_claim','level':'critical','existsPrimitives':[0x64d],'countPrimitives':[0x64c],'addressPrimitives':[0x65a],'rationale':'Guard\x20pass\x20distributes\x20reward\x20funds\x20to\x20the\x20Claimant\x20AND\x20creates\x20a\x20reward_record,\x20but\x20the\x20Guard\x20conditions\x20(identity,\x20time,\x20node\x20state)\x20do\x20NOT\x20naturally\x20invalidate\x20after\x20a\x20claim.\x20'+'Without\x20an\x20explicit\x20anti-reentrancy\x20primitive,\x20the\x20same\x20Claimant\x20can\x20repeatedly\x20pass\x20the\x20Guard\x20and\x20DRAIN\x20THE\x20ENTIRE\x20POOL.\x20'+'This\x20is\x20the\x20most\x20severe\x20reentrancy\x20scene\x20—\x20direct\x20fund\x20loss.','mitigation':'Add\x20ONE\x20of\x20the\x20following\x20to\x20the\x20root\x20(wrapped\x20in\x20logic_and\x20with\x20existing\x20conditions):\x0a'+'\x20\x20-\x20logic_not(query(\x27reward.record\x20has\x27,\x20object=reward,\x20parameters=[claimant_address]))\x20—\x20RECOMMENDED\x20(per-user\x20Bool\x20check)\x0a'+'\x20\x20-\x20logic_equal([query(\x27reward.record\x20count\x27,\x20object=reward),\x20identifier(N)])\x20where\x20table[N].value=0\x20—\x20total-claim\x20count\x20is\x200\x0a'+'\x20\x20-\x20logic_as_u256_equal([query(\x27reward.record.find_first\x27,\x20object=reward,\x20where={...}),\x20identifier(N)])\x20where\x20table[N].value=18446744073709551615\x20—\x20no\x20matching\x20record\x20found\x20(the\x20u64::MAX\x20sentinel,\x20protocol\x20136+;\x20a\x20plain\x20logic_not\x20wrap\x20is\x20WRONG\x20—\x20the\x20query\x20resolves\x20to\x20a\x20number,\x20and\x20on\x20legacy\x20binaries\x20it\x20aborts\x20instead)\x0a'+'RECORD-GATE\x20FORM\x20(SV-2,\x20azx7-mn-261014\x20live\x20T8\x20—\x20the\x20protocol\x20facts\x20are\x20the\x20source\x20of\x20truth):\x20entry-stamp\x20the\x20guard\x20(guard_add\x20store_from_id\x20=\x20the\x20slot\x20whose\x20submitted\x20value\x20is\x20the\x20per-order\x20stamp\x20—\x20slot\x200,\x20the\x20submitted\x20Order)\x20and\x20scope\x20the\x20record\x20query\x20BY\x20THE\x20ORDER:\x20logic_not(query(\x27reward.record.exists_where\x27,\x20object=reward,\x20where:{storeFromId:{identifier:0}}))\x20=\x20once\x20per\x20buyer\x20per\x20ORDER\x20(the\x20native\x20claim\x20key\x20is\x20recipient+guard+stamp,\x20so\x20the\x20same\x20buyer\x20on\x20a\x20different\x20order\x20claims\x20again);\x20entry-stamped\x20+\x20EMPTY\x20where:{}\x20=\x20once\x20per\x20buyer\x20for\x20life\x20(a\x20deliberate\x20one-bounty-per-buyer\x20choice,\x20never\x20a\x20default\x20—\x20it\x20silently\x20kills\x20the\x20buyer\x27s\x20second\x20order,\x20upw-mn-261014\x20F-48).\x20An\x20UNSTAMPED\x20entry\x20never\x20keys\x20its\x20claim\x20records\x20(store_from\x20=\x20none\x20matches\x20no\x20predicate)\x20—\x20the\x20old\x20\x27storeFromId\x20filter\x20no-ops\x27\x20verdict\x20described\x20unstamped\x20rewards\x20only.\x20Never\x20hand-write\x20the\x20RAW\x20query\x20form\x20with\x20an\x20empty\x20VecU8\x20parameter\x20(uncoded\x20VM\x20abort,\x20klk-mn-261013\x20F-05).\x20DEPLOYED-BINARY\x20CAUTION\x20(DEPLOY-K1):\x20confirm\x20the\x20chain\x20generation\x20via\x20wowok_buildin_info\x20info=\x27upgrade_check\x27\x20(build_stamp.chain_stamp)\x20and\x20re-probe\x20one\x20gate\x20on\x20the\x20live\x20network\x20before\x20wiring\x20a\x20funded\x20pool.'},{'sceneId':'arbitration_voting_guard','level':'critical','existsPrimitives':[0x57c,0x57e],'countPrimitives':[0x57d],'addressPrimitives':[],'rationale':'Guard\x20pass\x20counts\x20the\x20vote\x20with\x20the\x20extracted\x20weight.\x20Without\x20anti-reentrancy,\x20the\x20same\x20voter\x20can\x20vote\x20MULTIPLE\x20times,\x20'+'multiplying\x20their\x20weight\x20and\x20skewing\x20the\x20arbitration\x20result\x20—\x20which\x20directly\x20determines\x20fund\x20ownership\x20via\x20compensation.\x20'+'The\x20voter\x27s\x20eligibility\x20(identity,\x20reputation)\x20does\x20NOT\x20naturally\x20invalidate\x20after\x20voting.\x20'+'Note:\x20arb.voted_count\x20(1403)\x20is\x20total\x20voter\x20count\x20(NOT\x20per-voter)\x20and\x20does\x20NOT\x20serve\x20as\x20an\x20anti-reentrancy\x20primitive\x20for\x20an\x20individual\x20voter.','mitigation':'Add\x20ONE\x20of\x20the\x20following\x20to\x20the\x20root\x20(wrapped\x20in\x20logic_and):\x0a'+'\x20\x20-\x20logic_not(query(\x27arb.voted\x20has\x27,\x20object=arb,\x20parameters=[voter_address]))\x20—\x20RECOMMENDED\x20(per-voter\x20Bool)\x0a'+'\x20\x20-\x20logic_not(query(\x27arb.voted.agree\x20has\x27,\x20object=arb,\x20parameters=[voter_address,\x20proposition_index]))\x20—\x20per-voter-per-proposition\x0a'+'\x20\x20-\x20logic_equal([query(\x27arb.voted.agree\x20count\x27,\x20object=arb,\x20parameters=[voter_address]),\x20identifier(N)])\x20where\x20table[N].value=0'},{'sceneId':'arbitration_usage_guard','level':'high','existsPrimitives':[0x61d],'countPrimitives':[0x61c],'addressPrimitives':[],'rationale':'Guard\x20pass\x20creates\x20a\x20new\x20Arb\x20case.\x20Without\x20anti-reentrancy,\x20a\x20customer\x20can\x20create\x20multiple\x20Arb\x20cases\x20for\x20the\x20SAME\x20Order\x20'+'(up\x20to\x20MAX_DISPUTE_COUNT=10),\x20harassing\x20the\x20counterparty\x20and\x20inflating\x20arbitration\x20system\x20load.\x20'+'Not\x20direct\x20fund\x20loss,\x20but\x20severe\x20system\x20abuse.\x20Filing\x20a\x20dispute\x20deduplicates\x20by\x20Arb\x20address\x20but\x20does\x20NOT\x20prevent\x20multiple\x20distinct\x20Arbs.','mitigation':'Add\x20ONE\x20of\x20the\x20following\x20to\x20the\x20root\x20(wrapped\x20in\x20logic_and):\x0a'+'\x20\x20-\x20logic_not(query(\x27order.dispute\x20has\x27,\x20object=order,\x20parameters=[existing_arb_address]))\x20—\x20per-Arb\x20check\x0a'+'\x20\x20-\x20logic_equal([query(\x27order.dispute\x20count\x27,\x20object=order),\x20identifier(N)])\x20where\x20table[N].value=0\x20—\x20STRICT:\x20block\x20any\x20prior\x20dispute\x0a'+'\x20\x20-\x20logic_as_u256_lesser_or_equal([query(\x27order.dispute\x20count\x27,\x20object=order),\x20identifier(N)])\x20where\x20table[N].value=K\x20—\x20LENIENT:\x20allow\x20up\x20to\x20K\x20disputes'},{'sceneId':'service_order_allocators_guard','level':'low','existsPrimitives':[0x620],'countPrimitives':[],'addressPrimitives':[0x621],'rationale':'Protocol-level\x20protection:\x20attaching\x20an\x20Allocation\x20to\x20an\x20Order\x20asserts\x20ONE\x20Allocation\x20per\x20Order\x20(E_ALLOCATION_ALREADY_SPECIFIED).\x20'+'After\x20alloc()\x20executes,\x20typical\x20Surplus-mode\x20and\x20Rate-mode\x20allocators\x20drain\x20the\x20pool,\x20making\x20reentrancy\x20unprofitable.\x20'+'EXACTNESS\x20CAVEAT:\x20Rate\x20legs\x20floor\x20independently\x20(balance*rate/10000)\x20—\x20a\x20multi-leg\x20Rate\x20set\x20drains\x20to\x20exactly\x200\x20only\x20when\x20'+'the\x20balance\x20divides\x20evenly;\x20truncation\x20dust\x20otherwise\x20survives\x20and\x20a\x20second\x20alloc()\x20can\x20extract\x20it.\x20Single-leg\x20Rate\x2010000\x20'+'and\x20Surplus\x20mode\x20always\x20drain\x20exactly.\x20For\x20a\x20guaranteed\x20one-shot\x20rail,\x20arm\x20the\x20255\x20once-slot\x20instead\x20of\x20relying\x20on\x20the\x20arithmetic.\x20'+'EDGE\x20CASE:\x20Amount-mode-only\x20allocators\x20(no\x20Surplus,\x20total\x20<\x20full\x20balance)\x20leave\x20remainder;\x20a\x20second\x20alloc()\x20could\x20extract\x20more\x20—\x20mitigated\x20by\x20preferring\x20Rate/RateGross/Surplus\x20modes.\x20'+'External\x20deposit\x20via\x20receive()\x20is\x20possible\x20but\x20irrational\x20(attacker\x20funds\x20the\x20Allocation\x20they\x20attack).','mitigation':'Default:\x20no\x20action\x20needed\x20for\x20Surplus\x20or\x20single-leg\x20Rate-10000\x20rails.\x20IF\x20using\x20multi-leg\x20Rate\x20sets\x20with\x20untrusted\x20balances\x20or\x20'+'Amount-mode-only\x20allocators:\x20arm\x20a\x20255\x20once-slot\x20(one-shot\x20rail)\x20OR\x20add\x20logic_not(query(\x27order.allocation\x20some\x27,\x20object=order))\x20'+'OR\x20prefer\x20Rate/RateGross/Surplus\x20modes\x20to\x20drain\x20the\x20balance\x20completely.'},{'sceneId':'service_buy_guard','level':'low','existsPrimitives':[],'countPrimitives':[],'addressPrimitives':[],'rationale':'Each\x20purchase\x20creates\x20a\x20fresh\x20Order;\x20no\x20existing\x20Order\x20state\x20is\x20modified.\x20Default:\x20no\x20reentrancy\x20risk.\x20'+'IF\x20business\x20intent\x20is\x20\x27limit\x20one\x20purchase\x20per\x20user\x27\x20(limited-edition\x20goods,\x20whitelist\x20single-buy),\x20an\x20anti-reentrancy\x20check\x20is\x20REQUIRED\x20'+'but\x20no\x20direct\x20GUARDQUERY\x20primitive\x20exists\x20for\x20per-user\x20purchase\x20history.','mitigation':'IF\x20limit-purchase\x20intent:\x20record\x20purchases\x20in\x20a\x20Repository\x20and\x20add\x20logic_not(query(\x27repository.data\x20has\x27,\x20...))\x20to\x20the\x20BUY\x20guard\x20root\x20(valid\x20on\x20the\x20READ\x20side\x20only\x20—\x20buy_guard\x20runs\x20in\x20a\x20separate\x20transaction,\x20so\x20the\x20pre-state\x20is\x20visible);\x20'+'NEVER\x20move\x20this\x20check\x20into\x20a\x20Repository\x20write_guard\x20verified\x20in\x20the\x20write\x20PTB\x20—\x20there\x20the\x20idiom\x20aborts\x20at\x20the\x20write\x20site\x20(ofn-mn-261012\x20F-02);\x20OR\x20revoke\x20EntityRegistrar\x20membership\x20after\x20first\x20buy;\x20OR\x20use\x20an\x20off-chain\x20allowlist\x20with\x20on-chain\x20Merkle\x20proof.'},{'sceneId':'repository_write_guard','level':'low','existsPrimitives':[0x48e],'countPrimitives':[],'addressPrimitives':[],'rationale':'Default\x20writes\x20are\x20idempotent\x20(same\x20ID\x20overwrites,\x20different\x20ID\x20appends);\x20no\x20fund\x20flow.\x20'+'IF\x20business\x20intent\x20is\x20\x27one\x20write\x20per\x20ID\x27\x20(voting,\x20immutable\x20credential,\x20single-attestation),\x20an\x20anti-reentrancy\x20check\x20is\x20needed.','mitigation':'GUARD-side\x20one-write-per-ID\x20is\x20NOT\x20enforceable\x20(ofn-mn-261012\x20F-02,\x20mainnet\x20A/B\x20verified):\x20the\x20write\x20guard\x20is\x20verified\x20inside\x20the\x20write\x20PTB\x20and\x20repository.data\x20is\x20an\x20UPSERT\x20—\x20a\x20logic_not(query(\x27repository.data\x20has\x27,\x20...))\x20leg\x20always\x20aborts\x20at\x20the\x20write\x20site.\x20POLICY-side\x20one-write\x20IS\x20enforceable\x20TODAY\x20(K3(a)):\x20set\x20write_once\x20on\x20the\x20Repository\x20policy\x20rule\x20—\x20a\x20second\x20write\x20to\x20the\x20same\x20(id,\x20key)\x20aborts\x20E_POLICY_WRITE_ONCE_CONFLICT=24\x20(compile\x20emits\x20it\x20on\x20the\x20review/rating\x20policies).\x20Also\x20usable:\x20the\x20protocol-255\x20ONCE\x20slot\x20(limits\x20the\x20guard\x20pool\x20to\x20one\x20pass)\x20plus\x20the\x20254\x20task-binding\x20slot\x20(per-order\x20scoping);\x20per-row\x20value\x20ranges\x20(e.g.\x20rating\x201-5)\x20go\x20through\x20a\x20Repository\x20write\x20policy.\x20A\x20chain-side\x20write-guard\x20post-state\x20read\x20is\x20on\x20the\x20protocol\x20decision\x20list.'},{'sceneId':'gen_passport_guard','level':'low','existsPrimitives':[],'countPrimitives':[],'addressPrimitives':[],'rationale':'Each\x20gen_passport\x20call\x20generates\x20an\x20independent\x20Passport\x20(one\x20Passport\x20per\x20operation).\x20'+'Multiple\x20Passports\x20for\x20the\x20same\x20user\x20are\x20usually\x20valid\x20(each\x20serves\x20a\x20different\x20subsequent\x20operation).\x20'+'IF\x20business\x20intent\x20is\x20\x27one\x20active\x20Passport\x20per\x20user\x27,\x20an\x20anti-reentrancy\x20check\x20is\x20needed\x20but\x20no\x20direct\x20GUARDQUERY\x20primitive\x20exists.','mitigation':'IF\x20one-passport-per-user\x20intent:\x20use\x20off-chain\x20tracking\x20or\x20a\x20Repository\x20to\x20record\x20issued\x20Passport\x20IDs.'}];export const QUERY_TYPE_ALIASES=new Map([['query_reward_record_exists',0x64d],['query_reward_record_count',0x64c],['query_reward_record_find',0x65a],['query_progress_history_find',0x4fa],['query_progress_history_time',0x500],['query_progress_history_time_or_zero',0x507],['query_progress_history_session_find',0x4fb],['query_progress_history_session_forward_find',0x4fc],['query_progress_history_session_count',0x4f9],['query_progress_history_session_forward_count',0x4ee],['query_repository_data_count_where',0x495],['query_repository_data_sum_where',0x496],['query_repository_data_sum_where_bound',0x49b],['query_repository_data_sum_where_bound_all',0x49d],['query_repository_policies_keys',0x497],['query_repository_data_find_where',0x498],['query_repository_data_keys_where',0x499],['query_repository_data_has',0x48e],['query_repository_data',0x48f],['query_repository_data_author',0x49e],['query_order_named_operator_member',0x627]]);function detectReentrancyProtection(a,b,c){const d=new Set([...c['existsPrimitives'],...c['countPrimitives'],...c['addressPrimitives']]);if(d['size']===0x0)return{'state':'absent','evidence':'No\x20anti-reentrancy\x20primitive\x20available\x20in\x20GUARDQUERY\x20for\x20this\x20scene'};const e=new Map(),f=new Map();for(const p of d){const q=GUARDQUERY['find'](r=>r['id']===p);q&&(e['set'](p,q['name']),f['set'](q['name'],p));}const g=Array['from'](f['keys']());function h(r){if(!r||typeof r!=='object')return-0x1;if(typeof r['query']==='number'&&d['has'](r['query']))return r['query'];if(typeof r['query']==='string'&&f['has'](r['query']))return f['get'](r['query']);if(typeof r['type']==='string'&&QUERY_TYPE_ALIASES['has'](r['type'])){const s=QUERY_TYPE_ALIASES['get'](r['type']);if(d['has'](s))return s;}if(typeof r['type']==='string'&&f['has'](r['type']))return f['get'](r['type']);return-0x1;}function i(r){if(!r||typeof r!=='object')return![];if(typeof r['type']==='string'&&['number','u8','u16','u32','u64','u128','u256']['includes'](r['type']))return r['value']===0x0||r['value']==='0'||r['value']===0x0n;if(r['type']==='identifier'&&typeof r['identifier']==='number'){const s=b['find'](t=>t['identifier']===r['identifier']);if(s&&!s['b_submission'])return s['value']===0x0||s['value']==='0'||s['value']===0x0n;}return![];}function j(r,s){if(!r||typeof r!=='object')return[];const t=[];if(Array['isArray'](r['nodes']))for(const u of r['nodes']){if(u!==s)t['push'](u);}if(r['left']&&r['left']!==s)t['push'](r['left']);if(r['right']&&r['right']!==s)t['push'](r['right']);return t['filter'](v=>v&&typeof v==='object');}let k=![],l=![],m='',n='';function o(r,s,t){if(!r||typeof r!=='object')return;const u=h(r);if(u>=0x0){k=!![];const x=e['get'](u)??'query_'+u;n=x;const y=s?.['type']??null;let z=![];const A=c['existsPrimitives']['includes'](u),B=c['addressPrimitives']['includes'](u),C=c['countPrimitives']['includes'](u);(A||B)&&y==='logic_not'&&(z=!![]);if(C&&y==='logic_equal'){const D=j(s,r);D['some'](E=>i(E))&&(z=!![]);}if(z&&t&&!m)m='Primitive\x20\x22'+x+'\x22\x20is\x20properly\x20wrapped\x20but\x20sits\x20inside\x20an\x20OR\x20disjunction\x20—\x20any\x20sibling\x20branch\x20satisfies\x20the\x20tree\x20without\x20it,\x20so\x20the\x20gate\x20is\x20NOT\x20enforced\x20(false\x20sense\x20of\x20security).';else{if(z&&!t)l=!![];else{if(!z&&!m){const E=C?'logic_equal\x20with\x20a\x20zero\x20operand':'logic_not';m='Primitive\x20\x22'+x+'\x22\x20found\x20but\x20its\x20immediate\x20parent\x20is\x20'+(y??'root')+'\x20(expected\x20'+E+').\x20The\x20primitive\x20is\x20present\x20but\x20does\x20NOT\x20actually\x20prevent\x20reentrancy\x20—\x20this\x20is\x20a\x20false\x20sense\x20of\x20security.';}}}}const v=t||r['type']==='logic_or',w=[];if(Array['isArray'](r['nodes'])){for(const F of r['nodes'])w['push']({'node':F,'disjunctive':v});}if(Array['isArray'](r['and'])){for(const G of r['and'])w['push']({'node':G,'disjunctive':t});}if(Array['isArray'](r['or'])){for(const H of r['or'])w['push']({'node':H,'disjunctive':!![]});}if(r['left'])w['push']({'node':r['left'],'disjunctive':v});if(r['right'])w['push']({'node':r['right'],'disjunctive':v});w['push']({'node':r['node'],'disjunctive':t}),w['push']({'node':r['vec'],'disjunctive':t}),w['push']({'node':r['target'],'disjunctive':t});if(r['object']&&typeof r['object']==='object')w['push']({'node':r['object'],'disjunctive':t});if(Array['isArray'](r['parameters'])){for(const I of r['parameters'])w['push']({'node':I,'disjunctive':t});}for(const J of w){J['node']&&typeof J['node']==='object'&&o(J['node'],r,J['disjunctive']);}}o(a,null,![]);if(l)return{'state':'protected','evidence':'Anti-reentrancy\x20primitive\x20\x22'+n+'\x22\x20is\x20properly\x20wrapped','foundPrimitiveName':n};if(k)return{'state':'pseudo','evidence':m,'foundPrimitiveName':n};return{'state':'absent','evidence':'No\x20anti-reentrancy\x20primitive\x20found\x20in\x20root.\x20Expected\x20one\x20of:\x20'+g['join'](',\x20')};}function stableKey(a){if(a===null||typeof a!=='object')return JSON['stringify'](a)??'null';if(Array['isArray'](a))return'['+a['map'](stableKey)['join'](',')+']';const b=a;return'{'+Object['keys'](b)['sort']()['map'](c=>JSON['stringify'](c)+':'+stableKey(b[c]))['join'](',')+'}';}function readsContext(a){return rootRaw(a)['includes']('\x22context\x22');}const NUMERIC_VALUE_TYPE=/^u(?:8|16|32|64|128|256)$/i,NUMERIC_NODE_TYPES=new Set(['calc_number_add','calc_number_multiply','calc_number_subtract','time_until','calc_number_divide','calc_number_mod','convert_address_number','convert_string_number','convert_safe_u8','convert_safe_u16','convert_safe_u32','convert_safe_u64','convert_safe_u128','convert_safe_u256','vec_length','calc_string_length']),REFLEXIVE_TRUE_OPS=new Set(['logic_equal','logic_as_u256_equal','logic_string_nocase_equal','calc_string_nocase_equal','logic_string_contains','calc_string_contains','logic_string_nocase_contains','calc_string_nocase_contains']),REFLEXIVE_FALSE_OPS=new Set(['logic_not_equal','logic_as_u256_greater','logic_as_u256_lesser']);function tableEntryOf(a,b){if(!a||a['type']!=='identifier')return undefined;return b['find'](c=>c['identifier']===a['identifier']);}function staticValueType(a,b){if(!a||typeof a!=='object'||typeof a['type']!=='string')return undefined;if(a['type']==='identifier')return tableEntryOf(a,b)?.['value_type'];const c=QUERY_TYPE_ALIASES['get'](a['type']),d=a['type']==='query'?a['query']:c;if(d!==undefined){const e=GUARDQUERY['find'](f=>f['id']===d||typeof d==='string'&&f['name']===d);if(e)return String(e['return']);}return NUMERIC_NODE_TYPES['has'](a['type'])?'U64':undefined;}function constantNumber(a,b){const c=tableEntryOf(a,b);if(!c||c['b_submission'])return undefined;if(!NUMERIC_VALUE_TYPE['test'](String(c['value_type'])))return undefined;const d=String(c['value']??'')['trim']();if(!/^\d+$/['test'](d))return undefined;try{return BigInt(d);}catch{return undefined;}}export function foldCertainOutcome(c,d,e=0x0){if(e>0x40||!c||typeof c!=='object'||typeof c['type']!=='string')return undefined;const f=Array['isArray'](c['nodes'])?c['nodes']:[],g=i=>foldCertainOutcome(i,d,e+0x1),h=()=>f['length']>0x0?f['map'](g):undefined;switch(c['type']){case'identifier':{const i=tableEntryOf(c,d);if(!i||i['b_submission'])return undefined;if(/^bool$/i['test'](String(i['value_type']))){const j=String(i['value']??'')['trim']()['toLowerCase']();if(j==='true'||j==='false')return{'outcome':j,'reason':'table\x20entry\x20#'+i['identifier']+'\x20is\x20the\x20constant\x20Bool\x20'+j};}return undefined;}case'logic_and':{const k=h();if(!k)return undefined;const l=k['find'](m=>m?.['outcome']==='false');if(l)return{'outcome':'false','reason':'a\x20logic_and\x20branch\x20is\x20always\x20false:\x20'+l['reason']};if(k['every'](m=>m?.['outcome']==='true'))return{'outcome':'true','reason':'every\x20logic_and\x20branch\x20is\x20always\x20true:\x20'+(k[0x0]?.['reason']??'')};return undefined;}case'logic_or':{const m=h();if(!m)return undefined;const n=m['find'](o=>o?.['outcome']==='true');if(n)return{'outcome':'true','reason':'a\x20logic_or\x20branch\x20is\x20always\x20true:\x20'+n['reason']};if(m['every'](o=>o?.['outcome']==='false'))return{'outcome':'false','reason':'every\x20logic_or\x20branch\x20is\x20always\x20false'};return undefined;}case'logic_not':{const o=g(c['node']);if(!o)return undefined;return{'outcome':o['outcome']==='true'?'false':'true','reason':'logic_not\x20of\x20'+(o['outcome']==='true'?'an\x20always-true':'an\x20always-false')+'\x20expression:\x20'+o['reason']};}default:{if(f['length']<0x2)return undefined;const p=new Set(f['map'](stableKey));if(p['size']===0x1&&!readsContext(f[0x0])&&!rootRaw(f[0x0])['includes']('\x22query\x22')){if(REFLEXIVE_TRUE_OPS['has'](c['type']))return{'outcome':'true','reason':c['type']+'\x20compares\x20the\x20same\x20operand\x20to\x20itself\x20(identifier/constant\x20subtree\x20'+stableKey(f[0x0])['slice'](0x0,0x50)+')\x20—\x20it\x20can\x20never\x20reject'};if(REFLEXIVE_FALSE_OPS['has'](c['type']))return{'outcome':'false','reason':c['type']+'\x20compares\x20the\x20same\x20operand\x20to\x20itself\x20—\x20it\x20can\x20never\x20pass'};}const q=f['map'](s=>constantNumber(s,d)),r=c['type']==='logic_as_u256_greater_or_equal'?0x1:c['type']==='logic_as_u256_lesser_or_equal'?0x0:-0x1;if(r>=0x0&&f['length']===0x2){const s=0x1-r,t=f[s],u=staticValueType(t,d);if(q[r]===0x0n&&q[s]===undefined&&u!==undefined&&NUMERIC_VALUE_TYPE['test'](String(u))&&!readsContext(t))return{'outcome':'true','reason':c['type']+'\x20against\x20the\x20constant\x200\x20on\x20an\x20unsigned\x20('+u+')\x20operand\x20—\x20every\x20U-value\x20satisfies\x20it'};}if(q['length']===0x2&&q[0x0]!==undefined&&q[0x1]!==undefined){const v=q[0x0],w=q[0x1],x={'logic_equal':v===w,'logic_as_u256_equal':v===w,'logic_not_equal':v!==w,'logic_as_u256_greater':v>w,'logic_as_u256_greater_or_equal':v>=w,'logic_as_u256_lesser':v<w,'logic_as_u256_lesser_or_equal':v<=w};if(c['type']in x)return{'outcome':x[c['type']]?'true':'false','reason':c['type']+'\x20folds\x20on\x20two\x20constant\x20operands\x20('+v['toString']()+'\x20vs\x20'+w['toString']()+')'};}return undefined;}}}export function guardRiskFacts(a){const b={},c=rootRaw(a?.['root']),d=c['toLowerCase'](),f=Array['isArray'](a?.['table'])?a['table']:[],g=a?.['scene'],h=a?.['rely'];b['has_signer_check']=hasSignerCheck(c),b['has_clock_check']=hasClockCheck(c),b['has_guard_self_ref']=hasGuardSelfRef(c),b['has_witness']=hasWitness(c),b['queries_repository']=d['includes']('repository'),b['queries_progress']=d['includes']('progress'),b['root_has_query']=d['includes']('\x22query\x22'),b['root_has_clock_token']=d['includes']('clock'),b['root_has_calc_number_add']=d['includes']('calc_number_add'),b['root_has_logic_string_contains']=d['includes']('logic_string_contains'),b['root_has_logic_string_nocase']=d['includes']('logic_string_nocase'),b['root_has_logic_as_u256_greater_or_equal']=d['includes']('\x22logic_as_u256_greater_or_equal\x22'),b['root_has_logic_as_u256_greater']=d['includes']('\x22logic_as_u256_greater\x22'),b['root_has_logic_equal']=c['includes']('\x22logic_equal\x22'),b['root_has_logic_not_equal']=c['includes']('\x22logic_not_equal\x22'),b['logic_and_count']=(d['match'](/"logic_and"/g)||[])['length'],b['root_is_identifier']=a?.['root']?.['type']==='identifier';const i=b['root_is_identifier']?f['find'](H=>H['identifier']===a['root']['identifier']):undefined;b['root_identifier_is_submission']=i?.['b_submission']??![];const j=extractQueryIds(a?.['root']);b['root_query_ids_csv']=j['join'](',\x20'),b['root_has_progress_current_query']=j['includes'](0x4e5);const k=bareBoolQueryClauses(a?.['root']);k['length']>0x0&&(b['bare_bool_query_count']=k['length'],b['bare_bool_query_csv_sp']=k['join'](',\x20'));b['queries_arb_status']=d['includes']('arb.status'),b['arb_status_transient_gate']=b['queries_arb_status']&&f['some'](H=>!H['b_submission']&&/^u(8|16|32|64|128|256)$/i['test'](String(H['value_type']))&&Number(H['value'])===0x5);const l=f['some'](H=>H['b_submission']);b['has_submission']=l;const m=f['filter'](H=>!H['b_submission']&&H['value_type']==='Address'&&H['value']);m['length']>0x0&&(b['const_addr_count']=m['length'],b['const_addr_list']=m['map'](H=>'#'+H['identifier']+'='+H['value'])['join'](',\x20'));const n=f['filter'](H=>!H['b_submission']&&H['value_type']==='Address'&&typeof H['value']==='string'&&(H['value']['toLowerCase']()==='0xaab'||H['value']['toLowerCase']()==='0xaaa'));if(n['length']>0x0){b['sys_addr_list']=n['map'](J=>'#'+J['identifier']+'='+J['value']+'('+J['name']+')')['join'](',\x20');const H={'0xaab':/linker|permission|contact|messenger|coin registry|display registry/i,'0xaaa':/entity(?![_-]?linker)|permission|contact|messenger|coin registry|display registry/i},I=n['find'](J=>J['name']&&H[String(J['value'])['toLowerCase']()]?.['test'](J['name']));b['sys_addr_wrong']=I!==undefined;}const o=extractWitnessCodes(a?.['root']),p=o['filter'](J=>[0x6a,0x6b,0x6c]['includes'](J));if(p['length']>0x0){const J={0x6a:'Arb→Progress\x20(two\x20hops:\x20arb.order\x20→\x20order.progress)',0x6b:'Arb→Machine\x20(two\x20hops:\x20arb.order\x20→\x20order.machine)',0x6c:'Arb→Service\x20(two\x20hops:\x20arb.order\x20→\x20order.service)'};b['witness_multihop_codes']=p,b['witness_multihop_csv']=p['join'](',\x20'),b['witness_multihop_names_block']=p['map'](K=>'\x20\x20-\x20'+K+':\x20'+J[K])['join']('\x0a');}const q=extractWitnessIdentifierPairs(a?.['root']),r=q['filter'](K=>K['code']>=0x64&&K['code']<=0x6d);if(r['length']>0x0){const K=[],L=[];for(const {code:N,identifier:O}of r){const P=WITNESS_CHAIN[N];if(!P)continue;const Q=P[0x0],R=f['find'](T=>T['identifier']===O);if(!R)continue;const S=N+'\x20('+P['join']('→')+')';R['object_type']?R['object_type']!==Q&&K['push']('witness\x20'+S+'\x20references\x20#'+O+'\x20'+('but\x20object_type='+R['object_type']+'\x20(expected\x20'+Q+')')):L['push']('witness\x20'+S+'\x20references\x20#'+O+'\x20'+('but\x20object_type\x20is\x20not\x20set\x20(expected\x20'+Q+')'));if(P['length']===0x3){const T=P[0x1],U=f['some'](V=>V['object_type']===T);!U&&L['push']('witness\x20'+S+'\x20multi-hop\x20chain\x20expects\x20intermediate\x20'+(T+'\x20in\x20table,\x20but\x20no\x20entry\x20with\x20object_type='+T+'\x20found'));}}const M=[...K,...L];M['length']>0x0&&(b['rc2_02_issue_count']=M['length'],b['rc2_02_has_hard_mismatch']=K['length']>0x0,b['rc2_02_evidence_lines']=M['map'](V=>'\x20\x20-\x20'+V)['join']('\x0a'),b['rc2_02_evidence_csv']=M['join'](';\x20'));}const s=extractQuerySourceTriples(a?.['root']);if(s['length']>0x0){const V=[],W=[],X=[];for(const Y of s){const Z=Y['query']['split'](/[.\s]/)[0x0]?.['toLowerCase']()??'';if(Y['code']!==undefined){const a0=WITNESS_TARGET_PREFIX[Y['code']];a0&&Z!==a0&&V['push']('query\x20\x22'+Y['query']+'\x22\x20follows\x20convert_witness\x20'+Y['code']+'\x20(target\x20'+a0+'.*)\x20—\x20'+('prefix\x20\x22'+Z+'.*\x22\x20does\x20not\x20exist\x20on\x20the\x20converted\x20type'));}else{if(Z==='progress'&&Y['identifier']!==undefined){const a1=f['find'](a2=>a2['identifier']===Y['identifier']);if(a1?.['object_type']&&a1['object_type']!=='Progress')W['push']('query\x20\x22'+Y['query']+'\x22\x20reads\x20#'+Y['identifier']+'\x20(object_type='+a1['object_type']+')\x20'+'without\x20convert_witness\x20—\x20no\x20PROGRESS→ORDER\x20reverse\x20edge\x20exists;\x20'+'derive\x20Progress\x20via\x20convert_witness\x20100\x20(OrderProgress)');else a1&&!a1['object_type']&&a1['b_submission']===!![]&&X['push']('query\x20\x22'+Y['query']+'\x22\x20reads\x20submission\x20#'+Y['identifier']+'\x20without\x20convert_witness\x20'+'and\x20without\x20an\x20object_type\x20annotation\x20—\x20if\x20this\x20submits\x20the\x20ORDER,\x20'+'progress.*\x20is\x20unresolvable\x20(no\x20PROGRESS→ORDER\x20edge);\x20derive\x20via\x20convert_witness\x20100');}}}V['length']>0x0&&(b['rc2_05_mismatch_count']=V['length'],b['rc2_05_evidence_lines']=V['map'](a2=>'\x20\x20-\x20'+a2)['join']('\x0a'));if(W['length']>0x0||X['length']>0x0){const a2=[...W,...X];b['rc2_06_issue_count']=a2['length'],b['rc2_06_has_hard_mismatch']=W['length']>0x0,b['rc2_06_evidence_lines']=a2['map'](a3=>'\x20\x20-\x20'+a3)['join']('\x0a');}}const u=[];walkGuardRootNodes(a?.['root'],a3=>{if(typeof a3['query']!=='string'||!/keys\s+where/i['test'](a3['query']))return;const a4=getChainQuery(a3['query']);if(!a4){u['push']('query\x20\x22'+a3['query']+'\x22\x20is\x20not\x20in\x20the\x20chain\x20query\x20registry\x20—\x20the\x20native\x20verifier\x20has\x20no\x20such\x20query');return;}const a5=Array['isArray'](a3['parameters'])?a3['parameters']:[];if(a5['length']===0x0)return;if(a5['length']!==a4['requiredParams']['length']){u['push']('\x22'+a3['query']+'\x22\x20carries\x20'+a5['length']+'\x20parameter(s)\x20but\x20the\x20native\x20signature\x20for\x20'+a4['id']+'\x20is\x20('+a4['requiredParams']['join'](',\x20')+')\x20—\x20arity\x20mismatch\x20aborts\x20with\x20GUARD_QUERY_PARAM_INVALID');return;}a5['forEach']((a6,a7)=>{if(a6===null||typeof a6!=='object')return;if(typeof a6['identifier']!=='number')return;const a8=f?.['find'](ae=>ae['identifier']===a6['identifier']),a9=a8?.['value_type'];if(!a9)return;const aa=a4['requiredParams'][a7],ab={'VecU8':'VectorU8','VecAddress':'VectorAddress','VecString':'VectorString','VecBool':'VectorBool'},ac=ab[String(a9)]??String(a9),ad=ac===aa||ac==='Value';!ad&&u['push']('\x22'+a3['query']+'\x22\x20param\x20'+(a7+0x1)+':\x20table\x20#'+a6['identifier']+'\x20is\x20'+a9+'\x20but\x20the\x20native\x20requires\x20'+aa+'\x20(query\x20'+a4['id']+')\x20—\x20GUARD_QUERY_PARAM_INVALID\x20at\x20verification');});});u['length']>0x0&&(b['rc2_07_keys_where_count']=u['length'],b['rc2_07_evidence_lines']=u['map'](a3=>'\x20\x20-\x20'+a3)['join']('\x0a'));if(g?.['binding_field']==='buy_guard'){const a3=c['match'](/"query"\s*:\s*"order\.[^"]*"/g)??[];a3['length']>0x0&&(b['rx1_19_order_query_count']=a3['length'],b['rx1_19_evidence_csv']=a3['join'](',\x20'));}if(b['has_witness']){const a4=d['includes']('repository')&&d['includes']('\x22query\x22'),a5=d['includes']('progress_history')&&d['includes']('\x22query\x22');if(a4||a5){const a6=d['includes']('convert_number_address')||d['includes']('convert_address_number')||d['includes']('convert_u256')||d['includes']('convert_string');b['rc2_04_queries_repo']=a4,b['rc2_04_queries_progress_history']=a5,b['rc2_04_has_conversion']=a6,b['rc2_04_conversion_note']=a6?'\x0aThe\x20current\x20Guard\x20already\x20uses\x20type\x20conversion\x20nodes,\x20but\x20ensure\x20the\x20conversion\x20direction\x20is\x20correct.':'\x0aWarning:\x20no\x20type\x20conversion\x20node\x20detected\x20in\x20the\x20current\x20Guard;\x20parameter\x20type\x20mismatch\x20risk\x20may\x20exist.',b['rc2_04_conversion_evidence']=a6?'Type\x20conversion\x20node\x20in\x20use':'No\x20type\x20conversion\x20node\x20detected';}}b['scene_present']=g!==undefined;g&&(b['scene_id']=g['id'],b['scene_host_object']=g['host_object'],b['scene_binding_field']=g['binding_field'],b['scene_mutable_after_publish']=g['mutable_after_publish']);b['rc3_01_sharing_exempt']=g?.['id']==='service_order_allocators_guard'&&Array['isArray'](a?.['sharing_recipients'])&&a['sharing_recipients']['length']>0x0&&!a['sharing_recipients']['includes']('Signer');if(g?.['binding_field']==='voting_guard'){const a7=f['filter'](a8=>a8['b_submission']&&['U8','U16','U32','U64','U128','U256']['includes'](a8['value_type']));a7['length']>0x0&&(b['rc3_02_numeric_count']=a7['length'],b['rc3_02_numeric_list']=a7['map'](a8=>'#'+a8['identifier']+'('+a8['value_type']+')')['join'](',\x20'));}const v=f['filter'](a8=>a8['b_submission']&&a8['value_type']==='Address');if(v['length']>0x0){b['rc3_03_submitted_addr_count']=v['length'];const a8=v['filter'](a9=>!a9['object_type']);b['rc3_03_no_type_count']=a8['length'],b['rc3_03_evidence']=a8['length']>0x0?'Missing\x20object_type:\x20'+a8['map'](a9=>'#'+a9['identifier'])['join'](',\x20'):'Annotated:\x20'+v['map'](a9=>'#'+a9['identifier']+'='+a9['object_type'])['join'](',\x20');}b['rc3_01_order_anchored']=g?.['id']==='service_order_allocators_guard'&&f['some'](a9=>a9['b_submission'])&&((()=>{const a9=rootReferencedIdentifiers(a?.['root']);return f['filter'](aa=>aa['b_submission'])['every'](aa=>!a9['has'](aa['identifier']));})());if(v['length']>0x0){const a9=o['some'](ag=>[0x64,0x65,0x66]['includes'](ag)),aa=o['some'](ag=>[0x67]['includes'](ag)),ab=o['some'](ag=>[0x68,0x69,0x6a,0x6b,0x6c]['includes'](ag)),ac=v['filter'](ag=>ag['object_type']==='Order'||a9&&!ag['object_type']),ad=v['filter'](ag=>ag['object_type']==='Progress'||aa&&!ag['object_type']),ae=v['filter'](ag=>ag['object_type']==='Arb'||ab&&!ag['object_type']),af=ac['length']>0x0||ad['length']>0x0||ae['length']>0x0;if(af){const ag=['machine_forward_guard','service_order_allocators_guard','arbitration_usage_guard','arbitration_voting_guard','reward_claim','progress_submission_guard'],ah=g?.['id'],ai=!ah||ag['includes'](ah);if(ai){const aj=new Set([0x61b,0x618,0x4e2,0x57a,0x579]),ak=j['some'](al=>aj['has'](al));if(!ak){const al=[];for(const am of ac){al['push']('#'+am['identifier']+(am['object_type']?'(Order)':'(inferred\x20Order\x20via\x20witness\x20100-102)'));}for(const an of ad){al['push']('#'+an['identifier']+(an['object_type']?'(Progress)':'(inferred\x20Progress\x20via\x20witness\x20103)'));}for(const ao of ae){al['push']('#'+ao['identifier']+(ao['object_type']?'(Arb)':'(inferred\x20Arb\x20via\x20witness\x20104-108)'));}b['rc3_05_applies']=!![],b['rc3_05_critical']=ah!==undefined&&ah==='machine_forward_guard',b['rc3_05_unbound_csv']=al['join'](',\x20'),b['rc3_05_scene_label']=ah??'unknown\x20scene\x20(conservative\x20flag)';}}}}if(g?.['id']==='service_order_allocators_guard'&&!b['has_signer_check']){const ap=a?.['sharing_recipients'],aq=ap!==undefined&&ap['length']>0x0,ar=aq&&ap['includes']('Signer');if(!(aq&&!ar)){const as=isUnboundSignerTheft({'recipient_is_signer':ar,'caller_identity_constrained':![]});b['rc3_06_applies']=!![],b['rc3_06_signer_sharing']=as,b['rc3_06_recipients_label']=aq?'['+ap['join'](',\x20')+']':'(not\x20provided\x20—\x20conservative\x20flag)',b['rc3_06_title_suffix']=ar?'sharing.who=Signer\x20confirmed\x20—\x20anyone\x20can\x20steal\x20100%\x20of\x20funds':'if\x20sharing.who=Signer,\x20anyone\x20can\x20steal\x20100%\x20of\x20funds',b['rc3_06_level_rationale']=as?'Signer\x20sharing\x20confirmed\x20→\x20critical':'sharing\x20hint\x20absent\x20→\x20conservative\x20medium';}}if(b['has_signer_check']){const at=c['includes']('\x22logic_equal\x22'),au=c['includes']('\x22logic_not_equal\x22');b['rc4_01_comparison_detail']=(at?'logic_equal(==)':'')+'\x20'+(au?'logic_not_equal(!=)':''),b['rc4_01_comparison_ops']=(at?'==':'')+'\x20'+(au?'!=':'');const av=d['includes']('\x22order.owner\x22')&&at,aw=d['includes']('\x22order.agent\x22'),ax=d['includes']('\x22order.service\x22'),ay=/"permission\.(owner|admin)"/['test'](d);b['rc4_01_identity_legal']=av||aw||ax||ay,b['rc4_01_identity_form']=av?'order_owner_eq':aw?'order_agent':ax?'order_service_binding':ay?'permission_role':'other';const az=f['some'](aA=>aA['identifier']===0x0&&aA['b_submission']===!![]&&aA['object_type']==='Order');b['rc4_01_settlement_buyer_trigger']=g?.['id']==='service_order_allocators_guard'&&!az&&(av||aw);}if(b['has_clock_check']){const aA=b['root_has_logic_as_u256_greater_or_equal']===!![],aB=b['root_has_logic_as_u256_greater']===!![];(aA||aB)&&(b['rc4_02_has_greater_or_equal']=aA,b['rc4_02_has_greater']=aB,b['rc4_02_comparison_ops']=(aA?'>=':'')+'\x20'+(aB?'>':''));}if(b['has_signer_check']&&!isSignerCheckInLogicOr(a?.['root'])){const aC=detectLevel1StrictBinding(a?.['root'],f);if(aC['detected']&&aC['entry']){const aD=aC['entry'];b['rc4_04_detected']=!![],b['rc4_04_entry_identifier']=aD['identifier'],b['rc4_04_entry_value']=aD['value'],b['rc4_04_entry_detail']='b_submission=false,\x20value=\x22'+aD['value']+'\x22'+(aD['name']?',\x20name=\x22'+aD['name']+'\x22':'');}}const w=aE=>aE['length']===0x0?'':'Queries\x20without\x20non-zero\x20invariant:\x20'+aE['map'](queryLabel)['join'](',\x20'),x=unpinnedTimeLockQueries(a?.['root']);x['length']>0x0&&b['root_has_calc_number_add']&&(b['rx1_01_trigger']=!![],b['rx1_01_evidence']=w(x));const y=ambiguousStrictComparisons(a?.['root'],f);y['length']>0x0&&(b['rx1_02_trigger']=!![],b['rx1_02_evidence']=w(y));const z=Array['isArray'](h?.['guards'])?h['guards']:[];b['rely_guards_count']=z['length'],b['rely_is_or']=h?.['logic_or']===!![],b['rely_logic']=h?.['logic_or']?'OR':'AND';const A=d['includes']('repository')&&d['includes']('\x22query\x22'),B=f['some'](aE=>aE['b_submission']&&aE['value_type']==='Address'&&aE['object_type']==='Repository'),C=A&&B;b['rx1_11_self_rep_false']=C,b['rx1_11_warning_tail']=C?'\x0aWarning:\x20the\x20current\x20Guard\x20itself\x20queries\x20repository.data\x20and\x20the\x20Repository\x20address\x20comes\x20from\x20submission,\x20'+'so\x20its\x20own\x20rep=false\x20and\x20cannot\x20be\x20depended\x20on\x20by\x20other\x20Guards.':'',b['rx1_11_evidence']=C?'Self\x20rep=false\x20(repository.data\x20query\x20depends\x20on\x20submission)':'Self\x20rep\x20status\x20to\x20be\x20confirmed';if(l){const aE=f['filter'](aG=>aG['b_submission']),aF=aE['filter'](aG=>(aG['name']??'')==='');aF['length']>0x0&&(b['rx1_12_vague_count']=aF['length'],b['rx1_12_vague_csv']=aF['map'](aG=>'identifier='+aG['identifier']+',\x20name=\x22'+(aG['name']??'')+'\x22')['join'](';\x20'));}if(g){const aG=f['find'](aH=>!aH['b_submission']&&aH['value_type']==='Address'&&aH['object_type']===g['host_object']);aG&&(b['rx1_13_detected']=!![],b['rx1_13_identifier']=aG['identifier']);}const D=REENTRANCY_SPECS['find'](aH=>aH['sceneId']===g?.['id']);if(D){const aH=detectReentrancyProtection(a?.['root'],f,D);aH['state']!=='protected'&&(b['reentry_applicable']=!![],b['reentry_state']=aH['state'],b['reentry_scene_id']=D['sceneId'],b['reentry_rationale']=D['rationale'],b['reentry_mitigation']=D['mitigation'],aH['state']==='pseudo'&&(b['reentry_found_primitive']=aH['foundPrimitiveName']??''),b['reentry_evidence']=aH['evidence']);}const E=foldCertainOutcome(a?.['root'],f),F=E?.['outcome']==='true';b['tree_folds_always_true']=F;E&&E['outcome']==='false'&&(b['tree_folds_always_false']=!![],b['tree_folds_always_false_reason']=E['reason']);if(F)b['tree_folds_always_true_reason']=E['reason'];const G=g?.['binding_field']==='write_guard'||g?.['id']==='repository_write_guard';return b['write_guard_scene']=G,G&&(b['write_guard_no_identity_check']=!b['has_signer_check'],b['write_guard_open']=F||!b['has_signer_check']),b;}function guardRuleBook(){const a=getJudgmentDoc()['rules']['domains']['guard'];if(!a)throw new Error('factory\x20rule\x20pack\x20\x27guard\x27\x20missing\x20—\x20broken\x20installation');return a['rules'];}function dataSourceClassFor(a){if(a['startsWith']('R-C1-'))return'type1_onchain_constant';if(a['startsWith']('R-C2-'))return'type2_witness_derived';if(a['startsWith']('R-C3-'))return'type3_submitted_object';if(a['startsWith']('R-C4-'))return'type4_system_context';return'cross_type';}function findingToGuardRisk(a){return{'id':a['rule_id'],'data_source_class':dataSourceClassFor(a['rule_id']),'level':a['level'],'category':a['dimension']??'data_source_trust','title':a['title'],'description':a['description'],'affected_stakeholders':a['stakeholders']??[],'scenario':a['scenario']??'','mitigation':a['mitigation']??'',...a['evidence']!==undefined?{'evidence':a['evidence']}:{},...a['exposure']!=null?{'exposure':a['exposure']}:{}};}export function runGuardRulePack(a){const b=guardRuleBook();let c;try{c=guardRiskFacts(a);}catch{return[];}return evaluateRuleBook(b,c)['findings']['map'](findingToGuardRisk);}export function assembleGuardAssessment(a,b){const c=getOverallRiskLevel(b),d={};for(const h of b){d[h['data_source_class']]=(d[h['data_source_class']]??0x0)+0x1;}const e=generateStakeholderAdvice(b,a['scene']),f=b['some'](i=>i['level']==='critical')||b['filter'](i=>i['level']==='high')['length']>=0x2,g=generateGuardSummary(a);return{'guard_summary':g,'scene':a['scene'],'risks':b,'overall_risk':c,'risks_by_data_source':d,'stakeholder_advice':e,'needs_human_review':f};}function getOverallRiskLevel(a){if(a['some'](b=>b['level']==='critical'))return'critical';if(a['some'](b=>b['level']==='high'))return'high';if(a['some'](b=>b['level']==='medium'))return'medium';return'low';}function generateStakeholderAdvice(a,b){const c={};for(const d of a){for(const e of d['affected_stakeholders']){if(!c[e])c[e]=[];c[e]['push']('['+d['level']['toUpperCase']()+']\x20'+d['title']+':\x20'+d['mitigation']);}}if(b)switch(b['binding_field']){case'buy_guard':if(!c['customer'])c['customer']=[];c['customer']['push']('Before\x20purchase,\x20verify\x20the\x20buy_guard\x20logic\x20to\x20ensure\x20your\x20identity/credentials\x20can\x20pass\x20validation');break;case'order_allocators':if(!c['provider'])c['provider']=[];c['provider']['push']('Verify\x20the\x20order_allocators\x20ordering\x20to\x20ensure\x20your\x20Allocator\x20will\x20not\x20be\x20skipped\x20by\x20preceding\x20conditions');break;case'voting_guard':if(!c['arbitrator'])c['arbitrator']=[];c['arbitrator']['push']('Confirm\x20the\x20voting\x20weight\x20source\x20is\x20trustworthy;\x20prefer\x20querying\x20EntityRegistrar\x20rather\x20than\x20user-submitted\x20data');break;case'Forward.guard':if(!c['customer'])c['customer']=[];c['customer']['push']('Verify\x20the\x20Forward.guard\x20conditions\x20to\x20ensure\x20you\x20can\x20satisfy\x20the\x20advancement\x20criteria\x20and\x20avoid\x20locked\x20funds');break;}return c;}function generateGuardSummary(a){const b=[];b['push']('table\x20entries:\x20'+a['table']['length']);const c=a['table']['filter'](d=>d['b_submission'])['length'];return b['push']('submitted\x20data:\x20'+c+'\x20entries'),b['push']('root\x20type:\x20'+(a['root']?.['type']??'unknown')),a['rely']&&b['push']('rely:\x20'+a['rely']['guards']['length']+'\x20dependencies\x20('+(a['rely']['logic_or']?'OR':'AND')+')'),b['join'](',\x20');}export function getRiskSummary(a){return{'risk_count':a['risks']['length'],'critical_count':a['risks']['filter'](b=>b['level']==='critical')['length'],'high_count':a['risks']['filter'](b=>b['level']==='high')['length'],'needs_human_review':a['needs_human_review'],'top_risks':a['risks']['filter'](b=>b['level']==='critical'||b['level']==='high')['slice'](0x0,0x3)['map'](b=>b['title'])};}export function getRiskRulesCount(){return factoryRulePack('guard')?.['rules']['length']??0x0;}export const RISK_RULES=((()=>{const a=factoryRulePack('guard');if(!a)return[];return a['rules']['map'](b=>({'id':b['rule_id'],'data_source_class':dataSourceClassFor(b['rule_id']),'trigger':b['trigger']??'','check':c=>{const d=guardRuleBook()['find'](f=>f['rule_id']===b['rule_id']);if(!d)return null;const {findings:e}=evaluateRuleBook([d],guardRiskFacts(c));return e['length']>0x0?findingToGuardRisk(e[0x0]):null;}}));})());
@@ -0,0 +1 @@
1
+ import{getChainQuery,getChainQueryById}from'./chain-query-registry.js';import{foldCertainOutcome,QUERY_TYPE_ALIASES,rootReferencedIdentifiers}from'./guard-risk.js';import{objectTypeFromAddress}from'@wowok/wowok';const COMPARISON_OPS=new Set(['logic_equal','logic_not_equal','logic_as_u256_equal','logic_as_u256_greater','logic_as_u256_lesser','logic_as_u256_greater_or_equal','logic_as_u256_lesser_or_equal','logic_string_contains','logic_string_nocase_contains','logic_string_nocase_equal']),NUMERIC_VALUE_TYPE=/^u(?:8|16|32|64|128|256)$/i,UNTAGGED_OK_OBJECT_TYPES=new Set(['EntityLinker','EntityRegistrar']),REPOSITORY_ROW_READ_QUERY_IDS=new Set([0x48e,0x48f,0x490,0x495,0x496,0x498,0x499,0x49b,0x49c,0x49d,0x49e]);function asRec(a){return typeof a==='object'&&a!==null?a:undefined;}function childrenOf(a){return Array['isArray'](a['nodes'])?a['nodes']:[];}function paramsOf(a){if(Array['isArray'](a['parameters']))return a['parameters'];if(Array['isArray'](a['conditions']))return a['conditions'];return undefined;}function tableIndexOf(a){const b=new Map();for(const c of a){const d=c?.['identifier'],f=typeof d==='number'?d:typeof d==='string'&&/^\d+$/['test'](d)?Number(d):undefined;if(f!==undefined)b['set'](f,c);}return b;}function literalValueOf(a){const b=asRec(a);if(b===undefined||b['value']===undefined)return undefined;const c=b['type'];if(typeof c==='string'&&/^(query|identifier|context)/['test'](c))return undefined;if(Array['isArray'](b['nodes']))return undefined;const d=b['value_type'];return{'value':b['value'],'declaredType':typeof d==='string'&&d!==''?d:undefined};}function inferLiteralType(a,b){if(b!==undefined&&b!=='')return b;if(typeof a==='number')return'U64';if(typeof a==='boolean')return'Bool';if(typeof a==='string'){const c=a['trim']();if(/^0x[0-9a-fA-F]+$/['test'](c))return'Address';if(/^\d+$/['test'](c))return'U64';if(/^(true|false)$/i['test'](c))return'Bool';return'String';}return'String';}const NUMERIC_RETURN=new Set(['U8','U16','U32','U64','U128','U256']);function operandTypeVerdict(a,b){if(a==='Value')return{'verdict':'unverified','why':'repository.data\x20(query\x201167)\x20returns\x20the\x20row\x27s\x20RAW\x20Value\x20—\x20the\x20chain\x20re-checks\x20the\x20row\x27s\x20concrete\x20'+'type\x20against\x20this\x20operand\x20at\x20verify\x20time,\x20and\x20a\x20row\x20whose\x20stored\x20type\x20≠\x20the\x20operand\x20type\x20aborts\x20'+'the\x20whole\x20forward\x20with\x20MovePrimitiveRuntimeError,\x20NOT\x20a\x20clean\x20guard\x20failure\x20(zr9x\x20F-34:\x20a\x20U64\x20`rating`\x20'+'row\x20read\x20as\x20Value\x20and\x20compared\x20numerically\x20crashed\x20the\x20chain\x27s\x20guard\x20verification).\x20Verify\x20the\x20row\x27s\x20stored\x20value_type\x20'+'with\x20onchain_table_data\x20BEFORE\x20publish,\x20and\x20prefer\x20a\x20typed\x20dedicated\x20query\x20node\x20when\x20one\x20exists'};if(NUMERIC_RETURN['has'](a)){if(b==='String'||b==='Address'||b==='Bool')return{'verdict':'mismatch','why':'query\x20returns\x20'+a+'\x20but\x20the\x20operand\x20literal\x20is\x20'+b+'\x20—\x20the\x20chain\x27s\x20checkType\x20rejects\x20the\x20leg\x20at\x20verify\x20time\x20(abort,\x20not\x20a\x20false\x20guard)'};return{'verdict':'ok'};}if(a==='Address'){if(b==='Bool')return{'verdict':'mismatch','why':'query\x20returns\x20Address\x20but\x20the\x20operand\x20is\x20a\x20Bool\x20—\x20the\x20Bool/address\x20twin\x20trap\x20(crs\x20P2-2):\x20the\x20`some`\x20'+'sibling\x20query\x20is\x20the\x20Bool\x20form;\x20comparing\x20the\x20Address\x20form\x20against\x20true/false\x20aborts\x20at\x20verify\x20time'};if(b==='String'||NUMERIC_VALUE_TYPE['test'](b))return{'verdict':'mismatch','why':'query\x20returns\x20Address\x20but\x20the\x20operand\x20literal\x20is\x20'+b+'\x20—\x20checkType\x20rejects\x20the\x20leg\x20at\x20verify\x20time'};return{'verdict':'ok'};}if(a==='Bool'){if(b!=='Bool')return{'verdict':'mismatch','why':'query\x20returns\x20Bool\x20but\x20the\x20operand\x20literal\x20is\x20'+b+'\x20—\x20checkType\x20rejects\x20the\x20leg\x20at\x20verify\x20time'};return{'verdict':'ok'};}if(a==='String'){if(NUMERIC_VALUE_TYPE['test'](b)||b==='Address'||b==='Bool')return{'verdict':'mismatch','why':'query\x20returns\x20String\x20but\x20the\x20operand\x20literal\x20is\x20'+b+'\x20—\x20checkType\x20rejects\x20the\x20leg\x20at\x20verify\x20time'};return{'verdict':'ok'};}return{'verdict':'ok'};}function resolveQuerySpec(a){const b=a['query'];if(typeof b==='number')return getChainQueryById(b);if(typeof b==='string'&&b!==''){const c=getChainQuery(b);if(c!==undefined)return c;const d=b['toLowerCase'](),e=getChainQuery(d['charAt'](0x0)['toUpperCase']()+d['slice'](0x1));if(e!==undefined)return e;}return undefined;}function describeQuery(a,b){if(a!==undefined)return a['name']+'\x20(query\x20'+a['id']+')';const c=b['query'];return typeof c==='string'&&c!==''?c:'query\x20'+String(c);}export function walkGuardTreeSemantics(a,b){const c=[],d=new Set(),e=j=>{const l=j['code']+'|'+j['detail'];if(d['has'](l))return;d['add'](l),c['push'](j);};if(a===undefined||a===null)return c;const f=Array['isArray'](b)?b:[],g=tableIndexOf(f);try{const j=foldCertainOutcome(a,f,0x0);j!==undefined&&(j['outcome']==='false'?e({'code':'WALK-CONTRADICTION','level':'critical','detail':'this\x20guard\x20is\x20PROVABLY\x20always\x20false\x20for\x20every\x20submission\x20and\x20every\x20chain\x20state\x20('+j['reason']+')\x20—\x20'+'every\x20edge\x20it\x20gates\x20can\x20NEVER\x20advance\x20once\x20frozen\x20(zr9x\x20F-35:\x20a\x20CLOSES=0\x20\x27never\x20closes\x27\x20span\x20was\x20'+'compiled\x20literally\x20and\x20the\x20leg\x20was\x20always\x20false).\x20Rebuild\x20the\x20guard\x20before\x20publish'}):e({'code':'WALK-TAUTOLOGY','level':'warning','detail':'this\x20guard\x20is\x20PROVABLY\x20always\x20true\x20for\x20every\x20submission\x20and\x20every\x20chain\x20state\x20('+j['reason']+')\x20—\x20'+'a\x20dead\x20leg\x20that\x20gates\x20nothing\x20(zr9x\x20F-13:\x20an\x20always-true\x20voting\x20leg\x20shipped\x20a\x20governance\x20hole).\x20'+'On\x20an\x20arbitration\x20/\x20voting\x20/\x20permission\x20guard\x20this\x20is\x20a\x20TRUST\x20defect,\x20not\x20a\x20style\x20issue:\x20rebuild\x20'+'with\x20a\x20real\x20condition\x20or\x20drop\x20the\x20leg\x20before\x20publish'}));}catch{e({'code':'WALK-TREE-INVALID','level':'warning','detail':'the\x20root\x20tree\x20could\x20not\x20be\x20folded\x20—\x20the\x20walkthrough\x20could\x20not\x20prove\x20anything\x20about\x20it.\x20'+'Re-export\x20with\x20guard2file\x20and\x20re-run\x20analyze_guard_semantics\x20before\x20publish'});}const h=new Set(),i=k=>{const l=asRec(k);if(l===undefined)return;const m=typeof l['type']==='string'?l['type']:'';if(m==='query'){const n=typeof l['query']==='string'?l['query']:'';if(/^context\(/i['test'](n)){const p=asRec(l['object'])?.['identifier'];if(typeof p==='number')h['add'](p);return;}const o=resolveQuerySpec(l);if(o===undefined)e({'code':'WALK-QUERY-UNKNOWN','level':'critical','detail':'query\x20leg\x20reads\x20'+describeQuery(undefined,l)+'\x20which\x20does\x20NOT\x20exist\x20in\x20the\x20chain\x20query\x20registry\x20'+'(chain-query-registry.ts,\x20mirrored\x20from\x20wobject.rs\x20OBJECT_QUERIES)\x20—\x20guard\x20creation\x20either\x20rejects\x20the\x20'+'name\x20at\x20creation\x20or\x20resolves\x20a\x20wrong/retired\x20id\x20that\x20aborts\x20at\x20verify\x20time.\x20List\x20the\x20catalog\x20via\x20'+'schema_query\x20action=\x27get_guard_queries\x27\x20and\x20fix\x20the\x20leg'});else{const q=o['requiredParams']['length'],r=paramsOf(l);if(r!==undefined){const w=r['length'];w!==q&&e({'code':'WALK-QUERY-ARITY','level':'critical','detail':'query\x20'+describeQuery(o,l)+'\x20declares\x20'+w+'\x20parameter(s)\x20but\x20the\x20chain\x20requires\x20'+q+'\x20'+('('+(o['requiredParams']['join'](',\x20')||'none')+')\x20—\x20the\x20guard\x20aborts\x20at\x20verify\x20time\x20with\x20a\x20decode\x20')+'failure.\x20Fix\x20the\x20parameter\x20list\x20before\x20publish'});}else q>0x0&&e({'code':'WALK-QUERY-PARAMS-ABSENT','level':'warning','detail':'query\x20'+describeQuery(o,l)+'\x20requires\x20'+q+'\x20parameter(s)\x20('+o['requiredParams']['join'](',\x20')+')\x20'+'but\x20declares\x20NO\x20parameters\x20—\x20the\x20node\x20defaults\x20them\x20to\x20an\x20empty\x20list\x20and\x20the\x20chain\x20aborts\x20at\x20verify\x20'+'time.\x20UNVERIFIED:\x20confirm\x20the\x20parameter\x20list\x20before\x20publish'});const s=asRec(l['object']),t=s!==undefined?s['identifier']:undefined,u=typeof t==='number'?t:typeof t==='string'&&/^\d+$/['test'](t)?Number(t):undefined;if(u===undefined)e({'code':'WALK-OBJECT-SLOT-MISSING','level':'critical','detail':'query\x20'+describeQuery(o,l)+'\x20carries\x20NO\x20object\x20slot\x20—\x20the\x20chain\x20has\x20nothing\x20to\x20read\x20and\x20the\x20'+'leg\x20aborts\x20at\x20verify\x20time.\x20Pin\x20the\x20queried\x20object\x20via\x20{object:{identifier:N}}\x20before\x20publish'});else{const x=g['get'](u);if(x===undefined)e({'code':'WALK-OBJECT-SLOT-UNDECLARED','level':'critical','detail':'query\x20'+describeQuery(o,l)+'\x20reads\x20slot\x20#'+u+'\x20which\x20is\x20NOT\x20in\x20the\x20guard\x20table\x20—\x20the\x20'+'leg\x20aborts\x20at\x20verify\x20time\x20(an\x20undeclared\x20slot\x20has\x20no\x20value\x20to\x20read).\x20Declare\x20the\x20slot\x20or\x20re-point\x20the\x20query'});else{if(x['b_submission']!==!![]){const y=x['value'];if(typeof y==='string'&&/^0x[0-9a-fA-F]+$/['test'](y['trim']())){const z=objectTypeFromAddress(y['trim']());if(z===null)!UNTAGGED_OK_OBJECT_TYPES['has'](o['objectType'])&&e({'code':'WALK-OBJECT-UNTAGGED','level':'warning','detail':'query\x20'+describeQuery(o,l)+'\x20reads\x20slot\x20#'+u+'\x20pinned\x20to\x20untagged\x20address\x20'+y['trim']()+'\x20'+'(no\x20protocol\x20type\x20tag)\x20—\x20if\x20this\x20is\x20not\x20a\x20deliberate\x20system-address\x20pin\x20the\x20chain\x20'+'resolves\x20NO\x20object\x20at\x20verify\x20time\x20and\x20the\x20whole\x20guard\x20CRASHES\x20(abnb\x20F-25\x20family:\x20'+'MovePrimitiveRuntimeError,\x20not\x20a\x20clean\x20guard\x20failure).\x20Verify\x20the\x20pin\x20BEFORE\x20publish'});else String(z)!==o['objectType']&&e({'code':'WALK-OBJECT-TYPE-MISMATCH','level':'critical','detail':'query\x20'+describeQuery(o,l)+'\x20is\x20typed\x20for\x20a\x20'+o['objectType']+'\x20but\x20slot\x20#'+u+'\x20pins\x20'+(String(z)+'\x20'+y['trim']()+'\x20—\x20the\x20chain\x20reads\x20the\x20WRONG-TYPED\x20object\x20and\x20the\x20leg\x20aborts\x20or\x20')+'silently\x20checks\x20the\x20wrong\x20resource\x20(zr9x\x20F-42\x20stale-pin\x20family).\x20Re-pin\x20the\x20slot\x20before\x20publish'});}else typeof y!=='string'||y['trim']()===''?e({'code':'WALK-OBJECT-SLOT-EMPTY','level':'critical','detail':'query\x20'+describeQuery(o,l)+'\x20reads\x20slot\x20#'+u+'\x20whose\x20value\x20is\x20empty/unresolved\x20—\x20the\x20'+'chain\x20resolves\x20NO\x20object\x20at\x20verify\x20time\x20and\x20the\x20guard\x20CRASHES\x20(abnb\x20F-25\x20family).\x20Pin\x20a\x20real\x20'+'object\x20(or\x20the\x20name\x20that\x20resolves\x20to\x20one)\x20before\x20publish'}):e({'code':'WALK-OBJECT-NAME-UNRESOLVED','level':'warning','detail':'query\x20'+describeQuery(o,l)+'\x20reads\x20slot\x20#'+u+'\x20pinned\x20to\x20name\x20\x22'+String(y)+'\x22\x20—\x20a\x20frozen\x20'+'on-chain\x20guard\x20table\x20should\x20carry\x20resolved\x200x\x20addresses;\x20a\x20name\x20here\x20is\x20UNVERIFIED\x20(it\x20may\x20be\x20a\x20'+'stale\x20LocalMark\x20of\x20a\x20previous\x20build\x20—\x20zr9x\x20F-42).\x20Verify\x20it\x20resolves\x20to\x20THIS\x20build\x27s\x20object'});}}}if(REPOSITORY_ROW_READ_QUERY_IDS['has'](o['id'])){const A=paramsOf(l)?.[0x0],B=literalValueOf(A),C=B!==undefined&&typeof B['value']==='string'&&B['value']['trim']()!==''?B['value']['trim']():undefined;C!==undefined&&e({'code':'WALK-REPO-KEY-UNVERIFIED','level':'warning','detail':'repository\x20row\x20read\x20on\x20policy\x20key\x20\x22'+C+'\x22\x20—\x20this\x20walkthrough\x20CANNOT\x20prove\x20a\x20producer\x20exists:\x20'+'the\x20policy\x20must\x20exist\x20on\x20the\x20pinned\x20repository\x20AND\x20something\x20must\x20write\x20the\x20row\x20(zr9x\x20F-36:\x20the\x20'+'`rating`\x20row\x20was\x20never\x20derived,\x20so\x20an\x20equivalent\x20leg\x20was\x20permanently\x20false).\x20ABSENCE\x20IS\x20NOT\x20A\x20'+'CRASH\x20on\x20this\x20family:\x20the\x20composite\x20fold\x20driver\x20(1173/1174/1176/1179/1181/1183)\x20SKIPS\x20absent\x20rows,\x20'+'1167/1168\x20resolve\x20the\x20typed\x20empty-row\x20sentinels,\x20the\x20v142\x20author\x20read\x20(1182)\x20resolves\x20the\x200x0\x20'+'zero-author\x20sentinel,\x20the\x20v142\x20owner-count\x20(1183)\x20reads\x20honest\x200\x20on\x20a\x20missing\x20roster,\x20and\x20'+'post-v142\x20(ABNZ-03)\x20the\x20History\x20'+'anchors\x20(1274/1280/1285/1286)\x20reject\x20structurally\x20instead\x20of\x20aborting\x20—\x20the\x20residual\x20defect\x20'+'class\x20is\x20a\x20PERMANENTLY\x20FALSE\x20rail,\x20not\x20a\x20runtime\x20crash.\x20Run\x20onchain_table_data\x20on\x20the\x20pinned\x20'+'repository\x20and\x20confirm\x20the\x20policy\x20+\x20a\x20live\x20writer\x20BEFORE\x20publish,\x20or\x20re-anchor\x20absence\x20on\x20the\x20'+'typed\x20sentinels\x20(1167/1168\x20empty-row,\x201287\x20time_or_zero)\x20if\x20absence\x20should\x20pass'});}}}else{if(m!==''&&QUERY_TYPE_ALIASES['has'](m)){}}if(COMPARISON_OPS['has'](m)){const D=childrenOf(l);if(D['length']>=0x2){const E=[[D[0x0],D[0x1]],[D[0x1],D[0x0]]];for(const [F,G]of E){const H=asRec(F);if(H===undefined||H['type']!=='query')continue;const I=resolveQuerySpec(H);if(I===undefined)continue;const J=literalValueOf(G);if(J===undefined)continue;const K=inferLiteralType(J['value'],J['declaredType']),L=operandTypeVerdict(I['returnType'],K);if(L['verdict']==='mismatch')e({'code':'WALK-TYPE-MISMATCH','level':'critical','detail':'leg\x20compares\x20'+describeQuery(I,H)+'\x20(returns\x20'+I['returnType']+')\x20against\x20a\x20'+K+'\x20literal\x20'+('('+JSON['stringify'](J['value'])+')\x20—\x20'+L['why']+'.\x20Fix\x20the\x20operand\x20before\x20publish')});else L['verdict']==='unverified'&&e({'code':'WALK-TYPE-UNVERIFIED','level':'warning','detail':'leg\x20compares\x20'+describeQuery(I,H)+'\x20against\x20a\x20literal\x20—\x20'+L['why']});}}}for(const M of childrenOf(l))i(M);if(l['node']!==undefined)i(l['node']);if(l['object']!==undefined&&m!=='query')i(l['object']);};i(a);try{const k=rootReferencedIdentifiers(a);for(const l of k){if(h['has'](l))continue;!g['has'](l)&&e({'code':'WALK-SLOT-UNDECLARED','level':'critical','detail':'the\x20root\x20reads\x20table\x20slot\x20#'+l+'\x20which\x20is\x20NOT\x20declared\x20in\x20the\x20guard\x20table\x20—\x20the\x20leg\x20aborts\x20at\x20verify\x20'+'time\x20(an\x20undeclared\x20slot\x20has\x20no\x20value\x20to\x20read).\x20Declare\x20the\x20slot\x20(submission\x20rows\x20included)\x20before\x20publish'});}}catch{}return c;}
@@ -22,6 +22,7 @@ export interface GuardTemplate {
22
22
  creation_notes: string[];
23
23
  example_use_case: string;
24
24
  verifier_constraint_level?: "level1_strict" | "level2_identity_set" | "level3_scene_combined";
25
+ numeric_row_comparison?: boolean;
25
26
  }
26
27
  export declare const GUARD_TEMPLATES: GuardTemplate[];
27
28
  export declare function getTemplatesByScene(sceneId: string): GuardTemplate[];