@wowok/agent-mcp 3.0.2 → 3.0.3

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 (260) hide show
  1. package/LICENSE +0 -3
  2. package/dist/harness/recover.js +1 -1
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.js +1 -1
  5. package/dist/knowledge/account-marks.js +1 -1
  6. package/dist/knowledge/arbitration-risk.js +1 -1
  7. package/dist/knowledge/flywheel-loop.d.ts +4 -52
  8. package/dist/knowledge/flywheel-loop.js +1 -1
  9. package/dist/knowledge/guard-lint.js +1 -1
  10. package/dist/knowledge/index.d.ts +2 -225
  11. package/dist/knowledge/index.js +1 -1
  12. package/dist/knowledge/industry-registry.js +1 -1
  13. package/dist/knowledge/machine-risk.js +1 -1
  14. package/dist/knowledge/machine-translation.js +1 -1
  15. package/dist/knowledge/onchain-constants.js +1 -1
  16. package/dist/knowledge/order-ledger.d.ts +2 -2
  17. package/dist/knowledge/order-ledger.js +1 -1
  18. package/dist/knowledge/order-puzzle.d.ts +4 -4
  19. package/dist/knowledge/order-puzzle.js +1 -1
  20. package/dist/knowledge/order-risk.d.ts +1 -0
  21. package/dist/knowledge/order-risk.js +1 -1
  22. package/dist/knowledge/order-templates.d.ts +1 -1
  23. package/dist/knowledge/order-templates.js +1 -1
  24. package/dist/knowledge/safety-rules.js +1 -1
  25. package/dist/knowledge/service-ledger.js +1 -1
  26. package/dist/knowledge/service-risk.js +1 -1
  27. package/dist/knowledge/template-registry.js +1 -1
  28. package/dist/knowledge/tools-reference.js +1 -1
  29. package/dist/knowledge/workspace-lists.js +1 -1
  30. package/dist/monitor/MonitorLoop.js +1 -1
  31. package/dist/playbooks/service-build/business-puzzle.js +1 -1
  32. package/dist/playbooks/service-build/context-assembly.d.ts +3 -1
  33. package/dist/playbooks/service-build/context-assembly.js +1 -1
  34. package/dist/playbooks/service-build/machine-nodes.d.ts +2 -0
  35. package/dist/playbooks/service-build/machine-nodes.js +1 -1
  36. package/dist/playbooks/service-build/machine-panorama.d.ts +7 -0
  37. package/dist/playbooks/service-build/machine-panorama.js +1 -1
  38. package/dist/review/machine.js +1 -1
  39. package/dist/safety/confirm-gate.js +1 -1
  40. package/dist/schema/call/base.d.ts +12 -3
  41. package/dist/schema/call/base.js +1 -1
  42. package/dist/schema/call/bridge.d.ts +4 -0
  43. package/dist/schema/call/bridge.js +1 -1
  44. package/dist/schema/call/error-codes.d.ts +2 -0
  45. package/dist/schema/call/error-codes.js +1 -0
  46. package/dist/schema/call/guard.d.ts +4 -4
  47. package/dist/schema/call/semantic.d.ts +9 -1
  48. package/dist/schema/call/semantic.js +1 -1
  49. package/dist/schema/common/index.js +1 -1
  50. package/dist/schema/goal/index.d.ts +3 -3
  51. package/dist/schema/goal/planning.d.ts +2 -2
  52. package/dist/schema/industry-pack/index.d.ts +4 -4
  53. package/dist/schema/industry-pack/modes.d.ts +4 -4
  54. package/dist/schema/local/index.d.ts +558 -0
  55. package/dist/schema/local/index.js +1 -1
  56. package/dist/schema/messenger/index.d.ts +25 -25
  57. package/dist/schema/operations.d.ts +1 -1
  58. package/dist/schema/persona/index.d.ts +2 -2
  59. package/dist/schema/query/bi.d.ts +0 -4
  60. package/dist/schema/query/bi.js +1 -1
  61. package/dist/schema/query/index.js +1 -1
  62. package/dist/schema/schema-query/index.d.ts +1 -1
  63. package/dist/schema/schema-version.js +1 -1
  64. package/dist/schema/trust/index.d.ts +3 -3
  65. package/dist/schema/workspace/index.d.ts +1 -1
  66. package/dist/schema-query-impl/index.js +1 -1
  67. package/dist/schemas/account_operation.output.json +4 -0
  68. package/dist/schemas/bridge_operation.output.json +4 -0
  69. package/dist/schemas/index.json +7 -1
  70. package/dist/schemas/local_history_operation.output.json +1458 -0
  71. package/dist/schemas/local_history_operation.schema.json +105 -0
  72. package/dist/schemas/local_info_operation.output.json +4 -0
  73. package/dist/schemas/local_mark_operation.output.json +4 -0
  74. package/dist/schemas/onchain_operations.output.json +4 -1
  75. package/dist/schemas/onchain_operations.schema.json +30 -10
  76. package/dist/schemas/onchain_operations_guard.schema.json +30 -10
  77. package/dist/schemas/query_toolkit.output.json +17 -16
  78. package/dist/tools/handlers/config.js +1 -1
  79. package/dist/tools/handlers/local.d.ts +1 -0
  80. package/dist/tools/handlers/local.js +1 -1
  81. package/dist/tools/handlers/onchain.js +1 -1
  82. package/dist/tools/index.js +1 -1
  83. package/dist/tools/registry/local.js +1 -1
  84. package/dist/tools/shared.js +1 -1
  85. package/dist/tools/wrap.js +1 -1
  86. package/package.json +2 -2
  87. package/dist/knowledge/allocation-confirm.d.ts +0 -115
  88. package/dist/knowledge/allocation-confirm.js +0 -1
  89. package/dist/knowledge/allocation-context.d.ts +0 -58
  90. package/dist/knowledge/allocation-context.js +0 -1
  91. package/dist/knowledge/allocation-translation.d.ts +0 -72
  92. package/dist/knowledge/allocation-translation.js +0 -1
  93. package/dist/knowledge/arb-confirm.d.ts +0 -28
  94. package/dist/knowledge/arb-confirm.js +0 -1
  95. package/dist/knowledge/arb-translation.d.ts +0 -48
  96. package/dist/knowledge/arb-translation.js +0 -1
  97. package/dist/knowledge/arbitration-confirm.d.ts +0 -135
  98. package/dist/knowledge/arbitration-confirm.js +0 -1
  99. package/dist/knowledge/arbitration-context.d.ts +0 -81
  100. package/dist/knowledge/arbitration-context.js +0 -1
  101. package/dist/knowledge/arbitration-translation.d.ts +0 -91
  102. package/dist/knowledge/arbitration-translation.js +0 -1
  103. package/dist/knowledge/bridge-confirm.d.ts +0 -26
  104. package/dist/knowledge/bridge-confirm.js +0 -1
  105. package/dist/knowledge/bridge-translation.d.ts +0 -37
  106. package/dist/knowledge/bridge-translation.js +0 -1
  107. package/dist/knowledge/contact-confirm.d.ts +0 -27
  108. package/dist/knowledge/contact-confirm.js +0 -1
  109. package/dist/knowledge/contact-translation.d.ts +0 -39
  110. package/dist/knowledge/contact-translation.js +0 -1
  111. package/dist/knowledge/demand-confirm.d.ts +0 -32
  112. package/dist/knowledge/demand-confirm.js +0 -1
  113. package/dist/knowledge/demand-context.d.ts +0 -17
  114. package/dist/knowledge/demand-context.js +0 -1
  115. package/dist/knowledge/demand-ledger.d.ts +0 -26
  116. package/dist/knowledge/demand-ledger.js +0 -1
  117. package/dist/knowledge/demand-puzzle.d.ts +0 -29
  118. package/dist/knowledge/demand-puzzle.js +0 -1
  119. package/dist/knowledge/demand-templates.d.ts +0 -12
  120. package/dist/knowledge/demand-templates.js +0 -1
  121. package/dist/knowledge/demand-translation.d.ts +0 -55
  122. package/dist/knowledge/demand-translation.js +0 -1
  123. package/dist/knowledge/examples-scanner-cli.d.ts +0 -1
  124. package/dist/knowledge/examples-scanner-cli.js +0 -1
  125. package/dist/knowledge/examples-scanner.d.ts +0 -121
  126. package/dist/knowledge/examples-scanner.js +0 -1
  127. package/dist/knowledge/glossary.d.ts +0 -18
  128. package/dist/knowledge/glossary.js +0 -1
  129. package/dist/knowledge/guard-bytecode-spec.d.ts +0 -82
  130. package/dist/knowledge/guard-bytecode-spec.js +0 -1
  131. package/dist/knowledge/guard-confirm.d.ts +0 -86
  132. package/dist/knowledge/guard-confirm.js +0 -1
  133. package/dist/knowledge/immutability.d.ts +0 -11
  134. package/dist/knowledge/immutability.js +0 -1
  135. package/dist/knowledge/machine-confirm.d.ts +0 -102
  136. package/dist/knowledge/machine-confirm.js +0 -1
  137. package/dist/knowledge/machine-context.d.ts +0 -160
  138. package/dist/knowledge/machine-context.js +0 -1
  139. package/dist/knowledge/machine-render.d.ts +0 -41
  140. package/dist/knowledge/machine-render.js +0 -1
  141. package/dist/knowledge/mcp-schema-audit-cli.d.ts +0 -1
  142. package/dist/knowledge/mcp-schema-audit-cli.js +0 -1
  143. package/dist/knowledge/mcp-schema-audit.d.ts +0 -91
  144. package/dist/knowledge/mcp-schema-audit.js +0 -1
  145. package/dist/knowledge/messenger-guard-guidance.d.ts +0 -17
  146. package/dist/knowledge/messenger-guard-guidance.js +0 -1
  147. package/dist/knowledge/order-confirm.d.ts +0 -115
  148. package/dist/knowledge/order-confirm.js +0 -1
  149. package/dist/knowledge/order-context.d.ts +0 -66
  150. package/dist/knowledge/order-context.js +0 -1
  151. package/dist/knowledge/order-translation.d.ts +0 -78
  152. package/dist/knowledge/order-translation.js +0 -1
  153. package/dist/knowledge/overrides-loader.d.ts +0 -13
  154. package/dist/knowledge/overrides-loader.js +0 -1
  155. package/dist/knowledge/passport-confirm.d.ts +0 -130
  156. package/dist/knowledge/passport-confirm.js +0 -1
  157. package/dist/knowledge/passport-context.d.ts +0 -59
  158. package/dist/knowledge/passport-context.js +0 -1
  159. package/dist/knowledge/passport-puzzle.d.ts +0 -108
  160. package/dist/knowledge/passport-puzzle.js +0 -1
  161. package/dist/knowledge/passport-risk.d.ts +0 -70
  162. package/dist/knowledge/passport-risk.js +0 -1
  163. package/dist/knowledge/passport-translation.d.ts +0 -68
  164. package/dist/knowledge/passport-translation.js +0 -1
  165. package/dist/knowledge/payment-confirm.d.ts +0 -26
  166. package/dist/knowledge/payment-confirm.js +0 -1
  167. package/dist/knowledge/payment-translation.d.ts +0 -37
  168. package/dist/knowledge/payment-translation.js +0 -1
  169. package/dist/knowledge/permission-confirm.d.ts +0 -110
  170. package/dist/knowledge/permission-confirm.js +0 -1
  171. package/dist/knowledge/permission-context.d.ts +0 -69
  172. package/dist/knowledge/permission-context.js +0 -1
  173. package/dist/knowledge/permission-translation.d.ts +0 -57
  174. package/dist/knowledge/permission-translation.js +0 -1
  175. package/dist/knowledge/personal-confirm.d.ts +0 -29
  176. package/dist/knowledge/personal-confirm.js +0 -1
  177. package/dist/knowledge/personal-translation.d.ts +0 -37
  178. package/dist/knowledge/personal-translation.js +0 -1
  179. package/dist/knowledge/process-model.d.ts +0 -14
  180. package/dist/knowledge/process-model.js +0 -1
  181. package/dist/knowledge/progress-confirm.d.ts +0 -108
  182. package/dist/knowledge/progress-confirm.js +0 -1
  183. package/dist/knowledge/progress-context.d.ts +0 -123
  184. package/dist/knowledge/progress-context.js +0 -1
  185. package/dist/knowledge/progress-translation.d.ts +0 -52
  186. package/dist/knowledge/progress-translation.js +0 -1
  187. package/dist/knowledge/proof-confirm.d.ts +0 -31
  188. package/dist/knowledge/proof-confirm.js +0 -1
  189. package/dist/knowledge/proof-context.d.ts +0 -17
  190. package/dist/knowledge/proof-context.js +0 -1
  191. package/dist/knowledge/proof-ledger.d.ts +0 -34
  192. package/dist/knowledge/proof-ledger.js +0 -1
  193. package/dist/knowledge/proof-puzzle.d.ts +0 -35
  194. package/dist/knowledge/proof-puzzle.js +0 -1
  195. package/dist/knowledge/proof-templates.d.ts +0 -22
  196. package/dist/knowledge/proof-templates.js +0 -1
  197. package/dist/knowledge/proof-translation.d.ts +0 -52
  198. package/dist/knowledge/proof-translation.js +0 -1
  199. package/dist/knowledge/registrar-confirm.d.ts +0 -26
  200. package/dist/knowledge/registrar-confirm.js +0 -1
  201. package/dist/knowledge/registrar-translation.d.ts +0 -37
  202. package/dist/knowledge/registrar-translation.js +0 -1
  203. package/dist/knowledge/repository-confirm.d.ts +0 -40
  204. package/dist/knowledge/repository-confirm.js +0 -1
  205. package/dist/knowledge/repository-context.d.ts +0 -12
  206. package/dist/knowledge/repository-context.js +0 -1
  207. package/dist/knowledge/repository-ledger.d.ts +0 -25
  208. package/dist/knowledge/repository-ledger.js +0 -1
  209. package/dist/knowledge/repository-puzzle.d.ts +0 -30
  210. package/dist/knowledge/repository-puzzle.js +0 -1
  211. package/dist/knowledge/repository-templates.d.ts +0 -14
  212. package/dist/knowledge/repository-templates.js +0 -1
  213. package/dist/knowledge/repository-translation.d.ts +0 -58
  214. package/dist/knowledge/repository-translation.js +0 -1
  215. package/dist/knowledge/resource-confirm.d.ts +0 -25
  216. package/dist/knowledge/resource-confirm.js +0 -1
  217. package/dist/knowledge/resource-translation.d.ts +0 -37
  218. package/dist/knowledge/resource-translation.js +0 -1
  219. package/dist/knowledge/reward-confirm.d.ts +0 -116
  220. package/dist/knowledge/reward-confirm.js +0 -1
  221. package/dist/knowledge/reward-context.d.ts +0 -127
  222. package/dist/knowledge/reward-context.js +0 -1
  223. package/dist/knowledge/reward-translation.d.ts +0 -58
  224. package/dist/knowledge/reward-translation.js +0 -1
  225. package/dist/knowledge/service-confirm.d.ts +0 -161
  226. package/dist/knowledge/service-confirm.js +0 -1
  227. package/dist/knowledge/service-context.d.ts +0 -66
  228. package/dist/knowledge/service-context.js +0 -1
  229. package/dist/knowledge/service-translation.d.ts +0 -103
  230. package/dist/knowledge/service-translation.js +0 -1
  231. package/dist/knowledge/treasury-confirm.d.ts +0 -133
  232. package/dist/knowledge/treasury-confirm.js +0 -1
  233. package/dist/knowledge/treasury-context.d.ts +0 -64
  234. package/dist/knowledge/treasury-context.js +0 -1
  235. package/dist/knowledge/treasury-translation.d.ts +0 -78
  236. package/dist/knowledge/treasury-translation.js +0 -1
  237. package/dist/knowledge/util-confirm.d.ts +0 -24
  238. package/dist/knowledge/util-confirm.js +0 -1
  239. package/dist/knowledge/util-translation.d.ts +0 -39
  240. package/dist/knowledge/util-translation.js +0 -1
  241. package/dist/loop-engineering/aggregate.d.ts +0 -50
  242. package/dist/loop-engineering/aggregate.js +0 -1
  243. package/dist/loop-engineering/context-collect.d.ts +0 -7
  244. package/dist/loop-engineering/context-collect.js +0 -1
  245. package/dist/loop-engineering/diagnose.d.ts +0 -22
  246. package/dist/loop-engineering/diagnose.js +0 -1
  247. package/dist/loop-engineering/improve.d.ts +0 -55
  248. package/dist/loop-engineering/improve.js +0 -1
  249. package/dist/loop-engineering/index.d.ts +0 -4
  250. package/dist/loop-engineering/index.js +0 -1
  251. package/dist/loop-engineering/pipeline.d.ts +0 -17
  252. package/dist/loop-engineering/pipeline.js +0 -1
  253. package/dist/schema/utils/object-type-utils.d.ts +0 -12
  254. package/dist/schema/utils/object-type-utils.js +0 -1
  255. package/dist/telemetry/index.d.ts +0 -19
  256. package/dist/telemetry/index.js +0 -1
  257. package/dist/telemetry/redact.d.ts +0 -2
  258. package/dist/telemetry/redact.js +0 -1
  259. package/dist/telemetry/storage.d.ts +0 -8
  260. package/dist/telemetry/storage.js +0 -1
