@wowok/agent-mcp 2.7.8 → 3.0.0

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 (393) hide show
  1. package/README.md +2 -2
  2. package/dist/config/runtime.d.ts +1 -1
  3. package/dist/config/runtime.js +1 -1
  4. package/dist/examples/rental-ziroom-machine-create.json +1 -2
  5. package/dist/examples/rental-ziroom-permission-create.json +1 -2
  6. package/dist/examples/rental-ziroom-service-create.json +1 -2
  7. package/dist/experience/experience-reuse.js +1 -1
  8. package/dist/experience/index.d.ts +2 -1
  9. package/dist/experience/index.js +1 -1
  10. package/dist/experience/persistence-config.d.ts +6 -0
  11. package/dist/experience/persistence-config.js +1 -0
  12. package/dist/experience/persistence.d.ts +21 -0
  13. package/dist/experience/persistence.js +1 -0
  14. package/dist/experience/realtime-feedback.js +1 -1
  15. package/dist/experience/user-profile.js +1 -1
  16. package/dist/extensions/business-modules.d.ts +1 -1
  17. package/dist/extensions/capability-manifest.d.ts +2 -83
  18. package/dist/extensions/capability-manifest.js +1 -1
  19. package/dist/extensions/constraint-registry.d.ts +6 -4
  20. package/dist/extensions/constraint-registry.js +1 -1
  21. package/dist/extensions/index.d.ts +4 -5
  22. package/dist/extensions/index.js +1 -1
  23. package/dist/extensions/industry-pack.js +1 -1
  24. package/dist/extensions/metric-registry.d.ts +6 -4
  25. package/dist/extensions/metric-registry.js +1 -1
  26. package/dist/extensions/mode-evaluator.d.ts +2 -3
  27. package/dist/extensions/mode-evaluator.js +1 -1
  28. package/dist/extensions/registry.d.ts +3 -25
  29. package/dist/extensions/registry.js +1 -1
  30. package/dist/extensions/types.d.ts +1 -69
  31. package/dist/goal/GoalClassifier.d.ts +17 -0
  32. package/dist/goal/GoalClassifier.js +1 -0
  33. package/dist/goal/GoalEngine.d.ts +155 -0
  34. package/dist/goal/GoalEngine.js +1 -0
  35. package/dist/goal/GoalStore.d.ts +27 -0
  36. package/dist/goal/GoalStore.js +1 -0
  37. package/dist/goal/plan-approval.d.ts +5 -0
  38. package/dist/goal/plan-approval.js +1 -0
  39. package/dist/goal/types.d.ts +80 -0
  40. package/dist/goal/types.js +1 -0
  41. package/dist/harness/index.d.ts +2 -7
  42. package/dist/harness/index.js +1 -1
  43. package/dist/harness/plan.d.ts +1 -1
  44. package/dist/harness/types.d.ts +0 -35
  45. package/dist/index.js +1 -1
  46. package/dist/knowledge/account-marks.d.ts +36 -0
  47. package/dist/knowledge/account-marks.js +1 -0
  48. package/dist/knowledge/audit-rules.d.ts +3 -1
  49. package/dist/knowledge/audit-rules.js +1 -1
  50. package/dist/knowledge/examples-scanner-cli.js +1 -1
  51. package/dist/knowledge/examples-scanner.js +1 -1
  52. package/dist/knowledge/fund-layer.d.ts +13 -9
  53. package/dist/knowledge/fund-layer.js +1 -1
  54. package/dist/knowledge/goal-completion.d.ts +19 -0
  55. package/dist/knowledge/goal-completion.js +1 -0
  56. package/dist/knowledge/guard-bindings.d.ts +21 -0
  57. package/dist/knowledge/guard-bindings.js +1 -0
  58. package/dist/knowledge/guard-translation.js +1 -1
  59. package/dist/knowledge/index.d.ts +6 -3
  60. package/dist/knowledge/index.js +1 -1
  61. package/dist/knowledge/industry-registry.js +1 -1
  62. package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
  63. package/dist/knowledge/mcp-schema-audit.js +1 -1
  64. package/dist/knowledge/operation-dictionary.js +1 -1
  65. package/dist/knowledge/passport-confirm.js +1 -1
  66. package/dist/knowledge/passport-puzzle.js +1 -1
  67. package/dist/knowledge/passport-translation.js +1 -1
  68. package/dist/knowledge/proof-risk.js +1 -1
  69. package/dist/knowledge/reward-risk.d.ts +1 -1
  70. package/dist/knowledge/reward-risk.js +1 -1
  71. package/dist/knowledge/safety-rules.d.ts +2 -1
  72. package/dist/knowledge/safety-rules.js +1 -1
  73. package/dist/knowledge/scenario-topology.d.ts +43 -0
  74. package/dist/knowledge/scenario-topology.js +1 -0
  75. package/dist/knowledge/service-translation.js +1 -1
  76. package/dist/knowledge/supply-chain.js +1 -1
  77. package/dist/knowledge/template-registry.js +1 -1
  78. package/dist/knowledge/tools-reference.js +1 -1
  79. package/dist/knowledge/workflow-guidance.d.ts +36 -0
  80. package/dist/knowledge/workflow-guidance.js +1 -1
  81. package/dist/knowledge/workspace-lists.d.ts +57 -0
  82. package/dist/knowledge/workspace-lists.js +1 -0
  83. package/dist/loop-engineering/context-collect.d.ts +1 -1
  84. package/dist/monitor/EventRouter.d.ts +10 -0
  85. package/dist/monitor/EventRouter.js +1 -0
  86. package/dist/monitor/EventStore.d.ts +32 -12
  87. package/dist/monitor/EventStore.js +1 -1
  88. package/dist/monitor/MonitorLoop.d.ts +81 -0
  89. package/dist/monitor/MonitorLoop.js +1 -0
  90. package/dist/monitor/ProblemBridge.d.ts +32 -0
  91. package/dist/monitor/ProblemBridge.js +1 -0
  92. package/dist/monitor/ScopeResolver.d.ts +59 -0
  93. package/dist/monitor/ScopeResolver.js +1 -0
  94. package/dist/monitor/SubscriptionStore.d.ts +13 -0
  95. package/dist/monitor/SubscriptionStore.js +1 -0
  96. package/dist/monitor/SuggestionBridge.d.ts +38 -0
  97. package/dist/monitor/SuggestionBridge.js +1 -0
  98. package/dist/monitor/normalize.d.ts +8 -0
  99. package/dist/monitor/normalize.js +1 -0
  100. package/dist/monitor/types.d.ts +89 -0
  101. package/dist/monitor/types.js +1 -0
  102. package/dist/participation/arbitrator-interest.d.ts +20 -0
  103. package/dist/participation/arbitrator-interest.js +1 -0
  104. package/dist/participation/demander-interest.d.ts +23 -0
  105. package/dist/participation/demander-interest.js +1 -0
  106. package/dist/persona/address-format.d.ts +1 -1
  107. package/dist/persona/address-format.js +1 -1
  108. package/dist/persona/distill-goal.d.ts +20 -0
  109. package/dist/persona/distill-goal.js +1 -0
  110. package/dist/persona/index.d.ts +2 -0
  111. package/dist/persona/index.js +1 -1
  112. package/dist/persona/model.js +1 -1
  113. package/dist/playbooks/service-build/business-puzzle.js +1 -0
  114. package/dist/{project → playbooks/service-build}/context-assembly.d.ts +9 -4
  115. package/dist/playbooks/service-build/context-assembly.js +1 -0
  116. package/dist/{project → playbooks/service-build}/game-theory.d.ts +1 -1
  117. package/dist/playbooks/service-build/index.d.ts +14 -0
  118. package/dist/playbooks/service-build/index.js +1 -0
  119. package/dist/{project → playbooks/service-build}/intent-analyzer.d.ts +1 -1
  120. package/dist/playbooks/service-build/intent-analyzer.js +1 -0
  121. package/dist/playbooks/service-build/machine-nodes.js +1 -0
  122. package/dist/{project → playbooks/service-build}/machine-panorama.d.ts +5 -3
  123. package/dist/playbooks/service-build/machine-panorama.js +1 -0
  124. package/dist/{project → playbooks/service-build}/merchant-guide.d.ts +21 -1
  125. package/dist/playbooks/service-build/merchant-guide.js +1 -0
  126. package/dist/{project → playbooks/service-build}/mode-actions.d.ts +32 -8
  127. package/dist/playbooks/service-build/mode-actions.js +1 -0
  128. package/dist/playbooks/service-build/namespace.d.ts +2 -0
  129. package/dist/playbooks/service-build/namespace.js +1 -0
  130. package/dist/{project → playbooks/service-build}/object-panorama.d.ts +2 -3
  131. package/dist/playbooks/service-build/object-panorama.js +1 -0
  132. package/dist/{project → playbooks/service-build}/participation-radar.d.ts +4 -5
  133. package/dist/playbooks/service-build/participation-radar.js +1 -0
  134. package/dist/{project → playbooks/service-build}/pipeline-actions.d.ts +9 -9
  135. package/dist/playbooks/service-build/pipeline-actions.js +1 -0
  136. package/dist/playbooks/service-build/process.d.ts +6 -0
  137. package/dist/playbooks/service-build/process.js +1 -0
  138. package/dist/playbooks/service-build/relationship-profile.d.ts +2 -0
  139. package/dist/playbooks/service-build/relationship-profile.js +1 -0
  140. package/dist/playbooks/service-build/risk-aggregator.js +1 -0
  141. package/dist/{project → playbooks/service-build}/semantic-graph.d.ts +7 -3
  142. package/dist/playbooks/service-build/semantic-graph.js +1 -0
  143. package/dist/{project → playbooks/service-build}/service-panorama.d.ts +3 -19
  144. package/dist/playbooks/service-build/service-panorama.js +1 -0
  145. package/dist/relationship/derivation.d.ts +88 -0
  146. package/dist/relationship/derivation.js +1 -0
  147. package/dist/relationship/incentive.d.ts +38 -0
  148. package/dist/relationship/incentive.js +1 -0
  149. package/dist/relationship/index.d.ts +4 -0
  150. package/dist/relationship/index.js +1 -0
  151. package/dist/relationship/registry.d.ts +13 -0
  152. package/dist/relationship/registry.js +1 -0
  153. package/dist/relationship/types.d.ts +45 -0
  154. package/dist/relationship/types.js +1 -0
  155. package/dist/review/arb.d.ts +6 -0
  156. package/dist/review/arb.js +1 -0
  157. package/dist/review/demand.d.ts +3 -0
  158. package/dist/review/demand.js +1 -0
  159. package/dist/review/index.d.ts +3 -0
  160. package/dist/review/index.js +1 -0
  161. package/dist/review/machine.d.ts +3 -0
  162. package/dist/review/machine.js +1 -0
  163. package/dist/review/order.d.ts +9 -0
  164. package/dist/review/order.js +1 -0
  165. package/dist/review/progress.d.ts +3 -0
  166. package/dist/review/progress.js +1 -0
  167. package/dist/review/repository.d.ts +3 -0
  168. package/dist/review/repository.js +1 -0
  169. package/dist/review/service.d.ts +5 -0
  170. package/dist/review/service.js +1 -0
  171. package/dist/review/types.d.ts +156 -0
  172. package/dist/review/types.js +1 -0
  173. package/dist/rules.d.ts +2 -2
  174. package/dist/rules.js +1 -1
  175. package/dist/safety/confirm-gate.js +1 -1
  176. package/dist/safety/index.d.ts +1 -1
  177. package/dist/safety/index.js +1 -1
  178. package/dist/safety/preview.d.ts +1 -0
  179. package/dist/safety/preview.js +1 -1
  180. package/dist/schema/call/allocation.d.ts +1 -1
  181. package/dist/schema/call/arbitration.d.ts +1 -1
  182. package/dist/schema/call/base.d.ts +1 -1
  183. package/dist/schema/call/base.js +1 -1
  184. package/dist/schema/call/bridge.d.ts +29 -7
  185. package/dist/schema/call/bridge.js +1 -1
  186. package/dist/schema/call/contact.d.ts +1 -1
  187. package/dist/schema/call/contact.js +1 -1
  188. package/dist/schema/call/demand.d.ts +1 -1
  189. package/dist/schema/call/demand.js +1 -1
  190. package/dist/schema/call/guard.d.ts +3 -3
  191. package/dist/schema/call/handler.d.ts +0 -3
  192. package/dist/schema/call/handler.js +1 -1
  193. package/dist/schema/call/machine.d.ts +2 -2
  194. package/dist/schema/call/order.d.ts +1 -1
  195. package/dist/schema/call/payment.d.ts +1 -1
  196. package/dist/schema/call/permission.d.ts +1 -1
  197. package/dist/schema/call/personal.d.ts +1 -1
  198. package/dist/schema/call/progress.d.ts +1 -1
  199. package/dist/schema/call/proof.d.ts +2 -2
  200. package/dist/schema/call/repository.d.ts +1 -1
  201. package/dist/schema/call/repository.js +1 -1
  202. package/dist/schema/call/reward.d.ts +1 -1
  203. package/dist/schema/call/semantic.js +1 -1
  204. package/dist/schema/call/service.d.ts +1 -1
  205. package/dist/schema/call/service.js +1 -1
  206. package/dist/schema/call/treasury.d.ts +1 -1
  207. package/dist/schema/common/index.js +1 -1
  208. package/dist/schema/goal/index.d.ts +343 -0
  209. package/dist/schema/goal/index.js +1 -0
  210. package/dist/schema/goal/planning.d.ts +465 -0
  211. package/dist/schema/goal/planning.js +1 -0
  212. package/dist/schema/index.d.ts +1 -2
  213. package/dist/schema/index.js +1 -1
  214. package/dist/schema/industry-pack/index.d.ts +323 -1
  215. package/dist/schema/industry-pack/index.js +1 -1
  216. package/dist/schema/industry-pack/modes.d.ts +326 -0
  217. package/dist/schema/industry-pack/modes.js +1 -0
  218. package/dist/schema/intent-radar/index.d.ts +19 -19
  219. package/dist/schema/local/index.d.ts +11 -0
  220. package/dist/schema/local/index.js +1 -1
  221. package/dist/schema/operations.d.ts +258 -19
  222. package/dist/schema/operations.js +1 -1
  223. package/dist/schema/permission/index.d.ts +1 -0
  224. package/dist/schema/permission/index.js +1 -1
  225. package/dist/schema/persona/index.d.ts +40 -0
  226. package/dist/schema/persona/index.js +1 -1
  227. package/dist/schema/query/bi.d.ts +912 -0
  228. package/dist/schema/query/bi.js +1 -0
  229. package/dist/schema/query/index.d.ts +663 -2
  230. package/dist/schema/query/index.js +1 -1
  231. package/dist/schema/schema-version.js +1 -1
  232. package/dist/schema/utils/skills-recommendation.d.ts +0 -1
  233. package/dist/schema/utils/skills-recommendation.js +1 -1
  234. package/dist/schema-query-impl/index.js +1 -1
  235. package/dist/schemas/account_operation.output.json +32 -3
  236. package/dist/schemas/account_operation.schema.json +8 -4
  237. package/dist/schemas/bridge_operation.output.json +26 -3
  238. package/dist/schemas/bridge_operation.schema.json +85 -13
  239. package/dist/schemas/config_operation.output.json +1 -1
  240. package/dist/schemas/config_operation.schema.json +1 -1
  241. package/dist/schemas/goal_operation.schema.json +1092 -0
  242. package/dist/schemas/guard2file.schema.json +3 -3
  243. package/dist/schemas/index.json +12 -13
  244. package/dist/schemas/industry_pack_operation.output.json +1073 -0
  245. package/dist/schemas/industry_pack_operation.schema.json +236 -2
  246. package/dist/schemas/local_info_operation.output.json +2 -2
  247. package/dist/schemas/local_mark_operation.output.json +2 -2
  248. package/dist/schemas/machineNode2file.schema.json +3 -3
  249. package/dist/schemas/messenger_operation.output.json +2 -2
  250. package/dist/schemas/monitor_events.output.json +78 -3
  251. package/dist/schemas/monitor_events.schema.json +24 -1
  252. package/dist/schemas/monitor_subscription.output.json +1462 -0
  253. package/dist/schemas/monitor_subscription.schema.json +327 -0
  254. package/dist/schemas/onchain_events.output.json +5 -5
  255. package/dist/schemas/onchain_operations.output.json +2 -2
  256. package/dist/schemas/onchain_operations.schema.json +100 -100
  257. package/dist/schemas/onchain_operations_allocation.schema.json +7 -7
  258. package/dist/schemas/onchain_operations_arbitration.schema.json +6 -6
  259. package/dist/schemas/onchain_operations_contact.schema.json +6 -6
  260. package/dist/schemas/onchain_operations_demand.schema.json +6 -6
  261. package/dist/schemas/onchain_operations_gen_passport.schema.json +3 -3
  262. package/dist/schemas/onchain_operations_gen_proof.schema.json +3 -3
  263. package/dist/schemas/onchain_operations_guard.schema.json +3 -3
  264. package/dist/schemas/onchain_operations_machine.schema.json +5 -5
  265. package/dist/schemas/onchain_operations_order.schema.json +5 -5
  266. package/dist/schemas/onchain_operations_payment.schema.json +4 -4
  267. package/dist/schemas/onchain_operations_permission.schema.json +5 -5
  268. package/dist/schemas/onchain_operations_personal.schema.json +3 -3
  269. package/dist/schemas/onchain_operations_progress.schema.json +5 -5
  270. package/dist/schemas/onchain_operations_proof.schema.json +3 -3
  271. package/dist/schemas/onchain_operations_repository.schema.json +7 -7
  272. package/dist/schemas/onchain_operations_reward.schema.json +9 -9
  273. package/dist/schemas/onchain_operations_service.schema.json +11 -11
  274. package/dist/schemas/onchain_operations_treasury.schema.json +9 -9
  275. package/dist/schemas/onchain_table_data.output.json +399 -2
  276. package/dist/schemas/onchain_table_data.schema.json +22 -22
  277. package/dist/schemas/permission_operation.schema.json +6 -2
  278. package/dist/schemas/persona_operation.output.json +145 -0
  279. package/dist/schemas/persona_operation.schema.json +28 -2
  280. package/dist/schemas/query_toolkit.output.json +1514 -22
  281. package/dist/schemas/query_toolkit.schema.json +465 -11
  282. package/dist/schemas/workflow_operation.schema.json +4 -4
  283. package/dist/task/ProcessStore.d.ts +98 -0
  284. package/dist/task/ProcessStore.js +1 -0
  285. package/dist/task/playbook.d.ts +11 -0
  286. package/dist/task/playbook.js +1 -0
  287. package/dist/task/stage-gate.d.ts +22 -0
  288. package/dist/task/stage-gate.js +1 -0
  289. package/dist/{project → task}/substep-trace.d.ts +6 -45
  290. package/dist/task/types.d.ts +144 -0
  291. package/dist/task/types.js +1 -0
  292. package/dist/tools/handlers/config.js +1 -1
  293. package/dist/tools/handlers/evaluation.js +1 -1
  294. package/dist/tools/handlers/goal.d.ts +4 -0
  295. package/dist/tools/handlers/goal.js +1 -0
  296. package/dist/tools/handlers/industry-pack.js +1 -1
  297. package/dist/tools/handlers/local.d.ts +4 -3
  298. package/dist/tools/handlers/local.js +1 -1
  299. package/dist/tools/handlers/monitor.d.ts +24 -0
  300. package/dist/tools/handlers/monitor.js +1 -1
  301. package/dist/tools/handlers/network.d.ts +1 -0
  302. package/dist/tools/handlers/network.js +1 -0
  303. package/dist/tools/handlers/onchain.js +1 -1
  304. package/dist/tools/handlers/permission.js +1 -1
  305. package/dist/tools/handlers/persona.js +1 -1
  306. package/dist/tools/handlers/query.js +1 -1
  307. package/dist/tools/handlers/watch.js +1 -1
  308. package/dist/tools/handlers/workflow.js +1 -1
  309. package/dist/tools/index.d.ts +2 -0
  310. package/dist/tools/index.js +1 -1
  311. package/dist/tools/rules-hook.d.ts +1 -0
  312. package/dist/tools/rules-hook.js +1 -1
  313. package/dist/tools/shared.js +1 -1
  314. package/dist/tools/wrap.js +1 -1
  315. package/package.json +5 -4
  316. package/dist/harness/checkpoint.d.ts +0 -8
  317. package/dist/harness/checkpoint.js +0 -1
  318. package/dist/knowledge/deployment-scanner.d.ts +0 -66
  319. package/dist/knowledge/deployment-scanner.js +0 -1
  320. package/dist/mode-market/index.d.ts +0 -3
  321. package/dist/mode-market/index.js +0 -1
  322. package/dist/mode-market/registry.d.ts +0 -53
  323. package/dist/mode-market/registry.js +0 -1
  324. package/dist/mode-market/review.d.ts +0 -27
  325. package/dist/mode-market/review.js +0 -1
  326. package/dist/mode-market/submission.d.ts +0 -25
  327. package/dist/mode-market/submission.js +0 -1
  328. package/dist/project/business-puzzle.js +0 -1
  329. package/dist/project/context-assembly.js +0 -1
  330. package/dist/project/deployment-bridge.d.ts +0 -5
  331. package/dist/project/deployment-bridge.js +0 -1
  332. package/dist/project/deployment-doc.d.ts +0 -190
  333. package/dist/project/deployment-doc.js +0 -1
  334. package/dist/project/edit-planner.d.ts +0 -123
  335. package/dist/project/edit-planner.js +0 -1
  336. package/dist/project/evaluation-fix.spec.d.ts +0 -1
  337. package/dist/project/evaluation-fix.spec.js +0 -1
  338. package/dist/project/evaluation.d.ts +0 -127
  339. package/dist/project/evaluation.js +0 -1
  340. package/dist/project/graph-builder.d.ts +0 -51
  341. package/dist/project/graph-builder.js +0 -1
  342. package/dist/project/graph.d.ts +0 -70
  343. package/dist/project/graph.js +0 -1
  344. package/dist/project/handlers.d.ts +0 -524
  345. package/dist/project/handlers.js +0 -1
  346. package/dist/project/index.d.ts +0 -91
  347. package/dist/project/index.js +0 -1
  348. package/dist/project/intent-analyzer.js +0 -1
  349. package/dist/project/machine-nodes.js +0 -1
  350. package/dist/project/machine-panorama.js +0 -1
  351. package/dist/project/merchant-guide.js +0 -1
  352. package/dist/project/mode-actions.js +0 -1
  353. package/dist/project/namespace.d.ts +0 -72
  354. package/dist/project/namespace.js +0 -1
  355. package/dist/project/object-panorama.js +0 -1
  356. package/dist/project/participation-radar.js +0 -1
  357. package/dist/project/pipeline-actions.js +0 -1
  358. package/dist/project/project-store.d.ts +0 -110
  359. package/dist/project/project-store.js +0 -1
  360. package/dist/project/query.d.ts +0 -43
  361. package/dist/project/query.js +0 -1
  362. package/dist/project/risk-aggregator.js +0 -1
  363. package/dist/project/semantic-assembler.d.ts +0 -93
  364. package/dist/project/semantic-assembler.js +0 -1
  365. package/dist/project/semantic-graph.js +0 -1
  366. package/dist/project/service-panorama.js +0 -1
  367. package/dist/project/stage-gate.d.ts +0 -52
  368. package/dist/project/stage-gate.js +0 -1
  369. package/dist/project/task-tracker.d.ts +0 -30
  370. package/dist/project/task-tracker.js +0 -1
  371. package/dist/schema/project/index.d.ts +0 -2021
  372. package/dist/schema/project/index.js +0 -1
  373. package/dist/schema/task-status.d.ts +0 -62
  374. package/dist/schema/task-status.js +0 -1
  375. package/dist/schemas/project_operation.output.json +0 -7877
  376. package/dist/schemas/project_operation.schema.json +0 -1139
  377. package/dist/schemas/query_task_status.output.json +0 -211
  378. package/dist/schemas/query_task_status.schema.json +0 -18
  379. package/dist/tools/handlers/project.d.ts +0 -2
  380. package/dist/tools/handlers/project.js +0 -1
  381. package/dist/tools/handlers/task-status.d.ts +0 -2
  382. package/dist/tools/handlers/task-status.js +0 -1
  383. /package/dist/{project → playbooks/service-build}/business-puzzle.d.ts +0 -0
  384. /package/dist/{project → playbooks/service-build}/game-theory.js +0 -0
  385. /package/dist/{project → playbooks/service-build}/machine-nodes.d.ts +0 -0
  386. /package/dist/{project → playbooks/service-build}/object-type.d.ts +0 -0
  387. /package/dist/{project → playbooks/service-build}/object-type.js +0 -0
  388. /package/dist/{project → playbooks/service-build}/reverse-mapping.d.ts +0 -0
  389. /package/dist/{project → playbooks/service-build}/reverse-mapping.js +0 -0
  390. /package/dist/{project → playbooks/service-build}/risk-aggregator.d.ts +0 -0
  391. /package/dist/{project → playbooks/service-build}/workflow-design-assessment.d.ts +0 -0
  392. /package/dist/{project → playbooks/service-build}/workflow-design-assessment.js +0 -0
  393. /package/dist/{project → task}/substep-trace.js +0 -0
