@wowok/agent-mcp 2.4.3 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/dist/config/runtime.d.ts +4 -0
  2. package/dist/config/runtime.js +29 -5
  3. package/dist/harness/auto-escalation.d.ts +27 -0
  4. package/dist/harness/auto-escalation.js +68 -0
  5. package/dist/index.js +21 -0
  6. package/dist/knowledge/allocation-confirm.d.ts +115 -0
  7. package/dist/knowledge/allocation-confirm.js +534 -0
  8. package/dist/knowledge/allocation-context.d.ts +58 -0
  9. package/dist/knowledge/allocation-context.js +249 -0
  10. package/dist/knowledge/allocation-ledger.d.ts +67 -0
  11. package/dist/knowledge/allocation-ledger.js +463 -0
  12. package/dist/knowledge/allocation-puzzle.d.ts +135 -0
  13. package/dist/knowledge/allocation-puzzle.js +298 -0
  14. package/dist/knowledge/allocation-risk.d.ts +78 -0
  15. package/dist/knowledge/allocation-risk.js +568 -0
  16. package/dist/knowledge/allocation-templates.d.ts +38 -0
  17. package/dist/knowledge/allocation-templates.js +970 -0
  18. package/dist/knowledge/allocation-translation.d.ts +72 -0
  19. package/dist/knowledge/allocation-translation.js +585 -0
  20. package/dist/knowledge/arb-risk.d.ts +37 -0
  21. package/dist/knowledge/arb-risk.js +210 -0
  22. package/dist/knowledge/arbitration-confirm.d.ts +135 -0
  23. package/dist/knowledge/arbitration-confirm.js +559 -0
  24. package/dist/knowledge/arbitration-context.d.ts +81 -0
  25. package/dist/knowledge/arbitration-context.js +505 -0
  26. package/dist/knowledge/arbitration-ledger.d.ts +62 -0
  27. package/dist/knowledge/arbitration-ledger.js +521 -0
  28. package/dist/knowledge/arbitration-puzzle.d.ts +84 -0
  29. package/dist/knowledge/arbitration-puzzle.js +304 -0
  30. package/dist/knowledge/arbitration-risk.d.ts +112 -0
  31. package/dist/knowledge/arbitration-risk.js +433 -0
  32. package/dist/knowledge/arbitration-templates.d.ts +38 -0
  33. package/dist/knowledge/arbitration-templates.js +276 -0
  34. package/dist/knowledge/arbitration-translation.d.ts +91 -0
  35. package/dist/knowledge/arbitration-translation.js +487 -0
  36. package/dist/knowledge/bridge-risk.d.ts +36 -0
  37. package/dist/knowledge/bridge-risk.js +263 -0
  38. package/dist/knowledge/contact-risk.d.ts +32 -0
  39. package/dist/knowledge/contact-risk.js +200 -0
  40. package/dist/knowledge/demand-confirm.d.ts +32 -0
  41. package/dist/knowledge/demand-confirm.js +206 -0
  42. package/dist/knowledge/demand-risk.d.ts +30 -0
  43. package/dist/knowledge/demand-risk.js +240 -0
  44. package/dist/knowledge/demand-translation.d.ts +55 -0
  45. package/dist/knowledge/demand-translation.js +354 -0
  46. package/dist/knowledge/deployment-scanner.d.ts +63 -0
  47. package/dist/knowledge/deployment-scanner.js +762 -0
  48. package/dist/knowledge/examples-scanner-cli.d.ts +1 -0
  49. package/dist/knowledge/examples-scanner-cli.js +26 -0
  50. package/dist/knowledge/examples-scanner.d.ts +121 -0
  51. package/dist/knowledge/examples-scanner.js +825 -0
  52. package/dist/knowledge/flywheel-loop.d.ts +3 -0
  53. package/dist/knowledge/flywheel-loop.js +32 -3
  54. package/dist/knowledge/glossary.js +3 -1
  55. package/dist/knowledge/guard-confirm.d.ts +86 -0
  56. package/dist/knowledge/guard-confirm.js +406 -0
  57. package/dist/knowledge/guard-context.d.ts +56 -0
  58. package/dist/knowledge/guard-context.js +287 -0
  59. package/dist/knowledge/guard-design-patterns.d.ts +37 -0
  60. package/dist/knowledge/guard-design-patterns.js +257 -0
  61. package/dist/knowledge/guard-puzzle.js +3 -2
  62. package/dist/knowledge/guard-risk.d.ts +1 -1
  63. package/dist/knowledge/guard-risk.js +12 -14
  64. package/dist/knowledge/guard-templates.js +1 -1
  65. package/dist/knowledge/guard-translation.js +6 -5
  66. package/dist/knowledge/index.d.ts +342 -0
  67. package/dist/knowledge/index.js +344 -0
  68. package/dist/knowledge/machine-confirm.d.ts +102 -0
  69. package/dist/knowledge/machine-confirm.js +559 -0
  70. package/dist/knowledge/machine-context.d.ts +160 -0
  71. package/dist/knowledge/machine-context.js +812 -0
  72. package/dist/knowledge/machine-ledger.d.ts +41 -0
  73. package/dist/knowledge/machine-ledger.js +315 -0
  74. package/dist/knowledge/machine-puzzle.d.ts +206 -0
  75. package/dist/knowledge/machine-puzzle.js +494 -0
  76. package/dist/knowledge/machine-risk.d.ts +75 -0
  77. package/dist/knowledge/machine-risk.js +644 -0
  78. package/dist/knowledge/machine-templates.d.ts +92 -0
  79. package/dist/knowledge/machine-templates.js +1592 -0
  80. package/dist/knowledge/machine-topology.d.ts +57 -0
  81. package/dist/knowledge/machine-topology.js +234 -0
  82. package/dist/knowledge/machine-translation.d.ts +96 -0
  83. package/dist/knowledge/machine-translation.js +513 -0
  84. package/dist/knowledge/mcp-schema-audit-cli.d.ts +1 -0
  85. package/dist/knowledge/mcp-schema-audit-cli.js +45 -0
  86. package/dist/knowledge/mcp-schema-audit.d.ts +90 -0
  87. package/dist/knowledge/mcp-schema-audit.js +772 -0
  88. package/dist/knowledge/onchain-constants.d.ts +4 -0
  89. package/dist/knowledge/onchain-constants.js +35 -0
  90. package/dist/knowledge/order-confirm.d.ts +115 -0
  91. package/dist/knowledge/order-confirm.js +573 -0
  92. package/dist/knowledge/order-context.d.ts +66 -0
  93. package/dist/knowledge/order-context.js +390 -0
  94. package/dist/knowledge/order-ledger.d.ts +69 -0
  95. package/dist/knowledge/order-ledger.js +341 -0
  96. package/dist/knowledge/order-puzzle.d.ts +159 -0
  97. package/dist/knowledge/order-puzzle.js +255 -0
  98. package/dist/knowledge/order-risk.d.ts +66 -0
  99. package/dist/knowledge/order-risk.js +653 -0
  100. package/dist/knowledge/order-templates.d.ts +50 -0
  101. package/dist/knowledge/order-templates.js +368 -0
  102. package/dist/knowledge/order-translation.d.ts +78 -0
  103. package/dist/knowledge/order-translation.js +550 -0
  104. package/dist/knowledge/passport-confirm.d.ts +130 -0
  105. package/dist/knowledge/passport-confirm.js +531 -0
  106. package/dist/knowledge/passport-context.d.ts +59 -0
  107. package/dist/knowledge/passport-context.js +306 -0
  108. package/dist/knowledge/passport-ledger.d.ts +48 -0
  109. package/dist/knowledge/passport-ledger.js +282 -0
  110. package/dist/knowledge/passport-puzzle.d.ts +108 -0
  111. package/dist/knowledge/passport-puzzle.js +333 -0
  112. package/dist/knowledge/passport-risk.d.ts +70 -0
  113. package/dist/knowledge/passport-risk.js +450 -0
  114. package/dist/knowledge/passport-templates.d.ts +40 -0
  115. package/dist/knowledge/passport-templates.js +568 -0
  116. package/dist/knowledge/passport-translation.d.ts +68 -0
  117. package/dist/knowledge/passport-translation.js +516 -0
  118. package/dist/knowledge/payment-risk.d.ts +33 -0
  119. package/dist/knowledge/payment-risk.js +182 -0
  120. package/dist/knowledge/permission-confirm.d.ts +110 -0
  121. package/dist/knowledge/permission-confirm.js +426 -0
  122. package/dist/knowledge/permission-context.d.ts +58 -0
  123. package/dist/knowledge/permission-context.js +224 -0
  124. package/dist/knowledge/permission-ledger.d.ts +38 -0
  125. package/dist/knowledge/permission-ledger.js +403 -0
  126. package/dist/knowledge/permission-puzzle.d.ts +122 -0
  127. package/dist/knowledge/permission-puzzle.js +173 -0
  128. package/dist/knowledge/permission-risk.d.ts +76 -0
  129. package/dist/knowledge/permission-risk.js +411 -0
  130. package/dist/knowledge/permission-templates.d.ts +38 -0
  131. package/dist/knowledge/permission-templates.js +234 -0
  132. package/dist/knowledge/permission-translation.d.ts +57 -0
  133. package/dist/knowledge/permission-translation.js +350 -0
  134. package/dist/knowledge/personal-risk.d.ts +36 -0
  135. package/dist/knowledge/personal-risk.js +212 -0
  136. package/dist/knowledge/progress-confirm.d.ts +108 -0
  137. package/dist/knowledge/progress-confirm.js +456 -0
  138. package/dist/knowledge/progress-context.d.ts +123 -0
  139. package/dist/knowledge/progress-context.js +452 -0
  140. package/dist/knowledge/progress-ledger.d.ts +63 -0
  141. package/dist/knowledge/progress-ledger.js +327 -0
  142. package/dist/knowledge/progress-puzzle.d.ts +82 -0
  143. package/dist/knowledge/progress-puzzle.js +219 -0
  144. package/dist/knowledge/progress-risk.d.ts +74 -0
  145. package/dist/knowledge/progress-risk.js +461 -0
  146. package/dist/knowledge/progress-templates.d.ts +38 -0
  147. package/dist/knowledge/progress-templates.js +228 -0
  148. package/dist/knowledge/progress-translation.d.ts +52 -0
  149. package/dist/knowledge/progress-translation.js +401 -0
  150. package/dist/knowledge/proof-confirm.d.ts +31 -0
  151. package/dist/knowledge/proof-confirm.js +187 -0
  152. package/dist/knowledge/proof-risk.d.ts +33 -0
  153. package/dist/knowledge/proof-risk.js +207 -0
  154. package/dist/knowledge/proof-translation.d.ts +52 -0
  155. package/dist/knowledge/proof-translation.js +283 -0
  156. package/dist/knowledge/registrar-risk.d.ts +34 -0
  157. package/dist/knowledge/registrar-risk.js +217 -0
  158. package/dist/knowledge/repository-confirm.d.ts +36 -0
  159. package/dist/knowledge/repository-confirm.js +242 -0
  160. package/dist/knowledge/repository-risk.d.ts +40 -0
  161. package/dist/knowledge/repository-risk.js +312 -0
  162. package/dist/knowledge/repository-translation.d.ts +58 -0
  163. package/dist/knowledge/repository-translation.js +422 -0
  164. package/dist/knowledge/resource-risk.d.ts +32 -0
  165. package/dist/knowledge/resource-risk.js +157 -0
  166. package/dist/knowledge/reward-confirm.d.ts +113 -0
  167. package/dist/knowledge/reward-confirm.js +496 -0
  168. package/dist/knowledge/reward-context.d.ts +127 -0
  169. package/dist/knowledge/reward-context.js +504 -0
  170. package/dist/knowledge/reward-ledger.d.ts +96 -0
  171. package/dist/knowledge/reward-ledger.js +502 -0
  172. package/dist/knowledge/reward-puzzle.d.ts +97 -0
  173. package/dist/knowledge/reward-puzzle.js +288 -0
  174. package/dist/knowledge/reward-risk.d.ts +84 -0
  175. package/dist/knowledge/reward-risk.js +545 -0
  176. package/dist/knowledge/reward-translation.d.ts +58 -0
  177. package/dist/knowledge/reward-translation.js +501 -0
  178. package/dist/knowledge/safety-rules.js +11 -3
  179. package/dist/knowledge/scenario-modes.d.ts +53 -0
  180. package/dist/knowledge/scenario-modes.js +302 -0
  181. package/dist/knowledge/service-confirm.d.ts +152 -0
  182. package/dist/knowledge/service-confirm.js +699 -0
  183. package/dist/knowledge/service-context.d.ts +66 -0
  184. package/dist/knowledge/service-context.js +403 -0
  185. package/dist/knowledge/service-ledger.d.ts +71 -0
  186. package/dist/knowledge/service-ledger.js +609 -0
  187. package/dist/knowledge/service-puzzle.d.ts +158 -0
  188. package/dist/knowledge/service-puzzle.js +236 -0
  189. package/dist/knowledge/service-risk.d.ts +108 -0
  190. package/dist/knowledge/service-risk.js +615 -0
  191. package/dist/knowledge/service-templates.d.ts +39 -0
  192. package/dist/knowledge/service-templates.js +418 -0
  193. package/dist/knowledge/service-translation.d.ts +103 -0
  194. package/dist/knowledge/service-translation.js +622 -0
  195. package/dist/knowledge/tools-reference.d.ts +17 -0
  196. package/dist/knowledge/tools-reference.js +151 -0
  197. package/dist/knowledge/treasury-confirm.d.ts +133 -0
  198. package/dist/knowledge/treasury-confirm.js +512 -0
  199. package/dist/knowledge/treasury-context.d.ts +64 -0
  200. package/dist/knowledge/treasury-context.js +363 -0
  201. package/dist/knowledge/treasury-ledger.d.ts +42 -0
  202. package/dist/knowledge/treasury-ledger.js +300 -0
  203. package/dist/knowledge/treasury-puzzle.d.ts +163 -0
  204. package/dist/knowledge/treasury-puzzle.js +216 -0
  205. package/dist/knowledge/treasury-risk.d.ts +86 -0
  206. package/dist/knowledge/treasury-risk.js +440 -0
  207. package/dist/knowledge/treasury-templates.d.ts +38 -0
  208. package/dist/knowledge/treasury-templates.js +316 -0
  209. package/dist/knowledge/treasury-translation.d.ts +78 -0
  210. package/dist/knowledge/treasury-translation.js +498 -0
  211. package/dist/knowledge/util-risk.d.ts +30 -0
  212. package/dist/knowledge/util-risk.js +135 -0
  213. package/dist/project/business-puzzle.d.ts +47 -0
  214. package/dist/project/business-puzzle.js +372 -0
  215. package/dist/project/deployment-doc.d.ts +61 -0
  216. package/dist/project/deployment-doc.js +432 -0
  217. package/dist/project/risk-aggregator.d.ts +50 -0
  218. package/dist/project/risk-aggregator.js +280 -0
  219. package/dist/project/substep-trace.d.ts +130 -0
  220. package/dist/project/substep-trace.js +332 -0
  221. package/dist/schema/call/allocation.d.ts +34 -34
  222. package/dist/schema/call/arbitration.d.ts +141 -141
  223. package/dist/schema/call/base.d.ts +386 -386
  224. package/dist/schema/call/base.js +3 -3
  225. package/dist/schema/call/bridge-handler.d.ts +5 -2
  226. package/dist/schema/call/bridge.d.ts +159 -159
  227. package/dist/schema/call/contact.d.ts +110 -110
  228. package/dist/schema/call/demand.d.ts +76 -76
  229. package/dist/schema/call/handler.d.ts +2 -3
  230. package/dist/schema/call/handler.js +1 -1
  231. package/dist/schema/call/machine.d.ts +58 -58
  232. package/dist/schema/call/order.d.ts +98 -110
  233. package/dist/schema/call/permission-handler.d.ts +5 -0
  234. package/dist/schema/call/permission-handler.js +54 -0
  235. package/dist/schema/call/permission.d.ts +108 -108
  236. package/dist/schema/call/personal.d.ts +14 -14
  237. package/dist/schema/call/progress.d.ts +57 -72
  238. package/dist/schema/call/progress.js +7 -4
  239. package/dist/schema/call/proof.d.ts +18 -18
  240. package/dist/schema/call/proof.js +12 -7
  241. package/dist/schema/call/repository.d.ts +154 -154
  242. package/dist/schema/call/reward.d.ts +55 -55
  243. package/dist/schema/call/service.d.ts +231 -231
  244. package/dist/schema/call/treasury.d.ts +93 -93
  245. package/dist/schema/config/index.d.ts +178 -5
  246. package/dist/schema/config/index.js +52 -1
  247. package/dist/schema/local/index.d.ts +3554 -836
  248. package/dist/schema/local/index.js +2 -1
  249. package/dist/schema/messenger/index.d.ts +162 -162
  250. package/dist/schema/operations.d.ts +1058 -1074
  251. package/dist/schema/operations.js +7 -1
  252. package/dist/schema/project/index.d.ts +1412 -6
  253. package/dist/schema/project/index.js +441 -3
  254. package/dist/schema/query/index.d.ts +672 -672
  255. package/dist/schema/schema-query/index.d.ts +23 -3
  256. package/dist/schema/schema-query/index.js +13 -2
  257. package/dist/schema/sync-layer4.d.ts +21 -0
  258. package/dist/schema/sync-layer4.js +261 -0
  259. package/dist/schema/trust/index.d.ts +26 -26
  260. package/dist/schemas/account_operation.output.json +718 -0
  261. package/dist/schemas/config_operation.output.json +173 -0
  262. package/dist/schemas/index.json +9 -1
  263. package/dist/schemas/local_info_operation.output.json +718 -0
  264. package/dist/schemas/local_mark_operation.output.json +718 -0
  265. package/dist/schemas/onchain_operations.output.json +3 -2
  266. package/dist/schemas/onchain_operations.schema.json +1809 -336
  267. package/dist/schemas/onchain_operations_allocation.schema.json +2 -1
  268. package/dist/schemas/onchain_operations_arbitration.schema.json +2 -1
  269. package/dist/schemas/onchain_operations_contact.schema.json +2 -1
  270. package/dist/schemas/onchain_operations_demand.schema.json +2 -1
  271. package/dist/schemas/onchain_operations_gen_passport.schema.json +878 -872
  272. package/dist/schemas/onchain_operations_gen_proof.schema.json +273 -0
  273. package/dist/schemas/onchain_operations_guard.schema.json +578 -579
  274. package/dist/schemas/onchain_operations_machine.schema.json +2 -1
  275. package/dist/schemas/onchain_operations_order.schema.json +13 -9
  276. package/dist/schemas/onchain_operations_payment.schema.json +0 -514
  277. package/dist/schemas/onchain_operations_permission.schema.json +0 -514
  278. package/dist/schemas/onchain_operations_personal.schema.json +0 -514
  279. package/dist/schemas/onchain_operations_progress.schema.json +14 -10
  280. package/dist/schemas/onchain_operations_proof.schema.json +699 -0
  281. package/dist/schemas/onchain_operations_repository.schema.json +2 -1
  282. package/dist/schemas/onchain_operations_reward.schema.json +2 -1
  283. package/dist/schemas/onchain_operations_service.schema.json +2 -1
  284. package/dist/schemas/onchain_operations_treasury.schema.json +2 -1
  285. package/dist/schemas/onchain_table_data.schema.json +32 -1
  286. package/dist/schemas/project_operation.output.json +918 -0
  287. package/dist/schemas/project_operation.schema.json +474 -3
  288. package/dist/schemas/query_toolkit.output.json +14906 -6
  289. package/dist/schemas/schema_query.output.json +38 -1
  290. package/dist/telemetry/index.d.ts +1 -1
  291. package/dist/tools/handlers/config.d.ts +1 -1
  292. package/dist/tools/handlers/config.js +21 -18
  293. package/dist/tools/handlers/file-export.d.ts +2 -2
  294. package/dist/tools/handlers/local.d.ts +3 -30
  295. package/dist/tools/handlers/local.js +14 -3
  296. package/dist/tools/handlers/messenger.d.ts +1 -1
  297. package/dist/tools/handlers/messenger.js +2 -1
  298. package/dist/tools/handlers/onchain.d.ts +1 -1
  299. package/dist/tools/handlers/onchain.js +24 -22
  300. package/dist/tools/handlers/project.d.ts +1 -1
  301. package/dist/tools/handlers/project.js +262 -18
  302. package/dist/tools/handlers/query.d.ts +4 -4
  303. package/dist/tools/handlers/schema-query.d.ts +1 -1
  304. package/dist/tools/handlers/schema-query.js +21 -20
  305. package/dist/tools/handlers/trust.d.ts +1 -1
  306. package/dist/tools/handlers/trust.js +2 -2
  307. package/dist/tools/handlers/wip.d.ts +1 -1
  308. package/dist/tools/handlers/wip.js +1 -1
  309. package/dist/tools/index.d.ts +1 -1
  310. package/dist/tools/index.js +96 -25
  311. package/dist/tools/rules-hook.d.ts +1 -1
  312. package/dist/tools/rules-hook.js +3 -2
  313. package/dist/tools/shared.d.ts +13 -22
  314. package/dist/tools/types.d.ts +5 -5
  315. package/dist/tools/wrap.d.ts +10 -2
  316. package/dist/tools/wrap.js +212 -0
  317. package/package.json +3 -3