@@ -1 +0,0 @@
1
- import{MAX_PROPOSITION_COUNT,MAX_VOTOR_COUNT}from'@wowok/wowok';export const ARB_TRANSLATION_VERSION='1.0.0';export const ARB_STATUS={'PRINCIPAL_CONFIRMING':0x0,'ARBITRATOR_CONFIRMING':0x1,'VOTING':0x2,'ARBITRATED':0x3,'OBJECTIONABLE':0x4,'FINISHED':0x5,'WITHDRAWN':0x6};export const SEMANTIC_TO_ARB_SCHEMA_RULES=[{'id':'P-ARB-01','pattern_name':'Create\x20arbitration\x20case','semantic_intent':'Create\x20a\x20shared\x20Arb\x20object\x20bound\x20to\x20an\x20Order\x20+\x20Arbitration.','match_keywords':['open\x20dispute','create\x20arbitration','start\x20case'],'required_fields':['arbitration','order','description','proposition'],'optional_fields':['fee'],'example':{'arbitration':'0x...','order':'0x...','description':'delivery\x20dispute','proposition':['refund','redeliver']}},{'id':'P-ARB-02','pattern_name':'Cast\x20vote','semantic_intent':'A\x20voter\x20casts\x20weighted\x20votes\x20on\x20propositions\x20(Voting\x20status).','match_keywords':['vote','cast\x20vote','jury\x20vote'],'required_fields':['voter','votes','weight'],'optional_fields':[],'example':{'voter':'0x...','votes':[0x0],'weight':0xa}},{'id':'P-ARB-03','pattern_name':'Finalize\x20arbitration','semantic_intent':'Arbitrator\x20finalizes\x20with\x20feedback\x20+\x20indemnity\x20(Voting\x20→\x20Arbitrated).','match_keywords':['arbitrate','finalize','rule','indemnity'],'required_fields':['feedback','indemnity_amount'],'optional_fields':[],'example':{'feedback':'refund\x20awarded','indemnity_amount':0x3b9aca00}}];export const ARB_FIELD_TRANSLATIONS=[{'field_name':'status','value_type':'u8','semantic':'7-state\x20machine:\x200\x20Principal_confirming\x20→\x201\x20Arbitrator_confirming\x20→\x202\x20Voting\x20→\x203\x20Arbitrated\x20→\x204\x20Objectionable\x20→\x205\x20Finished\x20→\x206\x20Withdrawn.','format_example':'2\x20(Voting)','validation_rules':['E_STATUS_NOT_MATCH\x20(3)\x20on\x20out-of-order\x20op']},{'field_name':'order','value_type':'address','semantic':'Bound\x20Order\x20address;\x20ops\x20assert\x20equality\x20(E_ARB_ORDER_NOT_MATCH\x202).','format_example':'0x...order...','validation_rules':['E_ARB_ORDER_NOT_MATCH\x20(2)']},{'field_name':'proposition','value_type':'vector<Proposition>','semantic':'Voting\x20options\x20(≤\x20MAX_PROPOSITION_COUNT\x20'+MAX_PROPOSITION_COUNT+').','format_example':'[{name,\x20votes}]','validation_rules':['E_MAX_PROPOSITION_COUNT\x20(1)']},{'field_name':'voted','value_type':'vector<Voted>','semantic':'Voter\x20records\x20(≤\x20MAX_VOTOR_COUNT\x20'+MAX_VOTOR_COUNT+').','format_example':'[{voter,\x20agrees,\x20weight,\x20time}]','validation_rules':['E_MAX_VOTOR_COUNT\x20(6)']},{'field_name':'voting_deadline','value_type':'Option<u64>','semantic':'None=open-ended;\x20Some(t)\x20enforces\x20deadline\x20(E_VOTING_DEADLINE_PASSED\x207).','format_example':'null\x20or\x201710000000000','validation_rules':['E_VOTING_DEADLINE_PASSED\x20(7)','E_VOTING_DEADLINE_NOT_PASSED\x20(4)']},{'field_name':'indemnity','value_type':'Option<Indemnity>','semantic':'None=no\x20compensation;\x20Some({amount,time}).','format_example':'{amount:\x201000000000,\x20time:\x20...}','validation_rules':['finish()\x20returns\x20amount\x20(0\x20when\x20None)']},{'field_name':'compensation_time','value_type':'Option<u64>','semantic':'Claim-ready\x20time\x20(set\x20when\x20Finished).','format_example':'1710000000000','validation_rules':['set\x20by\x20finish()']}];export const ARB_CONSTRAINT_RULES=[{'id':'ARB_C_01','name':'status\x20transition','description':'each\x20op\x20asserts\x20current\x20status\x20(E_STATUS_NOT_MATCH\x203).','related_field':'status'},{'id':'ARB_C_02','name':'order\x20match','description':'self.order\x20==\x20id_address(order)\x20(E_ARB_ORDER_NOT_MATCH\x202).','related_field':'order'},{'id':'ARB_C_03','name':'proposition\x20cap','description':'proposition\x20≤\x20MAX_PROPOSITION_COUNT\x20('+MAX_PROPOSITION_COUNT+').','related_field':'proposition'},{'id':'ARB_C_04','name':'voter\x20cap','description':'voted\x20<\x20MAX_VOTOR_COUNT\x20('+MAX_VOTOR_COUNT+').','related_field':'voted'},{'id':'ARB_C_05','name':'deadline','description':'vote\x20enforces\x20voting_deadline\x20when\x20Some\x20(E_VOTING_DEADLINE_PASSED\x207).','related_field':'voting_deadline'}];const STATUS_LABELS={0x0:'Principal_confirming',0x1:'Arbitrator_confirming',0x2:'Voting',0x3:'Arbitrated',0x4:'Objectionable',0x5:'Finished',0x6:'Withdrawn'};export function explainArb(a){const b=[],c=a['status']!==undefined?STATUS_LABELS[a['status']]??'unknown('+a['status']+')':'unknown',d=a['voting_deadline']==null?'open-ended\x20(None)':'deadline='+a['voting_deadline'];return a['voting_deadline']==null&&b['push']('voting_deadline\x20None\x20—\x20open-ended\x20vote,\x20may\x20never\x20finalize'),a['indemnity_amount']==null&&b['push']('indemnity\x20None\x20—\x20no\x20compensation\x20awarded'),a['proposition_count']!==undefined&&a['proposition_count']>MAX_PROPOSITION_COUNT&&b['push']('proposition_count\x20'+a['proposition_count']+'\x20exceeds\x20'+MAX_PROPOSITION_COUNT),{'summary':'Arb\x20status='+c+'.\x20Voting\x20'+d+'.\x20Indemnity\x20'+(a['indemnity_amount']==null?'none':a['indemnity_amount'])+'.','status_label':c,'deadline':d,'warnings':b};}
@@ -1,135 +0,0 @@
1
- import { type ArbStatus } from "./arbitration-ledger.js";
2
- import { type ArbitrationRiskAssessment } from "./arbitration-risk.js";
3
- export type ConfirmGateStatus = "approved" | "blocked_checklist" | "blocked_risk" | "blocked_user" | "blocked_environment";
4
- export interface ConfirmGateResult {
5
- status: ConfirmGateStatus;
6
- checklist_result: ChecklistResult;
7
- risk_result?: ArbitrationRiskAssessment;
8
- user_confirmation?: UserConfirmation;
9
- environment_result?: EnvironmentResult;
10
- confirmation_text?: string;
11
- block_reason?: string;
12
- decision_record: DecisionRecord;
13
- }
14
- export interface ChecklistResult {
15
- all_passed: boolean;
16
- items: ChecklistItem[];
17
- }
18
- export interface ChecklistItem {
19
- id: string;
20
- description: string;
21
- passed: boolean;
22
- message: string;
23
- }
24
- export interface UserConfirmation {
25
- questions_asked: ConfirmationQuestion[];
26
- responses: ConfirmationResponse[];
27
- all_confirmed: boolean;
28
- }
29
- export interface ConfirmationQuestion {
30
- id: string;
31
- question: string;
32
- requires_explicit_yes: boolean;
33
- related_risk_ids?: string[];
34
- }
35
- export interface ConfirmationResponse {
36
- question_id: string;
37
- response: "yes" | "no" | "skip";
38
- }
39
- export interface EnvironmentResult {
40
- passed: boolean;
41
- checks: {
42
- name: string;
43
- passed: boolean;
44
- message: string;
45
- }[];
46
- }
47
- export interface DecisionRecord {
48
- timestamp: string;
49
- gate_version: string;
50
- final_status: ConfirmGateStatus;
51
- layers_passed: string[];
52
- layers_failed: string[];
53
- }
54
- export interface ArbitrationJsonForConfirm {
55
- object?: string | null | object;
56
- description?: string;
57
- location?: string;
58
- fee?: string | number;
59
- pause?: boolean;
60
- dispute?: {
61
- order: string;
62
- description?: string;
63
- proposition: string[];
64
- fee?: unknown;
65
- };
66
- confirm?: {
67
- arb: string;
68
- voting_deadline: number | null;
69
- };
70
- voting_deadline_change?: {
71
- arb: string;
72
- voting_deadline: number | null;
73
- };
74
- vote?: {
75
- arb: string;
76
- votes: number[];
77
- voting_guard?: string;
78
- };
79
- feedback?: {
80
- arb: string;
81
- feedback: string;
82
- };
83
- arbitration?: {
84
- arb: string;
85
- feedback: string;
86
- indemnity: number;
87
- };
88
- reset?: {
89
- arb: string;
90
- feedback: string;
91
- };
92
- arb_withdraw?: {
93
- arb: string;
94
- };
95
- fees_transfer?: {
96
- to: {
97
- allocation?: string;
98
- treasury?: string;
99
- };
100
- payment_remark: string;
101
- payment_index: number;
102
- };
103
- usage_guard?: string | null;
104
- voting_guard?: {
105
- op: string;
106
- guards?: unknown[];
107
- };
108
- um?: string | null;
109
- builder?: string;
110
- }
111
- export interface ConfirmGateInput {
112
- arbitration_json: ArbitrationJsonForConfirm;
113
- intent?: string;
114
- current_arb_status?: ArbStatus;
115
- expected_arb_status?: ArbStatus;
116
- current_voting_guard_count?: number;
117
- current_voting_guard_addresses?: string[];
118
- current_arbitration_fee?: string | number;
119
- current_bPaused?: boolean;
120
- current_timestamp_ms?: number;
121
- target_objects_types?: string[];
122
- skip_user_confirmation?: boolean;
123
- skip_environment_check?: boolean;
124
- }
125
- export declare const ARBITRATION_OPERATION_CHECKLIST: ChecklistItem[];
126
- export declare const ARBITRATION_CONFIRMATION_QUESTIONS: ConfirmationQuestion[];
127
- export declare const ARBITRATION_CONFIRM_VERSION = "1.0.0";
128
- export declare function runArbitrationConfirmGate(input: ConfirmGateInput): ConfirmGateResult;
129
- export interface ProgressiveCheckResult {
130
- stage: "checklist" | "risk" | "confirmation" | "environment" | "complete";
131
- status: "pass" | "fail" | "pending";
132
- message: string;
133
- next_action?: string;
134
- }
135
- export declare function progressiveArbitrationCheck(input: ConfirmGateInput): ProgressiveCheckResult;
@@ -1 +0,0 @@
1
- import{MAX_VOTING_GUARD_COUNT}from'@wowok/wowok';import{isTerminalArbStatus,isValidArbStatusTransition}from'./arbitration-ledger.js';import{assessArbitrationRisks}from'./arbitration-risk.js';export const ARBITRATION_OPERATION_CHECKLIST=[{'id':'C-AB-01','description':'object\x20field\x20present\x20(STRING\x20for\x20existing,\x20OBJECT\x20for\x20new)','passed':![],'message':''},{'id':'C-AB-02','description':'coin_type\x20valid\x20for\x20new\x20Arbitration\x20(e.g.\x200x2::wow::WOW)','passed':![],'message':''},{'id':'C-AB-03','description':'permission_address\x20valid\x20(Contact/Permission\x20object)','passed':![],'message':''},{'id':'C-AB-04','description':'fee\x20(u64)\x20non-negative;\x20dispute\x20fee\x20>=\x20Arbitration.fee','passed':![],'message':''},{'id':'C-AB-05','description':'voting_guard\x20count\x20<=\x20MAX_VOTING_GUARD_COUNT\x20(50)','passed':![],'message':''},{'id':'C-AB-06','description':'voting_guard\x20no\x20duplicate\x20addresses','passed':![],'message':''},{'id':'C-AB-07','description':'Arb\x20status\x20transition\x20valid\x20(7-state\x20flow)','passed':![],'message':''},{'id':'C-AB-08','description':'Operation\x20allowed\x20in\x20current\x20Arb\x20status\x20(not\x20terminal-blocked)','passed':![],'message':''},{'id':'C-AB-09','description':'voting_guard\x20/\x20usage_guard\x20dual-Guard\x20coherent\x20with\x20operation','passed':![],'message':''},{'id':'C-AB-10','description':'VoteValue\x20weight\x20type\x20valid\x20(GuardIdentifier\x20u8\x20/\x20FixedValue\x20u32)','passed':![],'message':''},{'id':'C-AB-11','description':'Order\x20op\x20permission\x20verified\x20(for\x20dispute)','passed':![],'message':''},{'id':'C-AB-12','description':'Ownership\x20transfer\x20(builder)\x20double-confirmed','passed':![],'message':''}];function runStaticChecklist(a){const b=ARBITRATION_OPERATION_CHECKLIST['map'](r=>({...r})),c=a['arbitration_json'],d=c['object']!==undefined&&c['object']!==null,e=b['find'](r=>r['id']==='C-AB-01');e['passed']=d,e['message']=d?'':'object\x20field\x20is\x20required\x20(STRING\x20for\x20existing,\x20OBJECT\x20for\x20new)';const f=b['find'](r=>r['id']==='C-AB-02');if(typeof c['object']==='object'&&c['object']!==null){const r=c['object'],s=!!r['type_parameter']&&r['type_parameter']['includes']('::');f['passed']=s,f['message']=s?'':'type_parameter\x20must\x20be\x20a\x20valid\x20Coin\x20type\x20(e.g.\x200x2::wow::WOW)';}else f['passed']=!![];const h=b['find'](t=>t['id']==='C-AB-03');if(typeof c['object']==='object'&&c['object']!==null){const t=c['object'],u=!!t['permission'];h['passed']=u,h['message']=u?'':'permission\x20is\x20required\x20for\x20new\x20Arbitration';}else h['passed']=!![];const i=b['find'](v=>v['id']==='C-AB-04');if(c['fee']!==undefined){const v=typeof c['fee']==='string'?BigInt(c['fee']):BigInt(c['fee']),w=v>=0x0;i['passed']=w,i['message']=w?'':'fee\x20'+c['fee']+'\x20must\x20be\x20>=\x200';}else{if(c['dispute']&&a['current_arbitration_fee']!==undefined){const x=typeof a['current_arbitration_fee']==='string'?BigInt(a['current_arbitration_fee']):BigInt(a['current_arbitration_fee']),y=c['dispute']['fee']&&typeof c['dispute']['fee']==='object'&&'balance'in c['dispute']['fee']?BigInt(c['dispute']['fee']['balance']??0x0):BigInt(0x0),z=y>=x;i['passed']=z,i['message']=z?'':'dispute\x20fee\x20'+y['toString']()+'\x20<\x20required\x20'+x['toString']();}else i['passed']=!![];}const j=b['find'](A=>A['id']==='C-AB-05');if(c['voting_guard']&&(c['voting_guard']['op']==='add'||c['voting_guard']['op']==='set')&&c['voting_guard']['guards']){const A=c['voting_guard']['op']==='set'?c['voting_guard']['guards']['length']:(a['current_voting_guard_count']??0x0)+c['voting_guard']['guards']['length'],B=A<=MAX_VOTING_GUARD_COUNT;j['passed']=B,j['message']=B?'':'voting_guard\x20count\x20'+A+'\x20>\x20'+MAX_VOTING_GUARD_COUNT;}else j['passed']=!![];const k=b['find'](C=>C['id']==='C-AB-06');if(c['voting_guard']&&(c['voting_guard']['op']==='add'||c['voting_guard']['op']==='set')&&c['voting_guard']['guards']){const C=c['voting_guard']['guards']['map'](F=>F['guard']),D=C['filter']((F,G)=>C['indexOf'](F)!==G),E=D['length']===0x0;k['passed']=E,k['message']=E?'':'Duplicate\x20guards:\x20'+D['join'](',\x20');}else k['passed']=!![];const l=b['find'](F=>F['id']==='C-AB-07');if(a['current_arb_status']&&a['expected_arb_status']){if(a['current_arb_status']===a['expected_arb_status'])l['passed']=!![];else{const F=isValidArbStatusTransition(a['current_arb_status'],a['expected_arb_status']);l['passed']=F,l['message']=F?'':'Invalid\x20transition:\x20'+a['current_arb_status']+'\x20→\x20'+a['expected_arb_status'];}}else l['passed']=!![];const m=b['find'](G=>G['id']==='C-AB-08');if(a['current_arb_status']&&isTerminalArbStatus(a['current_arb_status'])){const G=!!c['arb_withdraw'],H=!!(c['vote']||c['confirm']||c['arbitration']||c['reset']||c['feedback']),I=G&&!H;m['passed']=I,m['message']=I?'':'Terminal\x20status\x20'+a['current_arb_status']+'\x20only\x20allows\x20arb_withdraw';}else m['passed']=!![];const n=b['find'](J=>J['id']==='C-AB-09');if(c['vote']&&c['vote']['voting_guard']){if(!a['current_voting_guard_addresses']||a['current_voting_guard_addresses']['length']===0x0)n['passed']=![],n['message']='vote.voting_guard\x20provided\x20but\x20Arbitration.voting_guard\x20is\x20empty';else!a['current_voting_guard_addresses']['includes'](c['vote']['voting_guard'])?(n['passed']=![],n['message']='vote.voting_guard\x20'+c['vote']['voting_guard']+'\x20not\x20in\x20list'):n['passed']=!![];}else c['vote']&&!c['vote']['voting_guard']&&a['current_voting_guard_addresses']&&a['current_voting_guard_addresses']['length']>0x0?(n['passed']=![],n['message']='vote\x20without\x20voting_guard\x20but\x20Arbitration.voting_guard\x20is\x20non-empty\x20(use\x20vote_with_voting_guard)'):n['passed']=!![];const o=b['find'](J=>J['id']==='C-AB-10');if(c['voting_guard']&&(c['voting_guard']['op']==='add'||c['voting_guard']['op']==='set')&&c['voting_guard']['guards']){let J=!![],K='';for(const L of c['voting_guard']['guards']){const M=L['vote_weight'];if(!M){J=![],K='Missing\x20vote_weight';break;}if('GuardIdentifier'in M&&M['GuardIdentifier']!==undefined){if(M['GuardIdentifier']>0xff){J=![],K='GuardIdentifier\x20'+M['GuardIdentifier']+'\x20>\x20u8\x20max\x20(255)';break;}}if('FixedValue'in M&&M['FixedValue']!==undefined){if(M['FixedValue']>0xffffffff){J=![],K='FixedValue\x20'+M['FixedValue']+'\x20>\x20u32\x20max';break;}}}o['passed']=J,o['message']=K;}else o['passed']=!![];const p=b['find'](N=>N['id']==='C-AB-11');c['dispute']?(p['passed']=![],p['message']='Pending\x20environment\x20verification\x20(Layer\x204)'):p['passed']=!![];const q=b['find'](N=>N['id']==='C-AB-12');return c['builder']?(q['passed']=![],q['message']='Pending\x20user\x20confirmation\x20in\x20Layer\x203'):q['passed']=!![],{'all_passed':b['filter'](N=>N['id']!=='C-AB-11'&&N['id']!=='C-AB-12')['every'](N=>N['passed']),'items':b};}function adaptRiskAssessment(a){const b={'object':typeof a['arbitration_json']['object']==='string'?a['arbitration_json']['object']:null,'description':a['arbitration_json']['description'],'location':a['arbitration_json']['location'],'fee':a['arbitration_json']['fee'],'pause':a['arbitration_json']['pause'],'dispute':a['arbitration_json']['dispute'],'confirm':a['arbitration_json']['confirm'],'voting_deadline_change':a['arbitration_json']['voting_deadline_change'],'vote':a['arbitration_json']['vote'],'feedback':a['arbitration_json']['feedback'],'arbitration':a['arbitration_json']['arbitration'],'reset':a['arbitration_json']['reset'],'arb_withdraw':a['arbitration_json']['arb_withdraw'],'fees_transfer':a['arbitration_json']['fees_transfer'],'usage_guard':a['arbitration_json']['usage_guard'],'voting_guard':a['arbitration_json']['voting_guard'],'um':a['arbitration_json']['um'],'builder':a['arbitration_json']['builder'],'current_arb_status':a['current_arb_status'],'expected_arb_status':a['expected_arb_status'],'current_voting_guard_count':a['current_voting_guard_count'],'current_voting_guard_addresses':a['current_voting_guard_addresses'],'current_arbitration_fee':a['current_arbitration_fee'],'current_bPaused':a['current_bPaused'],'current_timestamp_ms':a['current_timestamp_ms'],'target_objects_types':a['target_objects_types']};return assessArbitrationRisks(b);}export const ARBITRATION_CONFIRMATION_QUESTIONS=[{'id':'QAB1','question':'Are\x20all\x20arbiter/voter\x20addresses\x20correctly\x20granted\x20ARBITRATION_VOTE\x20(358)\x20on\x20the\x20Permission\x20object?','requires_explicit_yes':!![]},{'id':'QAB2','question':'Is\x20the\x20voting_guard\x20configuration\x20correct?\x20(Each\x20guard\x20address\x20is\x20a\x20valid\x20Guard\x20object\x20that\x20arbiters\x20can\x20submit\x20Passport\x20for)','requires_explicit_yes':!![],'related_risk_ids':['R-AB-2-01']},{'id':'QAB3','question':'If\x20filing\x20a\x20dispute:\x20have\x20you\x20verified\x20the\x20Order\x20op\x20permission\x20(signer\x20must\x20have\x20Order\x27s\x20dispute\x20permission)?','requires_explicit_yes':!![],'related_risk_ids':['R-AB-5-02']},{'id':'QAB4','question':'If\x20making\x20a\x20ruling\x20(arbitration\x20op):\x20is\x20the\x20indemnity\x20amount\x20correct?\x20This\x20will\x20be\x20paid\x20via\x20order::compensate\x20(IRREVERSIBLE).','requires_explicit_yes':!![],'related_risk_ids':['R-AB-3-03']},{'id':'QAB5','question':'⚠️\x20If\x20transferring\x20ownership\x20(builder\x20field):\x20do\x20you\x20confirm\x20the\x20new\x20owner\x20address\x20is\x20correct?\x20This\x20operation\x20is\x20IRREVERSIBLE.','requires_explicit_yes':!![],'related_risk_ids':['R-AB-3-02']},{'id':'QAB6','question':'If\x20allocating\x20fees\x20(fees_transfer):\x20have\x20you\x20verified\x20the\x20destination\x20Allocation/Treasury\x20has\x20a\x20fair\x20distribution\x20policy\x20for\x20arbiters?','requires_explicit_yes':!![],'related_risk_ids':['R-AB-5-01']}];function processUserConfirmation(a,b){const c=[...ARBITRATION_CONFIRMATION_QUESTIONS];if(!a['arbitration_json']['dispute']){const d=c['findIndex'](e=>e['id']==='QAB3');if(d>=0x0)c['splice'](d,0x1);}if(!a['arbitration_json']['arbitration']){const e=c['findIndex'](f=>f['id']==='QAB4');if(e>=0x0)c['splice'](e,0x1);}if(!a['arbitration_json']['builder']){const f=c['findIndex'](g=>g['id']==='QAB5');if(f>=0x0)c['splice'](f,0x1);}if(!a['arbitration_json']['fees_transfer']){const g=c['findIndex'](h=>h['id']==='QAB6');if(g>=0x0)c['splice'](g,0x1);}if(a['skip_user_confirmation'])return{'questions_asked':c,'responses':c['map'](h=>({'question_id':h['id'],'response':'yes'})),'all_confirmed':!![]};return{'questions_asked':c,'responses':[],'all_confirmed':![]};}function verifyEnvironment(a){const b=[];typeof a['arbitration_json']['object']==='string'&&b['push']({'name':'object_exists','passed':!![],'message':'Arbitration\x20object\x20'+a['arbitration_json']['object']+'\x20assumed\x20to\x20exist'});const c=a['arbitration_json'],d=!!(c['description']||c['location']||c['fee']||c['pause']||c['confirm']||c['vote']||c['feedback']||c['arbitration']||c['reset']||c['arb_withdraw']||c['fees_transfer']||c['usage_guard']!==undefined||c['voting_guard']||c['um']!==undefined);d&&b['push']({'name':'signer_has_permission','passed':!![],'message':'Signer\x20must\x20have\x20the\x20relevant\x20ARBITRATION_*\x20permission\x20index\x20(350-368)'});const e=c['confirm']||c['vote']||c['feedback']||c['arbitration']||c['reset']||c['arb_withdraw'];e&&b['push']({'name':'arb_belongs_to_arbitration','passed':!![],'message':'Arb.arbitration_address\x20must\x20match\x20this\x20Arbitration\x20(else\x20E_ARBITRATION_ARB_NOT_MATCH)'});c['dispute']&&b['push']({'name':'order_op_permission','passed':![],'message':'Signer\x20must\x20have\x20Order\x20'+c['dispute']['order']+'\x20dispute\x20operation\x20permission'});c['dispute']&&a['current_bPaused']!==undefined&&b['push']({'name':'arbitration_not_paused','passed':!a['current_bPaused'],'message':a['current_bPaused']?'Arbitration\x20is\x20paused\x20—\x20dispute\x20will\x20fail\x20(E_PAUSED)':'OK'});c['vote']&&a['current_timestamp_ms']!==undefined&&a['current_arb_status']==='Voting'&&b['push']({'name':'voting_deadline_not_expired','passed':!![],'message':'Verify\x20Arb.voting_deadline\x20>\x20current\x20time\x20(else\x20vote\x20rejected)'});const f=b['every'](g=>g['passed']);return{'passed':f,'checks':b};}export const ARBITRATION_CONFIRM_VERSION='1.0.0';export function runArbitrationConfirmGate(a){const b=[],c=[],d=runStaticChecklist(a);if(!d['all_passed'])return c['push']('L1_checklist'),{'status':'blocked_checklist','checklist_result':d,'confirmation_text':generateConfirmationText(a,d),'block_reason':'Checklist\x20failed:\x20'+d['items']['filter'](h=>!h['passed']&&h['id']!=='C-AB-11'&&h['id']!=='C-AB-12')['map'](h=>h['id'])['join'](',\x20'),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ARBITRATION_CONFIRM_VERSION,'final_status':'blocked_checklist','layers_passed':b,'layers_failed':c}};b['push']('L1_checklist');const e=adaptRiskAssessment(a),f=e['risks']['some'](h=>h['level']==='CRITICAL');if(f)return c['push']('L2_risk'),{'status':'blocked_risk','checklist_result':d,'risk_result':e,'confirmation_text':generateConfirmationText(a,d,e),'block_reason':'CRITICAL\x20risks:\x20'+e['risks']['filter'](h=>h['level']==='CRITICAL')['map'](h=>h['id'])['join'](',\x20'),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ARBITRATION_CONFIRM_VERSION,'final_status':'blocked_risk','layers_passed':b,'layers_failed':c}};b['push']('L2_risk');const g=processUserConfirmation(a,e);if(!g['all_confirmed']){if(a['arbitration_json']['builder']){const h=d['items']['find'](j=>j['id']==='C-AB-12');if(h){const i=g['responses']['find'](j=>j['question_id']==='QAB5');h['passed']=i?.['response']==='yes',h['message']=h['passed']?'':'Transfer\x20not\x20confirmed\x20by\x20user';}}if(a['arbitration_json']['builder']){const j=d['items']['find'](k=>k['id']==='C-AB-12');if(j&&!j['passed'])return c['push']('L3_user'),{'status':'blocked_user','checklist_result':d,'risk_result':e,'user_confirmation':g,'confirmation_text':generateConfirmationText(a,d,e),'block_reason':'User\x20did\x20not\x20confirm\x20ownership\x20transfer','decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ARBITRATION_CONFIRM_VERSION,'final_status':'blocked_user','layers_passed':b,'layers_failed':c}};}}b['push']('L3_user');if(a['skip_environment_check'])b['push']('L4_environment');else{const k=verifyEnvironment(a);if(!k['passed'])return c['push']('L4_environment'),{'status':'blocked_environment','checklist_result':d,'risk_result':e,'user_confirmation':g,'environment_result':k,'confirmation_text':generateConfirmationText(a,d,e),'block_reason':'Environment\x20check\x20failed:\x20'+k['checks']['filter'](l=>!l['passed'])['map'](l=>l['name'])['join'](',\x20'),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ARBITRATION_CONFIRM_VERSION,'final_status':'blocked_environment','layers_passed':b,'layers_failed':c}};b['push']('L4_environment');}return{'status':'approved','checklist_result':d,'risk_result':e,'user_confirmation':g,'confirmation_text':generateConfirmationText(a,d,e),'decision_record':{'timestamp':new Date()['toISOString'](),'gate_version':ARBITRATION_CONFIRM_VERSION,'final_status':'approved','layers_passed':b,'layers_failed':c}};}function generateConfirmationText(a,b,c){const d=[],e=a['arbitration_json'];d['push']('═══\x20Arbitration\x20Confirmation\x20═══'),d['push']('');if(typeof e['object']==='string')d['push']('Arbitration:\x20'+e['object']);else{if(typeof e['object']==='object'&&e['object']!==null){const f=e['object'];d['push']('Arbitration:\x20NEW\x20\x27'+(f['name']??'?')+'\x27\x20(T='+(f['type_parameter']??'?')+')');}else d['push']('Arbitration:\x20(not\x20specified)');}if(e['description'])d['push']('Description:\x20'+e['description']);if(a['current_arb_status'])d['push']('Current\x20Arb\x20status:\x20'+a['current_arb_status']);if(a['expected_arb_status'])d['push']('Expected\x20Arb\x20status:\x20'+a['expected_arb_status']);d['push'](''),d['push']('─\x20Checklist\x20──────────────────');for(const g of b['items']){const h=g['passed']?'✓':'✗';d['push']('\x20\x20'+h+'\x20'+g['id']+':\x20'+g['description']+(g['message']?'\x20—\x20'+g['message']:''));}d['push']('');if(c){d['push']('─\x20Risk\x20Assessment\x20──────────────────'),d['push']('Overall:\x20'+c['overall_risk']),d['push']('Detected:\x20'+c['risks']['length']+'\x20risk(s)');for(const i of c['risks']){d['push']('\x20\x20['+i['level']+']\x20'+i['id']+':\x20'+i['title']);}d['push']('');}d['push']('─\x20Operations\x20──────────────────');if(e['dispute'])d['push']('-\x20DISPUTE\x20on\x20Order\x20'+e['dispute']['order']+'\x20('+e['dispute']['proposition']['length']+'\x20propositions)');if(e['confirm'])d['push']('-\x20CONFIRM\x20Arb\x20'+e['confirm']['arb']+'\x20(deadline='+(e['confirm']['voting_deadline']??'none')+')');if(e['vote'])d['push']('-\x20VOTE\x20on\x20Arb\x20'+e['vote']['arb']+'\x20('+(e['vote']['voting_guard']?'weighted':'open')+')');if(e['feedback'])d['push']('-\x20FEEDBACK\x20on\x20Arb\x20'+e['feedback']['arb']);if(e['arbitration'])d['push']('-\x20⚖️\x20RULING\x20on\x20Arb\x20'+e['arbitration']['arb']+'\x20(indemnity='+e['arbitration']['indemnity']+')');if(e['reset'])d['push']('-\x20↻\x20RESET\x20Arb\x20'+e['reset']['arb']);if(e['arb_withdraw'])d['push']('-\x20WITHDRAW\x20from\x20Arb\x20'+e['arb_withdraw']['arb']);if(e['fees_transfer']){const j=e['fees_transfer']['to']['allocation']?'Allocation\x20'+e['fees_transfer']['to']['allocation']:'Treasury\x20'+e['fees_transfer']['to']['treasury'];d['push']('-\x20💰\x20FEES\x20→\x20'+j);}if(e['voting_guard'])d['push']('-\x20voting_guard\x20'+e['voting_guard']['op']);if(e['usage_guard']!==undefined)d['push']('-\x20usage_guard:\x20'+(e['usage_guard']??'clear'));if(e['builder'])d['push']('-\x20⚠️\x20TRANSFER\x20to:\x20'+e['builder']);if(e['um']!==undefined)d['push']('-\x20UM:\x20'+(e['um']??'(revoke)'));return d['push'](''),d['join']('\x0a');}export function progressiveArbitrationCheck(a){const b=runStaticChecklist(a);if(!b['all_passed'])return{'stage':'checklist','status':'fail','message':'Checklist\x20failed:\x20'+b['items']['filter'](d=>!d['passed']&&d['id']!=='C-AB-11'&&d['id']!=='C-AB-12')['map'](d=>d['id'])['join'](',\x20'),'next_action':'Fix\x20failing\x20checklist\x20items'};const c=adaptRiskAssessment(a);if(c['risks']['some'](d=>d['level']==='CRITICAL'))return{'stage':'risk','status':'fail','message':'CRITICAL\x20risks:\x20'+c['risks']['filter'](d=>d['level']==='CRITICAL')['map'](d=>d['id'])['join'](',\x20'),'next_action':'Resolve\x20CRITICAL\x20risks\x20before\x20proceeding'};if(c['needs_human_review'])return{'stage':'confirmation','status':'pending','message':'Human\x20review\x20required\x20for\x20HIGH\x20risks','next_action':'Confirm\x20risk\x20acceptance'};return{'stage':'complete','status':'pass','message':'All\x20checks\x20passed'};}
@@ -1,81 +0,0 @@
1
- import { type ArbitrationScene, type ArbitrationPermissionEntry, type ArbStatus, type DualGuardMatrix } from "./arbitration-ledger.js";
2
- import { type ArbitrationTemplate } from "./arbitration-templates.js";
3
- import { type SemanticToSchemaRule, type ArbitrationConstraintRule } from "./arbitration-translation.js";
4
- import { type RiskRule, type ArbitrationStakeholder, type ArbitrationRiskAssessment } from "./arbitration-risk.js";
5
- import { type ArbitrationPuzzle, type PuzzleCompleteness } from "./arbitration-puzzle.js";
6
- import { type ChecklistItem, type ConfirmationQuestion, type ArbitrationJsonForConfirm } from "./arbitration-confirm.js";
7
- export declare const ARBITRATION_CONTEXT_VERSION = "1.0.0";
8
- export type ArbitrationInjectionMode = "initial_design" | "mid_design_review" | "pre_publish" | "post_publish_modify" | "stakeholder_review" | "apply_check";
9
- export type ArbitrationStakeholderPerspective = ArbitrationStakeholder | "system";
10
- export interface ArbitrationContextBundle {
11
- version: string;
12
- mode: ArbitrationInjectionMode;
13
- stakeholder_perspective?: ArbitrationStakeholderPerspective;
14
- matched_scene?: ArbitrationScene;
15
- matched_template?: ArbitrationTemplate;
16
- matched_pattern?: SemanticToSchemaRule;
17
- puzzle_state?: ArbitrationPuzzle;
18
- puzzle_completeness?: PuzzleCompleteness;
19
- relevant_risks: RiskRule[];
20
- risk_assessment?: ArbitrationRiskAssessment;
21
- relevant_checklist: ChecklistItem[];
22
- relevant_questions: ConfirmationQuestion[];
23
- relevant_permissions: ArbitrationPermissionEntry[];
24
- relevant_constraints: ArbitrationConstraintRule[];
25
- dual_guard_matrix_entry?: DualGuardMatrix;
26
- arb_lifecycle_context?: ArbLifecycleContext;
27
- cross_object_refs: ArbitrationCrossObjectRef[];
28
- onchain_constraints: ArbitrationOnchainConstraint[];
29
- rendering_hints: ArbitrationRenderingHints;
30
- }
31
- export interface ArbLifecycleContext {
32
- current_status?: ArbStatus;
33
- current_status_code?: number;
34
- is_terminal: boolean;
35
- valid_next_statuses: ArbStatus[];
36
- valid_operations_from_here: string[];
37
- }
38
- export interface ArbitrationCrossObjectRef {
39
- object: "Order" | "Service" | "Arb" | "Allocation" | "Treasury" | "Guard" | "Contact" | "Payment";
40
- field: string;
41
- scene_id: string;
42
- description: string;
43
- direction: "references" | "referenced_by";
44
- }
45
- export interface ArbitrationOnchainConstraint {
46
- name: string;
47
- value: string | number;
48
- description: string;
49
- }
50
- export interface ArbitrationRenderingHints {
51
- include_puzzle_template: boolean;
52
- include_risk_details: boolean;
53
- include_questions: boolean;
54
- include_dual_guard_matrix: boolean;
55
- include_arb_lifecycle: boolean;
56
- include_immutability_warning: boolean;
57
- include_indemnity_warning: boolean;
58
- include_ownership_transfer_warning: boolean;
59
- max_length: number;
60
- }
61
- export interface BuildArbitrationContextInput {
62
- mode: ArbitrationInjectionMode;
63
- intent?: string;
64
- arbitration_json?: ArbitrationJsonForConfirm;
65
- stakeholder?: ArbitrationStakeholderPerspective;
66
- target_permission_index?: number;
67
- target_operation_category?: ArbitrationScene["operation_category"];
68
- current_arb_status?: ArbStatus;
69
- voting_guard_empty?: boolean;
70
- usage_guard_none?: boolean;
71
- max_length?: number;
72
- }
73
- export declare function buildArbitrationContext(input: BuildArbitrationContextInput): ArbitrationContextBundle;
74
- export declare function buildPromptFromArbitrationContext(bundle: ArbitrationContextBundle): string;
75
- export declare function getArbitrationContextSummary(bundle: ArbitrationContextBundle): string;
76
- export { ARBITRATION_LEDGER_VERSION, ARBITRATION_SCENES, ARBITRATION_PERMISSIONS, DUAL_GUARD_MATRIX, ARB_STATUS_CODE, ARB_TERMINAL_STATUSES, findSceneById, findSceneByPermissionIndex, inferSceneFromIntent, getScenesByCategory, getDualGuardMatrixEntry, isValidArbStatusTransition, isTerminalArbStatus, getActiveArbitrationPermissions, getAllArbitrationPermissions, } from "./arbitration-ledger.js";
77
- export { ARBITRATION_TEMPLATES_VERSION, ARBITRATION_TEMPLATES, suggestTemplateForScene, getTemplatesByScene, getTemplateById, } from "./arbitration-templates.js";
78
- export { ARBITRATION_TRANSLATION_VERSION, SEMANTIC_TO_SCHEMA_RULES, ARBITRATION_CONSTRAINT_RULES, matchSemanticPattern, explainArbitrationCallData, explainPermissionIndex, explainArbStatus, } from "./arbitration-translation.js";
79
- export { ARBITRATION_RISK_VERSION, getAllRiskRules, assessArbitrationRisks, } from "./arbitration-risk.js";
80
- export { ARBITRATION_CONFIRM_VERSION, ARBITRATION_OPERATION_CHECKLIST, ARBITRATION_CONFIRMATION_QUESTIONS, runArbitrationConfirmGate, } from "./arbitration-confirm.js";
81
- export { initPuzzleFromIntent, checkPuzzleCompleteness, validateConstraints, } from "./arbitration-puzzle.js";
@@ -1 +0,0 @@
1
- import{MAX_VOTING_GUARD_COUNT}from'@wowok/wowok';import{ARBITRATION_SCENES,DUAL_GUARD_MATRIX,ARB_STATUS_CODE,ARB_TERMINAL_STATUSES,findSceneByPermissionIndex,inferSceneFromIntent,getScenesByCategory,getDualGuardMatrixEntry,isValidArbStatusTransition,isTerminalArbStatus,getActiveArbitrationPermissions,getAllArbitrationPermissions}from'./arbitration-ledger.js';import{getTemplatesByScene}from'./arbitration-templates.js';import{ARBITRATION_CONSTRAINT_RULES,matchSemanticPattern}from'./arbitration-translation.js';import{getAllRiskRules,assessArbitrationRisks}from'./arbitration-risk.js';import{initPuzzleFromIntent,checkPuzzleCompleteness}from'./arbitration-puzzle.js';import{ARBITRATION_OPERATION_CHECKLIST,ARBITRATION_CONFIRMATION_QUESTIONS}from'./arbitration-confirm.js';export const ARBITRATION_CONTEXT_VERSION='1.0.0';export function buildArbitrationContext(a){const b=a['max_length']??0x1194;let c;if(a['intent'])c=inferSceneFromIntent(a['intent']);else{if(a['target_permission_index']!==undefined)c=findSceneByPermissionIndex(a['target_permission_index']);else{if(a['target_operation_category']){const s=getScenesByCategory(a['target_operation_category']);if(s['length']>0x0)c=s[0x0];}}}let d;if(c){const t=getTemplatesByScene(c['id']);if(t['length']>0x0)d=t[0x0];}let e;if(a['intent']){const u=matchSemanticPattern(a['intent']);if(u['length']>0x0)e=u[0x0];}let f,g;a['mode']==='initial_design'&&a['intent']&&(f=initPuzzleFromIntent({'rule_sentence':a['intent']}),g=checkPuzzleCompleteness(f));const h=filterRiskRules(a['mode'],a['stakeholder'],c);let i;if(a['mode']==='pre_publish'&&a['arbitration_json']){const v={'object':a['arbitration_json']['object'],'description':a['arbitration_json']['description'],'location':a['arbitration_json']['location'],'fee':a['arbitration_json']['fee'],'pause':a['arbitration_json']['pause'],'dispute':a['arbitration_json']['dispute'],'confirm':a['arbitration_json']['confirm'],'voting_deadline_change':a['arbitration_json']['voting_deadline_change'],'vote':a['arbitration_json']['vote'],'feedback':a['arbitration_json']['feedback'],'arbitration':a['arbitration_json']['arbitration'],'reset':a['arbitration_json']['reset'],'arb_withdraw':a['arbitration_json']['arb_withdraw'],'fees_transfer':a['arbitration_json']['fees_transfer'],'usage_guard':a['arbitration_json']['usage_guard'],'voting_guard':a['arbitration_json']['voting_guard'],'um':a['arbitration_json']['um'],'builder':a['arbitration_json']['builder'],'current_arb_status':a['current_arb_status'],'expected_arb_status':a['arbitration_json']['arbitration']?'Arbitrated':a['current_arb_status']};i=assessArbitrationRisks(v);}const j=filterChecklist(a['mode']),k=filterQuestions(a['mode']),l=filterConstraints(a['mode'],c),m=a['stakeholder']==='system'?getAllArbitrationPermissions():getActiveArbitrationPermissions();let n;if(a['voting_guard_empty']!==undefined&&a['usage_guard_none']!==undefined)n=getDualGuardMatrixEntry(a['voting_guard_empty'],a['usage_guard_none']);else{if(c){const w=c['requires_voting_guard']==='empty',x=c['requires_usage_guard']==='none';n=getDualGuardMatrixEntry(w,x);}}const o=buildArbLifecycleContext(a['current_arb_status'],c),p=buildCrossObjectRefs(c),q=buildOnchainConstraints(),r=buildRenderingHints(a['mode'],b,!!a['arbitration_json']?.['arbitration'],!!a['arbitration_json']?.['builder']);return{'version':ARBITRATION_CONTEXT_VERSION,'mode':a['mode'],'stakeholder_perspective':a['stakeholder'],'matched_scene':c,'matched_template':d,'matched_pattern':e,'puzzle_state':f,'puzzle_completeness':g,'relevant_risks':h,'risk_assessment':i,'relevant_checklist':j,'relevant_questions':k,'relevant_permissions':m,'relevant_constraints':l,'dual_guard_matrix_entry':n,'arb_lifecycle_context':o,'cross_object_refs':p,'onchain_constraints':q,'rendering_hints':r};}function filterRiskRules(a,b,c){const d=getAllRiskRules();if(a==='initial_design')return d['filter'](e=>e['category']==='structural'||e['category']==='authority');if(a==='pre_publish')return d;if(a==='stakeholder_review'&&b){if(b==='owner')return d['filter'](e=>e['category']==='authority'||e['category']==='lifecycle'||e['category']==='cross_object');if(b==='arbiter')return d['filter'](e=>e['category']==='authority'||e['category']==='lifecycle');if(b==='voter')return d['filter'](e=>e['category']==='structural'||e['category']==='lifecycle');if(b==='disputant')return d['filter'](e=>e['category']==='semantic'||e['category']==='lifecycle');if(b==='system')return d['filter'](e=>e['category']==='structural'||e['category']==='cross_object');}if(a==='post_publish_modify')return d['filter'](e=>e['category']==='lifecycle'||e['category']==='cross_object');return d;}function filterChecklist(a){if(a==='initial_design')return ARBITRATION_OPERATION_CHECKLIST['filter'](b=>['C-AB-01','C-AB-02','C-AB-03','C-AB-04']['includes'](b['id']));return[...ARBITRATION_OPERATION_CHECKLIST];}function filterQuestions(a){if(a==='pre_publish')return[...ARBITRATION_CONFIRMATION_QUESTIONS];if(a==='post_publish_modify')return ARBITRATION_CONFIRMATION_QUESTIONS['filter'](b=>b['id']!=='QAB5');return[];}function filterConstraints(a,b){if(a==='initial_design')return ARBITRATION_CONSTRAINT_RULES['filter'](d=>d['category']==='structural');if(a==='pre_publish')return[...ARBITRATION_CONSTRAINT_RULES];if(b){const c={'lifecycle':['structural','authority'],'dispute':['semantic','lifecycle'],'voting':['semantic','lifecycle'],'ruling':['authority','lifecycle'],'fund':['cross_object'],'guard':['structural','semantic'],'governance':['authority']},d=c[b['operation_category']]??[];return ARBITRATION_CONSTRAINT_RULES['filter'](e=>d['includes'](e['category']));}return[...ARBITRATION_CONSTRAINT_RULES];}function buildArbLifecycleContext(a,b){if(!a&&!b)return undefined;const c=a?isTerminalArbStatus(a):![],d=[];if(a){const f=['Principal_confirming','Arbitrator_confirming','Voting','Arbitrated','Objectionable','Finished','Withdrawn'];for(const g of f){g!==a&&isValidArbStatusTransition(a,g)&&d['push'](g);}}const e=[];for(const h of ARBITRATION_SCENES){a&&h['required_arb_status']&&h['required_arb_status']['includes'](a)&&e['push'](h['id']);}return{'current_status':a,'current_status_code':a?ARB_STATUS_CODE[a]:undefined,'is_terminal':c,'valid_next_statuses':d,'valid_operations_from_here':e};}function buildCrossObjectRefs(a){const b=[{'object':'Order','field':'dispute.order','scene_id':'arbitration_dispute','description':'dispute()\x20takes\x20Order\x20address\x20—\x20Order\x20is\x20the\x20source\x20of\x20disputes','direction':'references'},{'object':'Arb','field':'dispute\x20(spawns\x20Arb)','scene_id':'arbitration_dispute','description':'Each\x20dispute()\x20creates\x20a\x20new\x20Arb\x20case\x20object\x20with\x207-state\x20lifecycle','direction':'references'},{'object':'Guard','field':'voting_guard\x20/\x20usage_guard','scene_id':'arbitration_voting_guard_config\x20/\x20arbitration_usage_guard_config','description':'voting_guard\x20controls\x20vote\x20weight\x20(max\x2050);\x20usage_guard\x20filters\x20who\x20can\x20file\x20disputes','direction':'references'},{'object':'Allocation','field':'fees_transfer.to.allocation','scene_id':'arbitration_fees_transfer','description':'Withdrawn\x20fees\x20can\x20be\x20routed\x20to\x20Allocation\x20for\x20arbiter\x20compensation\x20distribution','direction':'references'},{'object':'Treasury','field':'fees_transfer.to.treasury','scene_id':'arbitration_fees_transfer','description':'Withdrawn\x20fees\x20can\x20be\x20routed\x20to\x20Treasury\x20as\x20alternative\x20destination','direction':'references'},{'object':'Contact','field':'um','scene_id':'arbitration_um_set','description':'um\x20(Contact\x20object)\x20for\x20arbitrator\x20↔\x20disputant\x20communication\x20channel','direction':'references'},{'object':'Payment','field':'fees_transfer.payment_remark\x20/\x20payment_index','scene_id':'arbitration_fees_transfer','description':'fees_transfer\x20creates\x20Payment\x20object\x20with\x20remark\x20+\x20index\x20for\x20audit\x20trail','direction':'references'}],c=[{'object':'Service','field':'arbitrations\x20(MAX_ARBITRATION_COUNT=20)','scene_id':'service_arbitration_config','description':'Service\x20embeds\x20up\x20to\x2020\x20Arbitration\x20references\x20for\x20dispute\x20resolution\x20per\x20service','direction':'referenced_by'}];if(a){const d=a['id'];return[...b,...c]['filter'](e=>e['scene_id']===d||e['scene_id']['includes'](d['split']('_')[0x1]??''));}return[...b,...c];}function buildOnchainConstraints(){return[{'name':'MAX_VOTING_GUARD_COUNT','value':MAX_VOTING_GUARD_COUNT,'description':'Maximum\x20voting_guard\x20entries\x20per\x20Arbitration\x20(Move\x20source:\x20arbitration.move:25)'},{'name':'ARBITRATION_PERMISSION_INDEX_RANGE','value':'350-368\x20(352\x20reserved)','description':'19\x20built-in\x20permission\x20indexes\x20for\x20Arbitration\x20—\x20most\x20among\x20all\x2022\x20objects'},{'name':'ARB_STATE_COUNT','value':0x7,'description':'Arb\x20has\x207-state\x20lifecycle:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished/Withdrawn'},{'name':'ARB_TERMINAL_STATUSES','value':ARB_TERMINAL_STATUSES['length'],'description':'Terminal\x20statuses:\x20'+ARB_TERMINAL_STATUSES['join'](',\x20')+'\x20(no\x20further\x20transitions)'},{'name':'DUAL_GUARD_COMBINATIONS','value':DUAL_GUARD_MATRIX['length'],'description':'4\x20dual-Guard\x20combos:\x20(voting_guard\x20empty/non-empty)\x20×\x20(usage_guard\x20none/some)'}];}function buildRenderingHints(a,b,c,d){return{'include_puzzle_template':a==='initial_design','include_risk_details':a==='pre_publish'||a==='stakeholder_review','include_questions':a==='pre_publish','include_dual_guard_matrix':a==='initial_design'||a==='pre_publish','include_arb_lifecycle':a==='pre_publish'||a==='post_publish_modify'||a==='stakeholder_review','include_immutability_warning':a==='post_publish_modify','include_indemnity_warning':c,'include_ownership_transfer_warning':d,'max_length':b};}export function buildPromptFromArbitrationContext(a){const b=[],d=a['rendering_hints'];b['push']('═══\x20Arbitration\x20Context\x20(mode:\x20'+a['mode']+')\x20═══'),b['push']('');a['stakeholder_perspective']&&(b['push']('Stakeholder\x20perspective:\x20'+a['stakeholder_perspective']),b['push'](''));a['matched_scene']&&(b['push']('Scene:\x20'+a['matched_scene']['name']),b['push']('Category:\x20'+a['matched_scene']['operation_category']),b['push']('Permission\x20index:\x20'+a['matched_scene']['permission_index']+'\x20('+a['matched_scene']['permission_name']+')'),a['matched_scene']['required_arb_status']&&a['matched_scene']['required_arb_status']['length']>0x0&&b['push']('Required\x20Arb\x20status:\x20'+a['matched_scene']['required_arb_status']['join']('\x20|\x20')),a['matched_scene']['resulting_arb_status']&&b['push']('Resulting\x20Arb\x20status:\x20'+a['matched_scene']['resulting_arb_status']),b['push']('Has\x20_with_passport\x20variant:\x20'+(a['matched_scene']['has_passport_variant']?'YES':'NO')),b['push'](''));a['matched_template']&&(b['push']('Suggested\x20template:\x20'+a['matched_template']['id']+'\x20—\x20'+a['matched_template']['name']),b['push']('Description:\x20'+a['matched_template']['description']),b['push'](''));a['matched_pattern']&&(b['push']('Matched\x20pattern:\x20'+a['matched_pattern']['id']+'\x20—\x20'+a['matched_pattern']['pattern_name']),b['push']('Intent:\x20'+a['matched_pattern']['semantic_intent']),b['push'](''));if(d['include_puzzle_template']&&a['puzzle_completeness']){const e=a['puzzle_completeness'];b['push']('─\x20Puzzle\x20Completeness\x20──────────────'),b['push']('Complete:\x20'+(e['complete']?'YES':'NO')),e['missing']['length']>0x0&&b['push']('Missing\x20dimensions:\x20'+e['missing']['join'](',\x20')),b['push']('Next\x20step:\x20'+e['next_step']),b['push']('');}if(d['include_dual_guard_matrix']&&a['dual_guard_matrix_entry']){const f=a['dual_guard_matrix_entry'];b['push']('─\x20Dual-Guard\x20Matrix\x20Entry\x20──────────────'),b['push']('Voting\x20guard:\x20'+(f['voting_guard_empty']?'EMPTY\x20(open\x20vote)':'NON-EMPTY\x20(weighted)')),b['push']('Usage\x20guard:\x20'+(f['usage_guard_none']?'NONE\x20(open\x20dispute)':'SOME\x20(filtered\x20dispute)')),b['push']('Vote\x20method:\x20'+f['vote_method']),b['push']('Dispute\x20method:\x20'+f['dispute_method']),b['push']('Scenario:\x20'+f['scenario']),b['push']('');}if(d['include_arb_lifecycle']&&a['arb_lifecycle_context']){const g=a['arb_lifecycle_context'];b['push']('─\x20Arb\x207-State\x20Lifecycle\x20Context\x20──────────────');if(g['current_status']){b['push']('Current\x20Arb\x20status:\x20'+g['current_status']+'\x20(code\x20'+g['current_status_code']+')'),b['push']('Terminal:\x20'+(g['is_terminal']?'YES\x20—\x20no\x20further\x20transitions':'NO'));g['valid_next_statuses']['length']>0x0&&b['push']('Valid\x20next\x20statuses:\x20'+g['valid_next_statuses']['join'](',\x20'));if(g['valid_operations_from_here']['length']>0x0){b['push']('Valid\x20operations\x20from\x20here\x20('+g['valid_operations_from_here']['length']+'):');for(const i of g['valid_operations_from_here']['slice'](0x0,0x6)){b['push']('\x20\x20-\x20'+i);}g['valid_operations_from_here']['length']>0x6&&b['push']('\x20\x20...\x20and\x20'+(g['valid_operations_from_here']['length']-0x6)+'\x20more');}}else b['push']('No\x20current\x20Arb\x20status\x20provided\x20—\x20lifecycle\x20context\x20inactive');b['push']('');}if(d['include_risk_details']&&a['relevant_risks']['length']>0x0){b['push']('─\x20Relevant\x20Risk\x20Rules\x20('+a['relevant_risks']['length']+')\x20──────────────');for(const j of a['relevant_risks']['slice'](0x0,0x6)){b['push']('\x20\x20'+j['id']+'\x20—\x20'+j['trigger']);}a['relevant_risks']['length']>0x6&&b['push']('\x20\x20...\x20and\x20'+(a['relevant_risks']['length']-0x6)+'\x20more'),b['push']('');}if(a['risk_assessment']){b['push']('─\x20Risk\x20Assessment\x20──────────────'),b['push']('Overall\x20risk:\x20'+a['risk_assessment']['overall_risk']),b['push']('Detected:\x20'+a['risk_assessment']['risks']['length']+'\x20risk(s)');if(a['risk_assessment']['risks']['length']>0x0){for(const k of a['risk_assessment']['risks']['slice'](0x0,0x3)){b['push']('\x20\x20['+k['level']+']\x20'+k['id']+':\x20'+k['title']);}a['risk_assessment']['risks']['length']>0x3&&b['push']('\x20\x20...\x20and\x20'+(a['risk_assessment']['risks']['length']-0x3)+'\x20more');}b['push']('');}if(a['relevant_permissions']['length']>0x0){b['push']('─\x20Relevant\x20Permissions\x20('+a['relevant_permissions']['length']+')\x20──────────────');for(const l of a['relevant_permissions']['slice'](0x0,0xa)){const n=l['is_reserved']?'\x20[RESERVED]':'';b['push']('\x20\x20['+l['index']+']\x20'+l['name']+n+':\x20'+l['description']);}a['relevant_permissions']['length']>0xa&&b['push']('\x20\x20...\x20and\x20'+(a['relevant_permissions']['length']-0xa)+'\x20more'),b['push']('');}if(a['relevant_constraints']['length']>0x0){b['push']('─\x20Relevant\x20Constraint\x20Rules\x20('+a['relevant_constraints']['length']+')\x20──────────────');for(const o of a['relevant_constraints']['slice'](0x0,0x5)){b['push']('\x20\x20'+o['id']+'\x20['+o['category']+']:\x20'+o['rule']);}a['relevant_constraints']['length']>0x5&&b['push']('\x20\x20...\x20and\x20'+(a['relevant_constraints']['length']-0x5)+'\x20more'),b['push']('');}d['include_indemnity_warning']&&(b['push']('⚠️\x20INDEMNITY\x20OPERATION\x20DETECTED\x20—\x20arbitration.indemnity\x20transfers\x20WOW\x20from\x20arbiter\x20to\x20disputant'),b['push']('\x20\x20\x20This\x20is\x20IRREVERSIBLE\x20once\x20the\x20ruling\x20is\x20finalized.\x20Verify\x20indemnity\x20amount\x20carefully.'),b['push'](''));d['include_ownership_transfer_warning']&&(b['push']('⚠️\x20OWNERSHIP\x20TRANSFER\x20DETECTED\x20—\x20builder\x20field\x20transfers\x20Arbitration\x20ownership'),b['push']('\x20\x20\x20This\x20is\x20IRREVERSIBLE.\x20Original\x20owner\x20will\x20lose\x20all\x20administrative\x20rights.'),b['push'](''));d['include_immutability_warning']&&(b['push']('ℹ️\x20POST-PUBLISH\x20MODIFICATION\x20—\x20Arbitration\x20is\x20already\x20on-chain'),b['push']('\x20\x20\x20Some\x20fields\x20can\x20be\x20modified\x20(description,\x20location,\x20fee,\x20voting_guard,\x20usage_guard)'),b['push']('\x20\x20\x20but\x20core\x20properties\x20(coin_type,\x20permission\x20object)\x20are\x20immutable.'),b['push'](''));if(a['cross_object_refs']['length']>0x0){b['push']('─\x20Cross-Object\x20References\x20('+a['cross_object_refs']['length']+')\x20──────────────');for(const q of a['cross_object_refs']['slice'](0x0,0x6)){const s=q['direction']==='references'?'→':'←';b['push']('\x20\x20'+s+'\x20'+q['object']+'.'+q['field']+'\x20('+q['direction']+')\x20—\x20'+q['description']);}a['cross_object_refs']['length']>0x6&&b['push']('\x20\x20...\x20and\x20'+(a['cross_object_refs']['length']-0x6)+'\x20more'),b['push']('');}if(a['onchain_constraints']['length']>0x0){b['push']('─\x20On-chain\x20Constraints\x20──────────────');for(const t of a['onchain_constraints']){b['push']('\x20\x20'+t['name']+'\x20=\x20'+t['value']+'\x20—\x20'+t['description']);}b['push']('');}return b['join']('\x0a');}export function getArbitrationContextSummary(a){const b=['mode='+a['mode'],'scene='+(a['matched_scene']?.['id']??'none'),'risks='+a['relevant_risks']['length'],'permissions='+a['relevant_permissions']['length'],'constraints='+a['relevant_constraints']['length']];if(a['stakeholder_perspective'])b['push']('stakeholder='+a['stakeholder_perspective']);if(a['risk_assessment'])b['push']('overall_risk='+a['risk_assessment']['overall_risk']);a['dual_guard_matrix_entry']&&b['push']('dual_guard='+a['dual_guard_matrix_entry']['vote_method']+'+'+a['dual_guard_matrix_entry']['dispute_method']);a['arb_lifecycle_context']?.['current_status']&&b['push']('arb_status='+a['arb_lifecycle_context']['current_status']);if(a['cross_object_refs']['length']>0x0)b['push']('xrefs='+a['cross_object_refs']['length']);return b['join'](',\x20');}export{ARBITRATION_LEDGER_VERSION,ARBITRATION_SCENES,ARBITRATION_PERMISSIONS,DUAL_GUARD_MATRIX,ARB_STATUS_CODE,ARB_TERMINAL_STATUSES,findSceneById,findSceneByPermissionIndex,inferSceneFromIntent,getScenesByCategory,getDualGuardMatrixEntry,isValidArbStatusTransition,isTerminalArbStatus,getActiveArbitrationPermissions,getAllArbitrationPermissions}from'./arbitration-ledger.js';export{ARBITRATION_TEMPLATES_VERSION,ARBITRATION_TEMPLATES,suggestTemplateForScene,getTemplatesByScene,getTemplateById}from'./arbitration-templates.js';export{ARBITRATION_TRANSLATION_VERSION,SEMANTIC_TO_SCHEMA_RULES,ARBITRATION_CONSTRAINT_RULES,matchSemanticPattern,explainArbitrationCallData,explainPermissionIndex,explainArbStatus}from'./arbitration-translation.js';export{ARBITRATION_RISK_VERSION,getAllRiskRules,assessArbitrationRisks}from'./arbitration-risk.js';export{ARBITRATION_CONFIRM_VERSION,ARBITRATION_OPERATION_CHECKLIST,ARBITRATION_CONFIRMATION_QUESTIONS,runArbitrationConfirmGate}from'./arbitration-confirm.js';export{initPuzzleFromIntent,checkPuzzleCompleteness,validateConstraints}from'./arbitration-puzzle.js';
@@ -1,91 +0,0 @@
1
- import { type ArbStatus } from "./arbitration-ledger.js";
2
- export interface SemanticToSchemaRule {
3
- id: string;
4
- pattern_name: string;
5
- semantic_intent: string;
6
- match_keywords: string[];
7
- schema_fields: string[];
8
- example_json: object;
9
- reverse_explanation: string;
10
- }
11
- export interface SchemaToSemanticRule {
12
- element_type: "field" | "op" | "index" | "status";
13
- type_name: string;
14
- semantic_explanation: string;
15
- constraints?: string[];
16
- }
17
- export interface ArbitrationConstraintRule {
18
- id: string;
19
- category: "structural" | "semantic" | "authority" | "lifecycle" | "cross_object";
20
- rule: string;
21
- applies_to: string[];
22
- }
23
- export declare const SEMANTIC_TO_SCHEMA_RULES: SemanticToSchemaRule[];
24
- export declare const SCHEMA_TO_SEMANTIC_RULES: SchemaToSemanticRule[];
25
- export declare const ARBITRATION_CONSTRAINT_RULES: ArbitrationConstraintRule[];
26
- export declare const ARBITRATION_TRANSLATION_VERSION = "1.0.0";
27
- export declare function matchSemanticPattern(userIntent: string): SemanticToSchemaRule[];
28
- export declare function explainArbitrationCallData(data: {
29
- object?: string | null | object;
30
- description?: string;
31
- location?: string;
32
- fee?: string | number;
33
- pause?: boolean;
34
- dispute?: {
35
- order: string;
36
- description?: string;
37
- proposition: string[];
38
- fee?: unknown;
39
- namedArb?: unknown;
40
- };
41
- confirm?: {
42
- arb: string;
43
- voting_deadline: number | null;
44
- };
45
- voting_deadline_change?: {
46
- arb: string;
47
- voting_deadline: number | null;
48
- };
49
- vote?: {
50
- arb: string;
51
- votes: number[];
52
- voting_guard?: string;
53
- };
54
- feedback?: {
55
- arb: string;
56
- feedback: string;
57
- };
58
- arbitration?: {
59
- arb: string;
60
- feedback: string;
61
- indemnity: number;
62
- };
63
- reset?: {
64
- arb: string;
65
- feedback: string;
66
- };
67
- arb_withdraw?: {
68
- arb: string;
69
- };
70
- fees_transfer?: {
71
- to: {
72
- allocation?: string;
73
- treasury?: string;
74
- };
75
- payment_remark: string;
76
- payment_index: number;
77
- };
78
- usage_guard?: string | null;
79
- voting_guard?: {
80
- op: string;
81
- guards?: unknown[];
82
- };
83
- um?: string | null;
84
- builder?: string;
85
- }): string;
86
- export declare function explainField(fieldName: string): SchemaToSemanticRule | undefined;
87
- export declare function explainOp(opName: string): SchemaToSemanticRule | undefined;
88
- export declare function explainStatus(statusName: string): SchemaToSemanticRule | undefined;
89
- export declare function getConstraintsByCategory(category: ArbitrationConstraintRule["category"]): ArbitrationConstraintRule[];
90
- export declare function explainPermissionIndex(index: number): string;
91
- export declare function explainArbStatus(status: ArbStatus): string;
@@ -1 +0,0 @@
1
- import{getPermissionByIndex,findSceneByPermissionIndex}from'./arbitration-ledger.js';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'P-AB-01','pattern_name':'Create\x20new\x20Arbitration','semantic_intent':'Create\x20a\x20new\x20Arbitration\x20service\x20for\x20a\x20given\x20Coin\x20type','match_keywords':['create','new'],'schema_fields':['object({name,\x20type_parameter,\x20permission})','description'],'example_json':{'object':{'name':'ecommerce_arb','type_parameter':'0x2::wow::WOW','permission':{'name':'arb_permission'}},'description':'E-commerce\x20dispute\x20arbitration'},'reverse_explanation':'object={name,\x20type_parameter,\x20permission}\x20creates\x20a\x20new\x20Arbitration;\x20bPaused\x20defaults\x20to\x20true'},{'id':'P-AB-02','pattern_name':'Configure\x20Arbitration\x20(description/location/fee/pause)','semantic_intent':'Set\x20description,\x20location,\x20dispute\x20fee,\x20or\x20pause/resume','match_keywords':['configure','set','pause','resume','enable'],'schema_fields':['object','description','location','fee','pause'],'example_json':{'object':'ecommerce_arb','location':'Shanghai','fee':'1000000000','pause':![]},'reverse_explanation':'Each\x20field\x20maps\x20to\x20a\x20separate\x20permission\x20index:\x20location(353),\x20fee(357),\x20pause(356)'},{'id':'P-AB-03','pattern_name':'File\x20dispute\x20(create\x20Arb\x20case)','semantic_intent':'File\x20a\x20dispute\x20against\x20an\x20Order\x20—\x20creates\x20a\x20new\x20Arb\x20case','match_keywords':['dispute','file','complaint','initiate'],'schema_fields':['object','dispute({order,\x20description,\x20proposition,\x20fee,\x20namedArb?})'],'example_json':{'object':'ecommerce_arb','dispute':{'order':'order_123','description':'Goods\x20not\x20delivered','proposition':['Seller\x20ships','Seller\x20refunds'],'fee':{'type':'0x2::wow::WOW','balance':'1000000000'},'namedArb':'arb_case_123'}},'reverse_explanation':'dispute\x20creates\x20an\x20independent\x20Arb<T>\x20object;\x20fee\x20must\x20be\x20>=\x20Arbitration.fee\x20(E_FEE_NOT_ENOUGH)'},{'id':'P-AB-04','pattern_name':'Confirm\x20materials\x20(start\x20voting)','semantic_intent':'Confirm\x20principal\x27s\x20submitted\x20materials\x20and\x20start\x20the\x20voting\x20phase','match_keywords':['confirm','materials','start\x20voting'],'schema_fields':['object','confirm({arb,\x20voting_deadline})'],'example_json':{'object':'ecommerce_arb','confirm':{'arb':'arb_case_123','voting_deadline':0x19f80890050}},'reverse_explanation':'Transitions\x20Arb:\x20Principal_confirming\x20→\x20Voting;\x20voting_deadline=null\x20means\x20no\x20deadline'},{'id':'P-AB-05','pattern_name':'Open\x20vote\x20(no\x20voting_guard)','semantic_intent':'Vote\x20on\x20Arb\x20propositions\x20(1\x20person\x201\x20vote,\x20no\x20voting_guard\x20configured)','match_keywords':['vote','open\x20vote','decide'],'schema_fields':['object','vote({arb,\x20votes})'],'example_json':{'object':'ecommerce_arb','vote':{'arb':'arb_case_123','votes':[0x0]}},'reverse_explanation':'vote()\x20requires\x20voting_guard\x20empty\x20(else\x20E_VOTING_GUARD_USED);\x20votes\x20is\x20u8\x20array\x20(proposition\x20indexes)'},{'id':'P-AB-06','pattern_name':'Weighted\x20vote\x20(with\x20voting_guard)','semantic_intent':'Vote\x20using\x20a\x20specific\x20voting_guard\x20for\x20weighted\x20voting','match_keywords':['weighted\x20vote','voting_guard\x20vote'],'schema_fields':['object','vote({arb,\x20votes,\x20voting_guard})'],'example_json':{'object':'ecommerce_arb','vote':{'arb':'arb_case_123','votes':[0x1],'voting_guard':'token_guard'}},'reverse_explanation':'voting_guard\x20must\x20be\x20in\x20Arbitration.voting_guard\x20list\x20(else\x20E_VOTING_GUARD_NOT_FOUND)'},{'id':'P-AB-07','pattern_name':'Make\x20definitive\x20ruling\x20(arbitration)','semantic_intent':'Make\x20a\x20definitive\x20arbitration\x20ruling\x20with\x20indemnity\x20compensation','match_keywords':['ruling','arbitrate','verdict'],'schema_fields':['object','arbitration({arb,\x20feedback,\x20indemnity})'],'example_json':{'object':'ecommerce_arb','arbitration':{'arb':'arb_case_123','feedback':'Buyer\x20wins','indemnity':0xba43b7400}},'reverse_explanation':'Arb\x20transitions\x20to\x20Arbitrated;\x20indemnity\x20paid\x20via\x20order::compensate\x20(public(package)\x20—\x20order-only)'},{'id':'P-AB-08','pattern_name':'Reset\x20arbitration','semantic_intent':'Reset\x20arbitration\x20—\x20principal\x20resubmits\x20materials,\x20restart\x20lifecycle','match_keywords':['reset','restart','resubmit'],'schema_fields':['object','reset({arb,\x20feedback})'],'example_json':{'object':'ecommerce_arb','reset':{'arb':'arb_case_123','feedback':'Principal\x20objects\x20to\x20ruling,\x20resubmitting\x20evidence'}},'reverse_explanation':'Arb\x20transitions\x20from\x20Objectionable/Arbitrated\x20→\x20Principal_confirming;\x20restarts\x20full\x20lifecycle'},{'id':'P-AB-09','pattern_name':'Configure\x20voting_guard','semantic_intent':'Add\x20/\x20set\x20/\x20remove\x20/\x20clear\x20voting_guard\x20entries\x20(controls\x20vote\x20weight)','match_keywords':['voting_guard','voting\x20guard','weight'],'schema_fields':['object','voting_guard({op,\x20guards})'],'example_json':{'object':'ecommerce_arb','voting_guard':{'op':'add','guards':[{'guard':'token_guard','vote_weight':{'FixedValue':0x64}}]}},'reverse_explanation':'op=\x27set\x27=clear+add;\x20\x27add\x27=append;\x20\x27remove\x27=by\x20address;\x20\x27clear\x27=empty\x20all.\x20Max\x2050\x20guards'},{'id':'P-AB-10','pattern_name':'Allocate\x20fees\x20(fees_alloc\x20/\x20fees_transfer)','semantic_intent':'Distribute\x20arbitration\x20fee\x20balance\x20to\x20Allocation\x20or\x20Treasury','match_keywords':['fees_alloc','fees_transfer','allocate','allocate\x20fees'],'schema_fields':['object','fees_transfer({to,\x20payment_remark,\x20payment_index,\x20newPayment?})'],'example_json':{'object':'ecommerce_arb','fees_transfer':{'to':{'allocation':'arb_alloc'},'payment_remark':'arbitration_fee_split','payment_index':0x0}},'reverse_explanation':'to.allocation\x20triggers\x20fees_alloc\x20(365);\x20to.treasury\x20triggers\x20fees_transfer\x20(366).\x20Withdraws\x20ALL\x20balance.'}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'field','type_name':'object','semantic_explanation':'Arbitration\x20object.\x20STRING=operate\x20existing;\x20OBJECT({name,type_parameter,permission})=create\x20new'},{'element_type':'field','type_name':'dispute','semantic_explanation':'File\x20a\x20new\x20dispute\x20—\x20creates\x20Arb<T>\x20case.\x20Requires\x20Order\x20op\x20permission;\x20fee\x20must\x20be\x20>=\x20Arbitration.fee'},{'element_type':'field','type_name':'confirm','semantic_explanation':'Confirm\x20materials\x20→\x20start\x20voting.\x20Transitions\x20Arb\x20to\x20Voting\x20status.\x20voting_deadline=null\x20for\x20no\x20deadline'},{'element_type':'field','type_name':'vote','semantic_explanation':'Vote\x20on\x20propositions.\x20votes=u8[]\x20(proposition\x20indexes).\x20voting_guard\x20optional\x20for\x20weighted\x20voting'},{'element_type':'field','type_name':'arbitration','semantic_explanation':'Make\x20definitive\x20ruling\x20with\x20indemnity.\x20Transitions\x20Arb\x20to\x20Arbitrated.\x20indemnity\x20paid\x20via\x20order::compensate'},{'element_type':'field','type_name':'feedback','semantic_explanation':'Provide\x20feedback\x20on\x20Arb.\x20Informational\x20only\x20—\x20does\x20NOT\x20change\x20Arb\x20status'},{'element_type':'field','type_name':'reset','semantic_explanation':'Reset\x20Arb\x20to\x20Principal_confirming.\x20Requires\x20feedback\x20explaining\x20reset\x20reason.\x20Restarts\x20lifecycle'},{'element_type':'field','type_name':'arb_withdraw','semantic_explanation':'Withdraw\x20fees\x20from\x20Arb\x20into\x20Arbitration.balance.\x20Only\x20allowed\x20in\x20terminal\x20status\x20(Finished/Withdrawn)'},{'element_type':'field','type_name':'fees_transfer','semantic_explanation':'Distribute\x20ALL\x20Arbitration.balance\x20to\x20Allocation\x20(365)\x20or\x20Treasury\x20(366).\x20Creates\x20Payment\x20record'},{'element_type':'field','type_name':'voting_guard','semantic_explanation':'voting_guard\x20list\x20management.\x20op=\x27add\x27|\x27set\x27|\x27remove\x27|\x27clear\x27.\x20vote_weight:\x20GuardIdentifier(u8)\x20|\x20FixedValue(u32)'},{'element_type':'field','type_name':'usage_guard','semantic_explanation':'Set/clear\x20usage_guard\x20(Option<address>).\x20STRING=set\x20guard;\x20null=clear.\x20When\x20set,\x20dispute\x20must\x20use\x20_with_passport'},{'element_type':'field','type_name':'pause','semantic_explanation':'Pause/resume.\x20bPaused=true\x20blocks\x20dispute\x20(E_PAUSED).\x20New\x20Arbitration\x20defaults\x20to\x20paused=true'},{'element_type':'field','type_name':'fee','semantic_explanation':'Set\x20dispute\x20application\x20fee\x20(u64).\x20dispute\x20requires\x20coin\x20value\x20>=\x20this\x20fee'},{'element_type':'field','type_name':'um','semantic_explanation':'User\x20Manager\x20(Contact\x20object\x20address).\x20um=null\x20revokes.\x20UM\x20≠\x20admin\x20—\x20for\x20contact\x20management\x20only'},{'element_type':'op','type_name':'add','semantic_explanation':'voting_guard:\x20append\x20guards\x20to\x20existing\x20list\x20(dedup\x20by\x20address;\x20updates\x20vote_weight\x20if\x20exists)'},{'element_type':'op','type_name':'set','semantic_explanation':'voting_guard:\x20clear\x20then\x20add\x20—\x20replaces\x20entire\x20list'},{'element_type':'op','type_name':'remove','semantic_explanation':'voting_guard:\x20remove\x20by\x20address\x20(guards\x20is\x20string[]\x20of\x20addresses)'},{'element_type':'op','type_name':'clear','semantic_explanation':'voting_guard:\x20empty\x20the\x20entire\x20list'},{'element_type':'status','type_name':'Principal_confirming','semantic_explanation':'Arb\x20state\x200:\x20created,\x20principal\x20submitting\x20materials\x20(after\x20dispute\x20or\x20reset)'},{'element_type':'status','type_name':'Arbitrator_confirming','semantic_explanation':'Arb\x20state\x201:\x20arbitrator\x20reviewing/confirming\x20materials'},{'element_type':'status','type_name':'Voting','semantic_explanation':'Arb\x20state\x202:\x20voting\x20in\x20progress\x20(after\x20confirm).\x20vote/voting_deadline_change\x20allowed'},{'element_type':'status','type_name':'Arbitrated','semantic_explanation':'Arb\x20state\x203:\x20ruling\x20made\x20(after\x20arbitration\x20op).\x20Can\x20transition\x20to\x20Objectionable\x20or\x20Finished'},{'element_type':'status','type_name':'Objectionable','semantic_explanation':'Arb\x20state\x204:\x20objection\x20window\x20—\x20reset\x20allowed\x20to\x20restart\x20lifecycle'},{'element_type':'status','type_name':'Finished','semantic_explanation':'Arb\x20state\x205:\x20terminal\x20—\x20case\x20closed.\x20arb_withdraw\x20allowed'},{'element_type':'status','type_name':'Withdrawn','semantic_explanation':'Arb\x20state\x206:\x20terminal\x20—\x20fees\x20withdrawn.\x20No\x20further\x20operations\x20allowed'}];export const ARBITRATION_CONSTRAINT_RULES=[{'id':'MC-AB-01','category':'structural','rule':'voting_guard\x20count\x20<=\x20MAX_VOTING_GUARD_COUNT\x20(50)','applies_to':['voting_guard.guards']},{'id':'MC-AB-02','category':'structural','rule':'Arbitration\x20is\x20generic\x20<phantom\x20T>;\x20T\x20must\x20be\x20a\x20valid\x20Coin\x20type\x20(e.g.\x200x2::wow::WOW)','applies_to':['object.type_parameter']},{'id':'MC-AB-03','category':'structural','rule':'fee\x20(u64)\x20must\x20be\x20>=\x200;\x20dispute\x20requires\x20coin::value(&fee)\x20>=\x20Arbitration.fee','applies_to':['fee','dispute.fee']},{'id':'MC-AB-04','category':'structural','rule':'bPaused\x20defaults\x20to\x20true\x20on\x20creation\x20—\x20must\x20call\x20pause(false)\x20to\x20enable\x20dispute','applies_to':['pause']},{'id':'MC-AB-05','category':'semantic','rule':'VoteValue.GuardIdentifier\x20is\x20u8\x20(0-255);\x20FixedValue\x20is\x20u32\x20(0-4294967295)','applies_to':['voting_guard.guards.vote_weight']},{'id':'MC-AB-06','category':'semantic','rule':'votes\x20array\x20is\x20u8[]\x20—\x20indexes\x20into\x20proposition\x20list\x20(0..N-1)','applies_to':['vote.votes']},{'id':'MC-AB-07','category':'semantic','rule':'When\x20voting_guard\x20is\x20non-empty,\x20vote\x20MUST\x20use\x20vote_with_voting_guard\x20(else\x20E_VOTING_GUARD_USED)','applies_to':['vote']},{'id':'MC-AB-08','category':'semantic','rule':'When\x20usage_guard\x20is\x20Some,\x20dispute\x20MUST\x20use\x20_with_passport\x20variant\x20(else\x20E_NEED_PASSPORT)','applies_to':['dispute']},{'id':'MC-AB-09','category':'authority','rule':'Each\x20operation\x20has\x20dual-path\x20API:\x20xxx()\x20(sender\x20check)\x20and\x20xxx_with_passport()\x20(Passport\x20check)','applies_to':['all\x20operations']},{'id':'MC-AB-10','category':'authority','rule':'19\x20permission\x20indexes\x20(350-368);\x20352\x20is\x20reserved\x20placeholder\x20(ARBITRATION_ENDPOINT,\x20commented\x20out)','applies_to':['permission\x20table']},{'id':'MC-AB-11','category':'lifecycle','rule':'Arb\x207-state\x20flow:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished/Withdrawn.\x20reset\x20restarts\x20to\x20Principal_confirming','applies_to':['confirm','vote','arbitration','reset','arb_withdraw']},{'id':'MC-AB-12','category':'lifecycle','rule':'Terminal\x20states\x20(Finished,\x20Withdrawn)\x20only\x20allow\x20arb_withdraw;\x20no\x20vote/confirm/arbitration/reset/feedback','applies_to':['vote','confirm','arbitration','reset','feedback','arb_withdraw']},{'id':'MC-AB-13','category':'cross_object','rule':'dispute\x20requires\x20order::assert_op_permission\x20—\x20signer\x20must\x20have\x20Order\x27s\x20dispute\x20operation\x20permission','applies_to':['dispute']},{'id':'MC-AB-14','category':'cross_object','rule':'compensate\x20is\x20public(package)\x20—\x20only\x20order.move\x20can\x20call\x20it;\x20external\x20code\x20cannot\x20trigger\x20compensation\x20directly','applies_to':['arbitration\x20(indemnity\x20payment)']}];export const ARBITRATION_TRANSLATION_VERSION='1.0.0';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 explainArbitrationCallData(b){const e=[];if(b['object']===null||b['object']===undefined)e['push']('Operation:\x20INVALID\x20—\x20object\x20is\x20required');else{if(typeof b['object']==='object'){const g=b['object'];e['push']('Operation:\x20CREATE\x20new\x20Arbitration\x20\x27'+(g['name']??'?')+'\x27\x20(T='+(g['type_parameter']??'?')+')');}else e['push']('Operation:\x20OPERATE\x20existing\x20Arbitration\x20at\x20'+b['object']);}if(b['description'])e['push']('-\x20Set\x20description:\x20\x22'+b['description']+'\x22');if(b['location'])e['push']('-\x20Set\x20location:\x20'+b['location']);if(b['fee']!==undefined)e['push']('-\x20Set\x20fee:\x20'+b['fee']);if(b['pause']!==undefined)e['push']('-\x20'+(b['pause']?'Pause':'Resume\x20(enable\x20disputes)'));if(b['dispute']){const h=b['dispute'];e['push']('-\x20File\x20DISPUTE\x20against\x20Order\x20'+h['order']);if(h['description'])e['push']('\x20\x20Description:\x20\x22'+h['description']+'\x22');e['push']('\x20\x20Propositions\x20('+h['proposition']['length']+'):\x20'+h['proposition']['join']('\x20|\x20'));}if(b['confirm']){const i=b['confirm'],j=i['voting_deadline']===null?'no\x20deadline':'deadline='+i['voting_deadline'];e['push']('-\x20CONFIRM\x20materials\x20on\x20Arb\x20'+i['arb']+'\x20('+j+')\x20—\x20starts\x20voting');}if(b['voting_deadline_change']){const k=b['voting_deadline_change'],l=k['voting_deadline']===null?'no\x20deadline':'deadline='+k['voting_deadline'];e['push']('-\x20Change\x20voting_deadline\x20on\x20Arb\x20'+k['arb']+':\x20'+l);}if(b['vote']){const m=b['vote'],n=m['voting_guard']?'weighted\x20(guard='+m['voting_guard']+')':'open\x20(1\x20person\x201\x20vote)';e['push']('-\x20VOTE\x20on\x20Arb\x20'+m['arb']+'\x20—\x20'+n),e['push']('\x20\x20Votes:\x20['+m['votes']['join'](',\x20')+']\x20(proposition\x20indexes)');}b['feedback']&&e['push']('-\x20FEEDBACK\x20on\x20Arb\x20'+b['feedback']['arb']+':\x20\x22'+b['feedback']['feedback']+'\x22');if(b['arbitration']){const o=b['arbitration'];e['push']('-\x20⚖️\x20RULING\x20on\x20Arb\x20'+o['arb']+':\x20\x22'+o['feedback']+'\x22'),e['push']('\x20\x20Indemnity:\x20'+o['indemnity']+'\x20(paid\x20via\x20order::compensate)');}b['reset']&&e['push']('-\x20↻\x20RESET\x20Arb\x20'+b['reset']['arb']+':\x20\x22'+b['reset']['feedback']+'\x22\x20—\x20restart\x20lifecycle');b['arb_withdraw']&&e['push']('-\x20WITHDRAW\x20fees\x20from\x20Arb\x20'+b['arb_withdraw']['arb']+'\x20→\x20Arbitration.balance');if(b['fees_transfer']){const p=b['fees_transfer'],q=p['to']['allocation']?'Allocation\x20'+p['to']['allocation']:'Treasury\x20'+p['to']['treasury'];e['push']('-\x20💰\x20ALLOCATE\x20fees\x20→\x20'+q),e['push']('\x20\x20Remark:\x20\x22'+p['payment_remark']+'\x22,\x20index:\x20'+p['payment_index']);}b['usage_guard']!==undefined&&e['push'](b['usage_guard']===null?'-\x20usage_guard:\x20CLEAR\x20(dispute\x20no\x20longer\x20requires\x20passport)':'-\x20usage_guard:\x20SET\x20to\x20'+b['usage_guard']+'\x20(dispute\x20requires\x20_with_passport)');if(b['voting_guard']){const r=b['voting_guard'],s=Array['isArray'](r['guards'])?r['guards']['length']:0x0;e['push']('-\x20voting_guard\x20'+r['op']+(r['op']!=='clear'?'\x20('+s+'\x20guard(s))':''));}return b['um']!==undefined&&e['push'](b['um']===null?'-\x20UM:\x20revoke':'-\x20UM:\x20set\x20to\x20'+b['um']),b['builder']&&e['push']('-\x20⚠️\x20TRANSFER\x20ownership\x20to\x20'+b['builder']+'\x20(IRREVERSIBLE)'),e['join']('\x0a');}export function explainField(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='field'&&b['type_name']===a);}export function explainOp(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='op'&&b['type_name']===a);}export function explainStatus(a){return SCHEMA_TO_SEMANTIC_RULES['find'](b=>b['element_type']==='status'&&b['type_name']===a);}export function getConstraintsByCategory(a){return ARBITRATION_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function explainPermissionIndex(a){const b=getPermissionByIndex(a),c=findSceneByPermissionIndex(a);if(b?.['is_reserved'])return b['name']+'\x20('+a+')\x20—\x20RESERVED\x20placeholder,\x20not\x20used\x20on-chain';if(b)return b['name']+'\x20('+a+')\x20—\x20'+b['description']+'\x20[scene:\x20'+(c?.['id']??'unknown')+']';return'Unknown\x20permission\x20index\x20('+a+')\x20—\x20not\x20in\x20ARBITRATION_*\x20range\x20(350-368)';}export function explainArbStatus(a){const b=explainStatus(a);return b?a+':\x20'+b['semantic_explanation']:a+':\x20unknown\x20status';}
@@ -1,26 +0,0 @@
1
- export declare const BRIDGE_CONFIRM_VERSION = "1.0.0";
2
- export type ConfirmSeverity = "block" | "warn" | "info";
3
- export interface BridgeConfirmItem {
4
- id: string;
5
- severity: ConfirmSeverity;
6
- title: string;
7
- description: string;
8
- passed: boolean;
9
- evidence?: string;
10
- fix_hint?: string;
11
- }
12
- export interface BridgeOpCheckInput {
13
- is_non_mainnet?: boolean;
14
- unsupported_token?: string;
15
- idempotency_key_length?: number;
16
- is_paused?: boolean;
17
- versioned_upgrade_in_progress?: boolean;
18
- }
19
- export declare function preCheckBridgeOp(input: BridgeOpCheckInput): BridgeConfirmItem[];
20
- export declare function canProceedBridgeOp(input: BridgeOpCheckInput): {
21
- canProceed: boolean;
22
- blockers: BridgeConfirmItem[];
23
- warnings: BridgeConfirmItem[];
24
- info: BridgeConfirmItem[];
25
- };
26
- export declare function formatBridgeOpSummary(input: BridgeOpCheckInput): string;
@@ -1 +0,0 @@
1
- import{BRIDGE_CURRENT_VERSION,BRIDGE_MESSAGE_VERSION,BRIDGE_EVM_ADDRESS_LENGTH}from'@wowok/wowok';export const BRIDGE_CONFIRM_VERSION='1.0.0';const SUPPORTED_TOKENS=['ETH','WETH','WBTC','USDC','USDT'],MAX_IDEMPOTENCY_KEY_LENGTH=0x80;function checkEnvironment(a){if(!a['is_non_mainnet'])return{'id':'C-BRIDGE-01','severity':'info','title':'Bridge\x20is\x20mainnet-only','description':'Cross-chain\x20ops\x20abort\x20with\x20EBridgeUnavailable\x20(8)\x20on\x20testnet.','passed':!![],'evidence':'mainnet\x20assumed'};return{'id':'C-BRIDGE-01','severity':'block','title':'Non-mainnet\x20environment\x20—\x20Bridge\x20unavailable','description':'The\x20Bridge\x20role\x20is\x20only\x20configured\x20on\x20mainnet;\x20testnet\x20ops\x20abort\x20with\x20EBridgeUnavailable\x20(8).','passed':![],'evidence':'is_non_mainnet=true','fix_hint':'Run\x20Bridge\x20ops\x20on\x20mainnet\x20only.'};}function checkToken(a){if(!a['unsupported_token'])return{'id':'C-BRIDGE-02','severity':'info','title':'Token\x20is\x20supported\x20('+SUPPORTED_TOKENS['join'](',\x20')+')','description':'Bridge\x20supports\x20exactly\x20'+SUPPORTED_TOKENS['length']+'\x20tokens.','passed':!![],'evidence':'token\x20supported'};return{'id':'C-BRIDGE-02','severity':'block','title':'Unsupported\x20token\x20—\x20aborts\x20with\x20EUnexpectedTokenType\x20(3)','description':'Bridge\x20supports\x20only\x20'+SUPPORTED_TOKENS['join'](',\x20')+'.','passed':![],'evidence':'unsupported_token='+a['unsupported_token'],'fix_hint':'Filter\x20the\x20token\x20picker\x20to\x20supported\x20tokens;\x20use\x20an\x20alternative\x20bridge\x20for\x20others.'};}function checkIdempotency(a){if(a['idempotency_key_length']===undefined)return{'id':'C-BRIDGE-03','severity':'info','title':'idempotency\x20key\x20≤\x20'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars','description':'BridgeIdempotencyKeySchema\x20accepts\x201-128\x20chars.','passed':!![],'evidence':'not\x20provided'};const b=a['idempotency_key_length']>0x0&&a['idempotency_key_length']<=MAX_IDEMPOTENCY_KEY_LENGTH;return{'id':'C-BRIDGE-03','severity':b?'info':'block','title':'idempotency\x20key\x20≤\x20'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars','description':'Keys\x20longer\x20than\x20'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars\x20are\x20rejected.','passed':b,'evidence':'idempotency_key_length='+a['idempotency_key_length']+',\x20limit='+MAX_IDEMPOTENCY_KEY_LENGTH,'fix_hint':'Generate\x20the\x20key\x20from\x20a\x20hash\x20(66\x20hex)\x20or\x20UUID\x20(36\x20chars).'};}function checkPaused(a){if(!a['is_paused'])return{'id':'C-BRIDGE-04','severity':'info','title':'Bridge\x20is\x20not\x20paused','description':'While\x20paused,\x20no\x20cross-chain\x20ops\x20proceed.','passed':!![],'evidence':'not\x20paused'};return{'id':'C-BRIDGE-04','severity':'warn','title':'Bridge\x20is\x20paused\x20—\x20assets\x20lock\x20during\x20pause','description':'EmergencyOp\x20can\x20pause\x20the\x20Bridge;\x20in-flight\x20claims\x20and\x20new\x20transfers\x20are\x20blocked.','passed':![],'evidence':'is_paused=true','fix_hint':'Surface\x20pause\x20state\x20to\x20users\x20and\x20set\x20recovery\x20expectations.'};}function checkVersion(a){if(!a['versioned_upgrade_in_progress'])return{'id':'C-BRIDGE-05','severity':'info','title':'Versioned\x20upgrade\x20(current='+BRIDGE_CURRENT_VERSION+')','description':'Bridge\x20uses\x20Versioned<BridgeInner>;\x20message_version='+BRIDGE_MESSAGE_VERSION+',\x20EVM\x20address\x20length='+BRIDGE_EVM_ADDRESS_LENGTH+'\x20bytes.','passed':!![],'evidence':'no\x20upgrade\x20in\x20progress'};return{'id':'C-BRIDGE-05','severity':'warn','title':'Versioned\x20upgrade\x20in\x20progress\x20—\x20mishandling\x20can\x20brick\x20the\x20Bridge','description':'A\x20botched\x20BridgeInner\x20migration\x20can\x20lock\x20funds\x20in\x20flight\x20and\x20require\x20a\x20new\x20package\x20version.','passed':![],'evidence':'versioned_upgrade_in_progress=true','fix_hint':'Test\x20on\x20a\x20fork,\x20keep\x20a\x20rollback\x20version,\x20and\x20stage\x20a\x20pause\x20window.'};}export function preCheckBridgeOp(a){return[checkEnvironment(a),checkToken(a),checkIdempotency(a),checkPaused(a),checkVersion(a)];}export function canProceedBridgeOp(a){const b=preCheckBridgeOp(a);return{'canProceed':b['every'](c=>c['severity']!=='block'||c['passed']),'blockers':b['filter'](c=>c['severity']==='block'&&!c['passed']),'warnings':b['filter'](c=>c['severity']==='warn'&&!c['passed']),'info':b['filter'](c=>c['severity']==='info')};}export function formatBridgeOpSummary(a){const {canProceed:b,blockers:c,warnings:d}=canProceedBridgeOp(a),e=[b?'✓\x20Bridge\x20operation\x20pre-check\x20PASSED':'✗\x20Bridge\x20operation\x20pre-check\x20FAILED',''];return c['length']>0x0&&(e['push']('BLOCKERS:'),c['forEach'](f=>e['push']('\x20\x20['+f['id']+']\x20'+f['title']+'\x20—\x20'+(f['evidence']??''))),e['push']('')),d['length']>0x0&&(e['push']('WARNINGS:'),d['forEach'](f=>e['push']('\x20\x20['+f['id']+']\x20'+f['title']+'\x20—\x20'+(f['evidence']??'')))),e['join']('\x0a');}
@@ -1,37 +0,0 @@
1
- export declare const BRIDGE_TRANSLATION_VERSION = "1.0.0";
2
- export interface SemanticToBridgeSchemaRule {
3
- id: string;
4
- pattern_name: string;
5
- semantic_intent: string;
6
- match_keywords: string[];
7
- required_fields: string[];
8
- optional_fields: string[];
9
- example: Record<string, unknown>;
10
- }
11
- export declare const SEMANTIC_TO_BRIDGE_SCHEMA_RULES: SemanticToBridgeSchemaRule[];
12
- export interface BridgeFieldTranslation {
13
- field_name: string;
14
- value_type: string;
15
- semantic: string;
16
- format_example: string;
17
- validation_rules: string[];
18
- }
19
- export declare const BRIDGE_FIELD_TRANSLATIONS: BridgeFieldTranslation[];
20
- export interface BridgeConstraintRule {
21
- id: string;
22
- name: string;
23
- description: string;
24
- related_field: string;
25
- }
26
- export declare const BRIDGE_CONSTRAINT_RULES: BridgeConstraintRule[];
27
- export interface BridgeExplainInput {
28
- token?: string;
29
- amount?: string | number;
30
- is_non_mainnet?: boolean;
31
- }
32
- export interface BridgeExplanation {
33
- summary: string;
34
- token_status: string;
35
- warnings: string[];
36
- }
37
- export declare function explainBridge(input: BridgeExplainInput): BridgeExplanation;
@@ -1 +0,0 @@
1
- import{BRIDGE_CURRENT_VERSION,BRIDGE_MESSAGE_VERSION,BRIDGE_EVM_ADDRESS_LENGTH}from'@wowok/wowok';export const BRIDGE_TRANSLATION_VERSION='1.0.0';export const SEMANTIC_TO_BRIDGE_SCHEMA_RULES=[{'id':'P-BRIDGE-01','pattern_name':'WoW\x20→\x20EVM\x20transfer','semantic_intent':'Transfer\x20an\x20asset\x20from\x20WoW\x20to\x20an\x20EVM\x20chain.','match_keywords':['wow\x20to\x20evm','bridge\x20out','cross\x20chain'],'required_fields':['token','amount','target_evm_address'],'optional_fields':['idempotency_key'],'example':{'token':'USDC','amount':'100000000','target_evm_address':'0x...'}},{'id':'P-BRIDGE-02','pattern_name':'EVM\x20→\x20WoW\x20claim','semantic_intent':'Claim\x20an\x20asset\x20bridged\x20from\x20EVM\x20to\x20WoW.','match_keywords':['evm\x20to\x20wow','claim','bridge\x20in'],'required_fields':['token','amount'],'optional_fields':['idempotency_key'],'example':{'token':'USDC','amount':'100000000'}}];export const BRIDGE_FIELD_TRANSLATIONS=[{'field_name':'message_version','value_type':'u64','semantic':'Current\x20message\x20schema\x20version\x20('+BRIDGE_MESSAGE_VERSION+').','format_example':''+BRIDGE_MESSAGE_VERSION,'validation_rules':['must\x20match\x20current\x20version']},{'field_name':'evm_address_length','value_type':'u64','semantic':'EVM\x20address\x20byte\x20length\x20('+BRIDGE_EVM_ADDRESS_LENGTH+').','format_example':''+BRIDGE_EVM_ADDRESS_LENGTH,'validation_rules':['fixed']},{'field_name':'token','value_type':'token\x20type','semantic':'Supported\x20token:\x20ETH/WETH/WBTC/USDC/USDT.','format_example':'USDC','validation_rules':['EUnexpectedTokenType\x20(3)\x20for\x20others']},{'field_name':'idempotency_key','value_type':'string','semantic':'Deduplication\x20key\x20(1-128\x20chars).','format_example':'keccak256-hex','validation_rules':['≤\x20128\x20chars']}];export const BRIDGE_CONSTRAINT_RULES=[{'id':'BRIDGE_C_01','name':'mainnet\x20only','description':'Bridge\x20unavailable\x20on\x20non-mainnet\x20(EBridgeUnavailable\x208).','related_field':'message_version'},{'id':'BRIDGE_C_02','name':'supported\x20tokens','description':'only\x20ETH/WETH/WBTC/USDC/USDT.','related_field':'token'},{'id':'BRIDGE_C_03','name':'idempotency\x20length','description':'key\x20≤\x20128\x20chars.','related_field':'idempotency_key'},{'id':'BRIDGE_C_04','name':'version','description':'current='+BRIDGE_CURRENT_VERSION+';\x20message_version='+BRIDGE_MESSAGE_VERSION+'.','related_field':'message_version'}];const SUPPORTED_TOKENS=['ETH','WETH','WBTC','USDC','USDT'];export function explainBridge(a){const b=[],c=a['token']??'unknown',d=SUPPORTED_TOKENS['includes'](c);if(!d)b['push']('token\x20'+c+'\x20unsupported\x20(supported:\x20'+SUPPORTED_TOKENS['join'](',')+')');if(a['is_non_mainnet'])b['push']('Bridge\x20is\x20mainnet-only');return{'summary':'Bridge\x20'+c+'\x20'+(a['amount']??'?')+'.\x20'+(d?'token\x20supported':'token\x20unsupported')+'.','token_status':d?'supported':'unsupported','warnings':b};}