@@ -1 +1 @@
1
- import{MAX_SUBMISSION_SIZE_PASSPORT}from'@wowok/wowok';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'P02','pattern_name':'Query\x20published\x20object\x20+\x20system\x20context','data_source_combination':'Type1\x20+\x20Type4','semantic_intent':'Query\x20published\x20on-chain\x20object\x20fields\x20and\x20compare\x20with\x20system\x20context','match_keywords':['paused','published','service\x20status','machine\x20status','paused','published'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Published\x20object\x20address\x20constant\x20(Type1)'}],'context_nodes':[{'context_type':'Signer','purpose':'Optional:\x20identity\x20validation'}],'tree_structure':'logic_equal(query(<instruction>,\x20object:\x20{\x20identifier:\x200\x20}),\x20identifier[1]\x20or\x20context(Signer))'},'constraints':['The\x20object_type\x20of\x20table[0]\x20must\x20match\x20the\x20target\x20object\x20type\x20of\x20the\x20query\x20instruction','The\x20query\x20return\x20type\x20must\x20be\x20compatible\x20with\x20the\x20comparison\x20object','The\x20object\x20must\x20be\x20published\x20(published=true)\x20to\x20ensure\x20fields\x20are\x20immutable'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'service.paused','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xSERVICE','name':'Service\x20object\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20paused\x20state\x20(false=not\x20paused)'}]}},{'id':'P03','pattern_name':'Identity\x20check\x20(single\x20address)','data_source_combination':'Type4\x20+\x20Type1\x20constant','semantic_intent':'Only\x20a\x20specific\x20address\x20can\x20perform\x20the\x20operation','match_keywords':['only','allow','authorize','identity','specified\x20address','signer'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Authorized\x20address\x20constant\x20(Type1\x20constant)'}],'context_nodes':[{'context_type':'Signer','purpose':'Current\x20transaction\x20signer\x20(Type4)'}],'tree_structure':'logic_equal(context(Signer),\x20identifier[0])'},'constraints':['root\x20must\x20be\x20logic_equal\x20(returns\x20Bool)','table[0]\x20must\x20be\x20Address\x20type,\x20b_submission=false','context(Signer)\x20returns\x20the\x20current\x20transaction\x20signer\x20address'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x0}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xabc...','name':'Authorized\x20operator\x20address'}]}},{'id':'P04','pattern_name':'Identity\x20check\x20(whitelist)','data_source_combination':'Type4\x20+\x20Type1\x20constant\x20(VecAddress)','semantic_intent':'Addresses\x20in\x20the\x20whitelist\x20can\x20perform\x20this\x20operation','match_keywords':['whitelist','multiple\x20addresses','list','allowlist','roster'],'schema_elements':{'root_type':'vec_contains_address','table_entries':[{'value_type':'VecAddress','b_submission':![],'purpose':'Authorized\x20address\x20list\x20(Type1\x20constant)'}],'context_nodes':[{'context_type':'Signer','purpose':'Signer\x20being\x20looked\x20up\x20(Type4)'}],'tree_structure':'vec_contains_address(identifier[0],\x20context(Signer))'},'constraints':['root\x20vec_contains_address\x20returns\x20Bool','table[0]\x20must\x20be\x20VecAddress\x20type','context(Signer)\x20is\x20the\x20element\x20being\x20looked\x20up'],'example':{'root':{'type':'vec_contains_address','nodes':[{'type':'identifier','identifier':0x0},{'type':'context','context':'Signer'}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'VecAddress','value':['0xabc...','0xdef...'],'name':'Authorized\x20address\x20whitelist'}]}},{'id':'P05','pattern_name':'Time\x20lock','data_source_combination':'Type2\x20+\x20Type4\x20+\x20Type1\x20constant','semantic_intent':'This\x20operation\x20can\x20only\x20be\x20executed\x20after\x20waiting\x20N\x20milliseconds','match_keywords':['wait','time','lock','delay','hours','days','milliseconds'],'schema_elements':{'root_type':'logic_as_u256_greater_or_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Source\x20object\x20address\x20(e.g.\x20Order,\x20Type3)\x20or\x20constant\x20(Type1)'},{'value_type':'U64','b_submission':![],'purpose':'Lock\x20duration\x20(in\x20milliseconds,\x201000\x20for\x20tests,\x20Type1\x20constant)'}],'query_nodes':[{'query_name':'progress.current_time','object_type':'Progress','convert_witness':0x64}],'context_nodes':[{'context_type':'Clock','purpose':'Current\x20on-chain\x20timestamp\x20(Type4)'}],'tree_structure':'logic_as_u256_greater_or_equal(context(Clock),\x20calc_number_add(query(1272:\x20progress.current_time,\x20witness=100,\x20identifier[0]),\x20identifier[1]))'},'constraints':['Time\x20unit\x20is\x20milliseconds;\x20use\x201000ms\x20for\x20tests\x20and\x20adjust\x20in\x20production','convert_witness=100\x20(TypeOrderProgress)\x20converts\x20from\x20Order\x20to\x20Progress','The\x20object_type\x20of\x20table[0]\x20must\x20match\x20the\x20witness\x20source\x20type\x20(Order)','calc_number_add\x20returns\x20U256,\x20context(Clock)\x20returns\x20U64,\x20auto-widened','Key:\x20use\x20progress.current_time(1272)\x20rather\x20than\x20progress.session.forward.time(1271);\x20the\x20latter\x20querying\x20an\x20unforwarded\x20session\x20returns\x200\x20and\x20disables\x20the\x20time\x20lock'],'example':{'root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query','query':'progress.current_time','object':{'identifier':0x0,'convert_witness':0x64},'parameters':[]},{'type':'identifier','identifier':0x1}]}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Target\x20Order\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':0x3e8,'name':'Lock\x20duration\x20(milliseconds)'}]}},{'id':'P06','pattern_name':'Progress\x20state\x20check','data_source_combination':'Type2\x20+\x20Type1\x20constant','semantic_intent':'The\x20order\x20progress\x20must\x20reach\x20the\x20specified\x20node\x20before\x20this\x20operation\x20can\x20be\x20executed','match_keywords':['progress','node','state','completed','reach','current\x20node'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Source\x20Order\x20address\x20(Type3,\x20witness\x20source)'},{'value_type':'String','b_submission':![],'purpose':'Expected\x20node\x20name\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'progress.current','object_type':'Progress','convert_witness':0x64}],'tree_structure':'logic_equal(query(1253:\x20progress.current,\x20witness=100,\x20identifier[0]),\x20identifier[1])'},'constraints':['query\x20returns\x20String;\x20identifier[1]\x20must\x20be\x20String\x20type','logic_equal\x20comparison\x20on\x20String\x20is\x20case-sensitive','For\x20case-insensitive\x20comparison,\x20use\x20logic_string_nocase_equal','convert_witness=100\x20(TypeOrderProgress)\x20converts\x20from\x20Order','Type2\x20stacks\x20on\x20Type3:\x20the\x20source\x20object\x20Order\x20is\x20submitted\x20(b_submission=true)'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':0x64},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Target\x20Order\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'Completed','name':'Expected\x20progress\x20node\x20name'}]}},{'id':'P07','pattern_name':'One-time\x20claim\x20check','data_source_combination':'Type3\x20+\x20Type1\x20constant','semantic_intent':'Users\x20can\x20only\x20claim\x20the\x20reward\x20once','match_keywords':['once','claim','duplicate','already\x20claimed','claimed\x20before'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Reward\x20object\x20address\x20(Type3,\x20submitted)'},{'value_type':'U64','b_submission':![],'purpose':'Expected\x20historical\x20claim\x20count\x200\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'reward.record.count','object_type':'Reward'}],'tree_structure':'logic_equal(query_reward_record_count(object:\x20{\x20identifier:\x200\x20},\x20recipient:\x20context(Signer)),\x20identifier[1])'},'constraints':['query_reward_record_count\x20returns\x20U64','Comparing\x20count\x20==\x200\x20means\x20no\x20history\x20record\x20(can\x20claim)','recipient\x20defaults\x20to\x20context(Signer)\x20to\x20ensure\x20the\x20claimer\x27s\x20identity\x20is\x20bound','Type3\x20submitted\x20objects\x20must\x20have\x20constraint\x20rules\x20(here\x20the\x20constraint\x20is\x20count==0\x20and\x20recipient=Signer)'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query_reward_record_count','object':{'identifier':0x0}},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Reward\x20object\x20address','object_type':'Reward'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':0x0,'name':'Expected\x20historical\x20claim\x20count\x20(0)'}]}},{'id':'P08','pattern_name':'Submitted\x20object\x20identity\x20validation','data_source_combination':'Type3\x20+\x20Type4','semantic_intent':'Verify\x20that\x20the\x20owner\x20of\x20the\x20submitted\x20object\x20matches\x20the\x20signer','match_keywords':['ownership','belonging','customer','submitted\x20object','order.customer'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Submitted\x20Order\x20address\x20(Type3)'}],'context_nodes':[{'context_type':'Signer','purpose':'Current\x20signer\x20(Type4),\x20compared\x20with\x20order.customer'}],'query_nodes':[{'query_name':'order.customer','object_type':'Order'}],'tree_structure':'logic_equal(query(1550:\x20order.customer,\x20object:\x20{\x20identifier:\x200\x20}),\x20context(Signer))'},'constraints':['query\x20returns\x20Address,\x20context(Signer)\x20returns\x20Address,\x20types\x20compatible','Type3\x20submitted\x20object\x20constraint:\x20indirectly\x20binds\x20submitter\x20identity\x20via\x20order.customer\x20==\x20Signer','Ensures\x20callers\x20cannot\x20submit\x20other\x20users\x27\x20Order\x20addresses'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'order.customer','object':{'identifier':0x0},'parameters':[]},{'type':'context','context':'Signer'}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'User-submitted\x20Order\x20address','object_type':'Order'}]}},{'id':'P09','pattern_name':'Submitted\x20object\x20+\x20witness\x20derivation\x20query','data_source_combination':'Type3\x20+\x20Type2\x20(source\x20is\x20Type3)','semantic_intent':'User\x20submits\x20an\x20Order\x20and\x20queries\x20the\x20Progress\x20state\x20via\x20witness','match_keywords':['submit','derive','witness','order\x20to\x20progress','convert'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_and','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Submitted\x20Order\x20address\x20(Type3,\x20witness\x20source)'},{'value_type':'String','b_submission':![],'purpose':'Expected\x20node\x20name\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'progress.current','object_type':'Progress','convert_witness':0x64}],'tree_structure':'logic_equal(query(1253:\x20progress.current,\x20object:\x20{\x20identifier:\x200,\x20convert_witness:\x20100\x20}),\x20identifier[1])'},'constraints':['Type2\x20stacks\x20on\x20Type3:\x20the\x20source\x20object\x20Order\x20has\x20b_submission=true','witness=100\x20(TypeOrderProgress)\x20derives\x20Progress\x20from\x20the\x20submitted\x20Order','query\x20returns\x20String;\x20identifier[1]\x20must\x20be\x20String\x20type','Key:\x20Type2\x20can\x20stack\x20on\x20Type1\x20or\x20Type3,\x20depending\x20on\x20the\x20source\x20object\x27s\x20b_submission'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':0x64},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'User-submitted\x20Order\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'Inspecting','name':'Expected\x20progress\x20node\x20name'}]}},{'id':'P10','pattern_name':'Multi-condition\x20combination\x20(AND/OR)','data_source_combination':'Type1\x20+\x20Type2\x20+\x20Type3\x20+\x20Type4\x20(combination)','semantic_intent':'Multiple\x20conditions\x20must\x20all\x20be\x20satisfied\x20(AND)\x20or\x20any\x20one\x20is\x20satisfied\x20(OR)','match_keywords':['and','simultaneously','all\x20satisfied','AND','and\x20also','also\x20need','or','any','OR','or','one\x20of'],'schema_elements':{'root_type':'logic_and\x20/\x20logic_or','table_entries':[],'tree_structure':'logic_and/logic_or([condition1,\x20condition2,\x20...])\x20—\x20each\x20condition\x20can\x20be\x20any\x20combination\x20of\x20P03-P09'},'constraints':['All\x20subnodes\x20of\x20logic_and/logic_or\x20must\x20return\x20Bool','Subnode\x20count\x202-8\x20(MAX_MULTI_OPERANDS)','Each\x20subcondition\x20can\x20be\x20any\x20node\x20that\x20returns\x20Bool','Multi-condition\x20combination\x20is\x20a\x20container\x20for\x20other\x20Patterns\x20and\x20does\x20not\x20stand\x20alone'],'example':{'root':{'type':'logic_and','nodes':[{},{}]}}},{'id':'P11','pattern_name':'Entity\x20registration\x20check','data_source_combination':'Type1\x20system\x20address\x20+\x20Type3','semantic_intent':'Verify\x20that\x20the\x20user\x20is\x20registered\x20in\x20the\x20entity\x20registrar','match_keywords':['register','entity','EntityRegistrar','member','certify'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'EntityRegistrar\x20system\x20address\x200xaab\x20(Type1\x20system\x20address)'},{'value_type':'Address','b_submission':!![],'purpose':'User\x20address\x20(Type3,\x20submitted)'}],'query_nodes':[{'query_name':'entity.registrar.records','object_type':'EntityRegistrar'}],'tree_structure':'logic_and(query(1760:\x20entity.registrar.records,\x20object:\x20{\x20identifier:\x200\x20},\x20parameters:\x20[identifier[1]]),\x20...)'},'constraints':['EntityRegistrar\x20address\x20is\x20fixed\x20at\x200xaab\x20(system\x20address)','EntityLinker\x20address\x20is\x20fixed\x20at\x200xaaa','table[0]\x20has\x20is_system_address=true','query\x20parameters\x20must\x20match\x20the\x20instruction\x20definition'],'example':{'root':{'type':'logic_and','nodes':[{'type':'query','query':'entity.registrar.records','object':{'identifier':0x0},'parameters':[{'type':'identifier','identifier':0x1}]}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xaab','name':'EntityRegistrar\x20system\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','name':'User\x20address\x20(submitted)'}]}},{'id':'P12','pattern_name':'Dynamic\x20voting\x20weight','data_source_combination':'Type3\x20+\x20Type4\x20+\x20Type1\x20constant','semantic_intent':'Voting\x20weight\x20equals\x20the\x20reputation\x20score\x20(extracted\x20from\x20submitted\x20data)','match_keywords':['weight','vote','reputation','score','voting','weight'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Voter\x20address\x20(Type3)'},{'value_type':'U64','b_submission':!![],'purpose':'Voter\x20weight\x20(Type3,\x20extracted\x20by\x20GuardIdentifier)'}],'context_nodes':[{'context_type':'Signer','purpose':'Validate\x20voter\x20identity\x20(Type4)'}],'query_nodes':[{'query_name':'entity.registrar.records','object_type':'EntityRegistrar'}],'tree_structure':'logic_and(identity\x20check:\x20logic_equal(context(Signer),\x20identifier[0]),\x20weight\x20comparison:\x20GuardIdentifier\x20extracts\x20identifier[1])'},'constraints':['The\x20table\x20entry\x20referenced\x20by\x20GuardIdentifier\x20must\x20be\x20numeric\x20(U8-U256)','b_submission\x20must\x20be\x20true\x20(weight\x20is\x20submitted\x20at\x20runtime\x20by\x20the\x20voter)','Non-numeric\x20types\x20cause\x20E_GUARD_IDENTIFIER_NOT_NUMBER\x20error','Weight\x20value\x20is\x20cast\x20to\x20u32','voting_guard\x20scene\x20special\x20constraint:\x20GuardIdentifier\x20numeric'],'example':{'root':{'type':'logic_and','nodes':[{},{}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Voter\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'U64','name':'Voter\x20weight\x20(extracted\x20from\x20reputation\x20score)'}]}},{'id':'P13','pattern_name':'Repository\x20data\x20query','data_source_combination':'Type1\x20+\x20Type2','semantic_intent':'Query\x20Repository\x20data\x20and\x20validate','match_keywords':['Repository','storage','data\x20source','weather','external\x20data','oracle'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Repository\x20address\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'repository.data','object_type':'Repository'}],'tree_structure':'logic_and(query(1167:\x20repository.data,\x20object:\x20{\x20identifier:\x200\x20},\x20parameters:\x20[...]),\x20[data\x20validation\x20condition])'},'constraints':['quote_guard\x20is\x20a\x20RIGID\x20verification\x20requirement:\x20any\x20guard\x20querying\x20Repository\x20data\x20with\x20quote_guard\x20must\x20satisfy\x20it','Two-phase:\x20passport\x20generation\x20scans/prepares\x20quote_guard,\x20passport\x20verification\x20re-checks\x20+\x20verifies\x20(see\x20R-X1-10)','If\x20quote_guard==None:\x20no\x20access\x20control\x20—\x20Repository\x20data\x20is\x20freely\x20queryable','rep\x20semantics:\x20repository.data\x20query\x20does\x20not\x20depend\x20on\x20runtime\x20submission,\x20so\x20rep=true'],'example':{'root':{'type':'logic_and','nodes':[{'type':'query','query':'repository.data','object':{'identifier':0x0},'parameters':[{'type':'identifier','identifier':0x1}]},{}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xREPO','name':'Repository\x20address'}]}},{'id':'P14','pattern_name':'Pure\x20dependency\x20combination','data_source_combination':'None\x20(rely\x20only)','semantic_intent':'Does\x20not\x20compute\x20itself;\x20fully\x20depends\x20on\x20the\x20results\x20of\x20other\x20Guards','match_keywords':['depend','combine','reuse','rely','delegate'],'schema_elements':{'root_type':'logic_and\x20/\x20logic_or\x20(minimized\x20tautology)','table_entries':[],'tree_structure':'root:\x20minimized\x20(e.g.\x20context(Clock)\x20>=\x200,\x20tautology)\x20+\x20rely:\x20{\x20guards:\x20[...],\x20logic_or:\x20false\x20}'},'constraints':['Depended-on\x20Guards\x20must\x20have\x20rep=true\x20(repository.data\x20query\x20does\x20not\x20depend\x20on\x20runtime\x20submission)','rely.guards\x20supports\x20at\x20most\x204\x20(MAX_DEPENDED_COUNT)','Self-reference\x20is\x20forbidden','AND\x20logic:\x20all\x20dependencies\x20must\x20pass;\x20OR\x20logic:\x20any\x20one\x20passing\x20is\x20sufficient'],'example':{'root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'identifier','identifier':0x0}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'U64','value':0x0,'name':'Tautology\x20baseline\x20value\x20(0)'}],'rely':{'guards':['guard_a','guard_b'],'logic_or':![]}}},{'id':'P15','pattern_name':'Submission\x20data\x20retention\x20pattern\x20(retained_submission)','data_source_combination':'Type3\x20+\x20Type4\x20(submission\x20+\x20system\x20context\x20binding)','semantic_intent':'Guard\x20accepts\x20runtime-submitted\x20data\x20but\x20ensures\x20it\x20is\x20trustworthy\x20via\x20Signer\x20binding\x20and\x20type\x20checking','match_keywords':['submit','retain','retained','submission','bind\x20signer','submission\x20check'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Submitted\x20object\x20address\x20(Type3,\x20requires\x20Signer\x20binding)'},{'value_type':'U256','b_submission':!![],'purpose':'Submitted\x20numeric\x20value\x20(e.g.\x20amount,\x20weight,\x20requires\x20range\x20check)'}],'context_nodes':[{'context_type':'Signer','purpose':'Validate\x20submitter\x20identity\x20to\x20ensure\x20submission\x20data\x20ownership'}],'tree_structure':'logic_and(logic_equal(context(Signer),\x20query(...,\x20signer_field)),\x20logic_as_u256_greater_or_equal(identifier[1],\x20identifier[2]))'},'constraints':['The\x20name\x20of\x20each\x20b_submission=true\x20entry\x20must\x20be\x20a\x20complete\x20natural-language\x20description\x20(not\x20a\x20technical\x20identifier)','The\x20submitted\x20object\x20address\x20should\x20be\x20bound\x20to\x20Signer\x20(query\x20the\x20signer/owner\x20field\x20of\x20the\x20submitted\x20object\x20to\x20validate\x20ownership)','Submitted\x20numeric\x20values\x20should\x20have\x20range\x20checks\x20(>=\x20min,\x20<=\x20max)','Total\x20table\x20size\x20must\x20not\x20exceed\x2040000\x20bytes','Total\x20submission\x20bytes\x20must\x20not\x20exceed\x20'+MAX_SUBMISSION_SIZE_PASSPORT],'example':{'root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':0x4d5,'object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'identifier','identifier':0x1},{'type':'identifier','identifier':0x2}]}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Submitted\x20Order\x20object\x20address;\x20must\x20belong\x20to\x20the\x20current\x20signer'},{'identifier':0x1,'b_submission':!![],'value_type':'U256','name':'Submitted\x20amount\x20(unit:\x20MIST);\x20must\x20be\x20>=\x20minimum\x20amount'},{'identifier':0x2,'b_submission':![],'value_type':'U256','value':0xf4240,'name':'Minimum\x20amount\x20constant\x20(1\x20MIST)'}]}},{'id':'P16','pattern_name':'Circular\x20reference\x20pattern\x20(Guard\x20references\x20the\x20host\x20object\x20itself)','data_source_combination':'Type1\x20(host\x20object\x20as\x20constant,\x20using\x20name\x20instead\x20of\x20address)','semantic_intent':'Guard\x20binds\x20to\x20a\x20Host\x20Object\x20while\x20querying\x20the\x20Host\x20Object\x27s\x20own\x20fields;\x20uses\x20name\x20reference\x20to\x20achieve\x20circular\x20binding','match_keywords':['circular\x20reference','self','host','host','circular','self-reference'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Host\x20object\x20name\x20(SDK\x20resolves\x20to\x20address\x20at\x20binding\x20time)'}],'query_nodes':[{'query_name':'query_service_*\x20/\x20query_machine_*','object_type':'Service\x20/\x20Machine'}],'tree_structure':'logic_equal(query(<host_field_query>,\x20object:\x20{\x20identifier:\x200\x20}),\x20identifier[1]\x20or\x20context(Signer))'},'constraints':['The\x20Host\x20Object\x20must\x20not\x20be\x20published\x20(bPublished=false)\x20when\x20creating\x20and\x20binding\x20the\x20Guard','Use\x20the\x20Host\x20Object\x20name\x20(not\x20address)\x20in\x20the\x20table;\x20the\x20SDK\x20resolves\x20it\x20at\x20binding\x20time','The\x20Host\x20Object\x20can\x20only\x20be\x20published\x20after\x20the\x20Guard\x20is\x20bound','Guard\x20verification\x20only\x20runs\x20normally\x20after\x20the\x20Host\x20Object\x20is\x20published','Use\x20guard2file\x20to\x20export\x20Guard\x20backups\x20for\x20easy\x20rebuilding'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':0x4cf,'object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'my_service','name':'Host\x20Service\x20name\x20(circular\x20reference,\x20resolved\x20by\x20SDK\x20at\x20binding\x20time)'},{'identifier':0x1,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20Service\x20paused\x20state\x20(false=not\x20paused)'}]}},{'id':'P17','pattern_name':'Query\x20parameter\x20translation\x20pattern\x20(type\x20conversion\x20node\x20combination)','data_source_combination':'Type1/2\x20+\x20type\x20conversion\x20(query\x20parameter\x20type\x20translation)','semantic_intent':'Guard\x20queries\x20parameters\x20that\x20require\x20type\x20conversion\x20(e.g.\x20Address\x20→\x20U64\x20timestamp\x20key);\x20uses\x20convert_*\x20nodes\x20to\x20translate','match_keywords':['type\x20conversion','translate','convert','timestamp\x20key','parameter\x20translation','address\x20to\x20u64'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_as_u256_greater_or_equal','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Query\x20target\x20object\x20address\x20(Type1/2)'},{'value_type':'U64','b_submission':![],'purpose':'Comparison\x20baseline\x20value\x20(e.g.\x20timestamp\x20threshold)'}],'query_nodes':[{'query_name':'query_repository_data\x20/\x20query_progress_history_*','object_type':'Repository\x20/\x20Progress'}],'tree_structure':'logic_as_u256_greater_or_equal(query(<query_with_converted_param>,\x20object:\x20{\x20identifier:\x200\x20},\x20parameters:\x20[convert_number_address(identifier[1])]),\x20identifier[2])'},'constraints':['The\x20query\x20parameter\x20type\x20must\x20match\x20the\x20parameters\x20type\x20defined\x20in\x20GUARDQUERY','If\x20the\x20table\x20declares\x20Address\x20but\x20the\x20query\x20requires\x20U64,\x20convert_number_address\x20must\x20be\x20used\x20to\x20translate','The\x20input\x20type\x20of\x20convert_*\x20nodes\x20must\x20be\x20compatible\x20with\x20the\x20child\x20node\x27s\x20return\x20type','The\x20translated\x20type\x20must\x20match\x20the\x20parameters\x20definition\x20of\x20the\x20query\x20instruction','Use\x20wowok_buildin_info\x20info=\x27guard\x20instructions\x27\x20to\x20verify\x20parameter\x20types'],'example':{'root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':0x48f,'object':{'identifier':0x0},'parameters':[{'type':'convert_number_address','nodes':[{'type':'identifier','identifier':0x1}]}]},{'type':'identifier','identifier':0x2}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xrepo','name':'Repository\x20address\x20constant'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':0x18bcfe56800,'name':'Timestamp\x20key\x20(U64,\x20needs\x20to\x20be\x20converted\x20to\x20Address\x20for\x20Repository\x20query)'},{'identifier':0x2,'b_submission':![],'value_type':'U256','value':0x64,'name':'Expected\x20Repository\x20data\x20value'}]}}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'node','type_name':'logic_equal','semantic':'Equality\x20comparison\x20(==),\x20returns\x20Bool.\x20Accepts\x20any\x20type\x20but\x20both\x20operands\x20must\x20be\x20type-compatible','return_type':'Bool','child_constraints':'2\x20child\x20nodes,\x20types\x20must\x20be\x20compatible'},{'element_type':'node','type_name':'logic_not','semantic':'Logical\x20NOT\x20(!),\x20returns\x20Bool','return_type':'Bool','child_constraints':'1\x20child\x20node,\x20must\x20be\x20Bool'},{'element_type':'node','type_name':'logic_and','semantic':'Logical\x20AND;\x20true\x20if\x20all\x20child\x20nodes\x20are\x20true','return_type':'Bool','child_constraints':'2-8\x20Bool\x20child\x20nodes\x20(MAX_MULTI_OPERANDS)'},{'element_type':'node','type_name':'logic_or','semantic':'Logical\x20OR;\x20true\x20if\x20any\x20child\x20node\x20is\x20true','return_type':'Bool','child_constraints':'2-8\x20Bool\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_greater','semantic':'Numeric\x20greater\x20than\x20(>),\x20auto-widened\x20to\x20U256','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes\x20(U8-U256\x20compatible)'},{'element_type':'node','type_name':'logic_as_u256_lesser','semantic':'Numeric\x20less\x20than\x20(<)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_equal','semantic':'Numeric\x20equality\x20(==)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_greater_or_equal','semantic':'Numeric\x20greater\x20than\x20or\x20equal\x20(>=)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_lesser_or_equal','semantic':'Numeric\x20less\x20than\x20or\x20equal\x20(<=)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_string_contains','semantic':'String\x20contains\x20(case-sensitive)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'logic_string_nocase_contains','semantic':'String\x20contains\x20(case-insensitive)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'logic_string_nocase_equal','semantic':'String\x20equality\x20(case-insensitive)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'identifier','semantic':'References\x20the\x20value\x20of\x20a\x20table\x20entry.\x20The\x20data\x20source\x20type\x20depends\x20on\x20b_submission:\x20false=Type1\x20constant,\x20true=Type3\x20submitted','return_type':'Determined\x20by\x20table\x20entry\x20value_type','child_constraints':'No\x20child\x20nodes;\x20requires\x20identifier\x20field\x20to\x20reference\x20table','data_source_class':'Type1_OnChainConstant'},{'element_type':'node','type_name':'context','semantic':'Transaction\x20context\x20data\x20(Type4\x20SystemContext).\x20Signer=signer\x20address,\x20Clock=on-chain\x20timestamp\x20(U64),\x20Guard=ObjectID\x20of\x20the\x20Guard\x20currently\x20being\x20verified','return_type':'Address\x20(Signer/Guard)\x20/\x20U64\x20(Clock)','child_constraints':'No\x20child\x20nodes','data_source_class':'Type4_SystemContext'},{'element_type':'node','type_name':'query','semantic':'Queries\x20on-chain\x20object\x20data.\x20The\x20data\x20source\x20type\x20depends\x20on\x20object.convert_witness:\x20present=Type2\x20(witness-derived),\x20absent+constant=Type1,\x20absent+submitted=Type3','return_type':'Determined\x20by\x20the\x20query\x20instruction','child_constraints':'Requires\x20query\x20+\x20object\x20+\x20parameters\x20fields','data_source_class':'Type1_OnChainConstant','discovery_tool':'wowok_buildin_info(info=\x27guard\x20instructions\x27)'},{'element_type':'node','type_name':'calc_number_add','semantic':'Numeric\x20addition','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_subtract','semantic':'Numeric\x20subtraction','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_multiply','semantic':'Numeric\x20multiplication','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_divide','semantic':'Numeric\x20division','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_mod','semantic':'Numeric\x20modulo','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_length','semantic':'String\x20length','return_type':'U64','child_constraints':'1\x20String\x20child\x20node'},{'element_type':'node','type_name':'calc_string_contains','semantic':'String\x20contains\x20(returns\x20Bool)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_nocase_contains','semantic':'String\x20contains\x20(case-insensitive,\x20returns\x20Bool)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_nocase_equal','semantic':'String\x20equality\x20(case-insensitive,\x20returns\x20Bool)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_indexof','semantic':'String\x20find\x20index','return_type':'U64','child_constraints':'2\x20String\x20child\x20nodes\x20+\x20order'},{'element_type':'node','type_name':'calc_string_nocase_indexof','semantic':'String\x20find\x20index\x20(case-insensitive)','return_type':'U64','child_constraints':'2\x20String\x20child\x20nodes\x20+\x20order'},{'element_type':'node','type_name':'convert_number_address','semantic':'Number\x20→\x20Address\x20conversion\x20(e.g.\x20timestamp\x20to\x20address)','return_type':'Address','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_address_number','semantic':'Address\x20→\x20Number\x20conversion','return_type':'U256','child_constraints':'1\x20Address\x20child\x20node'},{'element_type':'node','type_name':'convert_number_string','semantic':'Number\x20→\x20String\x20conversion','return_type':'String','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_string_number','semantic':'String\x20→\x20Number\x20conversion','return_type':'U256','child_constraints':'1\x20String\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u8','semantic':'Safe\x20conversion\x20to\x20U8\x20(errors\x20on\x20overflow)','return_type':'U8','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u16','semantic':'Safe\x20conversion\x20to\x20U16','return_type':'U16','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u32','semantic':'Safe\x20conversion\x20to\x20U32','return_type':'U32','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u64','semantic':'Safe\x20conversion\x20to\x20U64','return_type':'U64','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u128','semantic':'Safe\x20conversion\x20to\x20U128','return_type':'U128','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u256','semantic':'Safe\x20conversion\x20to\x20U256','return_type':'U256','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'value_type','semantic':'Returns\x20the\x20value\x27s\x20type\x20identifier\x20(U8)\x20—\x20used\x20for\x20dynamic\x20type\x20checking','return_type':'U8','child_constraints':'1\x20variable\x20child\x20node'},{'element_type':'node','type_name':'vec_length','semantic':'Vector\x20length','return_type':'U64','child_constraints':'1\x20vec\x20child\x20node'},{'element_type':'node','type_name':'vec_contains_bool','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20Bool\x20value','return_type':'Bool','child_constraints':'1\x20VecBool\x20+\x201\x20Bool'},{'element_type':'node','type_name':'vec_contains_address','semantic':'Whether\x20the\x20vector\x20contains\x20an\x20Address\x20(whitelist\x20check)','return_type':'Bool','child_constraints':'1\x20VecAddress\x20+\x201\x20Address'},{'element_type':'node','type_name':'vec_contains_string','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20String','return_type':'Bool','child_constraints':'1\x20VecString\x20+\x201\x20String'},{'element_type':'node','type_name':'vec_contains_string_nocase','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20String\x20(case-insensitive)','return_type':'Bool','child_constraints':'1\x20VecString\x20+\x201\x20String'},{'element_type':'node','type_name':'vec_contains_number','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20number','return_type':'Bool','child_constraints':'1\x20Vec*\x20+\x201\x20Number'},{'element_type':'node','type_name':'vec_indexof_bool','semantic':'Bool\x20vector\x20find\x20index','return_type':'U64','child_constraints':'VecBool\x20+\x20Bool\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_address','semantic':'Address\x20vector\x20find\x20index','return_type':'U64','child_constraints':'VecAddress\x20+\x20Address\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_string','semantic':'String\x20vector\x20find\x20index','return_type':'U64','child_constraints':'VecString\x20+\x20String\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_string_nocase','semantic':'String\x20vector\x20find\x20index\x20(case-insensitive)','return_type':'U64','child_constraints':'VecString\x20+\x20String\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_number','semantic':'Numeric\x20vector\x20find\x20index','return_type':'U64','child_constraints':'Vec*\x20+\x20Number\x20+\x20order'},{'element_type':'node','type_name':'query_reward_record_find','semantic':'Query\x20reward\x20claim\x20records\x20(returns\x20the\x20found\x20record)','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20recipient\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_reward_record_count','semantic':'Query\x20reward\x20claim\x20record\x20count\x20(U64)','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20recipient\x20(optional)'},{'element_type':'node','type_name':'query_reward_record_exists','semantic':'Query\x20whether\x20a\x20reward\x20claim\x20record\x20exists\x20(Bool)','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20recipient\x20(optional)'},{'element_type':'node','type_name':'query_progress_history_find','semantic':'Query\x20whether\x20a\x20specified\x20session\x20exists\x20in\x20Progress\x20history','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_progress_history_session_find','semantic':'Query\x20a\x20Progress\x20session','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_progress_history_session_forward_find','semantic':'Query\x20whether\x20a\x20specified\x20forward\x20exists\x20in\x20a\x20Progress\x20session','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20sessionIdx\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_progress_history_session_count','semantic':'Query\x20the\x20number\x20of\x20Progress\x20sessions','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20historyIdx'},{'element_type':'node','type_name':'query_progress_history_session_forward_count','semantic':'Query\x20the\x20number\x20of\x20forwards\x20in\x20a\x20Progress\x20session','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20sessionIdx'},{'element_type':'node','type_name':'query_progress_history_session_forward_retained_submission_count','semantic':'Query\x20the\x20retained\x20submission\x20count\x20of\x20a\x20forward\x20in\x20a\x20Progress\x20session','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20sessionIdx\x20+\x20forwardIdx'},{'element_type':'witness','type_name':'TypeOrderProgress','semantic':'Reads\x20the\x20order.progress\x20field\x20from\x20an\x20Order\x20address\x20to\x20derive\x20Progress\x20(100,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived','discovery_tool':'wowok_buildin_info(info=\x27guard\x20instructions\x27)'},{'element_type':'witness','type_name':'TypeOrderMachine','semantic':'Reads\x20the\x20order.machine\x20field\x20from\x20an\x20Order\x20address\x20to\x20derive\x20Machine\x20(101,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeOrderService','semantic':'Reads\x20the\x20order.service\x20field\x20from\x20an\x20Order\x20address\x20to\x20derive\x20Service\x20(102,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeProgressMachine','semantic':'Reads\x20the\x20progress.machine\x20field\x20from\x20a\x20Progress\x20address\x20to\x20derive\x20Machine\x20(103,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbOrder','semantic':'Reads\x20the\x20arb.order\x20field\x20from\x20an\x20Arb\x20address\x20to\x20derive\x20Order\x20(104,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbArbitration','semantic':'Reads\x20the\x20arb.arbitration\x20field\x20from\x20an\x20Arb\x20address\x20to\x20derive\x20the\x20parent\x20Arbitration\x20service\x20(105,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbProgress','semantic':'Derives\x20from\x20Arb\x20in\x20two\x20hops:\x20arb.order\x20→\x20order.progress\x20(106,\x20multi-hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbMachine','semantic':'Derives\x20from\x20Arb\x20in\x20two\x20hops:\x20arb.order\x20→\x20order.machine\x20(107,\x20multi-hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbService','semantic':'Derives\x20from\x20Arb\x20in\x20two\x20hops:\x20arb.order\x20→\x20order.service\x20(108,\x20multi-hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'context','type_name':'Signer','semantic':'Current\x20transaction\x20signer\x20address\x20(TransactionContext.sender())','return_type':'Address','data_source_class':'Type4_SystemContext'},{'element_type':'context','type_name':'Clock','semantic':'Current\x20on-chain\x20timestamp\x20(reads\x20timestamp_ms\x20of\x20WOW_CLOCK_OBJECT_ID\x200x6)','return_type':'U64','data_source_class':'Type4_SystemContext'},{'element_type':'context','type_name':'Guard','semantic':'ObjectID\x20of\x20the\x20Guard\x20object\x20currently\x20being\x20verified\x20(self-reference,\x20rare)','return_type':'Address','data_source_class':'Type4_SystemContext'},{'element_type':'table_entry','type_name':'Bool','semantic':'Boolean\x20constant\x20or\x20submission'},{'element_type':'table_entry','type_name':'Address','semantic':'Address\x20constant\x20(Type1)\x20or\x20submission\x20(Type3).\x20Object\x20address\x20type'},{'element_type':'table_entry','type_name':'String','semantic':'String\x20constant\x20or\x20submission'},{'element_type':'table_entry','type_name':'U8','semantic':'8-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U16','semantic':'16-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U32','semantic':'32-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U64','semantic':'64-bit\x20unsigned\x20integer\x20(commonly\x20used\x20for\x20timestamps)'},{'element_type':'table_entry','type_name':'U128','semantic':'128-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U256','semantic':'256-bit\x20unsigned\x20integer\x20(auto-widening\x20target\x20for\x20numeric\x20operations)'},{'element_type':'table_entry','type_name':'VecAddress','semantic':'Address\x20vector\x20(used\x20for\x20whitelists,\x20Type1\x20constant)'},{'element_type':'table_entry','type_name':'VecString','semantic':'String\x20vector'},{'element_type':'table_entry','type_name':'VecU64','semantic':'U64\x20vector'},{'element_type':'table_entry','type_name':'VecU8','semantic':'U8\x20vector\x20(raw\x20bytes)'},{'element_type':'table_entry','type_name':'Value','semantic':'Dynamic\x20type\x20(19,\x20first\x20byte\x20is\x20the\x20type\x20identifier)\x20—\x20used\x20for\x20Repository\x20data,\x20EntityRegistrar\x20records,\x20Passport\x20submission\x20value'},{'element_type':'rely','type_name':'rely_and','semantic':'Depends\x20on\x20other\x20Guards,\x20AND\x20logic\x20(all\x20must\x20pass).\x20Depended-on\x20Guards\x20must\x20have\x20rep=true','child_constraints':'At\x20most\x204\x20dependencies,\x20each\x20with\x20rep=true\x20(repository.data\x20query\x20does\x20not\x20depend\x20on\x20submission)'},{'element_type':'rely','type_name':'rely_or','semantic':'Depends\x20on\x20other\x20Guards,\x20OR\x20logic\x20(any\x20one\x20passing\x20is\x20sufficient).\x20Depended-on\x20Guards\x20must\x20have\x20rep=true','child_constraints':'At\x20most\x204\x20dependencies,\x20each\x20with\x20rep=true'}];export const GUARD_CONSTRAINT_RULES=[{'id':'ROOT_01','name':'root\x20returns\x20Bool','description':'The\x20Guard\x20root\x20node\x20must\x20return\x20a\x20Bool\x20type','category':'root','phase':'creation','validation_logic':'root.node_type\x20must\x20be\x20in\x20the\x20allowedTypes\x20list\x20(logic_*,\x20calc_string_contains,\x20vec_contains_*,\x20query_reward_record_exists,\x20query[Bool\x20return],\x20identifier[Bool\x20type])','failure_message':'Guard\x20root\x20node\x20must\x20be\x20an\x20operation\x20that\x20returns\x20Bool','verification_location':'SDK\x20buildNode(root,\x20ValueType.Bool,\x20...)','pitfall_number':0x7},{'id':'TABLE_01','name':'identifier\x20uniqueness','description':'Each\x20identifier\x20in\x20the\x20table\x20must\x20be\x20unique\x20(0-255)','category':'table','phase':'creation','validation_logic':'No\x20duplicate\x20identifiers\x20in\x20the\x20table','failure_message':'Duplicate\x20table\x20identifier','verification_location':'SDK\x20lodash\x20groupBy'},{'id':'TABLE_02','name':'identifier\x20referential\x20integrity','description':'Every\x20identifier\x20node\x20in\x20the\x20computation\x20tree\x20must\x20exist\x20in\x20the\x20table','category':'table','phase':'creation','validation_logic':'Traverse\x20the\x20computation\x20tree;\x20each\x20identifier\x20node\x27s\x20index\x20exists\x20in\x20the\x20table','failure_message':'Identifier\x20not\x20found\x20in\x20table','verification_location':'SDK\x20buildNode','pitfall_number':0x1},{'id':'TABLE_03','name':'Constant\x20entries\x20must\x20have\x20a\x20value','description':'Entries\x20with\x20b_submission=false\x20must\x20have\x20a\x20value\x20field','category':'table','phase':'creation','validation_logic':'All\x20entries\x20with\x20b_submission=false\x20have\x20a\x20non-empty\x20value\x20field','failure_message':'Constant\x20table\x20entry\x20must\x20have\x20a\x20value','verification_location':'SDK\x20operate'},{'id':'TABLE_04','name':'table\x20size\x20limit','description':'At\x20most\x20256\x20entries;\x20serialized\x20size\x20must\x20not\x20exceed\x2040000\x20bytes','category':'table','phase':'creation','validation_logic':'table.length\x20<=\x20256\x20&&\x20serialize(table).length\x20<=\x2040000','failure_message':'Table\x20exceeds\x20size\x20limit\x20(256\x20entries\x20or\x2040000\x20bytes)','verification_location':'Move\x20guard::new'},{'id':'TABLE_05','name':'submission\x20entry\x20value\x20is\x201\x20byte\x20(type\x20code\x20only)','description':'Entries\x20with\x20b_submission=true\x20have\x20a\x20serialized\x20value\x20of\x20just\x201\x20byte\x20(the\x20type\x20code)','category':'table','phase':'creation','validation_logic':'When\x20b_submission=true,\x20bcsValue.length\x20===\x201\x20and\x20bcsValue[0]\x20===\x20valueType','failure_message':'Submission\x20table\x20entry\x20value\x20must\x20be\x201\x20byte\x20(type\x20code\x20only)','verification_location':'native\x20deserialize_constants'},{'id':'QUERY_01','name':'query\x20instruction\x20valid','description':'The\x20query\x20field\x20of\x20a\x20query\x20node\x20must\x20be\x20a\x20valid\x20GUARDQUERY\x20ID\x20or\x20name','category':'query','phase':'creation','validation_logic':'The\x20query\x20field\x20exists\x20in\x20GUARDQUERY\x20(via\x20isValidGuardQueryIdOrName)','failure_message':'Invalid\x20Guard\x20query\x20instruction','verification_location':'SDK\x20getGuardQueryInfo','pitfall_number':0x3},{'id':'QUERY_02','name':'query\x20parameter\x20count\x20match','description':'The\x20number\x20and\x20types\x20of\x20parameters\x20in\x20a\x20query\x20node\x20must\x20match\x20the\x20instruction\x20definition','category':'query','phase':'creation','validation_logic':'parameters.length\x20===\x20instruction.parameters.length\x20&&\x20type-compatible','failure_message':'Query\x20parameter\x20count\x20or\x20type\x20mismatch','verification_location':'SDK\x20buildNode','pitfall_number':0x3},{'id':'QUERY_03','name':'query\x20return\x20type\x20compatible','description':'The\x20return\x20type\x20of\x20a\x20query\x20node\x20must\x20be\x20compatible\x20with\x20the\x20parent\x20node\x27s\x20expected\x20type','category':'query','phase':'creation','validation_logic':'checkType(query.return_type,\x20parent.expected_type)','failure_message':'Query\x20return\x20type\x20incompatible\x20with\x20parent\x20node','verification_location':'SDK\x20checkType'},{'id':'QUERY_04','name':'query\x20object\x20identifier\x27s\x20value_type\x20is\x20Address','description':'The\x20table\x20entry\x20referenced\x20by\x20query\x20node\x27s\x20object.identifier\x20must\x20have\x20value_type\x20of\x20Address','category':'query','phase':'creation','validation_logic':'table[object.identifier].value_type\x20===\x20Address','failure_message':'Query\x20object\x20identifier\x20must\x20reference\x20an\x20Address-type\x20table\x20entry','verification_location':'SDK\x20buildNode\x20L603-609'},{'id':'WITNESS_01','name':'witness\x20type\x20valid','description':'convert_witness\x20must\x20be\x20a\x20valid\x20WitnessType\x20(100-108)','category':'witness','phase':'creation','validation_logic':'The\x20witness\x20value\x20is\x20within\x20the\x20range\x20allowed\x20by\x20WitnessTypeSchema\x20(100-108)','failure_message':'Invalid\x20witness\x20type','verification_location':'SDK\x20isWitnessType','pitfall_number':0x4},{'id':'WITNESS_02','name':'witness\x20target\x20matches\x20query\x20objectType','description':'The\x20witness\x27s\x20target\x20type\x20must\x20match\x20the\x20query\x20instruction\x27s\x20objectType','category':'witness','phase':'creation','validation_logic':'witness.target_type\x20===\x20instruction.objectType','failure_message':'Witness\x20target\x20type\x20does\x20not\x20match\x20query\x20object\x20type','verification_location':'SDK\x20buildNode\x20L613-619','pitfall_number':0x4},{'id':'WITNESS_03','name':'witness\x20source\x20matches\x20tableItem\x20object_type','description':'The\x20witness\x27s\x20source\x20type\x20must\x20match\x20the\x20object_type\x20declared\x20in\x20the\x20table\x20entry\x20(if\x20declared)','category':'witness','phase':'creation','validation_logic':'table[identifier].object_type\x20===\x20witness.source_type\x20(if\x20tableItem.object_type\x20is\x20declared)','failure_message':'Witness\x20source\x20type\x20does\x20not\x20match\x20table\x20entry\x20object_type','verification_location':'SDK\x20buildNode\x20L622-631','pitfall_number':0x4},{'id':'RELY_01','name':'rely\x20dependency\x20count\x20≤\x204','description':'rely.guards\x20supports\x20at\x20most\x204\x20dependencies\x20(MAX_DEPENDED_COUNT)','category':'rely','phase':'creation','validation_logic':'rely.guards.length\x20<=\x204','failure_message':'Rely\x20dependencies\x20exceed\x20limit\x20(4)','verification_location':'SDK\x20reliesAdd'},{'id':'RELY_02','name':'rely\x20dependency\x20rep=true','description':'All\x20rely-depended\x20Guards\x20must\x20have\x20rep=true\x20(repository.data\x20query\x20does\x20not\x20depend\x20on\x20runtime\x20submission)','category':'rely','phase':'creation','validation_logic':'Query\x20each\x20depended\x20Guard\x27s\x20rep\x20field;\x20must\x20be\x20true','failure_message':'Rely\x20dependency\x20has\x20rep=false\x20(not\x20standalone)','verification_location':'Move\x20guard::relies_add','pitfall_number':0x8},{'id':'RELY_03','name':'rely\x20forbids\x20self-reference','description':'A\x20Guard\x20cannot\x20depend\x20on\x20itself','category':'rely','phase':'creation','validation_logic':'rely.guards\x20does\x20not\x20contain\x20the\x20current\x20Guard\x27s\x20address','failure_message':'Guard\x20cannot\x20rely\x20on\x20itself','verification_location':'SDK\x20reliesAdd'},{'id':'BINDING_01','name':'voting_guard\x20GuardIdentifier\x20numeric','description':'The\x20table\x20entry\x20referenced\x20by\x20Arbitration\x20voting_guard\x27s\x20GuardIdentifier\x20must\x20be\x20of\x20a\x20numeric\x20type','category':'binding','phase':'creation','validation_logic':'If\x20binding=voting_guard,\x20the\x20table\x20entry\x20pointed\x20to\x20by\x20GuardIdentifier\x20has\x20value_type\x20in\x20[U8,U16,U32,U64,U128,U256]','failure_message':'E_GUARD_IDENTIFIER_NOT_NUMBER:\x20voting_guard\x20weight\x20must\x20be\x20numeric','verification_location':'Move\x20Arbitration','pitfall_number':0x9},{'id':'BINDING_02','name':'Repository\x20id_from_submission\x20Address','description':'The\x20table\x20entry\x20referenced\x20by\x20Repository\x20write_guard\x27s\x20id_from_submission\x20must\x20be\x20of\x20Address\x20type','category':'binding','phase':'creation','validation_logic':'If\x20binding=write_guard\x20and\x20id_from_submission\x20is\x20set,\x20table[id_from_submission].value_type\x20===\x20Address','failure_message':'Repository\x20id_from_submission\x20must\x20be\x20Address\x20type','verification_location':'Move\x20Repository'},{'id':'BINDING_03','name':'Repository\x20data_from_submission\x20type\x20match','description':'The\x20table\x20entry\x20referenced\x20by\x20Repository\x20write_guard\x27s\x20data_from_submission\x20must\x20match\x20the\x20Repository\x20value_type','category':'binding','phase':'creation','validation_logic':'If\x20binding=write_guard\x20and\x20data_from_submission\x20is\x20set,\x20table[data_from_submission].value_type\x20===\x20Repository.value_type','failure_message':'Repository\x20data_from_submission\x20type\x20mismatch','verification_location':'Move\x20Repository'},{'id':'INPUT_01','name':'root\x20byte\x20stream\x20non-empty','description':'The\x20serialized\x20byte\x20stream\x20of\x20root\x20cannot\x20be\x20empty','category':'input','phase':'creation','validation_logic':'input.length\x20>\x200','failure_message':'Input\x20cannot\x20be\x20empty','verification_location':'SDK\x20newGuard'},{'id':'INPUT_02','name':'root\x20byte\x20stream\x20≤\x20MAX_INPUT_SIZE','description':'The\x20serialized\x20byte\x20stream\x20of\x20root\x20must\x20not\x20exceed\x20MAX_INPUT_SIZE','category':'input','phase':'creation','validation_logic':'input.length\x20<=\x20MAX_INPUT_SIZE','failure_message':'Input\x20size\x20exceeds\x20maximum\x20limit','verification_location':'SDK\x20newGuard'},{'id':'IMMUTABLE_01','name':'Guard\x20immutable=true\x20after\x20creation','description':'After\x20creation,\x20a\x20Guard\x20cannot\x20be\x20modified\x20or\x20deleted\x20(CREATE-only)','category':'immutable','phase':'creation','validation_logic':'After\x20guard::create,\x20the\x20immutable\x20field\x20is\x20set\x20to\x20true','failure_message':'Guard\x20is\x20immutable\x20after\x20creation','verification_location':'Move\x20guard::create'},{'id':'RUN_IMMUTABLE_01','name':'Guard\x20must\x20be\x20immutable=true\x20to\x20verify','description':'At\x20runtime\x20verification,\x20the\x20Guard\x20must\x20be\x20frozen\x20(immutable=true)','category':'immutable','phase':'runtime','validation_logic':'guard.immutable\x20===\x20true','failure_message':'Guard\x20must\x20be\x20immutable\x20to\x20verify','verification_location':'native\x20verify_guard\x20L497-506'},{'id':'RUN_SUB_01','name':'submission\x20type\x20byte\x20matches\x20table\x20declaration','description':'The\x20value[0]\x20(type\x20byte)\x20of\x20submission\x20must\x20match\x20the\x20value_type\x20declared\x20in\x20the\x20table','category':'table','phase':'runtime','validation_logic':'submission_value[0]\x20===\x20table[identifier].value_type','failure_message':'Submission\x20type\x20byte\x20does\x20not\x20match\x20table\x20declaration','verification_location':'native\x20parse_table_items\x20L306'},{'id':'RUN_SUB_02','name':'table\x20entries\x20with\x20b_submission=true\x20must\x20be\x20found\x20in\x20submission','description':'All\x20table\x20entries\x20declared\x20as\x20submitted\x20must\x20have\x20corresponding\x20submission\x20data','category':'table','phase':'runtime','validation_logic':'forall\x20identifier\x20in\x20table\x20where\x20b_submission=true:\x20identifier\x20in\x20submission_map','failure_message':'Missing\x20submission\x20for\x20declared\x20b_submission=true\x20table\x20entry','verification_location':'native\x20parse_table_items\x20L301-321'},{'id':'RUN_SUB_03','name':'submission\x20total\x20bytes\x20≤\x20MAX_SUBMISSION_SIZE_PASSPORT\x20('+MAX_SUBMISSION_SIZE_PASSPORT+')','description':'The\x20total\x20bytes\x20of\x20all\x20data\x20submitted\x20at\x20runtime\x20must\x20not\x20exceed\x20'+MAX_SUBMISSION_SIZE_PASSPORT,'category':'table','phase':'runtime','validation_logic':'total_submission_bytes\x20<=\x20'+MAX_SUBMISSION_SIZE_PASSPORT,'failure_message':'Submission\x20exceeds\x20MAX_SUBMISSION_SIZE_PASSPORT\x20('+MAX_SUBMISSION_SIZE_PASSPORT+'\x20bytes)','verification_location':'Move\x20verify\x20L252'},{'id':'RUN_WITNESS_01','name':'witness\x20derivation\x20source\x20object\x20must\x20have\x20the\x20required\x20relation\x20field','description':'When\x20witness\x20conversion\x20occurs,\x20the\x20source\x20object\x20must\x20contain\x20the\x20relation\x20field\x20needed\x20for\x20derivation','category':'witness','phase':'runtime','validation_logic':'The\x20source\x20object\x20exists\x20and\x20contains\x20the\x20field\x20required\x20for\x20witness\x20derivation\x20(e.g.\x20order.progress\x20field\x20is\x20non-empty)','failure_message':'Witness\x20source\x20object\x20missing\x20required\x20field\x20for\x20derivation','verification_location':'native\x20convert_witness'},{'id':'RUN_WITNESS_02','name':'witness-derived\x20target\x20object\x20must\x20exist','description':'The\x20target\x20object\x20derived\x20by\x20witness\x20must\x20exist\x20on-chain','category':'witness','phase':'runtime','validation_logic':'The\x20derived\x20target\x20object\x20ID\x20exists\x20on-chain','failure_message':'Witness\x20derived\x20target\x20object\x20does\x20not\x20exist','verification_location':'native\x20convert_witness'},{'id':'RUN_QUERY_01','name':'query\x20target\x20object\x20must\x20exist\x20and\x20type\x20match','description':'The\x20target\x20object\x20of\x20a\x20query\x20must\x20exist\x20on-chain\x20and\x20its\x20type\x20must\x20match','category':'query','phase':'runtime','validation_logic':'Target\x20object\x20exists\x20&&\x20object\x20type\x20matches\x20query.objectType','failure_message':'Query\x20target\x20object\x20does\x20not\x20exist\x20or\x20type\x20mismatch','verification_location':'native\x20process_object_query'},{'id':'RUN_IMPACK_01','name':'at\x20least\x20one\x20impack\x20guard','description':'Passport\x20verification\x20requires\x20at\x20least\x20one\x20impack\x20guard','category':'runtime','phase':'runtime','validation_logic':'impack_list.length\x20>=\x201\x20(note:\x20impack_list\x20is\x20always\x20empty\x20during\x20verify\x20phase;\x20this\x20constraint\x20is\x20checked\x20in\x20result_for_permission\x20phase)','failure_message':'No\x20impack\x20guard\x20found','verification_location':'Move\x20verify\x20L281'},{'id':'RUN_IMPACK_02','name':'impack\x20guard\x20failure\x20fails\x20the\x20entire\x20passport','description':'If\x20any\x20impack\x20guard\x20verification\x20fails,\x20the\x20entire\x20passport\x20verification\x20fails','category':'runtime','phase':'runtime','validation_logic':'forall\x20guard\x20in\x20impack_list:\x20guard.result\x20===\x20true','failure_message':'Impack\x20guard\x20verification\x20failed','verification_location':'Move\x20verify\x20L270-275'},{'id':'RUN_TX_01','name':'Passport\x20tx_hash\x20must\x20match\x20the\x20current\x20transaction','description':'The\x20tx_hash\x20recorded\x20in\x20the\x20Passport\x20must\x20match\x20the\x20hash\x20of\x20the\x20currently\x20executing\x20transaction','category':'runtime','phase':'runtime','validation_logic':'passport.tx_hash\x20===\x20current_tx_hash','failure_message':'Passport\x20tx_hash\x20does\x20not\x20match\x20current\x20transaction','verification_location':'Move\x20verify\x20L231'},{'id':'RUN_RELY_01','name':'rely\x20guard\x20must\x20have\x20been\x20added\x20to\x20passport','description':'Guards\x20relied\x20on\x20must\x20have\x20been\x20registered\x20in\x20the\x20passport','category':'rely','phase':'runtime','validation_logic':'forall\x20guard\x20in\x20rely.guards:\x20guard\x20in\x20passport.relies','failure_message':'Rely\x20guard\x20not\x20added\x20to\x20passport','verification_location':'Move\x20calculate_relies_result'}];export function matchSemanticPattern(a){const b=a['toLowerCase']();return SEMANTIC_TO_SCHEMA_RULES['filter'](c=>c['match_keywords']['some'](d=>b['includes'](d['toLowerCase']())));}export function explainNode(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='node'&&b['type_name']===a);}export function explainWitness(a){const b={0x64:'TypeOrderProgress',0x65:'TypeOrderMachine',0x66:'TypeOrderService',0x67:'TypeProgressMachine',0x68:'TypeArbOrder',0x69:'TypeArbArbitration',0x6a:'TypeArbProgress',0x6b:'TypeArbMachine',0x6c:'TypeArbService'},c=b[a];return SCHEMA_TO_SEMANTIC_RULES['find'](d=>d['element_type']==='witness'&&d['type_name']===c);}export function explainContext(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='context'&&b['type_name']===a);}export function getConstraintsByCategory(a){return GUARD_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function getConstraintsByPhase(a){return GUARD_CONSTRAINT_RULES['filter'](b=>b['phase']===a);}export function getPatternById(a){return SEMANTIC_TO_SCHEMA_RULES['find'](b=>b['id']===a);}export function getDataSourceCombinations(){return[...new Set(SEMANTIC_TO_SCHEMA_RULES['map'](a=>a['data_source_combination']))];}
1
+ import{MAX_SUBMISSION_SIZE_PASSPORT}from'@wowok/wowok';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'P02','pattern_name':'Query\x20published\x20object\x20+\x20system\x20context','data_source_combination':'Type1\x20+\x20Type4','semantic_intent':'Query\x20published\x20on-chain\x20object\x20fields\x20and\x20compare\x20with\x20system\x20context','match_keywords':['paused','published','service\x20status','machine\x20status','paused','published'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Published\x20object\x20address\x20constant\x20(Type1)'}],'context_nodes':[{'context_type':'Signer','purpose':'Optional:\x20identity\x20validation'}],'tree_structure':'logic_equal(query(<instruction>,\x20object:\x20{\x20identifier:\x200\x20}),\x20identifier[1]\x20or\x20context(Signer))'},'constraints':['The\x20object_type\x20of\x20table[0]\x20must\x20match\x20the\x20target\x20object\x20type\x20of\x20the\x20query\x20instruction','The\x20query\x20return\x20type\x20must\x20be\x20compatible\x20with\x20the\x20comparison\x20object','The\x20object\x20must\x20be\x20published\x20(published=true)\x20to\x20ensure\x20fields\x20are\x20immutable'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'service.paused','object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xSERVICE','name':'Service\x20object\x20address'},{'identifier':0x1,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20paused\x20state\x20(false=not\x20paused)'}]}},{'id':'P03','pattern_name':'Identity\x20check\x20(single\x20address)','data_source_combination':'Type4\x20+\x20Type1\x20constant','semantic_intent':'Only\x20a\x20specific\x20address\x20can\x20perform\x20the\x20operation','match_keywords':['only','allow','authorize','identity','specified\x20address','signer'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Authorized\x20address\x20constant\x20(Type1\x20constant)'}],'context_nodes':[{'context_type':'Signer','purpose':'Current\x20transaction\x20signer\x20(Type4)'}],'tree_structure':'logic_equal(context(Signer),\x20identifier[0])'},'constraints':['root\x20must\x20be\x20logic_equal\x20(returns\x20Bool)','table[0]\x20must\x20be\x20Address\x20type,\x20b_submission=false','context(Signer)\x20returns\x20the\x20current\x20transaction\x20signer\x20address'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'identifier','identifier':0x0}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xabc...','name':'Authorized\x20operator\x20address'}]}},{'id':'P04','pattern_name':'Identity\x20check\x20(whitelist)','data_source_combination':'Type4\x20+\x20Type1\x20constant\x20(VecAddress)','semantic_intent':'Addresses\x20in\x20the\x20whitelist\x20can\x20perform\x20this\x20operation','match_keywords':['whitelist','multiple\x20addresses','list','allowlist','roster'],'schema_elements':{'root_type':'vec_contains_address','table_entries':[{'value_type':'VecAddress','b_submission':![],'purpose':'Authorized\x20address\x20list\x20(Type1\x20constant)'}],'context_nodes':[{'context_type':'Signer','purpose':'Signer\x20being\x20looked\x20up\x20(Type4)'}],'tree_structure':'vec_contains_address(identifier[0],\x20context(Signer))'},'constraints':['root\x20vec_contains_address\x20returns\x20Bool','table[0]\x20must\x20be\x20VecAddress\x20type','context(Signer)\x20is\x20the\x20element\x20being\x20looked\x20up'],'example':{'root':{'type':'vec_contains_address','nodes':[{'type':'identifier','identifier':0x0},{'type':'context','context':'Signer'}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'VecAddress','value':['0xabc...','0xdef...'],'name':'Authorized\x20address\x20whitelist'}]}},{'id':'P05','pattern_name':'Time\x20lock','data_source_combination':'Type2\x20+\x20Type4\x20+\x20Type1\x20constant','semantic_intent':'This\x20operation\x20can\x20only\x20be\x20executed\x20after\x20waiting\x20N\x20milliseconds','match_keywords':['wait','time','lock','delay','hours','days','milliseconds'],'schema_elements':{'root_type':'logic_as_u256_greater_or_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Source\x20object\x20address\x20(e.g.\x20Order,\x20Type3)\x20or\x20constant\x20(Type1)'},{'value_type':'U64','b_submission':![],'purpose':'Lock\x20duration\x20(in\x20milliseconds,\x201000\x20for\x20tests,\x20Type1\x20constant)'}],'query_nodes':[{'query_name':'progress.current_time','object_type':'Progress','convert_witness':0x64}],'context_nodes':[{'context_type':'Clock','purpose':'Current\x20on-chain\x20timestamp\x20(Type4)'}],'tree_structure':'logic_as_u256_greater_or_equal(context(Clock),\x20calc_number_add(query(1272:\x20progress.current_time,\x20witness=100,\x20identifier[0]),\x20identifier[1]))'},'constraints':['Time\x20unit\x20is\x20milliseconds;\x20use\x201000ms\x20for\x20tests\x20and\x20adjust\x20in\x20production','convert_witness=100\x20(TypeOrderProgress)\x20converts\x20from\x20Order\x20to\x20Progress','The\x20object_type\x20of\x20table[0]\x20must\x20match\x20the\x20witness\x20source\x20type\x20(Order)','calc_number_add\x20returns\x20U256,\x20context(Clock)\x20returns\x20U64,\x20auto-widened','Key:\x20use\x20progress.current_time(1272)\x20rather\x20than\x20progress.session.forward.time(1271);\x20the\x20latter\x20querying\x20an\x20unforwarded\x20session\x20returns\x200\x20and\x20disables\x20the\x20time\x20lock'],'example':{'root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'calc_number_add','nodes':[{'type':'query','query':'progress.current_time','object':{'identifier':0x0,'convert_witness':0x64},'parameters':[]},{'type':'identifier','identifier':0x1}]}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Target\x20Order\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':0x3e8,'name':'Lock\x20duration\x20(milliseconds)'}]}},{'id':'P06','pattern_name':'Progress\x20state\x20check','data_source_combination':'Type2\x20+\x20Type1\x20constant','semantic_intent':'The\x20order\x20progress\x20must\x20reach\x20the\x20specified\x20node\x20before\x20this\x20operation\x20can\x20be\x20executed','match_keywords':['progress','node','state','completed','reach','current\x20node'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Source\x20Order\x20address\x20(Type3,\x20witness\x20source)'},{'value_type':'String','b_submission':![],'purpose':'Expected\x20node\x20name\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'progress.current','object_type':'Progress','convert_witness':0x64}],'tree_structure':'logic_equal(query(1253:\x20progress.current,\x20witness=100,\x20identifier[0]),\x20identifier[1])'},'constraints':['query\x20returns\x20String;\x20identifier[1]\x20must\x20be\x20String\x20type','logic_equal\x20comparison\x20on\x20String\x20is\x20case-sensitive','For\x20case-insensitive\x20comparison,\x20use\x20logic_string_nocase_equal','convert_witness=100\x20(TypeOrderProgress)\x20converts\x20from\x20Order','Type2\x20stacks\x20on\x20Type3:\x20the\x20source\x20object\x20Order\x20is\x20submitted\x20(b_submission=true)'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':0x64},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Target\x20Order\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'Completed','name':'Expected\x20progress\x20node\x20name'}]}},{'id':'P07','pattern_name':'One-time\x20claim\x20check','data_source_combination':'Type3\x20+\x20Type1\x20constant','semantic_intent':'Users\x20can\x20only\x20claim\x20the\x20reward\x20once','match_keywords':['once','claim','duplicate','already\x20claimed','claimed\x20before'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Reward\x20object\x20address\x20(Type3,\x20submitted)'},{'value_type':'U64','b_submission':![],'purpose':'Expected\x20historical\x20claim\x20count\x200\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'reward.record.count','object_type':'Reward'}],'tree_structure':'logic_equal(query_reward_record_count(object:\x20{\x20identifier:\x200\x20},\x20recipient:\x20context(Signer)),\x20identifier[1])'},'constraints':['query_reward_record_count\x20returns\x20U64','Comparing\x20count\x20==\x200\x20means\x20no\x20history\x20record\x20(can\x20claim)','recipient\x20defaults\x20to\x20context(Signer)\x20to\x20ensure\x20the\x20claimer\x27s\x20identity\x20is\x20bound','Type3\x20submitted\x20objects\x20must\x20have\x20constraint\x20rules\x20(here\x20the\x20constraint\x20is\x20count==0\x20and\x20recipient=Signer)'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query_reward_record_count','object':{'identifier':0x0}},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Reward\x20object\x20address','object_type':'Reward'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':0x0,'name':'Expected\x20historical\x20claim\x20count\x20(0)'}]}},{'id':'P08','pattern_name':'Submitted\x20object\x20identity\x20validation','data_source_combination':'Type3\x20+\x20Type4','semantic_intent':'Verify\x20that\x20the\x20owner\x20of\x20the\x20submitted\x20object\x20matches\x20the\x20signer','match_keywords':['ownership','belonging','customer','submitted\x20object','order.customer'],'schema_elements':{'root_type':'logic_equal','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Submitted\x20Order\x20address\x20(Type3)'}],'context_nodes':[{'context_type':'Signer','purpose':'Current\x20signer\x20(Type4),\x20compared\x20with\x20order.customer'}],'query_nodes':[{'query_name':'order.customer','object_type':'Order'}],'tree_structure':'logic_equal(query(1550:\x20order.customer,\x20object:\x20{\x20identifier:\x200\x20}),\x20context(Signer))'},'constraints':['query\x20returns\x20Address,\x20context(Signer)\x20returns\x20Address,\x20types\x20compatible','Type3\x20submitted\x20object\x20constraint:\x20indirectly\x20binds\x20submitter\x20identity\x20via\x20order.customer\x20==\x20Signer','Ensures\x20callers\x20cannot\x20submit\x20other\x20users\x27\x20Order\x20addresses'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'order.customer','object':{'identifier':0x0},'parameters':[]},{'type':'context','context':'Signer'}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'User-submitted\x20Order\x20address','object_type':'Order'}]}},{'id':'P09','pattern_name':'Submitted\x20object\x20+\x20witness\x20derivation\x20query','data_source_combination':'Type3\x20+\x20Type2\x20(source\x20is\x20Type3)','semantic_intent':'User\x20submits\x20an\x20Order\x20and\x20queries\x20the\x20Progress\x20state\x20via\x20witness','match_keywords':['submit','derive','witness','order\x20to\x20progress','convert'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_and','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Submitted\x20Order\x20address\x20(Type3,\x20witness\x20source)'},{'value_type':'String','b_submission':![],'purpose':'Expected\x20node\x20name\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'progress.current','object_type':'Progress','convert_witness':0x64}],'tree_structure':'logic_equal(query(1253:\x20progress.current,\x20object:\x20{\x20identifier:\x200,\x20convert_witness:\x20100\x20}),\x20identifier[1])'},'constraints':['Type2\x20stacks\x20on\x20Type3:\x20the\x20source\x20object\x20Order\x20has\x20b_submission=true','witness=100\x20(TypeOrderProgress)\x20derives\x20Progress\x20from\x20the\x20submitted\x20Order','query\x20returns\x20String;\x20identifier[1]\x20must\x20be\x20String\x20type','Key:\x20Type2\x20can\x20stack\x20on\x20Type1\x20or\x20Type3,\x20depending\x20on\x20the\x20source\x20object\x27s\x20b_submission'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':'progress.current','object':{'identifier':0x0,'convert_witness':0x64},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'User-submitted\x20Order\x20address','object_type':'Order'},{'identifier':0x1,'b_submission':![],'value_type':'String','value':'Inspecting','name':'Expected\x20progress\x20node\x20name'}]}},{'id':'P10','pattern_name':'Multi-condition\x20combination\x20(AND/OR)','data_source_combination':'Type1\x20+\x20Type2\x20+\x20Type3\x20+\x20Type4\x20(combination)','semantic_intent':'Multiple\x20conditions\x20must\x20all\x20be\x20satisfied\x20(AND)\x20or\x20any\x20one\x20is\x20satisfied\x20(OR)','match_keywords':['and','simultaneously','all\x20satisfied','AND','and\x20also','also\x20need','or','any','OR','or','one\x20of'],'schema_elements':{'root_type':'logic_and\x20/\x20logic_or','table_entries':[],'tree_structure':'logic_and/logic_or([condition1,\x20condition2,\x20...])\x20—\x20each\x20condition\x20can\x20be\x20any\x20combination\x20of\x20P03-P09'},'constraints':['All\x20subnodes\x20of\x20logic_and/logic_or\x20must\x20return\x20Bool','Subnode\x20count\x202-8\x20(MAX_MULTI_OPERANDS)','Each\x20subcondition\x20can\x20be\x20any\x20node\x20that\x20returns\x20Bool','Multi-condition\x20combination\x20is\x20a\x20container\x20for\x20other\x20Patterns\x20and\x20does\x20not\x20stand\x20alone'],'example':{'root':{'type':'logic_and','nodes':[{},{}]}}},{'id':'P11','pattern_name':'Entity\x20registration\x20check','data_source_combination':'Type1\x20system\x20address\x20+\x20Type3','semantic_intent':'Verify\x20that\x20the\x20user\x20is\x20registered\x20in\x20the\x20entity\x20registrar','match_keywords':['register','entity','EntityRegistrar','member','certify'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'EntityRegistrar\x20system\x20address\x200xaab\x20(Type1\x20system\x20address)'},{'value_type':'Address','b_submission':!![],'purpose':'User\x20address\x20(Type3,\x20submitted)'}],'query_nodes':[{'query_name':'entity.registrar.records','object_type':'EntityRegistrar'}],'tree_structure':'logic_and(query(1760:\x20entity.registrar.records,\x20object:\x20{\x20identifier:\x200\x20},\x20parameters:\x20[identifier[1]]),\x20...)'},'constraints':['EntityRegistrar\x20address\x20is\x20fixed\x20at\x200xaab\x20(system\x20address)','EntityLinker\x20address\x20is\x20fixed\x20at\x200xaaa','table[0]\x20has\x20is_system_address=true','query\x20parameters\x20must\x20match\x20the\x20instruction\x20definition'],'example':{'root':{'type':'logic_and','nodes':[{'type':'query','query':'entity.registrar.records','object':{'identifier':0x0},'parameters':[{'type':'identifier','identifier':0x1}]}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xaab','name':'EntityRegistrar\x20system\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'Address','name':'User\x20address\x20(submitted)'}]}},{'id':'P12','pattern_name':'Dynamic\x20voting\x20weight','data_source_combination':'Type3\x20+\x20Type4\x20+\x20Type1\x20constant','semantic_intent':'Voting\x20weight\x20equals\x20the\x20reputation\x20score\x20(extracted\x20from\x20submitted\x20data)','match_keywords':['weight','vote','reputation','score','voting','weight'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Voter\x20address\x20(Type3)'},{'value_type':'U64','b_submission':!![],'purpose':'Voter\x20weight\x20(Type3,\x20extracted\x20by\x20GuardIdentifier)'}],'context_nodes':[{'context_type':'Signer','purpose':'Validate\x20voter\x20identity\x20(Type4)'}],'query_nodes':[{'query_name':'entity.registrar.records','object_type':'EntityRegistrar'}],'tree_structure':'logic_and(identity\x20check:\x20logic_equal(context(Signer),\x20identifier[0]),\x20weight\x20comparison:\x20GuardIdentifier\x20extracts\x20identifier[1])'},'constraints':['The\x20table\x20entry\x20referenced\x20by\x20GuardIdentifier\x20must\x20be\x20numeric\x20(U8-U256)','b_submission\x20must\x20be\x20true\x20(weight\x20is\x20submitted\x20at\x20runtime\x20by\x20the\x20voter)','Non-numeric\x20types\x20cause\x20E_GUARD_IDENTIFIER_NOT_NUMBER\x20error','Weight\x20value\x20is\x20cast\x20to\x20u32','voting_guard\x20scene\x20special\x20constraint:\x20GuardIdentifier\x20numeric'],'example':{'root':{'type':'logic_and','nodes':[{},{}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Voter\x20address'},{'identifier':0x1,'b_submission':!![],'value_type':'U64','name':'Voter\x20weight\x20(extracted\x20from\x20reputation\x20score)'}]}},{'id':'P13','pattern_name':'Repository\x20data\x20query','data_source_combination':'Type1\x20+\x20Type2','semantic_intent':'Query\x20Repository\x20data\x20and\x20validate','match_keywords':['Repository','storage','data\x20source','weather','external\x20data','oracle'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Repository\x20address\x20(Type1\x20constant)'}],'query_nodes':[{'query_name':'repository.data','object_type':'Repository'}],'tree_structure':'logic_and(query(1167:\x20repository.data,\x20object:\x20{\x20identifier:\x200\x20},\x20parameters:\x20[...]),\x20[data\x20validation\x20condition])'},'constraints':['quote_guard\x20is\x20a\x20RIGID\x20verification\x20requirement:\x20any\x20guard\x20querying\x20Repository\x20data\x20with\x20quote_guard\x20must\x20satisfy\x20it','Two-phase:\x20passport\x20generation\x20scans/prepares\x20quote_guard,\x20passport\x20verification\x20re-checks\x20+\x20verifies\x20(see\x20R-X1-10)','If\x20quote_guard==None:\x20no\x20access\x20control\x20—\x20Repository\x20data\x20is\x20freely\x20queryable','rep\x20semantics:\x20repository.data\x20query\x20does\x20not\x20depend\x20on\x20runtime\x20submission,\x20so\x20rep=true'],'example':{'root':{'type':'logic_and','nodes':[{'type':'query','query':'repository.data','object':{'identifier':0x0},'parameters':[{'type':'identifier','identifier':0x1}]},{}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xREPO','name':'Repository\x20address'}]}},{'id':'P14','pattern_name':'Pure\x20dependency\x20combination','data_source_combination':'None\x20(rely\x20only)','semantic_intent':'Does\x20not\x20compute\x20itself;\x20fully\x20depends\x20on\x20the\x20results\x20of\x20other\x20Guards','match_keywords':['depend','combine','reuse','rely','delegate'],'schema_elements':{'root_type':'logic_and\x20/\x20logic_or\x20(minimized\x20tautology)','table_entries':[],'tree_structure':'root:\x20minimized\x20(e.g.\x20context(Clock)\x20>=\x200,\x20tautology)\x20+\x20rely:\x20{\x20guards:\x20[...],\x20logic_or:\x20false\x20}'},'constraints':['Depended-on\x20Guards\x20must\x20have\x20rep=true\x20(repository.data\x20query\x20does\x20not\x20depend\x20on\x20runtime\x20submission)','rely.guards\x20supports\x20at\x20most\x204\x20(MAX_DEPENDED_COUNT)','Self-reference\x20is\x20forbidden','AND\x20logic:\x20all\x20dependencies\x20must\x20pass;\x20OR\x20logic:\x20any\x20one\x20passing\x20is\x20sufficient'],'example':{'root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'context','context':'Clock'},{'type':'identifier','identifier':0x0}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'U64','value':0x0,'name':'Tautology\x20baseline\x20value\x20(0)'}],'rely':{'guards':['guard_a','guard_b'],'logic_or':![]}}},{'id':'P15','pattern_name':'Submission\x20data\x20retention\x20pattern\x20(retained_submission)','data_source_combination':'Type3\x20+\x20Type4\x20(submission\x20+\x20system\x20context\x20binding)','semantic_intent':'Guard\x20accepts\x20runtime-submitted\x20data\x20but\x20ensures\x20it\x20is\x20trustworthy\x20via\x20Signer\x20binding\x20and\x20type\x20checking','match_keywords':['submit','retain','retained','submission','bind\x20signer','submission\x20check'],'schema_elements':{'root_type':'logic_and','table_entries':[{'value_type':'Address','b_submission':!![],'purpose':'Submitted\x20object\x20address\x20(Type3,\x20requires\x20Signer\x20binding)'},{'value_type':'U256','b_submission':!![],'purpose':'Submitted\x20numeric\x20value\x20(e.g.\x20amount,\x20weight,\x20requires\x20range\x20check)'}],'context_nodes':[{'context_type':'Signer','purpose':'Validate\x20submitter\x20identity\x20to\x20ensure\x20submission\x20data\x20ownership'}],'tree_structure':'logic_and(logic_equal(context(Signer),\x20query(...,\x20signer_field)),\x20logic_as_u256_greater_or_equal(identifier[1],\x20identifier[2]))'},'constraints':['The\x20name\x20of\x20each\x20b_submission=true\x20entry\x20must\x20be\x20a\x20complete\x20natural-language\x20description\x20(not\x20a\x20technical\x20identifier)','The\x20submitted\x20object\x20address\x20should\x20be\x20bound\x20to\x20Signer\x20(query\x20the\x20signer/owner\x20field\x20of\x20the\x20submitted\x20object\x20to\x20validate\x20ownership)','Submitted\x20numeric\x20values\x20should\x20have\x20range\x20checks\x20(>=\x20min,\x20<=\x20max)','Total\x20table\x20size\x20must\x20not\x20exceed\x2040000\x20bytes','Total\x20submission\x20bytes\x20must\x20not\x20exceed\x20'+MAX_SUBMISSION_SIZE_PASSPORT],'example':{'root':{'type':'logic_and','nodes':[{'type':'logic_equal','nodes':[{'type':'context','context':'Signer'},{'type':'query','query':0x4d5,'object':{'identifier':0x0},'parameters':[]}]},{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'identifier','identifier':0x1},{'type':'identifier','identifier':0x2}]}]},'table':[{'identifier':0x0,'b_submission':!![],'value_type':'Address','name':'Submitted\x20Order\x20object\x20address;\x20must\x20belong\x20to\x20the\x20current\x20signer'},{'identifier':0x1,'b_submission':!![],'value_type':'U256','name':'Submitted\x20amount\x20(unit:\x20MIST);\x20must\x20be\x20>=\x20minimum\x20amount'},{'identifier':0x2,'b_submission':![],'value_type':'U256','value':0xf4240,'name':'Minimum\x20amount\x20constant\x20(1\x20MIST)'}]}},{'id':'P16','pattern_name':'Circular\x20reference\x20pattern\x20(Guard\x20references\x20the\x20host\x20object\x20itself)','data_source_combination':'Type1\x20(host\x20object\x20as\x20constant,\x20using\x20name\x20instead\x20of\x20address)','semantic_intent':'Guard\x20binds\x20to\x20a\x20Host\x20Object\x20while\x20querying\x20the\x20Host\x20Object\x27s\x20own\x20fields;\x20uses\x20name\x20reference\x20to\x20achieve\x20circular\x20binding','match_keywords':['circular\x20reference','self','host','host','circular','self-reference'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_and','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Host\x20object\x20name\x20(SDK\x20resolves\x20to\x20address\x20at\x20binding\x20time)'}],'query_nodes':[{'query_name':'query_service_*\x20/\x20query_machine_*','object_type':'Service\x20/\x20Machine'}],'tree_structure':'logic_equal(query(<host_field_query>,\x20object:\x20{\x20identifier:\x200\x20}),\x20identifier[1]\x20or\x20context(Signer))'},'constraints':['The\x20Host\x20Object\x20must\x20not\x20be\x20published\x20(bPublished=false)\x20when\x20creating\x20and\x20binding\x20the\x20Guard','Use\x20the\x20Host\x20Object\x20name\x20(not\x20address)\x20in\x20the\x20table;\x20the\x20SDK\x20resolves\x20it\x20at\x20binding\x20time','The\x20Host\x20Object\x20can\x20only\x20be\x20published\x20after\x20the\x20Guard\x20is\x20bound','Guard\x20verification\x20only\x20runs\x20normally\x20after\x20the\x20Host\x20Object\x20is\x20published','Use\x20guard2file\x20to\x20export\x20Guard\x20backups\x20for\x20easy\x20rebuilding'],'example':{'root':{'type':'logic_equal','nodes':[{'type':'query','query':0x4cf,'object':{'identifier':0x0},'parameters':[]},{'type':'identifier','identifier':0x1}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'my_service','name':'Host\x20Service\x20name\x20(circular\x20reference,\x20resolved\x20by\x20SDK\x20at\x20binding\x20time)'},{'identifier':0x1,'b_submission':![],'value_type':'Bool','value':![],'name':'Expected\x20Service\x20paused\x20state\x20(false=not\x20paused)'}]}},{'id':'P17','pattern_name':'Query\x20parameter\x20translation\x20pattern\x20(type\x20conversion\x20node\x20combination)','data_source_combination':'Type1/2\x20+\x20type\x20conversion\x20(query\x20parameter\x20type\x20translation)','semantic_intent':'Guard\x20queries\x20parameters\x20that\x20require\x20type\x20conversion\x20(e.g.\x20Address\x20→\x20U64\x20timestamp\x20key);\x20uses\x20convert_*\x20nodes\x20to\x20translate','match_keywords':['type\x20conversion','translate','convert','timestamp\x20key','parameter\x20translation','address\x20to\x20u64'],'schema_elements':{'root_type':'logic_equal\x20/\x20logic_as_u256_greater_or_equal','table_entries':[{'value_type':'Address','b_submission':![],'purpose':'Query\x20target\x20object\x20address\x20(Type1/2)'},{'value_type':'U64','b_submission':![],'purpose':'Comparison\x20baseline\x20value\x20(e.g.\x20timestamp\x20threshold)'}],'query_nodes':[{'query_name':'query_repository_data\x20/\x20query_progress_history_*','object_type':'Repository\x20/\x20Progress'}],'tree_structure':'logic_as_u256_greater_or_equal(query(<query_with_converted_param>,\x20object:\x20{\x20identifier:\x200\x20},\x20parameters:\x20[convert_number_address(identifier[1])]),\x20identifier[2])'},'constraints':['The\x20query\x20parameter\x20type\x20must\x20match\x20the\x20parameters\x20type\x20defined\x20in\x20GUARDQUERY','If\x20the\x20table\x20declares\x20Address\x20but\x20the\x20query\x20requires\x20U64,\x20convert_number_address\x20must\x20be\x20used\x20to\x20translate','The\x20input\x20type\x20of\x20convert_*\x20nodes\x20must\x20be\x20compatible\x20with\x20the\x20child\x20node\x27s\x20return\x20type','The\x20translated\x20type\x20must\x20match\x20the\x20parameters\x20definition\x20of\x20the\x20query\x20instruction','Use\x20wowok_buildin_info\x20info=\x27guard\x20instructions\x27\x20to\x20verify\x20parameter\x20types'],'example':{'root':{'type':'logic_as_u256_greater_or_equal','nodes':[{'type':'query','query':0x48f,'object':{'identifier':0x0},'parameters':[{'type':'convert_number_address','nodes':[{'type':'identifier','identifier':0x1}]}]},{'type':'identifier','identifier':0x2}]},'table':[{'identifier':0x0,'b_submission':![],'value_type':'Address','value':'0xrepo','name':'Repository\x20address\x20constant'},{'identifier':0x1,'b_submission':![],'value_type':'U64','value':0x18bcfe56800,'name':'Timestamp\x20key\x20(U64,\x20needs\x20to\x20be\x20converted\x20to\x20Address\x20for\x20Repository\x20query)'},{'identifier':0x2,'b_submission':![],'value_type':'U256','value':0x64,'name':'Expected\x20Repository\x20data\x20value'}]}}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'node','type_name':'logic_equal','semantic':'Equality\x20comparison\x20(==),\x20returns\x20Bool.\x20Accepts\x20any\x20type\x20but\x20both\x20operands\x20must\x20be\x20type-compatible','return_type':'Bool','child_constraints':'2\x20child\x20nodes,\x20types\x20must\x20be\x20compatible'},{'element_type':'node','type_name':'logic_not','semantic':'Logical\x20NOT\x20(!),\x20returns\x20Bool','return_type':'Bool','child_constraints':'1\x20child\x20node,\x20must\x20be\x20Bool'},{'element_type':'node','type_name':'logic_and','semantic':'Logical\x20AND;\x20true\x20if\x20all\x20child\x20nodes\x20are\x20true','return_type':'Bool','child_constraints':'2-8\x20Bool\x20child\x20nodes\x20(MAX_MULTI_OPERANDS)'},{'element_type':'node','type_name':'logic_or','semantic':'Logical\x20OR;\x20true\x20if\x20any\x20child\x20node\x20is\x20true','return_type':'Bool','child_constraints':'2-8\x20Bool\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_greater','semantic':'Numeric\x20greater\x20than\x20(>),\x20auto-widened\x20to\x20U256','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes\x20(U8-U256\x20compatible)'},{'element_type':'node','type_name':'logic_as_u256_lesser','semantic':'Numeric\x20less\x20than\x20(<)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_equal','semantic':'Numeric\x20equality\x20(==)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_greater_or_equal','semantic':'Numeric\x20greater\x20than\x20or\x20equal\x20(>=)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_as_u256_lesser_or_equal','semantic':'Numeric\x20less\x20than\x20or\x20equal\x20(<=)','return_type':'Bool','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'logic_string_contains','semantic':'String\x20contains\x20(case-sensitive)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'logic_string_nocase_contains','semantic':'String\x20contains\x20(case-insensitive)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'logic_string_nocase_equal','semantic':'String\x20equality\x20(case-insensitive)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'identifier','semantic':'References\x20the\x20value\x20of\x20a\x20table\x20entry.\x20The\x20data\x20source\x20type\x20depends\x20on\x20b_submission:\x20false=Type1\x20constant,\x20true=Type3\x20submitted','return_type':'Determined\x20by\x20table\x20entry\x20value_type','child_constraints':'No\x20child\x20nodes;\x20requires\x20identifier\x20field\x20to\x20reference\x20table','data_source_class':'Type1_OnChainConstant'},{'element_type':'node','type_name':'context','semantic':'Transaction\x20context\x20data\x20(Type4\x20SystemContext).\x20Signer=signer\x20address,\x20Clock=on-chain\x20timestamp\x20(U64),\x20Guard=ObjectID\x20of\x20the\x20Guard\x20currently\x20being\x20verified','return_type':'Address\x20(Signer/Guard)\x20/\x20U64\x20(Clock)','child_constraints':'No\x20child\x20nodes','data_source_class':'Type4_SystemContext'},{'element_type':'node','type_name':'query','semantic':'Queries\x20on-chain\x20object\x20data.\x20The\x20data\x20source\x20type\x20depends\x20on\x20object.convert_witness:\x20present=Type2\x20(witness-derived),\x20absent+constant=Type1,\x20absent+submitted=Type3','return_type':'Determined\x20by\x20the\x20query\x20instruction','child_constraints':'Requires\x20query\x20+\x20object\x20+\x20parameters\x20fields','data_source_class':'Type1_OnChainConstant','discovery_tool':'wowok_buildin_info(info=\x27guard\x20instructions\x27)'},{'element_type':'node','type_name':'calc_number_add','semantic':'Numeric\x20addition','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_subtract','semantic':'Numeric\x20subtraction','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_multiply','semantic':'Numeric\x20multiplication','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_divide','semantic':'Numeric\x20division','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_number_mod','semantic':'Numeric\x20modulo','return_type':'U256','child_constraints':'2\x20numeric\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_length','semantic':'String\x20length','return_type':'U64','child_constraints':'1\x20String\x20child\x20node'},{'element_type':'node','type_name':'calc_string_contains','semantic':'String\x20contains\x20(returns\x20Bool)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_nocase_contains','semantic':'String\x20contains\x20(case-insensitive,\x20returns\x20Bool)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_nocase_equal','semantic':'String\x20equality\x20(case-insensitive,\x20returns\x20Bool)','return_type':'Bool','child_constraints':'2\x20String\x20child\x20nodes'},{'element_type':'node','type_name':'calc_string_indexof','semantic':'String\x20find\x20index','return_type':'U64','child_constraints':'2\x20String\x20child\x20nodes\x20+\x20order'},{'element_type':'node','type_name':'calc_string_nocase_indexof','semantic':'String\x20find\x20index\x20(case-insensitive)','return_type':'U64','child_constraints':'2\x20String\x20child\x20nodes\x20+\x20order'},{'element_type':'node','type_name':'convert_number_address','semantic':'Number\x20→\x20Address\x20conversion\x20(e.g.\x20timestamp\x20to\x20address)','return_type':'Address','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_address_number','semantic':'Address\x20→\x20Number\x20conversion','return_type':'U256','child_constraints':'1\x20Address\x20child\x20node'},{'element_type':'node','type_name':'convert_number_string','semantic':'Number\x20→\x20String\x20conversion','return_type':'String','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_string_number','semantic':'String\x20→\x20Number\x20conversion','return_type':'U256','child_constraints':'1\x20String\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u8','semantic':'Safe\x20conversion\x20to\x20U8\x20(errors\x20on\x20overflow)','return_type':'U8','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u16','semantic':'Safe\x20conversion\x20to\x20U16','return_type':'U16','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u32','semantic':'Safe\x20conversion\x20to\x20U32','return_type':'U32','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u64','semantic':'Safe\x20conversion\x20to\x20U64','return_type':'U64','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u128','semantic':'Safe\x20conversion\x20to\x20U128','return_type':'U128','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'convert_safe_u256','semantic':'Safe\x20conversion\x20to\x20U256','return_type':'U256','child_constraints':'1\x20numeric\x20child\x20node'},{'element_type':'node','type_name':'value_type','semantic':'Returns\x20the\x20value\x27s\x20type\x20identifier\x20(U8)\x20—\x20used\x20for\x20dynamic\x20type\x20checking','return_type':'U8','child_constraints':'1\x20variable\x20child\x20node'},{'element_type':'node','type_name':'vec_length','semantic':'Vector\x20length','return_type':'U64','child_constraints':'1\x20vec\x20child\x20node'},{'element_type':'node','type_name':'vec_contains_bool','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20Bool\x20value','return_type':'Bool','child_constraints':'1\x20VecBool\x20+\x201\x20Bool'},{'element_type':'node','type_name':'vec_contains_address','semantic':'Whether\x20the\x20vector\x20contains\x20an\x20Address\x20(whitelist\x20check)','return_type':'Bool','child_constraints':'1\x20VecAddress\x20+\x201\x20Address'},{'element_type':'node','type_name':'vec_contains_string','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20String','return_type':'Bool','child_constraints':'1\x20VecString\x20+\x201\x20String'},{'element_type':'node','type_name':'vec_contains_string_nocase','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20String\x20(case-insensitive)','return_type':'Bool','child_constraints':'1\x20VecString\x20+\x201\x20String'},{'element_type':'node','type_name':'vec_contains_number','semantic':'Whether\x20the\x20vector\x20contains\x20a\x20number','return_type':'Bool','child_constraints':'1\x20Vec*\x20+\x201\x20Number'},{'element_type':'node','type_name':'vec_indexof_bool','semantic':'Bool\x20vector\x20find\x20index','return_type':'U64','child_constraints':'VecBool\x20+\x20Bool\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_address','semantic':'Address\x20vector\x20find\x20index','return_type':'U64','child_constraints':'VecAddress\x20+\x20Address\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_string','semantic':'String\x20vector\x20find\x20index','return_type':'U64','child_constraints':'VecString\x20+\x20String\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_string_nocase','semantic':'String\x20vector\x20find\x20index\x20(case-insensitive)','return_type':'U64','child_constraints':'VecString\x20+\x20String\x20+\x20order'},{'element_type':'node','type_name':'vec_indexof_number','semantic':'Numeric\x20vector\x20find\x20index','return_type':'U64','child_constraints':'Vec*\x20+\x20Number\x20+\x20order'},{'element_type':'node','type_name':'query_reward_record_find','semantic':'Query\x20reward\x20claim\x20records\x20(returns\x20the\x20found\x20record)','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20recipient\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_reward_record_count','semantic':'Query\x20reward\x20claim\x20record\x20count\x20(U64)','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20recipient\x20(optional)'},{'element_type':'node','type_name':'query_reward_record_exists','semantic':'Query\x20whether\x20a\x20reward\x20claim\x20record\x20exists\x20(Bool)','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20recipient\x20(optional)'},{'element_type':'node','type_name':'query_progress_history_find','semantic':'Query\x20whether\x20a\x20specified\x20session\x20exists\x20in\x20Progress\x20history','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_progress_history_session_find','semantic':'Query\x20a\x20Progress\x20session','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_progress_history_session_forward_find','semantic':'Query\x20whether\x20a\x20specified\x20forward\x20exists\x20in\x20a\x20Progress\x20session','return_type':'Bool','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20sessionIdx\x20+\x20where\x20+\x20find'},{'element_type':'node','type_name':'query_progress_history_session_count','semantic':'Query\x20the\x20number\x20of\x20Progress\x20sessions','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20historyIdx'},{'element_type':'node','type_name':'query_progress_history_session_forward_count','semantic':'Query\x20the\x20number\x20of\x20forwards\x20in\x20a\x20Progress\x20session','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20sessionIdx'},{'element_type':'node','type_name':'query_progress_history_session_forward_retained_submission_count','semantic':'Query\x20the\x20retained\x20submission\x20count\x20of\x20a\x20forward\x20in\x20a\x20Progress\x20session','return_type':'U64','child_constraints':'Requires\x20object\x20+\x20historyIdx\x20+\x20sessionIdx\x20+\x20forwardIdx'},{'element_type':'witness','type_name':'TypeOrderProgress','semantic':'Reads\x20the\x20order.progress\x20field\x20from\x20an\x20Order\x20address\x20to\x20derive\x20Progress\x20(100,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived','discovery_tool':'wowok_buildin_info(info=\x27guard\x20instructions\x27)'},{'element_type':'witness','type_name':'TypeOrderMachine','semantic':'Reads\x20the\x20order.machine\x20field\x20from\x20an\x20Order\x20address\x20to\x20derive\x20Machine\x20(101,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeOrderService','semantic':'Reads\x20the\x20order.service\x20field\x20from\x20an\x20Order\x20address\x20to\x20derive\x20Service\x20(102,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeProgressMachine','semantic':'Reads\x20the\x20progress.machine\x20field\x20from\x20a\x20Progress\x20address\x20to\x20derive\x20Machine\x20(103,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbOrder','semantic':'Reads\x20the\x20arb.order\x20field\x20from\x20an\x20Arb\x20address\x20to\x20derive\x20Order\x20(104,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbArbitration','semantic':'Reads\x20the\x20arb.arbitration\x20field\x20from\x20an\x20Arb\x20address\x20to\x20derive\x20the\x20parent\x20Arbitration\x20service\x20(105,\x20single\x20hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbProgress','semantic':'Derives\x20from\x20Arb\x20in\x20two\x20hops:\x20arb.order\x20→\x20order.progress\x20(106,\x20multi-hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbMachine','semantic':'Derives\x20from\x20Arb\x20in\x20two\x20hops:\x20arb.order\x20→\x20order.machine\x20(107,\x20multi-hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'witness','type_name':'TypeArbService','semantic':'Derives\x20from\x20Arb\x20in\x20two\x20hops:\x20arb.order\x20→\x20order.service\x20(108,\x20multi-hop)','data_source_class':'Type2_WitnessDerived'},{'element_type':'context','type_name':'Signer','semantic':'Current\x20transaction\x20signer\x20address\x20(TransactionContext.sender())','return_type':'Address','data_source_class':'Type4_SystemContext'},{'element_type':'context','type_name':'Clock','semantic':'Current\x20on-chain\x20timestamp\x20(reads\x20timestamp_ms\x20of\x20WOW_CLOCK_OBJECT_ID\x200x6)','return_type':'U64','data_source_class':'Type4_SystemContext'},{'element_type':'context','type_name':'Guard','semantic':'ObjectID\x20of\x20the\x20Guard\x20object\x20currently\x20being\x20verified\x20(self-reference,\x20rare)','return_type':'Address','data_source_class':'Type4_SystemContext'},{'element_type':'table_entry','type_name':'Bool','semantic':'Boolean\x20constant\x20or\x20submission'},{'element_type':'table_entry','type_name':'Address','semantic':'Address\x20constant\x20(Type1)\x20or\x20submission\x20(Type3).\x20Object\x20address\x20type'},{'element_type':'table_entry','type_name':'String','semantic':'String\x20constant\x20or\x20submission'},{'element_type':'table_entry','type_name':'U8','semantic':'8-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U16','semantic':'16-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U32','semantic':'32-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U64','semantic':'64-bit\x20unsigned\x20integer\x20(commonly\x20used\x20for\x20timestamps)'},{'element_type':'table_entry','type_name':'U128','semantic':'128-bit\x20unsigned\x20integer'},{'element_type':'table_entry','type_name':'U256','semantic':'256-bit\x20unsigned\x20integer\x20(auto-widening\x20target\x20for\x20numeric\x20operations)'},{'element_type':'table_entry','type_name':'VecAddress','semantic':'Address\x20vector\x20(used\x20for\x20whitelists,\x20Type1\x20constant)'},{'element_type':'table_entry','type_name':'VecString','semantic':'String\x20vector'},{'element_type':'table_entry','type_name':'VecU64','semantic':'U64\x20vector'},{'element_type':'table_entry','type_name':'VecU8','semantic':'U8\x20vector\x20(raw\x20bytes)'},{'element_type':'table_entry','type_name':'Value','semantic':'Dynamic\x20type\x20(19,\x20first\x20byte\x20is\x20the\x20type\x20identifier)\x20—\x20used\x20for\x20Repository\x20data,\x20EntityRegistrar\x20records,\x20Passport\x20submission\x20value'},{'element_type':'rely','type_name':'rely_and','semantic':'Depends\x20on\x20other\x20Guards,\x20AND\x20logic\x20(all\x20must\x20pass).\x20Depended-on\x20Guards\x20must\x20have\x20rep=true','child_constraints':'At\x20most\x204\x20dependencies,\x20each\x20with\x20rep=true\x20(repository.data\x20query\x20does\x20not\x20depend\x20on\x20submission)'},{'element_type':'rely','type_name':'rely_or','semantic':'Depends\x20on\x20other\x20Guards,\x20OR\x20logic\x20(any\x20one\x20passing\x20is\x20sufficient).\x20Depended-on\x20Guards\x20must\x20have\x20rep=true','child_constraints':'At\x20most\x204\x20dependencies,\x20each\x20with\x20rep=true'}];export const GUARD_CONSTRAINT_RULES=[{'id':'ROOT_01','name':'root\x20returns\x20Bool','description':'The\x20Guard\x20root\x20node\x20must\x20return\x20a\x20Bool\x20type','category':'root','phase':'creation','validation_logic':'root.node_type\x20must\x20be\x20in\x20the\x20allowedTypes\x20list\x20(logic_*,\x20calc_string_contains,\x20vec_contains_*,\x20query_reward_record_exists,\x20query[Bool\x20return],\x20identifier[Bool\x20type])','failure_message':'Guard\x20root\x20node\x20must\x20be\x20an\x20operation\x20that\x20returns\x20Bool','verification_location':'SDK\x20buildNode(root,\x20ValueType.Bool,\x20...)','pitfall_number':0x7},{'id':'TABLE_01','name':'identifier\x20uniqueness','description':'Each\x20identifier\x20in\x20the\x20table\x20must\x20be\x20unique\x20(0-255)','category':'table','phase':'creation','validation_logic':'No\x20duplicate\x20identifiers\x20in\x20the\x20table','failure_message':'Duplicate\x20table\x20identifier','verification_location':'SDK\x20lodash\x20groupBy'},{'id':'TABLE_02','name':'identifier\x20referential\x20integrity','description':'Every\x20identifier\x20node\x20in\x20the\x20computation\x20tree\x20must\x20exist\x20in\x20the\x20table','category':'table','phase':'creation','validation_logic':'Traverse\x20the\x20computation\x20tree;\x20each\x20identifier\x20node\x27s\x20index\x20exists\x20in\x20the\x20table','failure_message':'Identifier\x20not\x20found\x20in\x20table','verification_location':'SDK\x20buildNode','pitfall_number':0x1},{'id':'TABLE_03','name':'Constant\x20entries\x20must\x20have\x20a\x20value','description':'Entries\x20with\x20b_submission=false\x20must\x20have\x20a\x20value\x20field','category':'table','phase':'creation','validation_logic':'All\x20entries\x20with\x20b_submission=false\x20have\x20a\x20non-empty\x20value\x20field','failure_message':'Constant\x20table\x20entry\x20must\x20have\x20a\x20value','verification_location':'SDK\x20operate'},{'id':'TABLE_04','name':'table\x20size\x20limit','description':'At\x20most\x20256\x20entries;\x20serialized\x20size\x20must\x20not\x20exceed\x2040000\x20bytes','category':'table','phase':'creation','validation_logic':'table.length\x20<=\x20256\x20&&\x20serialize(table).length\x20<=\x2040000','failure_message':'Table\x20exceeds\x20size\x20limit\x20(256\x20entries\x20or\x2040000\x20bytes)','verification_location':'Move\x20guard::new'},{'id':'TABLE_05','name':'submission\x20entry\x20value\x20is\x201\x20byte\x20(type\x20code\x20only)','description':'Entries\x20with\x20b_submission=true\x20have\x20a\x20serialized\x20value\x20of\x20just\x201\x20byte\x20(the\x20type\x20code)','category':'table','phase':'creation','validation_logic':'When\x20b_submission=true,\x20bcsValue.length\x20===\x201\x20and\x20bcsValue[0]\x20===\x20valueType','failure_message':'Submission\x20table\x20entry\x20value\x20must\x20be\x201\x20byte\x20(type\x20code\x20only)','verification_location':'native\x20deserialize_constants'},{'id':'QUERY_01','name':'query\x20instruction\x20valid','description':'The\x20query\x20field\x20of\x20a\x20query\x20node\x20must\x20be\x20a\x20valid\x20GUARDQUERY\x20ID\x20or\x20name','category':'query','phase':'creation','validation_logic':'The\x20query\x20field\x20exists\x20in\x20GUARDQUERY\x20(via\x20isValidGuardQueryIdOrName)','failure_message':'Invalid\x20Guard\x20query\x20instruction','verification_location':'SDK\x20getGuardQueryInfo','pitfall_number':0x3},{'id':'QUERY_02','name':'query\x20parameter\x20count\x20match','description':'The\x20number\x20and\x20types\x20of\x20parameters\x20in\x20a\x20query\x20node\x20must\x20match\x20the\x20instruction\x20definition','category':'query','phase':'creation','validation_logic':'parameters.length\x20===\x20instruction.parameters.length\x20&&\x20type-compatible','failure_message':'Query\x20parameter\x20count\x20or\x20type\x20mismatch','verification_location':'SDK\x20buildNode','pitfall_number':0x3},{'id':'QUERY_03','name':'query\x20return\x20type\x20compatible','description':'The\x20return\x20type\x20of\x20a\x20query\x20node\x20must\x20be\x20compatible\x20with\x20the\x20parent\x20node\x27s\x20expected\x20type','category':'query','phase':'creation','validation_logic':'checkType(query.return_type,\x20parent.expected_type)','failure_message':'Query\x20return\x20type\x20incompatible\x20with\x20parent\x20node','verification_location':'SDK\x20checkType'},{'id':'QUERY_04','name':'query\x20object\x20identifier\x27s\x20value_type\x20is\x20Address','description':'The\x20table\x20entry\x20referenced\x20by\x20query\x20node\x27s\x20object.identifier\x20must\x20have\x20value_type\x20of\x20Address','category':'query','phase':'creation','validation_logic':'table[object.identifier].value_type\x20===\x20Address','failure_message':'Query\x20object\x20identifier\x20must\x20reference\x20an\x20Address-type\x20table\x20entry','verification_location':'SDK\x20buildNode\x20L603-609'},{'id':'WITNESS_01','name':'witness\x20type\x20valid','description':'convert_witness\x20must\x20be\x20a\x20valid\x20WitnessType\x20(100-108)','category':'witness','phase':'creation','validation_logic':'The\x20witness\x20value\x20is\x20within\x20the\x20range\x20allowed\x20by\x20WitnessTypeSchema\x20(100-108)','failure_message':'Invalid\x20witness\x20type','verification_location':'SDK\x20isWitnessType','pitfall_number':0x4},{'id':'WITNESS_02','name':'witness\x20target\x20matches\x20query\x20objectType','description':'The\x20witness\x27s\x20target\x20type\x20must\x20match\x20the\x20query\x20instruction\x27s\x20objectType','category':'witness','phase':'creation','validation_logic':'witness.target_type\x20===\x20instruction.objectType','failure_message':'Witness\x20target\x20type\x20does\x20not\x20match\x20query\x20object\x20type','verification_location':'SDK\x20buildNode\x20L613-619','pitfall_number':0x4},{'id':'WITNESS_03','name':'witness\x20source\x20matches\x20tableItem\x20object_type','description':'The\x20witness\x27s\x20source\x20type\x20must\x20match\x20the\x20object_type\x20declared\x20in\x20the\x20table\x20entry\x20(if\x20declared)','category':'witness','phase':'creation','validation_logic':'table[identifier].object_type\x20===\x20witness.source_type\x20(if\x20tableItem.object_type\x20is\x20declared)','failure_message':'Witness\x20source\x20type\x20does\x20not\x20match\x20table\x20entry\x20object_type','verification_location':'SDK\x20buildNode\x20L622-631','pitfall_number':0x4},{'id':'RELY_01','name':'rely\x20dependency\x20count\x20≤\x204','description':'rely.guards\x20supports\x20at\x20most\x204\x20dependencies\x20(MAX_DEPENDED_COUNT)','category':'rely','phase':'creation','validation_logic':'rely.guards.length\x20<=\x204','failure_message':'Rely\x20dependencies\x20exceed\x20limit\x20(4)','verification_location':'SDK\x20reliesAdd'},{'id':'RELY_02','name':'rely\x20dependency\x20rep=true','description':'All\x20rely-depended\x20Guards\x20must\x20have\x20rep=true\x20(repository.data\x20query\x20does\x20not\x20depend\x20on\x20runtime\x20submission)','category':'rely','phase':'creation','validation_logic':'Query\x20each\x20depended\x20Guard\x27s\x20rep\x20field;\x20must\x20be\x20true','failure_message':'Rely\x20dependency\x20has\x20rep=false\x20(not\x20standalone)','verification_location':'Move\x20guard::relies_add','pitfall_number':0x8},{'id':'RELY_03','name':'rely\x20forbids\x20self-reference','description':'A\x20Guard\x20cannot\x20depend\x20on\x20itself','category':'rely','phase':'creation','validation_logic':'rely.guards\x20does\x20not\x20contain\x20the\x20current\x20Guard\x27s\x20address','failure_message':'Guard\x20cannot\x20rely\x20on\x20itself','verification_location':'SDK\x20reliesAdd'},{'id':'BINDING_01','name':'voting_guard\x20GuardIdentifier\x20numeric','description':'The\x20table\x20entry\x20referenced\x20by\x20Arbitration\x20voting_guard\x27s\x20GuardIdentifier\x20must\x20be\x20of\x20a\x20numeric\x20type','category':'binding','phase':'creation','validation_logic':'If\x20binding=voting_guard,\x20the\x20table\x20entry\x20pointed\x20to\x20by\x20GuardIdentifier\x20has\x20value_type\x20in\x20[U8,U16,U32,U64,U128,U256]','failure_message':'E_GUARD_IDENTIFIER_NOT_NUMBER:\x20voting_guard\x20weight\x20must\x20be\x20numeric','verification_location':'Move\x20Arbitration','pitfall_number':0x9},{'id':'BINDING_02','name':'Repository\x20id_from_submission\x20Address','description':'The\x20table\x20entry\x20referenced\x20by\x20Repository\x20write_guard\x27s\x20id_from_submission\x20must\x20be\x20of\x20Address\x20type','category':'binding','phase':'creation','validation_logic':'If\x20binding=write_guard\x20and\x20id_from_submission\x20is\x20set,\x20table[id_from_submission].value_type\x20===\x20Address','failure_message':'Repository\x20id_from_submission\x20must\x20be\x20Address\x20type','verification_location':'Move\x20Repository'},{'id':'BINDING_03','name':'Repository\x20data_from_submission\x20type\x20match','description':'The\x20table\x20entry\x20referenced\x20by\x20Repository\x20write_guard\x27s\x20data_from_submission\x20must\x20match\x20the\x20Repository\x20value_type','category':'binding','phase':'creation','validation_logic':'If\x20binding=write_guard\x20and\x20data_from_submission\x20is\x20set,\x20table[data_from_submission].value_type\x20===\x20Repository.value_type','failure_message':'Repository\x20data_from_submission\x20type\x20mismatch','verification_location':'Move\x20Repository'},{'id':'INPUT_01','name':'root\x20byte\x20stream\x20non-empty','description':'The\x20serialized\x20byte\x20stream\x20of\x20root\x20cannot\x20be\x20empty','category':'input','phase':'creation','validation_logic':'input.length\x20>\x200','failure_message':'Input\x20cannot\x20be\x20empty','verification_location':'SDK\x20newGuard'},{'id':'INPUT_02','name':'root\x20byte\x20stream\x20≤\x20MAX_INPUT_SIZE','description':'The\x20serialized\x20byte\x20stream\x20of\x20root\x20must\x20not\x20exceed\x20MAX_INPUT_SIZE','category':'input','phase':'creation','validation_logic':'input.length\x20<=\x20MAX_INPUT_SIZE','failure_message':'Input\x20size\x20exceeds\x20maximum\x20limit','verification_location':'SDK\x20newGuard'},{'id':'IMMUTABLE_01','name':'Guard\x20immutable=true\x20after\x20creation','description':'After\x20creation,\x20a\x20Guard\x20cannot\x20be\x20modified\x20or\x20deleted\x20(CREATE-only)','category':'immutable','phase':'creation','validation_logic':'After\x20guard::create_v2,\x20the\x20immutable\x20field\x20is\x20set\x20to\x20true','failure_message':'Guard\x20is\x20immutable\x20after\x20creation','verification_location':'Move\x20guard::create_v2'},{'id':'RUN_IMMUTABLE_01','name':'Guard\x20must\x20be\x20immutable=true\x20to\x20verify','description':'At\x20runtime\x20verification,\x20the\x20Guard\x20must\x20be\x20frozen\x20(immutable=true)','category':'immutable','phase':'runtime','validation_logic':'guard.immutable\x20===\x20true','failure_message':'Guard\x20must\x20be\x20immutable\x20to\x20verify','verification_location':'native\x20verify_guard\x20L497-506'},{'id':'RUN_SUB_01','name':'submission\x20type\x20byte\x20matches\x20table\x20declaration','description':'The\x20value[0]\x20(type\x20byte)\x20of\x20submission\x20must\x20match\x20the\x20value_type\x20declared\x20in\x20the\x20table','category':'table','phase':'runtime','validation_logic':'submission_value[0]\x20===\x20table[identifier].value_type','failure_message':'Submission\x20type\x20byte\x20does\x20not\x20match\x20table\x20declaration','verification_location':'native\x20parse_table_items\x20L306'},{'id':'RUN_SUB_02','name':'table\x20entries\x20with\x20b_submission=true\x20must\x20be\x20found\x20in\x20submission','description':'All\x20table\x20entries\x20declared\x20as\x20submitted\x20must\x20have\x20corresponding\x20submission\x20data','category':'table','phase':'runtime','validation_logic':'forall\x20identifier\x20in\x20table\x20where\x20b_submission=true:\x20identifier\x20in\x20submission_map','failure_message':'Missing\x20submission\x20for\x20declared\x20b_submission=true\x20table\x20entry','verification_location':'native\x20parse_table_items\x20L301-321'},{'id':'RUN_SUB_03','name':'submission\x20total\x20bytes\x20≤\x20MAX_SUBMISSION_SIZE_PASSPORT\x20('+MAX_SUBMISSION_SIZE_PASSPORT+')','description':'The\x20total\x20bytes\x20of\x20all\x20data\x20submitted\x20at\x20runtime\x20must\x20not\x20exceed\x20'+MAX_SUBMISSION_SIZE_PASSPORT,'category':'table','phase':'runtime','validation_logic':'total_submission_bytes\x20<=\x20'+MAX_SUBMISSION_SIZE_PASSPORT,'failure_message':'Submission\x20exceeds\x20MAX_SUBMISSION_SIZE_PASSPORT\x20('+MAX_SUBMISSION_SIZE_PASSPORT+'\x20bytes)','verification_location':'Move\x20verify\x20L252'},{'id':'RUN_WITNESS_01','name':'witness\x20derivation\x20source\x20object\x20must\x20have\x20the\x20required\x20relation\x20field','description':'When\x20witness\x20conversion\x20occurs,\x20the\x20source\x20object\x20must\x20contain\x20the\x20relation\x20field\x20needed\x20for\x20derivation','category':'witness','phase':'runtime','validation_logic':'The\x20source\x20object\x20exists\x20and\x20contains\x20the\x20field\x20required\x20for\x20witness\x20derivation\x20(e.g.\x20order.progress\x20field\x20is\x20non-empty)','failure_message':'Witness\x20source\x20object\x20missing\x20required\x20field\x20for\x20derivation','verification_location':'native\x20convert_witness'},{'id':'RUN_WITNESS_02','name':'witness-derived\x20target\x20object\x20must\x20exist','description':'The\x20target\x20object\x20derived\x20by\x20witness\x20must\x20exist\x20on-chain','category':'witness','phase':'runtime','validation_logic':'The\x20derived\x20target\x20object\x20ID\x20exists\x20on-chain','failure_message':'Witness\x20derived\x20target\x20object\x20does\x20not\x20exist','verification_location':'native\x20convert_witness'},{'id':'RUN_QUERY_01','name':'query\x20target\x20object\x20must\x20exist\x20and\x20type\x20match','description':'The\x20target\x20object\x20of\x20a\x20query\x20must\x20exist\x20on-chain\x20and\x20its\x20type\x20must\x20match','category':'query','phase':'runtime','validation_logic':'Target\x20object\x20exists\x20&&\x20object\x20type\x20matches\x20query.objectType','failure_message':'Query\x20target\x20object\x20does\x20not\x20exist\x20or\x20type\x20mismatch','verification_location':'native\x20process_object_query'},{'id':'RUN_IMPACK_01','name':'at\x20least\x20one\x20impack\x20guard','description':'Passport\x20verification\x20requires\x20at\x20least\x20one\x20impack\x20guard','category':'runtime','phase':'runtime','validation_logic':'impack_list.length\x20>=\x201\x20(note:\x20impack_list\x20is\x20always\x20empty\x20during\x20verify\x20phase;\x20this\x20constraint\x20is\x20checked\x20in\x20result_for_permission\x20phase)','failure_message':'No\x20impack\x20guard\x20found','verification_location':'Move\x20verify\x20L281'},{'id':'RUN_IMPACK_02','name':'impack\x20guard\x20failure\x20fails\x20the\x20entire\x20passport','description':'If\x20any\x20impack\x20guard\x20verification\x20fails,\x20the\x20entire\x20passport\x20verification\x20fails','category':'runtime','phase':'runtime','validation_logic':'forall\x20guard\x20in\x20impack_list:\x20guard.result\x20===\x20true','failure_message':'Impack\x20guard\x20verification\x20failed','verification_location':'Move\x20verify\x20L270-275'},{'id':'RUN_TX_01','name':'Passport\x20tx_hash\x20must\x20match\x20the\x20current\x20transaction','description':'The\x20tx_hash\x20recorded\x20in\x20the\x20Passport\x20must\x20match\x20the\x20hash\x20of\x20the\x20currently\x20executing\x20transaction','category':'runtime','phase':'runtime','validation_logic':'passport.tx_hash\x20===\x20current_tx_hash','failure_message':'Passport\x20tx_hash\x20does\x20not\x20match\x20current\x20transaction','verification_location':'Move\x20verify\x20L231'},{'id':'RUN_RELY_01','name':'rely\x20guard\x20must\x20have\x20been\x20added\x20to\x20passport','description':'Guards\x20relied\x20on\x20must\x20have\x20been\x20registered\x20in\x20the\x20passport','category':'rely','phase':'runtime','validation_logic':'forall\x20guard\x20in\x20rely.guards:\x20guard\x20in\x20passport.relies','failure_message':'Rely\x20guard\x20not\x20added\x20to\x20passport','verification_location':'Move\x20calculate_relies_result'}];export function matchSemanticPattern(a){const b=a['toLowerCase']();return SEMANTIC_TO_SCHEMA_RULES['filter'](c=>c['match_keywords']['some'](d=>b['includes'](d['toLowerCase']())));}export function explainNode(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='node'&&b['type_name']===a);}export function explainWitness(a){const b={0x64:'TypeOrderProgress',0x65:'TypeOrderMachine',0x66:'TypeOrderService',0x67:'TypeProgressMachine',0x68:'TypeArbOrder',0x69:'TypeArbArbitration',0x6a:'TypeArbProgress',0x6b:'TypeArbMachine',0x6c:'TypeArbService'},c=b[a];return SCHEMA_TO_SEMANTIC_RULES['find'](d=>d['element_type']==='witness'&&d['type_name']===c);}export function explainContext(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='context'&&b['type_name']===a);}export function getConstraintsByCategory(a){return GUARD_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function getConstraintsByPhase(a){return GUARD_CONSTRAINT_RULES['filter'](b=>b['phase']===a);}export function getPatternById(a){return SEMANTIC_TO_SCHEMA_RULES['find'](b=>b['id']===a);}export function getDataSourceCombinations(){return[...new Set(SEMANTIC_TO_SCHEMA_RULES['map'](a=>a['data_source_combination']))];}
@@ -1,5 +1,5 @@
1
1
  import { CONCEPT_GLOSSARY, CONCEPT_GLOSSARY_VERSION, resolveTerm, lookupEntry, validateText, auditSchemaFields, type GlossaryEntry, type GlossaryCategory, type GlossaryDrift } from "./glossary.js";
2
- import { fetchMachineNodes, buildWorkflowGuidance, buildWorkflowReceipt, enrichWorkflowGuidance, mergeGuidanceIntoOutput, resolvePermissionRole, fetchPermissionContext, fetchOrderContext, fetchEntityPermission, fetchObjectLinkerCore, fetchObjectLinkerTx, fetchOrdersOfUser, resolveLocalNamesFor, fetchAllFieldObjectIds, batchQueryObjectsByIds, listLocalAccounts, accountCanExecuteForward, type GuidanceResult, type ReceiptResult, type ParsedMachineNode, type ParsedPair, type ParsedForward, type LocalAccountInfo, type PermissionContext, type OrderContext, type EntityPermissionContext, type EntityPermissionItem, type EntityOrderContext, type EntityOrderItem } from "./workflow-guidance.js";
2
+ import { fetchMachineNodes, buildWorkflowGuidance, buildWorkflowReceipt, enrichWorkflowGuidance, mergeGuidanceIntoOutput, resolvePermissionRole, fetchPermissionContext, fetchOrderContext, fetchEntityPermission, fetchEntityContact, fetchObjectLinkerCore, fetchObjectLinkerTx, fetchServiceOrders, fetchOrdersOfUser, resolveLocalNamesFor, fetchAllFieldObjectIds, batchQueryObjectsByIds, batchReadAddressKeyedFields, batchReadU64KeyedFields, listLocalAccounts, accountCanExecuteForward, type GuidanceResult, type ReceiptResult, type ParsedMachineNode, type ParsedPair, type ParsedForward, type LocalAccountInfo, type PermissionContext, type OrderContext, type EntityPermissionContext, type EntityPermissionItem, type EntityOrderContext, type EntityOrderItem, type EntityContactContext } from "./workflow-guidance.js";
3
3
  import { CONFIRMATION_RULES, SAFETY_RULES_VERSION, OBJECT_REUSE_RULES, CREATE_VS_MODIFY_PATTERN, IMMUTABILITY_RULES, OPERATION_TYPE_CLASSIFICATION, OPERATION_CLASS_META, classifyTool, NAMING_CONVENTIONS, checkObjectReuseRules, checkImmutabilityRules, type ConfirmationRule, type OperationPreview, type ConfirmLevel, type ReuseRecommendation, type ObjectReuseRule, type ImmutabilityRule, type OperationClass, type OperationClassMeta, type SafetyRiskItem } from "./safety-rules.js";
4
4
  import { TOOL_CONSTRAINTS, TOOL_CONSTRAINTS_VERSION, validateOperation, hasBlockingViolations, getWarningViolations, type ConstraintSeverity, type FieldConstraint, type OperationConstraint, type ConstraintViolation } from "./tool-constraints.js";
5
5
  import { PERMISSION_TYPES, GAME_ELEMENTS, getPermissionType, getGameElement, getGameElementsByType, PROCESS_MODEL_VERSION, type PermissionScope, type PermissionTypeDef, type GameElementType, type GameElementDef } from "./process-model.js";
@@ -19,6 +19,8 @@ import { GUARD_SCENES, findScene, inferSceneFromAction, getImmutableScenes, getN
19
19
  import { SEMANTIC_TO_SCHEMA_RULES, SCHEMA_TO_SEMANTIC_RULES, GUARD_CONSTRAINT_RULES, matchSemanticPattern, explainNode, explainWitness, getConstraintsByCategory, type SemanticToSchemaRule, type SchemaToSemanticRule, type GuardConstraintRule } from "./guard-translation.js";
20
20
  import { checkPuzzleCompleteness, generateConfirmationText, initPuzzleFromIntent, inferBindingFromAction, emptyDataSources, getWitnessInfo, WITNESS_NAME_MAP, type GuardPuzzle, type IntentPuzzle, type BindingPuzzle, type DataSourcePuzzle, type OnChainConstantEntry, type WitnessDerivedEntry, type SubmittedObjectEntry, type SubmittedValueEntry, type SystemContextEntry, type QueryPuzzle, type LogicNodePuzzle, type ConstraintChecklist, type PuzzleCompleteness, type PuzzleDimension } from "./guard-puzzle.js";
21
21
  import { assessGuardRisks, assessGuardRisksForOperation, getRiskSummary, getRiskRulesByDataSourceClass, getAllRiskRules, getRiskRulesCount, type GuardRisk, type GuardRiskAssessment, type GuardStakeholder, type RiskLevel, type RiskCategory, type DataSourceClass, type RiskRule } from "./guard-risk.js";
22
+ import { GUARD_BINDING_REGISTRY, GUARD_BINDINGS_VERSION, OWNER_RECEIVE_COGNITION, getGuardBindingsByObject, getGuardBinding, summarizeGuardBinding, type GuardBoundObject, type PresetKind, type GuardPresetSlot } from "./guard-bindings.js";
23
+ import { SCENARIO_BRIDGE_REGISTRY, SCENARIO_CHAINS, SCENARIO_TOPOLOGY_VERSION, getBridgeById, getBridgesByObject, getChainById, summarizeBridge, detectBridgesForObjects, type ScenarioBridge, type ScenarioChain, type BridgeParticipant, type BridgeField } from "./scenario-topology.js";
22
24
  import { GUARD_TEMPLATES, GUARD_TEMPLATES_VERSION, GUARD_TEMPLATES_COUNT, getTemplatesByScene, getTemplateById, getTemplatesByIndustry, getTemplatesByPattern, listGuardTemplates, suggestTemplateForScene, getTemplateParameters, validateTemplateParams, type GuardTemplate, type GuardTemplateParam, type TemplateParamType } from "./guard-templates.js";
23
25
  import { lintGuard, autoFixGuard, isGuardReady, getGuardErrors, formatLintResult, type GuardJsonInput, type GuardLintResult, type GuardDiagnostic, type DiagnosticSeverity, type DiagnosticSource, type AutoFixAction } from "./guard-lint.js";
24
26
  import { MACHINE_SCENES, MACHINE_LEDGER_VERSION, MACHINE_SCENES_COUNT, findScene as findMachineScene, getScenesByIndustry as getMachineScenesByIndustry, getScenesByPattern, inferSceneFromFlow, type MachineScene, type ParticipantRoleDef, type GuardRequirement } from "./machine-ledger.js";
@@ -124,7 +126,7 @@ export { BUILTIN_INTENT_SPECS, registerIntentProfile, getIntentProfile, listInte
124
126
  export { GUARD_SCENES, findScene, inferSceneFromAction, getImmutableScenes, getNumericIdentifierScenes, type GuardScene, };
125
127
  export { SEMANTIC_TO_SCHEMA_RULES, SCHEMA_TO_SEMANTIC_RULES, GUARD_CONSTRAINT_RULES, matchSemanticPattern, explainNode, explainWitness, getConstraintsByCategory, type SemanticToSchemaRule, type SchemaToSemanticRule, type GuardConstraintRule, };
126
128
  export { checkPuzzleCompleteness, generateConfirmationText, initPuzzleFromIntent, inferBindingFromAction, emptyDataSources, getWitnessInfo, WITNESS_NAME_MAP, type GuardPuzzle, type IntentPuzzle, type BindingPuzzle, type DataSourcePuzzle, type OnChainConstantEntry, type WitnessDerivedEntry, type SubmittedObjectEntry, type SubmittedValueEntry, type SystemContextEntry, type QueryPuzzle, type LogicNodePuzzle, type ConstraintChecklist, type PuzzleCompleteness, type PuzzleDimension, };
127
- export { assessGuardRisks, assessGuardRisksForOperation, getRiskSummary, getRiskRulesByDataSourceClass, getAllRiskRules, getRiskRulesCount, type GuardRisk, type GuardRiskAssessment, type GuardStakeholder, type RiskLevel, type RiskCategory, type DataSourceClass, type RiskRule, GUARD_TEMPLATES, GUARD_TEMPLATES_VERSION, GUARD_TEMPLATES_COUNT, getTemplatesByScene, getTemplateById, getTemplatesByIndustry, getTemplatesByPattern, listGuardTemplates, suggestTemplateForScene, getTemplateParameters, validateTemplateParams, type GuardTemplate, type GuardTemplateParam, type TemplateParamType, lintGuard, autoFixGuard, isGuardReady, getGuardErrors, formatLintResult, type GuardJsonInput, type GuardLintResult, type GuardDiagnostic, type DiagnosticSeverity, type DiagnosticSource, type AutoFixAction, };
129
+ export { assessGuardRisks, assessGuardRisksForOperation, getRiskSummary, getRiskRulesByDataSourceClass, getAllRiskRules, getRiskRulesCount, type GuardRisk, type GuardRiskAssessment, type GuardStakeholder, type RiskLevel, type RiskCategory, type DataSourceClass, type RiskRule, GUARD_TEMPLATES, GUARD_TEMPLATES_VERSION, GUARD_TEMPLATES_COUNT, getTemplatesByScene, getTemplateById, getTemplatesByIndustry, getTemplatesByPattern, listGuardTemplates, suggestTemplateForScene, getTemplateParameters, validateTemplateParams, type GuardTemplate, type GuardTemplateParam, type TemplateParamType, GUARD_BINDING_REGISTRY, GUARD_BINDINGS_VERSION, OWNER_RECEIVE_COGNITION, getGuardBindingsByObject, getGuardBinding, summarizeGuardBinding, type GuardBoundObject, type PresetKind, type GuardPresetSlot, SCENARIO_BRIDGE_REGISTRY, SCENARIO_CHAINS, SCENARIO_TOPOLOGY_VERSION, getBridgeById, getBridgesByObject, getChainById, summarizeBridge, detectBridgesForObjects, type ScenarioBridge, type ScenarioChain, type BridgeParticipant, type BridgeField, lintGuard, autoFixGuard, isGuardReady, getGuardErrors, formatLintResult, type GuardJsonInput, type GuardLintResult, type GuardDiagnostic, type DiagnosticSeverity, type DiagnosticSource, type AutoFixAction, };
128
130
  export { MACHINE_SCENES, MACHINE_LEDGER_VERSION, MACHINE_SCENES_COUNT, findMachineScene, getMachineScenesByIndustry, getScenesByPattern, inferSceneFromFlow, type MachineScene, type ParticipantRoleDef, type GuardRequirement, };
129
131
  export { MACHINE_TEMPLATES, MACHINE_TEMPLATES_VERSION, MACHINE_TEMPLATES_COUNT, getAllMachineTemplates, getMachineTemplateById, getMachineTemplatesByScene, getMachineTemplatesByIndustry, suggestTemplateForIntent, walkDecisionTree, fillMachineTemplate, forkMachineTemplate, verifyTemplateSceneReferences, getReferencedGuardTemplateIds, getReferencedRiskIds, type MachineTemplate, type MachineTemplateParam, };
130
132
  export { SEMANTIC_TO_MACHINE_RULES, MACHINE_CONSTRAINT_RULES, MACHINE_TRANSLATION_VERSION, MACHINE_PATTERNS_COUNT, MACHINE_CONSTRAINTS_COUNT, matchMachinePattern, identifyExecutionMode, identifyTopology, explainForwardPermission, getMachineConstraintsByCategory, getConstraintById, getOnChainMachineConstraints, getOffChainMachineConstraints, type SemanticToMachineRule, type MachineConstraintRule, };
@@ -492,7 +494,8 @@ export declare function getKnowledgeBase(): {
492
494
  guard_design_patterns_count: number;
493
495
  verifier_level_guidance_count: number;
494
496
  };
495
- export { fetchMachineNodes, buildWorkflowGuidance, buildWorkflowReceipt, enrichWorkflowGuidance, mergeGuidanceIntoOutput, resolvePermissionRole, fetchPermissionContext, fetchOrderContext, fetchEntityPermission, fetchObjectLinkerCore, fetchObjectLinkerTx, fetchOrdersOfUser, resolveLocalNamesFor, fetchAllFieldObjectIds, batchQueryObjectsByIds, listLocalAccounts, accountCanExecuteForward, type GuidanceResult, type ReceiptResult, type ParsedMachineNode, type ParsedPair, type ParsedForward, type LocalAccountInfo, type PermissionContext, type OrderContext, type EntityPermissionContext, type EntityPermissionItem, type EntityOrderContext, type EntityOrderItem, };
497
+ export { fetchMachineNodes, buildWorkflowGuidance, buildWorkflowReceipt, enrichWorkflowGuidance, mergeGuidanceIntoOutput, resolvePermissionRole, fetchPermissionContext, fetchOrderContext, fetchEntityPermission, fetchEntityContact, fetchObjectLinkerCore, fetchObjectLinkerTx, fetchServiceOrders, fetchOrdersOfUser, resolveLocalNamesFor, fetchAllFieldObjectIds, batchQueryObjectsByIds, batchReadAddressKeyedFields, batchReadU64KeyedFields, listLocalAccounts, accountCanExecuteForward, type GuidanceResult, type ReceiptResult, type ParsedMachineNode, type ParsedPair, type ParsedForward, type LocalAccountInfo, type PermissionContext, type OrderContext, type EntityPermissionContext, type EntityPermissionItem, type EntityOrderContext, type EntityOrderItem, type EntityContactContext, };
498
+ export { buildWorkspaceLists, type WorkspaceListsResult, type WorkspaceListItem, } from "./workspace-lists.js";
496
499
  export { resolveSupplyChainGraph, type SupplyChainGraph, type SupplyChainEdge, type SupplyChainService, type SupplyChainSubmission, } from "./supply-chain.js";
497
500
  export { enumerateObjectOperations, operationCategoryOf, operationComplexityOf, isPermissionIndexType, type OperationCategory, type ComplexityLevel, type OperationComplexity, type WatchOperationDraft, } from "./operation-dictionary.js";
498
501
  export { enumerateServices, enumerateDemands, enumerateArbs, type ServicesEnumAnswer, type DemandsEnumAnswer, type ArbsEnumAnswer, } from "./jsonrpc-enum.js";