@@ -0,0 +1,403 @@
1
+ export const REPOSITORY_PERMISSIONS = [
2
+ { index: 100, name: "REPOSITORY_NEW", description: "Create new Repository policy", governed_operation: "repository::new" },
3
+ { index: 101, name: "REPOSITORY_DESCRIPTION", description: "Modify Repository description", governed_operation: "repository::description_set" },
4
+ { index: 102, name: "REPOSITORY_POLICY", description: "Modify Repository policy", governed_operation: "repository::policy_set" },
5
+ { index: 103, name: "REPOSITORY_REWARD", description: "Set Repository reward", governed_operation: "repository::reward_set" },
6
+ { index: 104, name: "REPOSITORY_OWNER_RECEIVE", description: "Owner receive", governed_operation: "repository::owner_receive" },
7
+ { index: 105, name: "REPOSITORY_UM", description: "Set UM (User Manager)", governed_operation: "repository::um_set" },
8
+ ];
9
+ export const REWARD_PERMISSIONS = [
10
+ { index: 150, name: "REWARD_NEW", description: "Create new Reward", governed_operation: "reward::new" },
11
+ { index: 151, name: "REWARD_DESCRIPTION", description: "Modify Reward description", governed_operation: "reward::description_set" },
12
+ { index: 152, name: "REWARD_GUARD", description: "Set Reward guard", governed_operation: "reward::guard_set" },
13
+ { index: 153, name: "REWARD_COIN_ADD", description: "Add coins to Reward", governed_operation: "reward::coin_add" },
14
+ { index: 154, name: "REWARD_RECEIVE", description: "Receive reward", governed_operation: "reward::receive" },
15
+ { index: 155, name: "REWARD_GUARD_EXPIRATION_TIME_ADD", description: "Extend guard expiration", governed_operation: "reward::guard_expiration_time_add" },
16
+ { index: 156, name: "REWARD_OWNER_RECEIVE", description: "Owner receive", governed_operation: "reward::owner_receive" },
17
+ { index: 157, name: "REWARD_UM", description: "Set UM", governed_operation: "reward::um_set" },
18
+ ];
19
+ export const MACHINE_PERMISSIONS = [
20
+ { index: 200, name: "MACHINE_NEW", description: "Create new Machine", governed_operation: "machine::new" },
21
+ { index: 201, name: "MACHINE_DESCRIPTION", description: "Modify Machine description", governed_operation: "machine::description_set" },
22
+ { index: 203, name: "MACHINE_CONSENSUS_REPOSITORIES", description: "Set consensus Repositories", governed_operation: "machine::consensus_repositories_set" },
23
+ { index: 204, name: "MACHINE_PAUSE", description: "Pause/resume Machine", governed_operation: "machine::pause" },
24
+ { index: 205, name: "MACHINE_PUBLISH", description: "Publish Machine (irreversible)", governed_operation: "machine::publish" },
25
+ { index: 206, name: "MACHINE_NODE", description: "Modify Machine nodes", governed_operation: "machine::node_*" },
26
+ { index: 207, name: "MACHINE_OWNER_RECEIVE", description: "Owner receive", governed_operation: "machine::owner_receive" },
27
+ { index: 208, name: "MACHINE_UM", description: "Set UM", governed_operation: "machine::um_set" },
28
+ ];
29
+ export const PROGRESS_PERMISSIONS = [
30
+ { index: 220, name: "PROGRESS_NEW", description: "Create new Progress", governed_operation: "progress::new" },
31
+ { index: 221, name: "PROGRESS_NAMED_OPERATOR", description: "Manage named operators", governed_operation: "progress::named_operator_*" },
32
+ { index: 222, name: "PROGRESS_TASK", description: "Submit task", governed_operation: "progress::task" },
33
+ { index: 223, name: "PROGRESS_CONTEXT_REPOSITORY", description: "Set context Repository", governed_operation: "progress::context_repository_set" },
34
+ { index: 224, name: "PROGRESS_UNHOLD", description: "Unhold Progress", governed_operation: "progress::unhold" },
35
+ { index: 225, name: "PROGRESS_OWNER_RECEIVE", description: "Owner receive", governed_operation: "progress::owner_receive" },
36
+ ];
37
+ export const TREASURY_PERMISSIONS = [
38
+ { index: 250, name: "TREASURY_NEW", description: "Create new Treasury", governed_operation: "treasury::new" },
39
+ { index: 251, name: "TREASURY_DESCRIPTION", description: "Modify Treasury description", governed_operation: "treasury::description_set" },
40
+ { index: 252, name: "TREASURY_DEPOSIT", description: "Deposit funds", governed_operation: "treasury::deposit" },
41
+ { index: 253, name: "TREASURY_RECEIVE", description: "Receive funds", governed_operation: "treasury::receive" },
42
+ { index: 254, name: "TREASURY_WITHDRAW", description: "Withdraw funds", governed_operation: "treasury::withdraw" },
43
+ { index: 255, name: "TREASURY_EXTERNAL_DEPOSIT_GUARD", description: "Manage external deposit Guard list", governed_operation: "treasury::external_deposit_guard_add/remove/clear" },
44
+ { index: 256, name: "TREASURY_EXTERNAL_WITHDRAW_GUARD", description: "Manage external withdraw Guard list", governed_operation: "treasury::external_withdraw_guard_add/remove/clear" },
45
+ { index: 257, name: "TREASURY_OWNER_RECEIVE", description: "Owner receive", governed_operation: "treasury::owner_receive" },
46
+ { index: 258, name: "TREASURY_UM", description: "Set UM", governed_operation: "treasury::um_set" },
47
+ ];
48
+ export const SERVICE_PERMISSIONS = [
49
+ { index: 300, name: "SERVICE_NEW", description: "Create new Service", governed_operation: "service::new" },
50
+ { index: 301, name: "SERVICE_DESCRIPTION", description: "Modify Service description", governed_operation: "service::description_set" },
51
+ { index: 303, name: "SERVICE_LOCATION", description: "Set Service location", governed_operation: "service::location_set" },
52
+ { index: 304, name: "SERVICE_REPOSITORY", description: "Set Service repository", governed_operation: "service::repository_set" },
53
+ { index: 305, name: "SERVICE_SALES", description: "Modify sales", governed_operation: "service::sales_*" },
54
+ { index: 306, name: "SERVICE_MACHINE", description: "Bind/modify Machine", governed_operation: "service::machine_set" },
55
+ { index: 307, name: "SERVICE_BUY_GUARD", description: "Set buy guard", governed_operation: "service::buy_guard_set" },
56
+ { index: 308, name: "SERVICE_ARBITRATION", description: "Set Arbitration", governed_operation: "service::arbitration_set" },
57
+ { index: 309, name: "SERVICE_CUSTOMER_INFO_REQUIRED", description: "Set customer info required", governed_operation: "service::customer_info_required_set" },
58
+ { index: 310, name: "SERVICE_PAUSE", description: "Pause/resume Service", governed_operation: "service::pause" },
59
+ { index: 311, name: "SERVICE_PUBLISH", description: "Publish Service", governed_operation: "service::publish" },
60
+ { index: 312, name: "SERVICE_DISCOUNT", description: "Set discount", governed_operation: "service::discount_set" },
61
+ { index: 313, name: "SERVICE_ORDER_ALLOCATOR", description: "Set order allocator", governed_operation: "service::order_allocator_set" },
62
+ { index: 314, name: "SERVICE_COMPENSATION_FUND_DEPOSIT", description: "Deposit to compensation fund", governed_operation: "service::compensation_fund_deposit" },
63
+ { index: 315, name: "SERVICE_COMPENSATION_FUND_WITHDRAW", description: "Withdraw from compensation fund", governed_operation: "service::compensation_fund_withdraw" },
64
+ { index: 316, name: "SERVICE_COMPENSATION_FUND_FREEZE", description: "Freeze compensation fund", governed_operation: "service::compensation_fund_freeze" },
65
+ { index: 317, name: "SERVICE_COMPENSATION_FUND_UNFREEZE", description: "Unfreeze compensation fund", governed_operation: "service::compensation_fund_unfreeze" },
66
+ { index: 318, name: "SERVICE_REWARD", description: "Set reward", governed_operation: "service::reward_set" },
67
+ { index: 319, name: "SERVICE_OWNER_RECEIVE", description: "Owner receive", governed_operation: "service::owner_receive" },
68
+ { index: 320, name: "SERVICE_UM", description: "Set UM", governed_operation: "service::um_set" },
69
+ ];
70
+ export const ARBITRATION_PERMISSIONS = [
71
+ { index: 350, name: "ARBITRATION_NEW", description: "Create new Arbitration", governed_operation: "arbitration::new" },
72
+ { index: 351, name: "ARBITRATION_DESCRIPTION", description: "Modify description", governed_operation: "arbitration::description_set" },
73
+ { index: 353, name: "ARBITRATION_LOCATION", description: "Set location", governed_operation: "arbitration::location_set" },
74
+ { index: 354, name: "ARBITRATION_VOTING_GUARD", description: "Set voting guard", governed_operation: "arbitration::voting_guard_set" },
75
+ { index: 355, name: "ARBITRATION_USAGE_GUARD", description: "Set usage guard", governed_operation: "arbitration::usage_guard_set" },
76
+ { index: 356, name: "ARBITRATION_PAUSE", description: "Pause/resume", governed_operation: "arbitration::pause" },
77
+ { index: 357, name: "ARBITRATION_FEE", description: "Set fee", governed_operation: "arbitration::fee_set" },
78
+ { index: 358, name: "ARBITRATION_VOTE", description: "Vote", governed_operation: "arbitration::vote" },
79
+ { index: 359, name: "ARBITRATION_ARBITRATION", description: "Arbitrate dispute", governed_operation: "arbitration::arbitration" },
80
+ { index: 360, name: "ARBITRATION_FEEDBACK", description: "Provide feedback", governed_operation: "arbitration::feedback" },
81
+ { index: 361, name: "ARBITRATION_CONFIRM", description: "Confirm resolution", governed_operation: "arbitration::confirm" },
82
+ { index: 362, name: "ARBITRATION_VOTING_DEADLINE_CHANGE", description: "Change voting deadline", governed_operation: "arbitration::voting_deadline_change" },
83
+ { index: 363, name: "ARBITRATION_RESET", description: "Reset arbitration", governed_operation: "arbitration::reset" },
84
+ { index: 364, name: "ARBITRATION_ARB_WITHDRAW", description: "Arb withdraw", governed_operation: "arbitration::arb_withdraw" },
85
+ { index: 365, name: "ARBITRATION_FEES_ALLOC", description: "Allocate fees", governed_operation: "arbitration::fees_alloc" },
86
+ { index: 366, name: "ARBITRATION_FEES_TRANSFER", description: "Transfer fees", governed_operation: "arbitration::fees_transfer" },
87
+ { index: 367, name: "ARBITRATION_OWNER_RECEIVE", description: "Owner receive", governed_operation: "arbitration::owner_receive" },
88
+ { index: 368, name: "ARBITRATION_UM", description: "Set UM", governed_operation: "arbitration::um_set" },
89
+ ];
90
+ export const DEMAND_PERMISSIONS = [
91
+ { index: 400, name: "DEMAND_NEW", description: "Create new Demand", governed_operation: "demand::new" },
92
+ { index: 401, name: "DEMAND_DESCRIPTION", description: "Modify description", governed_operation: "demand::description_set" },
93
+ { index: 402, name: "DEMAND_LOCATION", description: "Set location", governed_operation: "demand::location_set" },
94
+ { index: 404, name: "DEMAND_GUARD", description: "Set guard", governed_operation: "demand::guard_set" },
95
+ { index: 405, name: "DEMAND_REWARD", description: "Set reward", governed_operation: "demand::reward_set" },
96
+ { index: 406, name: "DEMAND_FEEDBACK", description: "Provide feedback", governed_operation: "demand::feedback" },
97
+ { index: 407, name: "DEMAND_OWNER_RECEIVE", description: "Owner receive", governed_operation: "demand::owner_receive" },
98
+ { index: 408, name: "DEMAND_UM", description: "Set UM", governed_operation: "demand::um_set" },
99
+ ];
100
+ export const CONTACT_PERMISSIONS = [
101
+ { index: 450, name: "CONTACT_NEW", description: "Create new Contact", governed_operation: "contact::new" },
102
+ { index: 451, name: "CONTACT_DESCRIPTION", description: "Modify description", governed_operation: "contact::description_set" },
103
+ { index: 452, name: "CONTACT_LOCATION", description: "Set location", governed_operation: "contact::location_set" },
104
+ { index: 453, name: "CONTACT_IM", description: "Set IM", governed_operation: "contact::im_set" },
105
+ { index: 454, name: "CONTACT_OWNER_RECEIVE", description: "Owner receive", governed_operation: "contact::owner_receive" },
106
+ ];
107
+ export const PERMISSION_SCENES = [
108
+ {
109
+ id: "service_permission",
110
+ name: "Service publish & operation permission",
111
+ host_object: "Service",
112
+ permission_index_range: "300-320",
113
+ builtin_indexes: SERVICE_PERMISSIONS,
114
+ owner_operations: ["um_set", "builder (transfer)"],
115
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
116
+ permission_index_operations: [
117
+ "service::publish (311)",
118
+ "service::pause (310)",
119
+ "service::machine_set (306)",
120
+ "service::buy_guard_set (307)",
121
+ "service::order_allocator_set (313)",
122
+ "service::reward_set (318)",
123
+ "service::compensation_fund_* (314-317)",
124
+ ],
125
+ mutable_after_publish: true,
126
+ common_patterns: [
127
+ "Owner-only publish: only owner/admin has SERVICE_PUBLISH (311)",
128
+ "Separate pause role: delegate SERVICE_PAUSE (310) to operator",
129
+ "Allocator guard: SERVICE_ORDER_ALLOCATOR (313) guarded by Guard",
130
+ ],
131
+ recommended_templates: ["T-P-03", "T-P-02"],
132
+ },
133
+ {
134
+ id: "machine_permission",
135
+ name: "Machine workflow permission",
136
+ host_object: "Machine",
137
+ permission_index_range: "200-208",
138
+ builtin_indexes: MACHINE_PERMISSIONS,
139
+ owner_operations: ["um_set", "builder (transfer)"],
140
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
141
+ permission_index_operations: [
142
+ "machine::publish (205)",
143
+ "machine::node_* (206)",
144
+ "machine::pause (204)",
145
+ "machine::consensus_repositories_set (203)",
146
+ ],
147
+ mutable_after_publish: true,
148
+ common_patterns: [
149
+ "Pre-publish node editing: MACHINE_NODE (206) before publish only",
150
+ "Post-publish: only Forward.guard can be modified; node structure frozen",
151
+ "Consensus repositories: MACHINE_CONSENSUS_REPOSITORIES (203) for multi-repo consensus",
152
+ ],
153
+ recommended_templates: ["T-P-04", "T-P-01"],
154
+ },
155
+ {
156
+ id: "treasury_permission",
157
+ name: "Treasury fund management permission",
158
+ host_object: "Treasury",
159
+ permission_index_range: "250-258",
160
+ builtin_indexes: TREASURY_PERMISSIONS,
161
+ owner_operations: ["um_set", "builder (transfer)"],
162
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
163
+ permission_index_operations: [
164
+ "treasury::deposit (252)",
165
+ "treasury::withdraw (254)",
166
+ "treasury::external_deposit_guard_* (255)",
167
+ "treasury::external_withdraw_guard_* (256)",
168
+ "treasury::owner_receive (257)",
169
+ "treasury::um_set (258)",
170
+ ],
171
+ mutable_after_publish: true,
172
+ common_patterns: [
173
+ "Guard-protected external ops: TREASURY_EXTERNAL_*_GUARD (255/256) for cross-treasury safety; external_deposit/external_withdraw use Guard + Passport, no Permission index",
174
+ "Withdraw restricted to owner+admin: TREASURY_WITHDRAW (254) tightly held",
175
+ "UM delegation: TREASURY_UM (258) for contact management",
176
+ ],
177
+ recommended_templates: ["T-P-05", "T-P-02"],
178
+ },
179
+ {
180
+ id: "allocation_permission",
181
+ name: "Allocation strategy permission (custom)",
182
+ host_object: "Allocation",
183
+ permission_index_range: ">=1000 (custom)",
184
+ builtin_indexes: [],
185
+ owner_operations: ["um_set", "builder (transfer)"],
186
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
187
+ permission_index_operations: [
188
+ "allocation::alloc (custom index)",
189
+ "allocation::receive (custom index)",
190
+ ],
191
+ mutable_after_publish: true,
192
+ common_patterns: [
193
+ "Custom index >= 1000 for business-specific allocation rules",
194
+ "Guard-bound alloc: alloc operation requires Guard verification",
195
+ "Multi-entity: multiple allocators share same permission_index",
196
+ ],
197
+ recommended_templates: ["T-P-01", "T-P-02"],
198
+ },
199
+ {
200
+ id: "arbitration_permission",
201
+ name: "Arbitration case management permission",
202
+ host_object: "Arbitration",
203
+ permission_index_range: "350-368",
204
+ builtin_indexes: ARBITRATION_PERMISSIONS,
205
+ owner_operations: ["um_set", "builder (transfer)"],
206
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
207
+ permission_index_operations: [
208
+ "arbitration::vote (358)",
209
+ "arbitration::arbitration (359)",
210
+ "arbitration::feedback (360)",
211
+ "arbitration::confirm (361)",
212
+ "arbitration::voting_deadline_change (362)",
213
+ "arbitration::reset (363)",
214
+ "arbitration::fees_alloc (365)",
215
+ ],
216
+ mutable_after_publish: true,
217
+ common_patterns: [
218
+ "Arb committee: ARBITRATION_VOTE (358) granted to multiple arbiters",
219
+ "Open voting guard: voting_guard allows public to vote (weight=1)",
220
+ "Guard-based usage: usage_guard filters which disputes can be filed",
221
+ ],
222
+ recommended_templates: ["T-P-06", "T-P-02"],
223
+ },
224
+ {
225
+ id: "repository_permission",
226
+ name: "Repository policy management permission",
227
+ host_object: "Repository",
228
+ permission_index_range: "100-105",
229
+ builtin_indexes: REPOSITORY_PERMISSIONS,
230
+ owner_operations: ["um_set", "builder (transfer)"],
231
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
232
+ permission_index_operations: [
233
+ "repository::policy_set (102)",
234
+ "repository::reward_set (103)",
235
+ ],
236
+ mutable_after_publish: true,
237
+ common_patterns: [
238
+ "Public read: anyone can read Repository data",
239
+ "Owner-write: REPOSITORY_POLICY (102) restricted to owner/admin",
240
+ "Reward binding: REPOSITORY_REWARD (103) for incentive distribution",
241
+ ],
242
+ recommended_templates: ["T-P-01"],
243
+ },
244
+ {
245
+ id: "reward_permission",
246
+ name: "Reward distribution permission",
247
+ host_object: "Reward",
248
+ permission_index_range: "150-157",
249
+ builtin_indexes: REWARD_PERMISSIONS,
250
+ owner_operations: ["um_set", "builder (transfer)"],
251
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
252
+ permission_index_operations: [
253
+ "reward::guard_set (152)",
254
+ "reward::coin_add (153)",
255
+ "reward::receive (154)",
256
+ "reward::guard_expiration_time_add (155)",
257
+ ],
258
+ mutable_after_publish: true,
259
+ common_patterns: [
260
+ "Guard-bound claim: REWARD_RECEIVE (154) protected by Guard",
261
+ "Coin refill: REWARD_COIN_ADD (153) for owner-only top-up",
262
+ "Expiration extension: REWARD_GUARD_EXPIRATION_TIME_ADD (155) for deadline mgmt",
263
+ ],
264
+ recommended_templates: ["T-P-01"],
265
+ },
266
+ {
267
+ id: "progress_permission",
268
+ name: "Progress workflow advancement permission",
269
+ host_object: "Progress",
270
+ permission_index_range: "220-225",
271
+ builtin_indexes: PROGRESS_PERMISSIONS,
272
+ owner_operations: ["um_set", "builder (transfer)"],
273
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
274
+ permission_index_operations: [
275
+ "progress::task (222)",
276
+ "progress::named_operator_* (221)",
277
+ "progress::context_repository_set (223)",
278
+ "progress::unhold (224)",
279
+ ],
280
+ mutable_after_publish: false,
281
+ common_patterns: [
282
+ "Named operator: PROGRESS_NAMED_OPERATOR (221) for assigned operators",
283
+ "Task submission: PROGRESS_TASK (222) for any authorized submitter",
284
+ "Machine-bound: Progress permission effective only after Machine publish",
285
+ ],
286
+ recommended_templates: ["T-P-01"],
287
+ },
288
+ {
289
+ id: "demand_permission",
290
+ name: "Demand publication permission",
291
+ host_object: "Demand",
292
+ permission_index_range: "400-408",
293
+ builtin_indexes: DEMAND_PERMISSIONS,
294
+ owner_operations: ["um_set", "builder (transfer)"],
295
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
296
+ permission_index_operations: [
297
+ "demand::guard_set (404)",
298
+ "demand::reward_set (405)",
299
+ "demand::feedback (406)",
300
+ ],
301
+ mutable_after_publish: true,
302
+ common_patterns: [
303
+ "Public demand: anyone can view; only owner can publish",
304
+ "Feedback channel: DEMAND_FEEDBACK (406) for community input",
305
+ "Guard filtering: DEMAND_GUARD (404) for service eligibility",
306
+ ],
307
+ recommended_templates: ["T-P-01"],
308
+ },
309
+ {
310
+ id: "contact_permission",
311
+ name: "Contact/Messenger management permission",
312
+ host_object: "Contact",
313
+ permission_index_range: "450-454",
314
+ builtin_indexes: CONTACT_PERMISSIONS,
315
+ owner_operations: ["um_set", "builder (transfer)"],
316
+ admin_operations: ["description_set", "remark_*", "perm_*", "entity_*", "admin_*"],
317
+ permission_index_operations: [
318
+ "contact::im_set (453)",
319
+ ],
320
+ mutable_after_publish: true,
321
+ common_patterns: [
322
+ "Personal contact: usually single-owner",
323
+ "IM binding: CONTACT_IM (453) for chat platform binding",
324
+ ],
325
+ recommended_templates: ["T-P-01"],
326
+ },
327
+ {
328
+ id: "ownership_transfer",
329
+ name: "Permission ownership transfer (cross-scene)",
330
+ host_object: "Standalone",
331
+ permission_index_range: "N/A",
332
+ builtin_indexes: [],
333
+ owner_operations: ["builder (transfer)"],
334
+ admin_operations: [],
335
+ permission_index_operations: [],
336
+ mutable_after_publish: true,
337
+ common_patterns: [
338
+ "Owner-only: assert_owner required for transfer",
339
+ "Irreversible: once transferred, original owner loses all control",
340
+ "New owner auto-admin: new owner becomes admin automatically",
341
+ "Pre-transfer backup: export Permission JSON before transfer",
342
+ ],
343
+ recommended_templates: ["T-P-08"],
344
+ },
345
+ ];
346
+ export const PERMISSION_LEDGER_VERSION = "1.0.0";
347
+ export function getScenesByHostObject(host) {
348
+ return PERMISSION_SCENES.filter(s => s.host_object === host);
349
+ }
350
+ export function findSceneById(id) {
351
+ return PERMISSION_SCENES.find(s => s.id === id);
352
+ }
353
+ export function findSceneByPermissionIndex(index) {
354
+ for (const scene of PERMISSION_SCENES) {
355
+ if (scene.builtin_indexes.some(p => p.index === index))
356
+ return scene;
357
+ }
358
+ return undefined;
359
+ }
360
+ export function getBuiltinPermissionByIndex(index) {
361
+ for (const scene of PERMISSION_SCENES) {
362
+ const found = scene.builtin_indexes.find(p => p.index === index);
363
+ if (found)
364
+ return found;
365
+ }
366
+ return undefined;
367
+ }
368
+ export function isBuiltinPermission(index) {
369
+ return getBuiltinPermissionByIndex(index) !== undefined;
370
+ }
371
+ export function inferSceneFromIntent(intent) {
372
+ const lower = intent.toLowerCase();
373
+ if (lower.includes("transfer") || lower.includes("handover")) {
374
+ return findSceneById("ownership_transfer");
375
+ }
376
+ const hostKeywords = [
377
+ ["service", "Service"],
378
+ ["machine", "Machine"],
379
+ ["treasury", "Treasury"],
380
+ ["arbitration", "Arbitration"],
381
+ ["repository", "Repository"],
382
+ ["reward", "Reward"],
383
+ ["progress", "Progress"],
384
+ ["demand", "Demand"],
385
+ ["contact", "Contact"],
386
+ ["messenger", "Contact"],
387
+ ["allocation", "Allocation"],
388
+ ];
389
+ for (const [kw, host] of hostKeywords) {
390
+ if (lower.includes(kw)) {
391
+ const scenes = getScenesByHostObject(host);
392
+ if (scenes.length > 0)
393
+ return scenes[0];
394
+ }
395
+ }
396
+ return undefined;
397
+ }
398
+ export function getAllBuiltinPermissions() {
399
+ return PERMISSION_SCENES.flatMap(s => s.builtin_indexes);
400
+ }
401
+ export function getPermissionScenesCount() {
402
+ return PERMISSION_SCENES.length;
403
+ }
@@ -0,0 +1,122 @@
1
+ import { type PermissionScene, type BuiltinPermissionEntry } from "./permission-ledger.js";
2
+ export interface IntentPuzzle {
3
+ action: "create" | "modify" | "transfer" | "apply" | "query";
4
+ target_object?: PermissionScene["host_object"];
5
+ rule_sentence: string;
6
+ failure_conditions: string[];
7
+ }
8
+ export interface BindingPuzzle {
9
+ owner: string;
10
+ admins: string[];
11
+ um?: string | null;
12
+ applied_to?: string[];
13
+ host_object_type?: PermissionScene["host_object"];
14
+ }
15
+ export interface DataSourcePuzzle {
16
+ entities: {
17
+ address: string;
18
+ type: "user" | "guard";
19
+ permission_indexes: number[];
20
+ remark?: string;
21
+ }[];
22
+ builtin_permissions_used: BuiltinPermissionEntry[];
23
+ custom_permissions_defined: {
24
+ index: number;
25
+ name: string;
26
+ description: string;
27
+ remark: string;
28
+ }[];
29
+ }
30
+ export type PermissionOperation = {
31
+ type: "perm_add" | "perm_remove" | "perm_set";
32
+ index: number;
33
+ entities: string[];
34
+ } | {
35
+ type: "entity_add" | "entity_remove" | "entity_set";
36
+ entity: string;
37
+ indexes: number[];
38
+ } | {
39
+ type: "entity_swap" | "entity_replace" | "entity_copy";
40
+ entity1: string;
41
+ entity2: string;
42
+ } | {
43
+ type: "entity_del";
44
+ entity: string;
45
+ } | {
46
+ type: "admin_add" | "admin_remove" | "admin_set";
47
+ addresses: string[];
48
+ } | {
49
+ type: "remark_set";
50
+ index: number;
51
+ remark: string;
52
+ } | {
53
+ type: "remark_remove";
54
+ index: number;
55
+ } | {
56
+ type: "remark_clear";
57
+ } | {
58
+ type: "description_set";
59
+ description: string;
60
+ } | {
61
+ type: "transfer";
62
+ new_owner: string;
63
+ } | {
64
+ type: "um_set";
65
+ um: string | null;
66
+ } | {
67
+ type: "apply";
68
+ objects: string[];
69
+ };
70
+ export interface OperationPuzzle {
71
+ operations: PermissionOperation[];
72
+ }
73
+ export interface LogicPuzzle {
74
+ permission_check_flow: {
75
+ step: 1 | 2 | 3;
76
+ check: "assert_owner" | "assert_admin" | "permission_index_check";
77
+ applicable_operations: string[];
78
+ }[];
79
+ entity_permission_mapping: {
80
+ entity: string;
81
+ indexes: number[];
82
+ }[];
83
+ }
84
+ export interface ConstraintChecklist {
85
+ F_P_01_custom_index_ge_1000: boolean;
86
+ F_P_02_entity_count_le_1000: boolean;
87
+ F_P_03_perm_count_per_entity_le_1000: boolean;
88
+ F_P_04_admin_count_le_500: boolean;
89
+ F_P_05_owner_address_valid: boolean;
90
+ F_P_06_owner_only_for_assert_owner: boolean;
91
+ F_P_07_admin_only_for_assert_admin: boolean;
92
+ }
93
+ export type PuzzleDimension = "A" | "B" | "C" | "D" | "E" | "F";
94
+ export interface PermissionPuzzle {
95
+ intent?: IntentPuzzle;
96
+ binding?: BindingPuzzle;
97
+ data_source?: DataSourcePuzzle;
98
+ operations?: OperationPuzzle;
99
+ logic?: LogicPuzzle;
100
+ constraints?: ConstraintChecklist;
101
+ }
102
+ export interface PuzzleCompleteness {
103
+ dimensions: PuzzleDimension[];
104
+ missing: PuzzleDimension[];
105
+ missing_details: {
106
+ dimension: PuzzleDimension;
107
+ reason: string;
108
+ }[];
109
+ complete: boolean;
110
+ next_step: string;
111
+ }
112
+ export declare function initPuzzleFromIntent(intent: Partial<IntentPuzzle>): PermissionPuzzle;
113
+ export declare function checkPuzzleCompleteness(puzzle: PermissionPuzzle): PuzzleCompleteness;
114
+ export interface ConstraintViolation {
115
+ constraint_id: string;
116
+ severity: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW";
117
+ message: string;
118
+ current_value?: string | number;
119
+ limit?: string | number;
120
+ }
121
+ export declare function validateConstraints(puzzle: PermissionPuzzle): ConstraintViolation[];
122
+ export declare function generateConfirmationText(puzzle: PermissionPuzzle): string;