@wowok/agent-mcp 2.7.1 → 2.7.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.
- package/dist/config/index.js +1 -1
- package/dist/config/runtime.js +1 -238
- package/dist/customer/account-events.d.ts +32 -0
- package/dist/customer/account-events.js +1 -0
- package/dist/customer/customer-advice.d.ts +1 -0
- package/dist/customer/customer-advice.js +1 -130
- package/dist/customer/index.js +1 -11
- package/dist/customer/industry-risks.js +1 -438
- package/dist/customer/info-puzzle.js +1 -681
- package/dist/customer/order-monitor.js +1 -328
- package/dist/customer/order-strategy.d.ts +1 -1
- package/dist/customer/order-strategy.js +1 -373
- package/dist/customer/post-purchase.js +1 -351
- package/dist/customer/preorder-compare.js +1 -34
- package/dist/customer/reminder-system.d.ts +2 -0
- package/dist/customer/reminder-system.js +1 -316
- package/dist/customer/risk-assessment.d.ts +1 -0
- package/dist/customer/risk-assessment.js +1 -397
- package/dist/customer/types.d.ts +2 -0
- package/dist/customer/types.js +1 -13
- package/dist/customer/user-preferences.js +1 -460
- package/dist/evaluation/arbitration-game.d.ts +9 -2
- package/dist/evaluation/arbitration-game.js +1 -48
- package/dist/evaluation/builtins/arbitration-score.d.ts +41 -0
- package/dist/evaluation/builtins/arbitration-score.js +1 -0
- package/dist/evaluation/builtins/demand-match.js +1 -153
- package/dist/evaluation/builtins/index.d.ts +1 -0
- package/dist/evaluation/builtins/index.js +1 -10
- package/dist/evaluation/builtins/service-risk.js +1 -55
- package/dist/evaluation/capability.js +1 -13
- package/dist/evaluation/category-match-rules.d.ts +30 -0
- package/dist/evaluation/category-match-rules.js +1 -0
- package/dist/evaluation/composer.js +1 -40
- package/dist/evaluation/engine.js +1 -175
- package/dist/evaluation/extract.js +1 -115
- package/dist/evaluation/game-strategy.d.ts +27 -0
- package/dist/evaluation/game-strategy.js +1 -0
- package/dist/evaluation/gap.js +1 -100
- package/dist/evaluation/index.d.ts +2 -0
- package/dist/evaluation/index.js +1 -11
- package/dist/evaluation/location-match.d.ts +42 -0
- package/dist/evaluation/location-match.js +1 -0
- package/dist/evaluation/node-game.d.ts +31 -3
- package/dist/evaluation/node-game.js +1 -57
- package/dist/evaluation/path-reasoning.d.ts +35 -0
- package/dist/evaluation/path-reasoning.js +1 -0
- package/dist/evaluation/region.d.ts +6 -0
- package/dist/evaluation/region.js +1 -36
- package/dist/evaluation/types.d.ts +18 -0
- package/dist/evaluation/types.js +1 -1
- package/dist/evaluation/user-injection.js +1 -27
- package/dist/experience/experience-reuse.js +1 -103
- package/dist/experience/index.js +1 -5
- package/dist/experience/intent-distill.js +1 -83
- package/dist/experience/realtime-feedback.js +1 -94
- package/dist/experience/types.js +1 -1
- package/dist/experience/user-profile.d.ts +1 -1
- package/dist/experience/user-profile.js +1 -171
- package/dist/extensions/business-modules.js +1 -287
- package/dist/extensions/capability-manifest.js +1 -781
- package/dist/extensions/constraint-registry.js +1 -198
- package/dist/extensions/index.d.ts +6 -0
- package/dist/extensions/index.js +1 -6
- package/dist/extensions/industry-layers.d.ts +75 -0
- package/dist/extensions/industry-layers.js +1 -0
- package/dist/extensions/industry-pack.d.ts +105 -0
- package/dist/extensions/industry-pack.js +1 -0
- package/dist/extensions/metric-registry.js +1 -257
- package/dist/extensions/mode-evaluator.d.ts +1 -1
- package/dist/extensions/mode-evaluator.js +1 -170
- package/dist/extensions/modes.js +1 -499
- package/dist/extensions/registry.d.ts +1 -0
- package/dist/extensions/registry.js +1 -717
- package/dist/extensions/types.js +1 -1
- package/dist/graph/base.d.ts +8 -0
- package/dist/graph/base.js +1 -0
- package/dist/harness/auto-escalation.js +1 -68
- package/dist/harness/checkpoint.js +1 -129
- package/dist/harness/index.d.ts +1 -0
- package/dist/harness/index.js +1 -78
- package/dist/harness/plan.d.ts +2 -0
- package/dist/harness/plan.js +1 -315
- package/dist/harness/recover.d.ts +1 -1
- package/dist/harness/recover.js +1 -139
- package/dist/harness/types.d.ts +2 -3
- package/dist/harness/types.js +1 -1
- package/dist/harness/verify.js +1 -237
- package/dist/index.js +1 -273
- package/dist/intent/enrich.js +1 -67
- package/dist/intent/index.js +1 -60
- package/dist/intent/matcher.js +1 -81
- package/dist/intent/store.js +1 -55
- package/dist/intent/types.js +1 -10
- package/dist/knowledge/acquisition-flywheel.js +1 -192
- package/dist/knowledge/allocation-confirm.js +1 -534
- package/dist/knowledge/allocation-context.js +1 -249
- package/dist/knowledge/allocation-ledger.js +1 -463
- package/dist/knowledge/allocation-puzzle.js +1 -298
- package/dist/knowledge/allocation-risk.js +1 -568
- package/dist/knowledge/allocation-templates.js +1 -970
- package/dist/knowledge/allocation-translation.js +1 -585
- package/dist/knowledge/anti-cheat.d.ts +37 -0
- package/dist/knowledge/anti-cheat.js +1 -0
- package/dist/knowledge/arb-confirm.d.ts +28 -0
- package/dist/knowledge/arb-confirm.js +1 -0
- package/dist/knowledge/arb-risk.js +1 -210
- package/dist/knowledge/arb-translation.d.ts +48 -0
- package/dist/knowledge/arb-translation.js +1 -0
- package/dist/knowledge/arbitration-confirm.js +1 -559
- package/dist/knowledge/arbitration-context.js +1 -505
- package/dist/knowledge/arbitration-ledger.js +1 -521
- package/dist/knowledge/arbitration-puzzle.js +1 -304
- package/dist/knowledge/arbitration-risk.js +1 -423
- package/dist/knowledge/arbitration-templates.js +1 -276
- package/dist/knowledge/arbitration-translation.js +1 -487
- package/dist/knowledge/audit-rules.js +1 -141
- package/dist/knowledge/bridge-confirm.d.ts +26 -0
- package/dist/knowledge/bridge-confirm.js +1 -0
- package/dist/knowledge/bridge-risk.js +1 -263
- package/dist/knowledge/bridge-translation.d.ts +37 -0
- package/dist/knowledge/bridge-translation.js +1 -0
- package/dist/knowledge/contact-confirm.d.ts +27 -0
- package/dist/knowledge/contact-confirm.js +1 -0
- package/dist/knowledge/contact-risk.js +1 -200
- package/dist/knowledge/contact-templates.js +1 -60
- package/dist/knowledge/contact-translation.d.ts +39 -0
- package/dist/knowledge/contact-translation.js +1 -0
- package/dist/knowledge/demand-confirm.js +1 -206
- package/dist/knowledge/demand-context.d.ts +17 -0
- package/dist/knowledge/demand-context.js +1 -0
- package/dist/knowledge/demand-ledger.d.ts +26 -0
- package/dist/knowledge/demand-ledger.js +1 -0
- package/dist/knowledge/demand-matching.js +1 -132
- package/dist/knowledge/demand-puzzle.d.ts +29 -0
- package/dist/knowledge/demand-puzzle.js +1 -0
- package/dist/knowledge/demand-risk.js +1 -240
- package/dist/knowledge/demand-templates.d.ts +12 -0
- package/dist/knowledge/demand-templates.js +1 -0
- package/dist/knowledge/demand-translation.js +1 -354
- package/dist/knowledge/deployment-scanner.js +1 -823
- package/dist/knowledge/dynamic-pricing.js +1 -87
- package/dist/knowledge/evidence-review.d.ts +12 -0
- package/dist/knowledge/evidence-review.js +1 -0
- package/dist/knowledge/examples-scanner-cli.js +1 -26
- package/dist/knowledge/examples-scanner.js +1 -843
- package/dist/knowledge/flywheel-loop.d.ts +0 -1
- package/dist/knowledge/flywheel-loop.js +1 -404
- package/dist/knowledge/fund-layer.js +1 -973
- package/dist/knowledge/glossary.js +1 -211
- package/dist/knowledge/guard-confirm.js +1 -406
- package/dist/knowledge/guard-context.js +1 -287
- package/dist/knowledge/guard-design-patterns.js +1 -360
- package/dist/knowledge/guard-ledger.js +1 -260
- package/dist/knowledge/guard-lint.js +1 -670
- package/dist/knowledge/guard-migration.d.ts +1 -1
- package/dist/knowledge/guard-migration.js +1 -228
- package/dist/knowledge/guard-puzzle.js +1 -805
- package/dist/knowledge/guard-render.js +1 -700
- package/dist/knowledge/guard-risk.js +1 -1879
- package/dist/knowledge/guard-submission-prompt.js +1 -171
- package/dist/knowledge/guard-templates.js +1 -1105
- package/dist/knowledge/guard-translation.js +1 -1119
- package/dist/knowledge/index.d.ts +71 -3
- package/dist/knowledge/index.js +1 -436
- package/dist/knowledge/industry-evolution.js +1 -323
- package/dist/knowledge/industry-generalizer.js +1 -381
- package/dist/knowledge/industry-registry.js +1 -174
- package/dist/knowledge/intent-metrics.d.ts +4 -3
- package/dist/knowledge/intent-metrics.js +1 -566
- package/dist/knowledge/machine-confirm.js +1 -559
- package/dist/knowledge/machine-context.js +1 -833
- package/dist/knowledge/machine-ledger.js +1 -338
- package/dist/knowledge/machine-puzzle.js +1 -494
- package/dist/knowledge/machine-render.js +1 -565
- package/dist/knowledge/machine-risk.js +1 -669
- package/dist/knowledge/machine-templates.js +1 -1597
- package/dist/knowledge/machine-topology.js +1 -234
- package/dist/knowledge/machine-translation.js +1 -513
- package/dist/knowledge/market-metrics.d.ts +12 -0
- package/dist/knowledge/market-metrics.js +1 -0
- package/dist/knowledge/market-operations.d.ts +46 -0
- package/dist/knowledge/market-operations.js +1 -0
- package/dist/knowledge/mcp-schema-audit-cli.js +1 -45
- package/dist/knowledge/mcp-schema-audit.d.ts +22 -22
- package/dist/knowledge/mcp-schema-audit.js +1 -777
- package/dist/knowledge/onchain-constants.js +1 -35
- package/dist/knowledge/order-confirm.js +1 -573
- package/dist/knowledge/order-context.js +1 -390
- package/dist/knowledge/order-ledger.js +1 -341
- package/dist/knowledge/order-puzzle.js +1 -255
- package/dist/knowledge/order-risk.js +1 -653
- package/dist/knowledge/order-templates.js +1 -368
- package/dist/knowledge/order-translation.js +1 -550
- package/dist/knowledge/overrides-loader.js +1 -65
- package/dist/knowledge/passport-confirm.js +1 -531
- package/dist/knowledge/passport-context.js +1 -306
- package/dist/knowledge/passport-ledger.js +1 -282
- package/dist/knowledge/passport-puzzle.js +1 -333
- package/dist/knowledge/passport-risk.js +1 -450
- package/dist/knowledge/passport-templates.js +1 -568
- package/dist/knowledge/passport-translation.js +1 -516
- package/dist/knowledge/payment-confirm.d.ts +26 -0
- package/dist/knowledge/payment-confirm.js +1 -0
- package/dist/knowledge/payment-risk.js +1 -249
- package/dist/knowledge/payment-translation.d.ts +37 -0
- package/dist/knowledge/payment-translation.js +1 -0
- package/dist/knowledge/permission-confirm.js +1 -426
- package/dist/knowledge/permission-context.js +1 -224
- package/dist/knowledge/permission-ledger.d.ts +11 -0
- package/dist/knowledge/permission-ledger.js +1 -403
- package/dist/knowledge/permission-puzzle.js +1 -173
- package/dist/knowledge/permission-risk.js +1 -411
- package/dist/knowledge/permission-templates.js +1 -234
- package/dist/knowledge/permission-translation.js +1 -350
- package/dist/knowledge/personal-confirm.d.ts +29 -0
- package/dist/knowledge/personal-confirm.js +1 -0
- package/dist/knowledge/personal-risk.js +1 -212
- package/dist/knowledge/personal-translation.d.ts +37 -0
- package/dist/knowledge/personal-translation.js +1 -0
- package/dist/knowledge/process-model.d.ts +1 -11
- package/dist/knowledge/process-model.js +1 -160
- package/dist/knowledge/progress-confirm.js +1 -456
- package/dist/knowledge/progress-context.js +1 -452
- package/dist/knowledge/progress-ledger.js +1 -330
- package/dist/knowledge/progress-puzzle.js +1 -219
- package/dist/knowledge/progress-risk.js +1 -461
- package/dist/knowledge/progress-templates.js +1 -228
- package/dist/knowledge/progress-translation.js +1 -405
- package/dist/knowledge/proof-confirm.js +1 -187
- package/dist/knowledge/proof-context.d.ts +17 -0
- package/dist/knowledge/proof-context.js +1 -0
- package/dist/knowledge/proof-ledger.d.ts +34 -0
- package/dist/knowledge/proof-ledger.js +1 -0
- package/dist/knowledge/proof-puzzle.d.ts +35 -0
- package/dist/knowledge/proof-puzzle.js +1 -0
- package/dist/knowledge/proof-risk.js +1 -207
- package/dist/knowledge/proof-templates.d.ts +22 -0
- package/dist/knowledge/proof-templates.js +1 -0
- package/dist/knowledge/proof-translation.js +1 -283
- package/dist/knowledge/registrar-confirm.d.ts +26 -0
- package/dist/knowledge/registrar-confirm.js +1 -0
- package/dist/knowledge/registrar-risk.js +1 -217
- package/dist/knowledge/registrar-translation.d.ts +37 -0
- package/dist/knowledge/registrar-translation.js +1 -0
- package/dist/knowledge/repository-confirm.js +1 -286
- package/dist/knowledge/repository-context.d.ts +12 -0
- package/dist/knowledge/repository-context.js +1 -0
- package/dist/knowledge/repository-ledger.d.ts +25 -0
- package/dist/knowledge/repository-ledger.js +1 -0
- package/dist/knowledge/repository-puzzle.d.ts +30 -0
- package/dist/knowledge/repository-puzzle.js +1 -0
- package/dist/knowledge/repository-risk.js +1 -373
- package/dist/knowledge/repository-templates.d.ts +14 -0
- package/dist/knowledge/repository-templates.js +1 -0
- package/dist/knowledge/repository-translation.js +1 -445
- package/dist/knowledge/reputation-rules.js +1 -99
- package/dist/knowledge/resource-confirm.d.ts +25 -0
- package/dist/knowledge/resource-confirm.js +1 -0
- package/dist/knowledge/resource-risk.js +1 -157
- package/dist/knowledge/resource-translation.d.ts +37 -0
- package/dist/knowledge/resource-translation.js +1 -0
- package/dist/knowledge/reward-confirm.js +1 -526
- package/dist/knowledge/reward-context.d.ts +2 -2
- package/dist/knowledge/reward-context.js +1 -504
- package/dist/knowledge/reward-ledger.js +1 -502
- package/dist/knowledge/reward-puzzle.js +1 -300
- package/dist/knowledge/reward-risk.js +1 -627
- package/dist/knowledge/reward-templates.js +1 -197
- package/dist/knowledge/reward-translation.js +1 -501
- package/dist/knowledge/safety-rules.d.ts +1 -0
- package/dist/knowledge/safety-rules.js +1 -404
- package/dist/knowledge/scenario-modes.js +1 -321
- package/dist/knowledge/service-confirm.js +1 -807
- package/dist/knowledge/service-context.js +1 -403
- package/dist/knowledge/service-ledger.js +1 -609
- package/dist/knowledge/service-puzzle.js +1 -236
- package/dist/knowledge/service-risk.d.ts +1 -1
- package/dist/knowledge/service-risk.js +1 -651
- package/dist/knowledge/service-templates.js +1 -456
- package/dist/knowledge/service-translation.js +1 -622
- package/dist/knowledge/template-registry.js +1 -353
- package/dist/knowledge/tool-constraints.js +1 -195
- package/dist/knowledge/tools-reference.js +1 -178
- package/dist/knowledge/treasury-confirm.js +1 -512
- package/dist/knowledge/treasury-context.js +1 -363
- package/dist/knowledge/treasury-ledger.js +1 -300
- package/dist/knowledge/treasury-puzzle.js +1 -216
- package/dist/knowledge/treasury-risk.js +1 -440
- package/dist/knowledge/treasury-templates.js +1 -358
- package/dist/knowledge/treasury-translation.js +1 -498
- package/dist/knowledge/trust-metrics.js +1 -198
- package/dist/knowledge/universal-template.d.ts +22 -0
- package/dist/knowledge/universal-template.js +1 -0
- package/dist/knowledge/util-confirm.d.ts +24 -0
- package/dist/knowledge/util-confirm.js +1 -0
- package/dist/knowledge/util-risk.js +1 -135
- package/dist/knowledge/util-translation.d.ts +38 -0
- package/dist/knowledge/util-translation.js +1 -0
- package/dist/knowledge/workflow-guidance.d.ts +116 -0
- package/dist/knowledge/workflow-guidance.js +1 -0
- package/dist/loop-engineering/aggregate.js +1 -132
- package/dist/loop-engineering/context-collect.js +1 -83
- package/dist/loop-engineering/diagnose.js +1 -273
- package/dist/loop-engineering/improve.js +1 -405
- package/dist/loop-engineering/index.js +1 -4
- package/dist/loop-engineering/pipeline.js +1 -56
- package/dist/mode-market/index.js +1 -3
- package/dist/mode-market/registry.js +1 -124
- package/dist/mode-market/review.js +1 -214
- package/dist/mode-market/submission.js +1 -85
- package/dist/participation/collaborator-interest.d.ts +23 -0
- package/dist/participation/collaborator-interest.js +1 -0
- package/dist/participation/customer-interest.d.ts +25 -0
- package/dist/participation/customer-interest.js +1 -0
- package/dist/participation/employee-kpi.d.ts +25 -0
- package/dist/participation/employee-kpi.js +1 -0
- package/dist/participation/employee-store.d.ts +16 -0
- package/dist/participation/employee-store.js +1 -0
- package/dist/participation/index.d.ts +2 -0
- package/dist/participation/index.js +1 -0
- package/dist/participation/merchant-interest.js +1 -100
- package/dist/participation/radar-core.d.ts +13 -3
- package/dist/participation/radar-core.js +1 -269
- package/dist/participation/supplier-interest.d.ts +25 -0
- package/dist/participation/supplier-interest.js +1 -0
- package/dist/persona/analyzer.js +1 -66
- package/dist/persona/bridge.js +1 -86
- package/dist/persona/defaults.js +1 -195
- package/dist/persona/experience-bridge.js +1 -23
- package/dist/persona/index.d.ts +9 -2
- package/dist/persona/index.js +1 -71
- package/dist/persona/local-region.d.ts +20 -0
- package/dist/persona/local-region.js +1 -0
- package/dist/persona/model.js +1 -111
- package/dist/persona/overrides.d.ts +10 -0
- package/dist/persona/overrides.js +1 -0
- package/dist/persona/pack-personae.d.ts +11 -0
- package/dist/persona/pack-personae.js +1 -0
- package/dist/persona/store.js +1 -62
- package/dist/persona/strategy-intent.d.ts +20 -0
- package/dist/persona/strategy-intent.js +1 -0
- package/dist/persona/types.d.ts +6 -2
- package/dist/persona/types.js +1 -5
- package/dist/project/business-puzzle.d.ts +1 -1
- package/dist/project/business-puzzle.js +1 -383
- package/dist/project/context-assembly.js +1 -254
- package/dist/project/deployment-bridge.js +1 -120
- package/dist/project/deployment-doc.js +1 -1126
- package/dist/project/edit-planner.js +1 -1342
- package/dist/project/evaluation.d.ts +37 -1
- package/dist/project/evaluation.js +1 -2011
- package/dist/project/game-theory.js +1 -177
- package/dist/project/graph-builder.js +1 -656
- package/dist/project/graph.d.ts +3 -6
- package/dist/project/graph.js +1 -340
- package/dist/project/handlers.d.ts +33 -2
- package/dist/project/handlers.js +1 -1784
- package/dist/project/index.d.ts +2 -0
- package/dist/project/index.js +1 -301
- package/dist/project/intent-analyzer.js +1 -149
- package/dist/project/machine-nodes.js +1 -36
- package/dist/project/merchant-guide.d.ts +19 -0
- package/dist/project/merchant-guide.js +1 -264
- package/dist/project/migration.js +1 -125
- package/dist/project/mode-actions.js +1 -309
- package/dist/project/namespace.js +1 -206
- package/dist/project/participation-radar.js +1 -428
- package/dist/project/pipeline-actions.js +1 -109
- package/dist/project/project-store.js +1 -422
- package/dist/project/query.js +1 -153
- package/dist/project/reverse-mapping.d.ts +34 -0
- package/dist/project/reverse-mapping.js +1 -0
- package/dist/project/risk-aggregator.js +1 -295
- package/dist/project/rollback-policy.js +1 -290
- package/dist/project/semantic-assembler.js +1 -345
- package/dist/project/semantic-graph.d.ts +3 -5
- package/dist/project/semantic-graph.js +1 -292
- package/dist/project/stage-gate.js +1 -369
- package/dist/project/substep-trace.js +1 -332
- package/dist/project/task-tracker.js +1 -78
- package/dist/project/workflow-design-assessment.d.ts +24 -0
- package/dist/project/workflow-design-assessment.js +1 -0
- package/dist/role/derivation.d.ts +18 -0
- package/dist/role/derivation.js +1 -0
- package/dist/role/index.d.ts +5 -0
- package/dist/role/index.js +1 -0
- package/dist/role/model.d.ts +8 -0
- package/dist/role/model.js +1 -0
- package/dist/role/resolution.d.ts +11 -0
- package/dist/role/resolution.js +1 -0
- package/dist/role/types.d.ts +11 -0
- package/dist/role/types.js +1 -0
- package/dist/rules.js +1 -52
- package/dist/safety/confirm-gate.d.ts +1 -1
- package/dist/safety/confirm-gate.js +1 -88
- package/dist/safety/index.js +1 -3
- package/dist/safety/preview.js +1 -52
- package/dist/schema/call/allocation.d.ts +186 -1385
- package/dist/schema/call/allocation.js +1 -34
- package/dist/schema/call/arbitration.d.ts +272 -1871
- package/dist/schema/call/arbitration.js +1 -113
- package/dist/schema/call/base.d.ts +1831 -9076
- package/dist/schema/call/base.js +1 -370
- package/dist/schema/call/bridge.d.ts +911 -3171
- package/dist/schema/call/bridge.js +1 -458
- package/dist/schema/call/contact.d.ts +135 -931
- package/dist/schema/call/contact.js +1 -37
- package/dist/schema/call/demand.d.ts +164 -1194
- package/dist/schema/call/demand.js +1 -47
- package/dist/schema/call/guard.d.ts +298 -1140
- package/dist/schema/call/guard.js +1 -161
- package/dist/schema/call/handler.js +1 -322
- package/dist/schema/call/index.js +1 -20
- package/dist/schema/call/machine.d.ts +459 -5403
- package/dist/schema/call/machine.js +1 -193
- package/dist/schema/call/order.d.ts +137 -844
- package/dist/schema/call/order.js +1 -35
- package/dist/schema/call/payment.d.ts +74 -561
- package/dist/schema/call/payment.js +1 -37
- package/dist/schema/call/permission-handler.js +1 -54
- package/dist/schema/call/permission.d.ts +335 -2791
- package/dist/schema/call/permission.js +1 -105
- package/dist/schema/call/personal.d.ts +227 -1814
- package/dist/schema/call/personal.js +1 -78
- package/dist/schema/call/progress.d.ts +140 -843
- package/dist/schema/call/progress.js +1 -47
- package/dist/schema/call/proof.d.ts +42 -258
- package/dist/schema/call/proof.js +1 -33
- package/dist/schema/call/repository.d.ts +324 -2222
- package/dist/schema/call/repository.js +1 -77
- package/dist/schema/call/reward.d.ts +153 -1183
- package/dist/schema/call/reward.js +1 -30
- package/dist/schema/call/semantic.js +1 -1679
- package/dist/schema/call/service.d.ts +376 -3431
- package/dist/schema/call/service.js +1 -184
- package/dist/schema/call/treasury.d.ts +252 -2158
- package/dist/schema/call/treasury.js +1 -71
- package/dist/schema/common/index.d.ts +222 -697
- package/dist/schema/common/index.js +1 -407
- package/dist/schema/config/index.d.ts +18 -161
- package/dist/schema/config/index.js +1 -68
- package/dist/schema/employee/index.d.ts +99 -0
- package/dist/schema/employee/index.js +1 -0
- package/dist/schema/evaluation/index.d.ts +1062 -3748
- package/dist/schema/evaluation/index.js +1 -356
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.js +1 -17
- package/dist/schema/industry-pack/index.d.ts +132 -0
- package/dist/schema/industry-pack/index.js +1 -0
- package/dist/schema/intent-radar/index.d.ts +92 -245
- package/dist/schema/intent-radar/index.js +1 -89
- package/dist/schema/local/index.d.ts +2045 -18080
- package/dist/schema/local/index.js +1 -927
- package/dist/schema/local/wip.d.ts +61 -651
- package/dist/schema/local/wip.js +1 -187
- package/dist/schema/messenger/index.d.ts +949 -5557
- package/dist/schema/messenger/index.js +1 -475
- package/dist/schema/operations.d.ts +2969 -26518
- package/dist/schema/operations.js +1 -520
- package/dist/schema/persona/index.d.ts +469 -1820
- package/dist/schema/persona/index.js +1 -148
- package/dist/schema/project/index.d.ts +1027 -8408
- package/dist/schema/project/index.js +1 -2057
- package/dist/schema/query/index.d.ts +12041 -75261
- package/dist/schema/query/index.js +1 -1646
- package/dist/schema/schema-query/index.d.ts +35 -98
- package/dist/schema/schema-query/index.js +1 -104
- package/dist/schema/schema-version.js +1 -76
- package/dist/schema/task-status.d.ts +26 -132
- package/dist/schema/task-status.js +1 -36
- package/dist/schema/trust/index.d.ts +194 -1290
- package/dist/schema/trust/index.js +1 -314
- package/dist/schema/utils/guard-parser.js +1 -419
- package/dist/schema/utils/guard-query-utils.js +1 -46
- package/dist/schema/utils/node-parser.js +1 -369
- package/dist/schema/utils/object-type-utils.js +1 -35
- package/dist/schema/utils/permission-index-utils.js +1 -7
- package/dist/schema/utils/permission-machine-check.js +1 -121
- package/dist/schema/utils/skills-recommendation.d.ts +1 -0
- package/dist/schema/utils/skills-recommendation.js +1 -77
- package/dist/schema/workspace/index.d.ts +69 -0
- package/dist/schema/workspace/index.js +1 -0
- package/dist/schema-query-impl/index.js +1 -0
- package/dist/schemas/account_operation.output.json +3147 -1652
- package/dist/schemas/account_operation.schema.json +225 -218
- package/dist/schemas/bridge_operation.output.json +1168 -650
- package/dist/schemas/bridge_operation.schema.json +736 -504
- package/dist/schemas/config_operation.output.json +185 -179
- package/dist/schemas/config_operation.schema.json +21 -26
- package/dist/schemas/employee_operation.output.json +207 -0
- package/dist/schemas/employee_operation.schema.json +176 -0
- package/dist/schemas/evaluation_operation.output.json +2329 -557
- package/dist/schemas/evaluation_operation.schema.json +2939 -720
- package/dist/schemas/guard2file.output.json +58 -64
- package/dist/schemas/guard2file.schema.json +79 -81
- package/dist/schemas/index.json +29 -11
- package/dist/schemas/industry_pack_operation.output.json +594 -0
- package/dist/schemas/industry_pack_operation.schema.json +55 -0
- package/dist/schemas/intent_radar.output.json +275 -200
- package/dist/schemas/intent_radar.schema.json +124 -123
- package/dist/schemas/local_info_operation.output.json +1174 -657
- package/dist/schemas/local_info_operation.schema.json +119 -125
- package/dist/schemas/local_mark_operation.output.json +1239 -689
- package/dist/schemas/local_mark_operation.schema.json +91 -96
- package/dist/schemas/machineNode2file.output.json +63 -69
- package/dist/schemas/machineNode2file.schema.json +79 -81
- package/dist/schemas/messenger_operation.output.json +2722 -1528
- package/dist/schemas/messenger_operation.schema.json +1482 -1264
- package/dist/schemas/onchain_events.output.json +2590 -975
- package/dist/schemas/onchain_events.schema.json +117 -99
- package/dist/schemas/onchain_operations.output.json +3957 -2309
- package/dist/schemas/onchain_operations.schema.json +20799 -9285
- package/dist/schemas/onchain_operations_allocation.schema.json +172 -108
- package/dist/schemas/onchain_operations_arbitration.schema.json +233 -146
- package/dist/schemas/onchain_operations_contact.schema.json +129 -90
- package/dist/schemas/onchain_operations_demand.schema.json +170 -112
- package/dist/schemas/onchain_operations_gen_passport.schema.json +61 -646
- package/dist/schemas/onchain_operations_gen_proof.schema.json +40 -172
- package/dist/schemas/onchain_operations_guard.schema.json +3765 -294
- package/dist/schemas/onchain_operations_machine.schema.json +537 -164
- package/dist/schemas/onchain_operations_order.schema.json +126 -96
- package/dist/schemas/onchain_operations_payment.schema.json +82 -67
- package/dist/schemas/onchain_operations_permission.schema.json +331 -93
- package/dist/schemas/onchain_operations_personal.schema.json +636 -96
- package/dist/schemas/onchain_operations_progress.schema.json +125 -92
- package/dist/schemas/onchain_operations_proof.schema.json +76 -69
- package/dist/schemas/onchain_operations_repository.schema.json +636 -249
- package/dist/schemas/onchain_operations_reward.schema.json +218 -108
- package/dist/schemas/onchain_operations_service.schema.json +679 -221
- package/dist/schemas/onchain_operations_treasury.schema.json +401 -135
- package/dist/schemas/onchain_table_data.output.json +6018 -2430
- package/dist/schemas/onchain_table_data.schema.json +544 -430
- package/dist/schemas/persona_operation.output.json +1568 -265
- package/dist/schemas/persona_operation.schema.json +346 -202
- package/dist/schemas/project_operation.output.json +6957 -5147
- package/dist/schemas/project_operation.schema.json +1050 -1020
- package/dist/schemas/query_task_status.output.json +195 -99
- package/dist/schemas/query_task_status.schema.json +12 -18
- package/dist/schemas/query_toolkit.output.json +18870 -14566
- package/dist/schemas/query_toolkit.schema.json +614 -522
- package/dist/schemas/schema_query.output.json +127 -129
- package/dist/schemas/schema_query.schema.json +64 -69
- package/dist/schemas/trust_score.output.json +678 -587
- package/dist/schemas/trust_score.schema.json +289 -277
- package/dist/schemas/wip_file.output.json +116 -124
- package/dist/schemas/wip_file.schema.json +142 -143
- package/dist/schemas/workspace_operation.output.json +277 -0
- package/dist/schemas/workspace_operation.schema.json +45 -0
- package/dist/schemas/wowok_buildin_info.output.json +1693 -723
- package/dist/schemas/wowok_buildin_info.schema.json +576 -512
- package/dist/telemetry/index.js +1 -112
- package/dist/telemetry/redact.js +1 -23
- package/dist/telemetry/storage.js +1 -80
- package/dist/tools/handlers/bridge.d.ts +8 -1
- package/dist/tools/handlers/bridge.js +1 -1
- package/dist/tools/handlers/config.js +1 -74
- package/dist/tools/handlers/employee.d.ts +2 -0
- package/dist/tools/handlers/employee.js +1 -0
- package/dist/tools/handlers/evaluation.js +1 -123
- package/dist/tools/handlers/file-export.js +1 -90
- package/dist/tools/handlers/industry-pack.d.ts +2 -0
- package/dist/tools/handlers/industry-pack.js +1 -0
- package/dist/tools/handlers/intent-radar.js +1 -76
- package/dist/tools/handlers/local.js +1 -53
- package/dist/tools/handlers/messenger.js +1 -188
- package/dist/tools/handlers/onchain.js +1 -1180
- package/dist/tools/handlers/persona.js +1 -89
- package/dist/tools/handlers/project.js +1 -211
- package/dist/tools/handlers/query.js +1 -434
- package/dist/tools/handlers/schema-query.js +1 -176
- package/dist/tools/handlers/task-status.js +1 -26
- package/dist/tools/handlers/trust.js +1 -380
- package/dist/tools/handlers/wip.js +1 -90
- package/dist/tools/handlers/workspace.d.ts +2 -0
- package/dist/tools/handlers/workspace.js +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.js +1 -1382
- package/dist/tools/retry.js +1 -85
- package/dist/tools/rules-hook.d.ts +1 -1
- package/dist/tools/rules-hook.js +1 -23
- package/dist/tools/shared.d.ts +1 -1
- package/dist/tools/shared.js +1 -130
- package/dist/tools/types.d.ts +2 -1
- package/dist/tools/types.js +1 -1
- package/dist/tools/upgrade-check.d.ts +19 -0
- package/dist/tools/upgrade-check.js +1 -0
- package/dist/tools/wip-deploy-assist.js +1 -306
- package/dist/tools/wrap.js +1 -500
- package/package.json +7 -6
- package/dist/knowledge/arbitration-trust.d.ts +0 -24
- package/dist/knowledge/arbitration-trust.js +0 -117
- package/dist/schema/call/bridge-handler.d.ts +0 -8
- package/dist/schema/call/bridge-handler.js +0 -265
- package/dist/schema/sync-layer4.d.ts +0 -21
- package/dist/schema/sync-layer4.js +0 -286
- package/dist/schema-query/index.js +0 -810
- /package/dist/{schema-query → schema-query-impl}/index.d.ts +0 -0
|
@@ -1,498 +1 @@
|
|
|
1
|
-
import { isBuiltinTreasuryPermission, getBuiltinPermissionByIndex, findSceneByPermissionIndex, } from "./treasury-ledger.js";
|
|
2
|
-
export const SEMANTIC_TO_SCHEMA_RULES = [
|
|
3
|
-
{
|
|
4
|
-
id: "T-T-01",
|
|
5
|
-
pattern_name: "Create new Treasury",
|
|
6
|
-
semantic_intent: "Create a new Treasury with a Coin type T and associated Permission",
|
|
7
|
-
match_keywords: ["create", "new"],
|
|
8
|
-
schema_fields: ["object (TypeNamedObjectWithPermission)", "description"],
|
|
9
|
-
example_json: {
|
|
10
|
-
object: {
|
|
11
|
-
name: "myteam_treasury",
|
|
12
|
-
type_parameter: "0x2::wow::WOW",
|
|
13
|
-
permission: {
|
|
14
|
-
name: "myteam_treasury_permission",
|
|
15
|
-
description: "Permission for myteam treasury",
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
description: "Team treasury for project X funding",
|
|
19
|
-
},
|
|
20
|
-
reverse_explanation: "object must be in OBJECT format (not STRING) for creation; type_parameter is the Coin type T; permission can be new or existing",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
id: "T-T-02",
|
|
24
|
-
pattern_name: "Internal deposit (Permission path)",
|
|
25
|
-
semantic_intent: "Deposit funds to Treasury via Permission authorization",
|
|
26
|
-
match_keywords: ["deposit"],
|
|
27
|
-
schema_fields: ["object (string)", "deposit.coin", "deposit.payment_info"],
|
|
28
|
-
example_json: {
|
|
29
|
-
object: "myteam_treasury",
|
|
30
|
-
deposit: {
|
|
31
|
-
coin: { balance: "1000000000" },
|
|
32
|
-
payment_info: { remark: "Q3 budget allocation", index: 0 },
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
reverse_explanation: "deposit.by_external_deposit_guard omitted → Permission path (TREASURY_DEPOSIT=252); coin can be {balance} or {coin_object}",
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
id: "T-T-03",
|
|
39
|
-
pattern_name: "Internal withdraw (Permission path, fixed amount)",
|
|
40
|
-
semantic_intent: "Withdraw fixed amount from Treasury via Permission authorization",
|
|
41
|
-
match_keywords: ["withdraw"],
|
|
42
|
-
schema_fields: ["object (string)", "withdraw.amount.fixed", "withdraw.recipient", "withdraw.payment_info"],
|
|
43
|
-
example_json: {
|
|
44
|
-
object: "myteam_treasury",
|
|
45
|
-
withdraw: {
|
|
46
|
-
amount: { fixed: "500000000" },
|
|
47
|
-
recipient: "0xRECIPIENT",
|
|
48
|
-
payment_info: { remark: "Vendor payment", index: 1 },
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
reverse_explanation: "withdraw.amount.fixed → Permission path (TREASURY_WITHDRAW=254); amount is fixed u64; irreversible",
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
id: "T-T-04",
|
|
55
|
-
pattern_name: "External deposit (Guard + Passport path)",
|
|
56
|
-
semantic_intent: "External user deposits via preset Guard verification (no Permission needed)",
|
|
57
|
-
match_keywords: ["external deposit", "guard deposit"],
|
|
58
|
-
schema_fields: ["object (string)", "deposit.coin", "deposit.by_external_deposit_guard", "deposit.payment_info", "submission (Passport)"],
|
|
59
|
-
example_json: {
|
|
60
|
-
object: "myteam_treasury",
|
|
61
|
-
deposit: {
|
|
62
|
-
coin: { balance: "200000000" },
|
|
63
|
-
by_external_deposit_guard: "deposit_guard_v1",
|
|
64
|
-
payment_info: { remark: "External deposit via guard", index: 2 },
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
reverse_explanation: "deposit.by_external_deposit_guard present → Guard path (NO Permission check); Passport required via submission field; amount may split if coin > guard-specified",
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
id: "T-T-05",
|
|
71
|
-
pattern_name: "External withdraw (Guard + Passport path, amount from Guard)",
|
|
72
|
-
semantic_intent: "External user withdraws via preset Guard verification; amount determined by Guard table identifier",
|
|
73
|
-
match_keywords: ["external withdraw", "guard withdraw"],
|
|
74
|
-
schema_fields: ["object (string)", "withdraw.amount.by_external_withdraw_guard", "withdraw.recipient", "withdraw.payment_info", "submission (Passport)"],
|
|
75
|
-
example_json: {
|
|
76
|
-
object: "myteam_treasury",
|
|
77
|
-
withdraw: {
|
|
78
|
-
amount: { by_external_withdraw_guard: "withdraw_guard_v1" },
|
|
79
|
-
recipient: "0xRECIPIENT",
|
|
80
|
-
payment_info: { remark: "External withdraw via guard", index: 3 },
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
reverse_explanation: "withdraw.amount.by_external_withdraw_guard → Guard path (NO Permission check); amount comes from Guard table identifier (u8, required); irreversible",
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
id: "T-T-06",
|
|
87
|
-
pattern_name: "Manage external deposit/withdraw Guard (add/set/remove/clear)",
|
|
88
|
-
semantic_intent: "Add, set, remove, or clear external_deposit_guard / external_withdraw_guard lists",
|
|
89
|
-
match_keywords: ["guard add", "guard set", "guard remove", "guard clear"],
|
|
90
|
-
schema_fields: ["object (string)", "external_deposit_guard | external_withdraw_guard"],
|
|
91
|
-
example_json: {
|
|
92
|
-
object: "myteam_treasury",
|
|
93
|
-
external_deposit_guard: {
|
|
94
|
-
op: "add",
|
|
95
|
-
guards: [
|
|
96
|
-
{ guard: "deposit_guard_v1", identifier: 2, store_from_id: null },
|
|
97
|
-
],
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
reverse_explanation: "op='add' (upsert) / 'set' (clear+add) / 'remove' (by guard address) / 'clear' (empty list); Permission index 255 (deposit) / 256 (withdraw) required",
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
id: "T-T-07",
|
|
104
|
-
pattern_name: "Receive CoinWrapper / owner_receive forward",
|
|
105
|
-
semantic_intent: "Receive CoinWrapper into balance, or forward received objects to Permission owner",
|
|
106
|
-
match_keywords: ["receive", "owner_receive", "forward"],
|
|
107
|
-
schema_fields: ["object (string)", "receive | owner_receive"],
|
|
108
|
-
example_json: {
|
|
109
|
-
object: "myteam_treasury",
|
|
110
|
-
receive: "recently",
|
|
111
|
-
},
|
|
112
|
-
reverse_explanation: "receive → TREASURY_RECEIVE=253, converts CoinWrapper to balance, writes Record; owner_receive → TREASURY_OWNER_RECEIVE=257, forwards to Permission.owner, no Record",
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
id: "T-T-08",
|
|
116
|
-
pattern_name: "Set UM / modify description",
|
|
117
|
-
semantic_intent: "Delegate User Manager (Contact object) or modify Treasury description",
|
|
118
|
-
match_keywords: ["um", "um_set", "um_none", "description", "delegate"],
|
|
119
|
-
schema_fields: ["object (string)", "um | description"],
|
|
120
|
-
example_json: {
|
|
121
|
-
object: "myteam_treasury",
|
|
122
|
-
um: "team_contact",
|
|
123
|
-
},
|
|
124
|
-
reverse_explanation: "um=address → TREASURY_UM=258 (um_set); um=null → TREASURY_UM=258 (um_none); description=string → TREASURY_DESCRIPTION=251",
|
|
125
|
-
},
|
|
126
|
-
];
|
|
127
|
-
export const SCHEMA_TO_SEMANTIC_RULES = [
|
|
128
|
-
{
|
|
129
|
-
element_type: "field",
|
|
130
|
-
type_name: "object",
|
|
131
|
-
semantic_explanation: "Treasury object reference. STRING=operate existing; OBJECT={name, type_parameter, permission}=create new",
|
|
132
|
-
constraints: ["type_parameter required at creation, immutable thereafter", "permission can be new (TypeNamedObject) or existing (string address)"],
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
element_type: "field",
|
|
136
|
-
type_name: "description",
|
|
137
|
-
semantic_explanation: "Human-readable description of Treasury purpose. Max 4000 chars (MAX_DESCRIPTION_LENGTH).",
|
|
138
|
-
constraints: ["<= 4000 chars", "Modifiable via TREASURY_DESCRIPTION (251)"],
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
element_type: "field",
|
|
142
|
-
type_name: "deposit",
|
|
143
|
-
semantic_explanation: "Deposit operation. Two access paths: (1) Permission path (by_external_deposit_guard omitted, requires TREASURY_DEPOSIT=252); (2) Guard path (by_external_deposit_guard set, requires Passport, no Permission)",
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
element_type: "field",
|
|
147
|
-
type_name: "deposit.coin",
|
|
148
|
-
semantic_explanation: "Coin to deposit. {balance: string} for amount; {coin_object: string} for existing Coin object. Type T must match Treasury's type_parameter.",
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
element_type: "field",
|
|
152
|
-
type_name: "deposit.by_external_deposit_guard",
|
|
153
|
-
semantic_explanation: "Guard address or name for external deposit path. Triggers Guard + Passport verification; bypasses Permission check.",
|
|
154
|
-
constraints: ["Guard must be in external_deposit_guard list (else E_EXTERNAL_DEPOSIT_GUARD_NOT_FOUND)", "Passport required"],
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
element_type: "field",
|
|
158
|
-
type_name: "withdraw",
|
|
159
|
-
semantic_explanation: "Withdraw operation. Two access paths: (1) Permission path (amount.fixed, requires TREASURY_WITHDRAW=254); (2) Guard path (amount.by_external_withdraw_guard, requires Passport, no Permission)",
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
element_type: "field",
|
|
163
|
-
type_name: "withdraw.amount.fixed",
|
|
164
|
-
semantic_explanation: "Fixed u64 withdraw amount (Permission path). Irreversible. Recipient specified separately.",
|
|
165
|
-
constraints: ["Must be <= balance (else E_WITHDRAW_INSUFFICIENT_AMOUNT)", "u64 format"],
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
element_type: "field",
|
|
169
|
-
type_name: "withdraw.amount.by_external_withdraw_guard",
|
|
170
|
-
semantic_explanation: "Guard address/name for external withdraw path. Amount determined by Guard table identifier (not caller-specified).",
|
|
171
|
-
constraints: ["Guard must be in external_withdraw_guard list", "Passport required", "Amount from Guard is authoritative"],
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
element_type: "field",
|
|
175
|
-
type_name: "external_deposit_guard",
|
|
176
|
-
semantic_explanation: "Manage external_deposit_guard list. op: add (upsert) / set (clear+add) / remove (by address) / clear (empty). Requires TREASURY_EXTERNAL_DEPOSIT_GUARD=255.",
|
|
177
|
-
constraints: ["Max 100 guards (MAX_EXTERNAL_DEPOSIT_GUARD_COUNT)", "identifier is Option<u8> (None = no amount limit)", "store_from_id is Option<u8>"],
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
element_type: "field",
|
|
181
|
-
type_name: "external_withdraw_guard",
|
|
182
|
-
semantic_explanation: "Manage external_withdraw_guard list. op: add/set/remove/clear. Requires TREASURY_EXTERNAL_WITHDRAW_GUARD=256.",
|
|
183
|
-
constraints: ["Max 200 guards (MAX_EXTERNAL_WITHDRAW_GUARD_COUNT)", "identifier is u8 (REQUIRED, not Option)", "store_from_id is Option<u8>"],
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
element_type: "field",
|
|
187
|
-
type_name: "receive",
|
|
188
|
-
semantic_explanation: "Receive CoinWrapper objects into balance. Requires TREASURY_RECEIVE=253. Writes Record(op=RECEIVE) to history.",
|
|
189
|
-
constraints: ["CoinWrapper type T must match Treasury's T", "'recently' resolves to all un-received CoinWrapper"],
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
element_type: "field",
|
|
193
|
-
type_name: "owner_receive",
|
|
194
|
-
semantic_explanation: "Unwrap received objects (CoinWrapper + others) and forward to Permission.owner. Requires TREASURY_OWNER_RECEIVE=257. Does NOT write to history.",
|
|
195
|
-
constraints: ["Irreversible (funds leave Treasury)", "Recipient is Permission.owner (resolved at tx time)"],
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
element_type: "field",
|
|
199
|
-
type_name: "um",
|
|
200
|
-
semantic_explanation: "User Manager (Contact object address). um=address → um_set; um=null → um_none. Requires TREASURY_UM=258.",
|
|
201
|
-
constraints: ["Must be a Contact object (not user wallet)", "UM ≠ admin (no permission management)"],
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
element_type: "op",
|
|
205
|
-
type_name: "add",
|
|
206
|
-
semantic_explanation: "Upsert semantics: if guard exists, update identifier/store_from_id; else append (after count check)",
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
element_type: "op",
|
|
210
|
-
type_name: "set",
|
|
211
|
-
semantic_explanation: "Replace entire list: clear first, then add. Use when wholesale replacement is intended.",
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
element_type: "op",
|
|
215
|
-
type_name: "remove",
|
|
216
|
-
semantic_explanation: "Remove specific guards by address. Count check uses MAX as upper bound (not subtractive).",
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
element_type: "op",
|
|
220
|
-
type_name: "clear",
|
|
221
|
-
semantic_explanation: "Empty the entire guard list. No count check needed.",
|
|
222
|
-
},
|
|
223
|
-
];
|
|
224
|
-
export const TREASURY_CONSTRAINT_RULES = [
|
|
225
|
-
{
|
|
226
|
-
id: "MC-T-01",
|
|
227
|
-
category: "structural",
|
|
228
|
-
rule: "description length <= MAX_DESCRIPTION_LENGTH (4000)",
|
|
229
|
-
applies_to: ["description"],
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
id: "MC-T-02",
|
|
233
|
-
category: "structural",
|
|
234
|
-
rule: "external_deposit_guard count <= MAX_EXTERNAL_DEPOSIT_GUARD_COUNT (100)",
|
|
235
|
-
applies_to: ["external_deposit_guard.guards"],
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
id: "MC-T-03",
|
|
239
|
-
category: "structural",
|
|
240
|
-
rule: "external_withdraw_guard count <= MAX_EXTERNAL_WITHDRAW_GUARD_COUNT (200)",
|
|
241
|
-
applies_to: ["external_withdraw_guard.guards"],
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
id: "MC-T-04",
|
|
245
|
-
category: "structural",
|
|
246
|
-
rule: "external_withdraw_guard.identifier is u8 (REQUIRED, not Option<u8>)",
|
|
247
|
-
applies_to: ["external_withdraw_guard.guards[].identifier"],
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
id: "MC-T-05",
|
|
251
|
-
category: "structural",
|
|
252
|
-
rule: "external_deposit_guard.identifier is Option<u8> (None means no amount limit)",
|
|
253
|
-
applies_to: ["external_deposit_guard.guards[].identifier"],
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
id: "MC-T-06",
|
|
257
|
-
category: "semantic",
|
|
258
|
-
rule: "Coin type T must match Treasury's type_parameter for all deposit/withdraw/receive operations",
|
|
259
|
-
applies_to: ["deposit.coin", "withdraw.amount.fixed", "receive"],
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
id: "MC-T-07",
|
|
263
|
-
category: "authority",
|
|
264
|
-
rule: "deposit via Permission path requires TREASURY_DEPOSIT (252); deposit via Guard path requires no Permission (Guard+Passport only)",
|
|
265
|
-
applies_to: ["deposit.by_external_deposit_guard"],
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
id: "MC-T-08",
|
|
269
|
-
category: "authority",
|
|
270
|
-
rule: "withdraw.amount.fixed requires TREASURY_WITHDRAW (254); withdraw.amount.by_external_withdraw_guard requires no Permission",
|
|
271
|
-
applies_to: ["withdraw.amount"],
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
id: "MC-T-09",
|
|
275
|
-
category: "authority",
|
|
276
|
-
rule: "external_deposit_guard management requires TREASURY_EXTERNAL_DEPOSIT_GUARD (255); external_withdraw_guard management requires TREASURY_EXTERNAL_WITHDRAW_GUARD (256)",
|
|
277
|
-
applies_to: ["external_deposit_guard", "external_withdraw_guard"],
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
id: "MC-T-10",
|
|
281
|
-
category: "lifecycle",
|
|
282
|
-
rule: "withdraw (fixed) and external_withdraw are IRREVERSIBLE; verify recipient and amount before execution",
|
|
283
|
-
applies_to: ["withdraw.amount.fixed", "withdraw.amount.by_external_withdraw_guard"],
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
id: "MC-T-11",
|
|
287
|
-
category: "lifecycle",
|
|
288
|
-
rule: "owner_receive forwards assets to Permission.owner and does NOT write to history; verify owner address is current",
|
|
289
|
-
applies_to: ["owner_receive"],
|
|
290
|
-
},
|
|
291
|
-
{
|
|
292
|
-
id: "MC-T-12",
|
|
293
|
-
category: "lifecycle",
|
|
294
|
-
rule: "um_set requires Contact object address (not user wallet); um_set vs um_none both use TREASURY_UM (258)",
|
|
295
|
-
applies_to: ["um"],
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
id: "MC-T-13",
|
|
299
|
-
category: "cross_object",
|
|
300
|
-
rule: "If Treasury is referenced by Allocator/Arbitration, TREASURY_RECEIVE (253) must be granted to a trusted operator for regular intake",
|
|
301
|
-
applies_to: ["receive"],
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
id: "MC-T-14",
|
|
305
|
-
category: "semantic",
|
|
306
|
-
rule: "external_deposit may split coin if value > guard-specified amount; excess refunded to sender",
|
|
307
|
-
applies_to: ["deposit.by_external_deposit_guard"],
|
|
308
|
-
},
|
|
309
|
-
{
|
|
310
|
-
id: "MC-T-15",
|
|
311
|
-
category: "semantic",
|
|
312
|
-
rule: "inflow/outflow are monotonic counters (never decrease); used for audit reconciliation: theoretical balance = inflow - outflow",
|
|
313
|
-
applies_to: ["(read-only audit fields)"],
|
|
314
|
-
},
|
|
315
|
-
];
|
|
316
|
-
export const TREASURY_TRANSLATION_VERSION = "1.0.0";
|
|
317
|
-
export function matchSemanticPattern(userIntent) {
|
|
318
|
-
const lower = userIntent.toLowerCase();
|
|
319
|
-
const matches = [];
|
|
320
|
-
if (lower.includes("create") || lower.includes("new")) {
|
|
321
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[0]);
|
|
322
|
-
}
|
|
323
|
-
if (lower.includes("deposit")) {
|
|
324
|
-
if (lower.includes("external") || lower.includes("guard")) {
|
|
325
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[3]);
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[1]);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
if (lower.includes("withdraw")) {
|
|
332
|
-
if (lower.includes("external") || lower.includes("guard")) {
|
|
333
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[4]);
|
|
334
|
-
}
|
|
335
|
-
else {
|
|
336
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[2]);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
if (lower.includes("guard add") || lower.includes("guard set") || lower.includes("guard remove") ||
|
|
340
|
-
lower.includes("guard clear")) {
|
|
341
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[5]);
|
|
342
|
-
}
|
|
343
|
-
if (lower.includes("receive") ||
|
|
344
|
-
lower.includes("owner_receive") || lower.includes("forward")) {
|
|
345
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[6]);
|
|
346
|
-
}
|
|
347
|
-
if (lower.includes("um") || lower.includes("delegate") || lower.includes("user manager") ||
|
|
348
|
-
lower.includes("description")) {
|
|
349
|
-
matches.push(SEMANTIC_TO_SCHEMA_RULES[7]);
|
|
350
|
-
}
|
|
351
|
-
if (matches.length === 0) {
|
|
352
|
-
return [...SEMANTIC_TO_SCHEMA_RULES];
|
|
353
|
-
}
|
|
354
|
-
return matches;
|
|
355
|
-
}
|
|
356
|
-
export function explainTreasuryCallData(data) {
|
|
357
|
-
const lines = [];
|
|
358
|
-
if (data.object === null || data.object === undefined) {
|
|
359
|
-
lines.push("Operation: INVALID (object field required)");
|
|
360
|
-
}
|
|
361
|
-
else if (typeof data.object === "string") {
|
|
362
|
-
lines.push(`Operation: OPERATE existing Treasury at ${data.object}`);
|
|
363
|
-
}
|
|
364
|
-
else if (typeof data.object === "object") {
|
|
365
|
-
const obj = data.object;
|
|
366
|
-
lines.push(`Operation: CREATE new Treasury`);
|
|
367
|
-
if (obj.name)
|
|
368
|
-
lines.push(` name: ${obj.name}`);
|
|
369
|
-
if (obj.type_parameter)
|
|
370
|
-
lines.push(` type_parameter (T): ${obj.type_parameter}`);
|
|
371
|
-
if (obj.permission) {
|
|
372
|
-
if (typeof obj.permission === "string") {
|
|
373
|
-
lines.push(` permission: existing ${obj.permission}`);
|
|
374
|
-
}
|
|
375
|
-
else {
|
|
376
|
-
lines.push(` permission: new (TypeNamedObject)`);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
if (data.description) {
|
|
381
|
-
lines.push(`- Set description: "${data.description}"`);
|
|
382
|
-
}
|
|
383
|
-
if (data.deposit) {
|
|
384
|
-
const d = data.deposit;
|
|
385
|
-
if (d.by_external_deposit_guard) {
|
|
386
|
-
lines.push(`- External deposit via guard: ${d.by_external_deposit_guard}`);
|
|
387
|
-
if (d.coin?.balance)
|
|
388
|
-
lines.push(` coin balance: ${d.coin.balance} (may split if > guard limit)`);
|
|
389
|
-
if (d.coin?.coin_object)
|
|
390
|
-
lines.push(` coin object: ${d.coin.coin_object}`);
|
|
391
|
-
lines.push(` ⚠️ No Permission check; Passport required`);
|
|
392
|
-
}
|
|
393
|
-
else {
|
|
394
|
-
lines.push(`- Internal deposit via Permission (TREASURY_DEPOSIT=252)`);
|
|
395
|
-
if (d.coin?.balance)
|
|
396
|
-
lines.push(` coin balance: ${d.coin.balance}`);
|
|
397
|
-
if (d.coin?.coin_object)
|
|
398
|
-
lines.push(` coin object: ${d.coin.coin_object}`);
|
|
399
|
-
}
|
|
400
|
-
if (d.payment_info?.remark)
|
|
401
|
-
lines.push(` payment remark: "${d.payment_info.remark}"`);
|
|
402
|
-
}
|
|
403
|
-
if (data.withdraw) {
|
|
404
|
-
const w = data.withdraw;
|
|
405
|
-
if (w.amount?.fixed) {
|
|
406
|
-
lines.push(`- Internal withdraw via Permission (TREASURY_WITHDRAW=254)`);
|
|
407
|
-
lines.push(` amount: ${w.amount.fixed} (fixed, IRREVERSIBLE)`);
|
|
408
|
-
}
|
|
409
|
-
else if (w.amount?.by_external_withdraw_guard) {
|
|
410
|
-
lines.push(`- External withdraw via guard: ${w.amount.by_external_withdraw_guard}`);
|
|
411
|
-
lines.push(` ⚠️ Amount determined by Guard table identifier (not caller-specified)`);
|
|
412
|
-
lines.push(` ⚠️ IRREVERSIBLE; No Permission check; Passport required`);
|
|
413
|
-
}
|
|
414
|
-
if (w.recipient)
|
|
415
|
-
lines.push(` recipient: ${w.recipient}`);
|
|
416
|
-
if (w.payment_info?.remark)
|
|
417
|
-
lines.push(` payment remark: "${w.payment_info.remark}"`);
|
|
418
|
-
}
|
|
419
|
-
if (data.receive) {
|
|
420
|
-
if (data.receive === "recently") {
|
|
421
|
-
lines.push(`- Receive all recently-received CoinWrapper (TREASURY_RECEIVE=253)`);
|
|
422
|
-
}
|
|
423
|
-
else if (Array.isArray(data.receive)) {
|
|
424
|
-
lines.push(`- Receive ${data.receive.length} CoinWrapper object(s) (TREASURY_RECEIVE=253)`);
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
if (data.external_deposit_guard) {
|
|
428
|
-
const g = data.external_deposit_guard;
|
|
429
|
-
if (g.op === "clear") {
|
|
430
|
-
lines.push(`- Clear external_deposit_guard list (TREASURY_EXTERNAL_DEPOSIT_GUARD=255)`);
|
|
431
|
-
}
|
|
432
|
-
else if (g.op === "remove") {
|
|
433
|
-
lines.push(`- Remove ${g.guards.length} guard(s) from external_deposit_guard (Permission 255)`);
|
|
434
|
-
}
|
|
435
|
-
else {
|
|
436
|
-
const count = g.guards.length;
|
|
437
|
-
lines.push(`- ${g.op === "set" ? "Set (clear+add)" : "Add (upsert)"} ${count} external_deposit_guard(s) (Permission 255)`);
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
if (data.external_withdraw_guard) {
|
|
441
|
-
const g = data.external_withdraw_guard;
|
|
442
|
-
if (g.op === "clear") {
|
|
443
|
-
lines.push(`- Clear external_withdraw_guard list (TREASURY_EXTERNAL_WITHDRAW_GUARD=256)`);
|
|
444
|
-
}
|
|
445
|
-
else if (g.op === "remove") {
|
|
446
|
-
lines.push(`- Remove ${g.guards.length} guard(s) from external_withdraw_guard (Permission 256)`);
|
|
447
|
-
}
|
|
448
|
-
else {
|
|
449
|
-
const count = g.guards.length;
|
|
450
|
-
lines.push(`- ${g.op === "set" ? "Set (clear+add)" : "Add (upsert)"} ${count} external_withdraw_guard(s) (Permission 256)`);
|
|
451
|
-
lines.push(` ⚠️ withdraw guard identifier is REQUIRED (u8, not Option)`);
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
if (data.owner_receive) {
|
|
455
|
-
if (data.owner_receive === "recently") {
|
|
456
|
-
lines.push(`- owner_receive: forward all recently-received objects to Permission.owner (TREASURY_OWNER_RECEIVE=257)`);
|
|
457
|
-
}
|
|
458
|
-
else if (Array.isArray(data.owner_receive)) {
|
|
459
|
-
lines.push(`- owner_receive: forward ${data.owner_receive.length} object(s) to Permission.owner (Permission 257)`);
|
|
460
|
-
}
|
|
461
|
-
lines.push(` ⚠️ IRREVERSIBLE; does NOT write to history`);
|
|
462
|
-
}
|
|
463
|
-
if (data.um !== undefined) {
|
|
464
|
-
if (data.um === null) {
|
|
465
|
-
lines.push(`- UM revoke (um_none, TREASURY_UM=258)`);
|
|
466
|
-
}
|
|
467
|
-
else {
|
|
468
|
-
lines.push(`- UM set to ${data.um} (TREASURY_UM=258)`);
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
return lines.join("\n");
|
|
472
|
-
}
|
|
473
|
-
export function explainField(fieldName) {
|
|
474
|
-
return SCHEMA_TO_SEMANTIC_RULES.find(r => r.element_type === "field" && r.type_name === fieldName);
|
|
475
|
-
}
|
|
476
|
-
export function explainOp(opName) {
|
|
477
|
-
return SCHEMA_TO_SEMANTIC_RULES.find(r => r.element_type === "op" && r.type_name === opName);
|
|
478
|
-
}
|
|
479
|
-
export function getConstraintsByCategory(category) {
|
|
480
|
-
return TREASURY_CONSTRAINT_RULES.filter(r => r.category === category);
|
|
481
|
-
}
|
|
482
|
-
export function explainTreasuryPermissionIndex(index) {
|
|
483
|
-
if (isBuiltinTreasuryPermission(index)) {
|
|
484
|
-
const entry = getBuiltinPermissionByIndex(index);
|
|
485
|
-
const scene = findSceneByPermissionIndex(index);
|
|
486
|
-
return `${entry?.name ?? "Unknown"} (${index}) — ${entry?.description ?? ""} [scene: ${scene?.id ?? "unknown"}]`;
|
|
487
|
-
}
|
|
488
|
-
if (index === -1) {
|
|
489
|
-
return `Reserved (no Permission index) — external operations use Guard + Passport instead`;
|
|
490
|
-
}
|
|
491
|
-
if (index >= 1000) {
|
|
492
|
-
return `Custom permission (${index}) — must be documented via Permission.remark; not used by Treasury builtin operations`;
|
|
493
|
-
}
|
|
494
|
-
if (index === 259 || index === 260) {
|
|
495
|
-
return `STALE index ${index} — was pre-fix SDK value; canonical post-fix indexes are 255-258. See R-T-01.`;
|
|
496
|
-
}
|
|
497
|
-
return `Index ${index} — not a Treasury builtin permission (range 250-258)`;
|
|
498
|
-
}
|
|
1
|
+
import{isBuiltinTreasuryPermission,getBuiltinPermissionByIndex,findSceneByPermissionIndex}from'./treasury-ledger.js';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'T-T-01','pattern_name':'Create\x20new\x20Treasury','semantic_intent':'Create\x20a\x20new\x20Treasury\x20with\x20a\x20Coin\x20type\x20T\x20and\x20associated\x20Permission','match_keywords':['create','new'],'schema_fields':['object\x20(TypeNamedObjectWithPermission)','description'],'example_json':{'object':{'name':'myteam_treasury','type_parameter':'0x2::wow::WOW','permission':{'name':'myteam_treasury_permission','description':'Permission\x20for\x20myteam\x20treasury'}},'description':'Team\x20treasury\x20for\x20project\x20X\x20funding'},'reverse_explanation':'object\x20must\x20be\x20in\x20OBJECT\x20format\x20(not\x20STRING)\x20for\x20creation;\x20type_parameter\x20is\x20the\x20Coin\x20type\x20T;\x20permission\x20can\x20be\x20new\x20or\x20existing'},{'id':'T-T-02','pattern_name':'Internal\x20deposit\x20(Permission\x20path)','semantic_intent':'Deposit\x20funds\x20to\x20Treasury\x20via\x20Permission\x20authorization','match_keywords':['deposit'],'schema_fields':['object\x20(string)','deposit.coin','deposit.payment_info'],'example_json':{'object':'myteam_treasury','deposit':{'coin':{'balance':'1000000000'},'payment_info':{'remark':'Q3\x20budget\x20allocation','index':0x0}}},'reverse_explanation':'deposit.by_external_deposit_guard\x20omitted\x20→\x20Permission\x20path\x20(TREASURY_DEPOSIT=252);\x20coin\x20can\x20be\x20{balance}\x20or\x20{coin_object}'},{'id':'T-T-03','pattern_name':'Internal\x20withdraw\x20(Permission\x20path,\x20fixed\x20amount)','semantic_intent':'Withdraw\x20fixed\x20amount\x20from\x20Treasury\x20via\x20Permission\x20authorization','match_keywords':['withdraw'],'schema_fields':['object\x20(string)','withdraw.amount.fixed','withdraw.recipient','withdraw.payment_info'],'example_json':{'object':'myteam_treasury','withdraw':{'amount':{'fixed':'500000000'},'recipient':'0xRECIPIENT','payment_info':{'remark':'Vendor\x20payment','index':0x1}}},'reverse_explanation':'withdraw.amount.fixed\x20→\x20Permission\x20path\x20(TREASURY_WITHDRAW=254);\x20amount\x20is\x20fixed\x20u64;\x20irreversible'},{'id':'T-T-04','pattern_name':'External\x20deposit\x20(Guard\x20+\x20Passport\x20path)','semantic_intent':'External\x20user\x20deposits\x20via\x20preset\x20Guard\x20verification\x20(no\x20Permission\x20needed)','match_keywords':['external\x20deposit','guard\x20deposit'],'schema_fields':['object\x20(string)','deposit.coin','deposit.by_external_deposit_guard','deposit.payment_info','submission\x20(Passport)'],'example_json':{'object':'myteam_treasury','deposit':{'coin':{'balance':'200000000'},'by_external_deposit_guard':'deposit_guard_v1','payment_info':{'remark':'External\x20deposit\x20via\x20guard','index':0x2}}},'reverse_explanation':'deposit.by_external_deposit_guard\x20present\x20→\x20Guard\x20path\x20(NO\x20Permission\x20check);\x20Passport\x20required\x20via\x20submission\x20field;\x20amount\x20may\x20split\x20if\x20coin\x20>\x20guard-specified'},{'id':'T-T-05','pattern_name':'External\x20withdraw\x20(Guard\x20+\x20Passport\x20path,\x20amount\x20from\x20Guard)','semantic_intent':'External\x20user\x20withdraws\x20via\x20preset\x20Guard\x20verification;\x20amount\x20determined\x20by\x20Guard\x20table\x20identifier','match_keywords':['external\x20withdraw','guard\x20withdraw'],'schema_fields':['object\x20(string)','withdraw.amount.by_external_withdraw_guard','withdraw.recipient','withdraw.payment_info','submission\x20(Passport)'],'example_json':{'object':'myteam_treasury','withdraw':{'amount':{'by_external_withdraw_guard':'withdraw_guard_v1'},'recipient':'0xRECIPIENT','payment_info':{'remark':'External\x20withdraw\x20via\x20guard','index':0x3}}},'reverse_explanation':'withdraw.amount.by_external_withdraw_guard\x20→\x20Guard\x20path\x20(NO\x20Permission\x20check);\x20amount\x20comes\x20from\x20Guard\x20table\x20identifier\x20(u8,\x20required);\x20irreversible'},{'id':'T-T-06','pattern_name':'Manage\x20external\x20deposit/withdraw\x20Guard\x20(add/set/remove/clear)','semantic_intent':'Add,\x20set,\x20remove,\x20or\x20clear\x20external_deposit_guard\x20/\x20external_withdraw_guard\x20lists','match_keywords':['guard\x20add','guard\x20set','guard\x20remove','guard\x20clear'],'schema_fields':['object\x20(string)','external_deposit_guard\x20|\x20external_withdraw_guard'],'example_json':{'object':'myteam_treasury','external_deposit_guard':{'op':'add','guards':[{'guard':'deposit_guard_v1','identifier':0x2,'store_from_id':null}]}},'reverse_explanation':'op=\x27add\x27\x20(upsert)\x20/\x20\x27set\x27\x20(clear+add)\x20/\x20\x27remove\x27\x20(by\x20guard\x20address)\x20/\x20\x27clear\x27\x20(empty\x20list);\x20Permission\x20index\x20255\x20(deposit)\x20/\x20256\x20(withdraw)\x20required'},{'id':'T-T-07','pattern_name':'Receive\x20CoinWrapper\x20/\x20owner_receive\x20forward','semantic_intent':'Receive\x20CoinWrapper\x20into\x20balance,\x20or\x20forward\x20received\x20objects\x20to\x20Permission\x20owner','match_keywords':['receive','owner_receive','forward'],'schema_fields':['object\x20(string)','receive\x20|\x20owner_receive'],'example_json':{'object':'myteam_treasury','receive':'recently'},'reverse_explanation':'receive\x20→\x20TREASURY_RECEIVE=253,\x20converts\x20CoinWrapper\x20to\x20balance,\x20writes\x20Record;\x20owner_receive\x20→\x20TREASURY_OWNER_RECEIVE=257,\x20forwards\x20to\x20Permission.owner,\x20no\x20Record'},{'id':'T-T-08','pattern_name':'Set\x20UM\x20/\x20modify\x20description','semantic_intent':'Delegate\x20User\x20Manager\x20(Contact\x20object)\x20or\x20modify\x20Treasury\x20description','match_keywords':['um','um_set','um_none','description','delegate'],'schema_fields':['object\x20(string)','um\x20|\x20description'],'example_json':{'object':'myteam_treasury','um':'team_contact'},'reverse_explanation':'um=address\x20→\x20TREASURY_UM=258\x20(um_set);\x20um=null\x20→\x20TREASURY_UM=258\x20(um_none);\x20description=string\x20→\x20TREASURY_DESCRIPTION=251'}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'field','type_name':'object','semantic_explanation':'Treasury\x20object\x20reference.\x20STRING=operate\x20existing;\x20OBJECT={name,\x20type_parameter,\x20permission}=create\x20new','constraints':['type_parameter\x20required\x20at\x20creation,\x20immutable\x20thereafter','permission\x20can\x20be\x20new\x20(TypeNamedObject)\x20or\x20existing\x20(string\x20address)']},{'element_type':'field','type_name':'description','semantic_explanation':'Human-readable\x20description\x20of\x20Treasury\x20purpose.\x20Max\x204000\x20chars\x20(MAX_DESCRIPTION_LENGTH).','constraints':['<=\x204000\x20chars','Modifiable\x20via\x20TREASURY_DESCRIPTION\x20(251)']},{'element_type':'field','type_name':'deposit','semantic_explanation':'Deposit\x20operation.\x20Two\x20access\x20paths:\x20(1)\x20Permission\x20path\x20(by_external_deposit_guard\x20omitted,\x20requires\x20TREASURY_DEPOSIT=252);\x20(2)\x20Guard\x20path\x20(by_external_deposit_guard\x20set,\x20requires\x20Passport,\x20no\x20Permission)'},{'element_type':'field','type_name':'deposit.coin','semantic_explanation':'Coin\x20to\x20deposit.\x20{balance:\x20string}\x20for\x20amount;\x20{coin_object:\x20string}\x20for\x20existing\x20Coin\x20object.\x20Type\x20T\x20must\x20match\x20Treasury\x27s\x20type_parameter.'},{'element_type':'field','type_name':'deposit.by_external_deposit_guard','semantic_explanation':'Guard\x20address\x20or\x20name\x20for\x20external\x20deposit\x20path.\x20Triggers\x20Guard\x20+\x20Passport\x20verification;\x20bypasses\x20Permission\x20check.','constraints':['Guard\x20must\x20be\x20in\x20external_deposit_guard\x20list\x20(else\x20E_EXTERNAL_DEPOSIT_GUARD_NOT_FOUND)','Passport\x20required']},{'element_type':'field','type_name':'withdraw','semantic_explanation':'Withdraw\x20operation.\x20Two\x20access\x20paths:\x20(1)\x20Permission\x20path\x20(amount.fixed,\x20requires\x20TREASURY_WITHDRAW=254);\x20(2)\x20Guard\x20path\x20(amount.by_external_withdraw_guard,\x20requires\x20Passport,\x20no\x20Permission)'},{'element_type':'field','type_name':'withdraw.amount.fixed','semantic_explanation':'Fixed\x20u64\x20withdraw\x20amount\x20(Permission\x20path).\x20Irreversible.\x20Recipient\x20specified\x20separately.','constraints':['Must\x20be\x20<=\x20balance\x20(else\x20E_WITHDRAW_INSUFFICIENT_AMOUNT)','u64\x20format']},{'element_type':'field','type_name':'withdraw.amount.by_external_withdraw_guard','semantic_explanation':'Guard\x20address/name\x20for\x20external\x20withdraw\x20path.\x20Amount\x20determined\x20by\x20Guard\x20table\x20identifier\x20(not\x20caller-specified).','constraints':['Guard\x20must\x20be\x20in\x20external_withdraw_guard\x20list','Passport\x20required','Amount\x20from\x20Guard\x20is\x20authoritative']},{'element_type':'field','type_name':'external_deposit_guard','semantic_explanation':'Manage\x20external_deposit_guard\x20list.\x20op:\x20add\x20(upsert)\x20/\x20set\x20(clear+add)\x20/\x20remove\x20(by\x20address)\x20/\x20clear\x20(empty).\x20Requires\x20TREASURY_EXTERNAL_DEPOSIT_GUARD=255.','constraints':['Max\x20100\x20guards\x20(MAX_EXTERNAL_DEPOSIT_GUARD_COUNT)','identifier\x20is\x20Option<u8>\x20(None\x20=\x20no\x20amount\x20limit)','store_from_id\x20is\x20Option<u8>']},{'element_type':'field','type_name':'external_withdraw_guard','semantic_explanation':'Manage\x20external_withdraw_guard\x20list.\x20op:\x20add/set/remove/clear.\x20Requires\x20TREASURY_EXTERNAL_WITHDRAW_GUARD=256.','constraints':['Max\x20200\x20guards\x20(MAX_EXTERNAL_WITHDRAW_GUARD_COUNT)','identifier\x20is\x20u8\x20(REQUIRED,\x20not\x20Option)','store_from_id\x20is\x20Option<u8>']},{'element_type':'field','type_name':'receive','semantic_explanation':'Receive\x20CoinWrapper\x20objects\x20into\x20balance.\x20Requires\x20TREASURY_RECEIVE=253.\x20Writes\x20Record(op=RECEIVE)\x20to\x20history.','constraints':['CoinWrapper\x20type\x20T\x20must\x20match\x20Treasury\x27s\x20T','\x27recently\x27\x20resolves\x20to\x20all\x20un-received\x20CoinWrapper']},{'element_type':'field','type_name':'owner_receive','semantic_explanation':'Unwrap\x20received\x20objects\x20(CoinWrapper\x20+\x20others)\x20and\x20forward\x20to\x20Permission.owner.\x20Requires\x20TREASURY_OWNER_RECEIVE=257.\x20Does\x20NOT\x20write\x20to\x20history.','constraints':['Irreversible\x20(funds\x20leave\x20Treasury)','Recipient\x20is\x20Permission.owner\x20(resolved\x20at\x20tx\x20time)']},{'element_type':'field','type_name':'um','semantic_explanation':'User\x20Manager\x20(Contact\x20object\x20address).\x20um=address\x20→\x20um_set;\x20um=null\x20→\x20um_none.\x20Requires\x20TREASURY_UM=258.','constraints':['Must\x20be\x20a\x20Contact\x20object\x20(not\x20user\x20wallet)','UM\x20≠\x20admin\x20(no\x20permission\x20management)']},{'element_type':'op','type_name':'add','semantic_explanation':'Upsert\x20semantics:\x20if\x20guard\x20exists,\x20update\x20identifier/store_from_id;\x20else\x20append\x20(after\x20count\x20check)'},{'element_type':'op','type_name':'set','semantic_explanation':'Replace\x20entire\x20list:\x20clear\x20first,\x20then\x20add.\x20Use\x20when\x20wholesale\x20replacement\x20is\x20intended.'},{'element_type':'op','type_name':'remove','semantic_explanation':'Remove\x20specific\x20guards\x20by\x20address.\x20Count\x20check\x20uses\x20MAX\x20as\x20upper\x20bound\x20(not\x20subtractive).'},{'element_type':'op','type_name':'clear','semantic_explanation':'Empty\x20the\x20entire\x20guard\x20list.\x20No\x20count\x20check\x20needed.'}];export const TREASURY_CONSTRAINT_RULES=[{'id':'MC-T-01','category':'structural','rule':'description\x20length\x20<=\x20MAX_DESCRIPTION_LENGTH\x20(4000)','applies_to':['description']},{'id':'MC-T-02','category':'structural','rule':'external_deposit_guard\x20count\x20<=\x20MAX_EXTERNAL_DEPOSIT_GUARD_COUNT\x20(100)','applies_to':['external_deposit_guard.guards']},{'id':'MC-T-03','category':'structural','rule':'external_withdraw_guard\x20count\x20<=\x20MAX_EXTERNAL_WITHDRAW_GUARD_COUNT\x20(200)','applies_to':['external_withdraw_guard.guards']},{'id':'MC-T-04','category':'structural','rule':'external_withdraw_guard.identifier\x20is\x20u8\x20(REQUIRED,\x20not\x20Option<u8>)','applies_to':['external_withdraw_guard.guards[].identifier']},{'id':'MC-T-05','category':'structural','rule':'external_deposit_guard.identifier\x20is\x20Option<u8>\x20(None\x20means\x20no\x20amount\x20limit)','applies_to':['external_deposit_guard.guards[].identifier']},{'id':'MC-T-06','category':'semantic','rule':'Coin\x20type\x20T\x20must\x20match\x20Treasury\x27s\x20type_parameter\x20for\x20all\x20deposit/withdraw/receive\x20operations','applies_to':['deposit.coin','withdraw.amount.fixed','receive']},{'id':'MC-T-07','category':'authority','rule':'deposit\x20via\x20Permission\x20path\x20requires\x20TREASURY_DEPOSIT\x20(252);\x20deposit\x20via\x20Guard\x20path\x20requires\x20no\x20Permission\x20(Guard+Passport\x20only)','applies_to':['deposit.by_external_deposit_guard']},{'id':'MC-T-08','category':'authority','rule':'withdraw.amount.fixed\x20requires\x20TREASURY_WITHDRAW\x20(254);\x20withdraw.amount.by_external_withdraw_guard\x20requires\x20no\x20Permission','applies_to':['withdraw.amount']},{'id':'MC-T-09','category':'authority','rule':'external_deposit_guard\x20management\x20requires\x20TREASURY_EXTERNAL_DEPOSIT_GUARD\x20(255);\x20external_withdraw_guard\x20management\x20requires\x20TREASURY_EXTERNAL_WITHDRAW_GUARD\x20(256)','applies_to':['external_deposit_guard','external_withdraw_guard']},{'id':'MC-T-10','category':'lifecycle','rule':'withdraw\x20(fixed)\x20and\x20external_withdraw\x20are\x20IRREVERSIBLE;\x20verify\x20recipient\x20and\x20amount\x20before\x20execution','applies_to':['withdraw.amount.fixed','withdraw.amount.by_external_withdraw_guard']},{'id':'MC-T-11','category':'lifecycle','rule':'owner_receive\x20forwards\x20assets\x20to\x20Permission.owner\x20and\x20does\x20NOT\x20write\x20to\x20history;\x20verify\x20owner\x20address\x20is\x20current','applies_to':['owner_receive']},{'id':'MC-T-12','category':'lifecycle','rule':'um_set\x20requires\x20Contact\x20object\x20address\x20(not\x20user\x20wallet);\x20um_set\x20vs\x20um_none\x20both\x20use\x20TREASURY_UM\x20(258)','applies_to':['um']},{'id':'MC-T-13','category':'cross_object','rule':'If\x20Treasury\x20is\x20referenced\x20by\x20Allocator/Arbitration,\x20TREASURY_RECEIVE\x20(253)\x20must\x20be\x20granted\x20to\x20a\x20trusted\x20operator\x20for\x20regular\x20intake','applies_to':['receive']},{'id':'MC-T-14','category':'semantic','rule':'external_deposit\x20may\x20split\x20coin\x20if\x20value\x20>\x20guard-specified\x20amount;\x20excess\x20refunded\x20to\x20sender','applies_to':['deposit.by_external_deposit_guard']},{'id':'MC-T-15','category':'semantic','rule':'inflow/outflow\x20are\x20monotonic\x20counters\x20(never\x20decrease);\x20used\x20for\x20audit\x20reconciliation:\x20theoretical\x20balance\x20=\x20inflow\x20-\x20outflow','applies_to':['(read-only\x20audit\x20fields)']}];export const TREASURY_TRANSLATION_VERSION='1.0.0';export function matchSemanticPattern(a){const b=a['toLowerCase'](),c=[];(b['includes']('create')||b['includes']('new'))&&c['push'](SEMANTIC_TO_SCHEMA_RULES[0x0]);b['includes']('deposit')&&(b['includes']('external')||b['includes']('guard')?c['push'](SEMANTIC_TO_SCHEMA_RULES[0x3]):c['push'](SEMANTIC_TO_SCHEMA_RULES[0x1]));b['includes']('withdraw')&&(b['includes']('external')||b['includes']('guard')?c['push'](SEMANTIC_TO_SCHEMA_RULES[0x4]):c['push'](SEMANTIC_TO_SCHEMA_RULES[0x2]));(b['includes']('guard\x20add')||b['includes']('guard\x20set')||b['includes']('guard\x20remove')||b['includes']('guard\x20clear'))&&c['push'](SEMANTIC_TO_SCHEMA_RULES[0x5]);(b['includes']('receive')||b['includes']('owner_receive')||b['includes']('forward'))&&c['push'](SEMANTIC_TO_SCHEMA_RULES[0x6]);(b['includes']('um')||b['includes']('delegate')||b['includes']('user\x20manager')||b['includes']('description'))&&c['push'](SEMANTIC_TO_SCHEMA_RULES[0x7]);if(c['length']===0x0)return[...SEMANTIC_TO_SCHEMA_RULES];return c;}export function explainTreasuryCallData(a){const b=[];if(a['object']===null||a['object']===undefined)b['push']('Operation:\x20INVALID\x20(object\x20field\x20required)');else{if(typeof a['object']==='string')b['push']('Operation:\x20OPERATE\x20existing\x20Treasury\x20at\x20'+a['object']);else{if(typeof a['object']==='object'){const c=a['object'];b['push']('Operation:\x20CREATE\x20new\x20Treasury');if(c['name'])b['push']('\x20\x20name:\x20'+c['name']);if(c['type_parameter'])b['push']('\x20\x20type_parameter\x20(T):\x20'+c['type_parameter']);c['permission']&&(typeof c['permission']==='string'?b['push']('\x20\x20permission:\x20existing\x20'+c['permission']):b['push']('\x20\x20permission:\x20new\x20(TypeNamedObject)'));}}}a['description']&&b['push']('-\x20Set\x20description:\x20\x22'+a['description']+'\x22');if(a['deposit']){const e=a['deposit'];if(e['by_external_deposit_guard']){b['push']('-\x20External\x20deposit\x20via\x20guard:\x20'+e['by_external_deposit_guard']);if(e['coin']?.['balance'])b['push']('\x20\x20coin\x20balance:\x20'+e['coin']['balance']+'\x20(may\x20split\x20if\x20>\x20guard\x20limit)');if(e['coin']?.['coin_object'])b['push']('\x20\x20coin\x20object:\x20'+e['coin']['coin_object']);b['push']('\x20\x20⚠️\x20No\x20Permission\x20check;\x20Passport\x20required');}else{b['push']('-\x20Internal\x20deposit\x20via\x20Permission\x20(TREASURY_DEPOSIT=252)');if(e['coin']?.['balance'])b['push']('\x20\x20coin\x20balance:\x20'+e['coin']['balance']);if(e['coin']?.['coin_object'])b['push']('\x20\x20coin\x20object:\x20'+e['coin']['coin_object']);}if(e['payment_info']?.['remark'])b['push']('\x20\x20payment\x20remark:\x20\x22'+e['payment_info']['remark']+'\x22');}if(a['withdraw']){const f=a['withdraw'];if(f['amount']?.['fixed'])b['push']('-\x20Internal\x20withdraw\x20via\x20Permission\x20(TREASURY_WITHDRAW=254)'),b['push']('\x20\x20amount:\x20'+f['amount']['fixed']+'\x20(fixed,\x20IRREVERSIBLE)');else f['amount']?.['by_external_withdraw_guard']&&(b['push']('-\x20External\x20withdraw\x20via\x20guard:\x20'+f['amount']['by_external_withdraw_guard']),b['push']('\x20\x20⚠️\x20Amount\x20determined\x20by\x20Guard\x20table\x20identifier\x20(not\x20caller-specified)'),b['push']('\x20\x20⚠️\x20IRREVERSIBLE;\x20No\x20Permission\x20check;\x20Passport\x20required'));if(f['recipient'])b['push']('\x20\x20recipient:\x20'+f['recipient']);if(f['payment_info']?.['remark'])b['push']('\x20\x20payment\x20remark:\x20\x22'+f['payment_info']['remark']+'\x22');}if(a['receive']){if(a['receive']==='recently')b['push']('-\x20Receive\x20all\x20recently-received\x20CoinWrapper\x20(TREASURY_RECEIVE=253)');else Array['isArray'](a['receive'])&&b['push']('-\x20Receive\x20'+a['receive']['length']+'\x20CoinWrapper\x20object(s)\x20(TREASURY_RECEIVE=253)');}if(a['external_deposit_guard']){const h=a['external_deposit_guard'];if(h['op']==='clear')b['push']('-\x20Clear\x20external_deposit_guard\x20list\x20(TREASURY_EXTERNAL_DEPOSIT_GUARD=255)');else{if(h['op']==='remove')b['push']('-\x20Remove\x20'+h['guards']['length']+'\x20guard(s)\x20from\x20external_deposit_guard\x20(Permission\x20255)');else{const i=h['guards']['length'];b['push']('-\x20'+(h['op']==='set'?'Set\x20(clear+add)':'Add\x20(upsert)')+'\x20'+i+'\x20external_deposit_guard(s)\x20(Permission\x20255)');}}}if(a['external_withdraw_guard']){const j=a['external_withdraw_guard'];if(j['op']==='clear')b['push']('-\x20Clear\x20external_withdraw_guard\x20list\x20(TREASURY_EXTERNAL_WITHDRAW_GUARD=256)');else{if(j['op']==='remove')b['push']('-\x20Remove\x20'+j['guards']['length']+'\x20guard(s)\x20from\x20external_withdraw_guard\x20(Permission\x20256)');else{const k=j['guards']['length'];b['push']('-\x20'+(j['op']==='set'?'Set\x20(clear+add)':'Add\x20(upsert)')+'\x20'+k+'\x20external_withdraw_guard(s)\x20(Permission\x20256)'),b['push']('\x20\x20⚠️\x20withdraw\x20guard\x20identifier\x20is\x20REQUIRED\x20(u8,\x20not\x20Option)');}}}if(a['owner_receive']){if(a['owner_receive']==='recently')b['push']('-\x20owner_receive:\x20forward\x20all\x20recently-received\x20objects\x20to\x20Permission.owner\x20(TREASURY_OWNER_RECEIVE=257)');else Array['isArray'](a['owner_receive'])&&b['push']('-\x20owner_receive:\x20forward\x20'+a['owner_receive']['length']+'\x20object(s)\x20to\x20Permission.owner\x20(Permission\x20257)');b['push']('\x20\x20⚠️\x20IRREVERSIBLE;\x20does\x20NOT\x20write\x20to\x20history');}return a['um']!==undefined&&(a['um']===null?b['push']('-\x20UM\x20revoke\x20(um_none,\x20TREASURY_UM=258)'):b['push']('-\x20UM\x20set\x20to\x20'+a['um']+'\x20(TREASURY_UM=258)')),b['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 getConstraintsByCategory(a){return TREASURY_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function explainTreasuryPermissionIndex(a){if(isBuiltinTreasuryPermission(a)){const b=getBuiltinPermissionByIndex(a),c=findSceneByPermissionIndex(a);return(b?.['name']??'Unknown')+'\x20('+a+')\x20—\x20'+(b?.['description']??'')+'\x20[scene:\x20'+(c?.['id']??'unknown')+']';}if(a===-0x1)return'Reserved\x20(no\x20Permission\x20index)\x20—\x20external\x20operations\x20use\x20Guard\x20+\x20Passport\x20instead';if(a>=0x3e8)return'Custom\x20permission\x20('+a+')\x20—\x20must\x20be\x20documented\x20via\x20Permission.remark;\x20not\x20used\x20by\x20Treasury\x20builtin\x20operations';if(a===0x103||a===0x104)return'STALE\x20index\x20'+a+'\x20—\x20was\x20pre-fix\x20SDK\x20value;\x20canonical\x20post-fix\x20indexes\x20are\x20255-258.\x20See\x20R-T-01.';return'Index\x20'+a+'\x20—\x20not\x20a\x20Treasury\x20builtin\x20permission\x20(range\x20250-258)';}
|