@wowok/agent-mcp 2.7.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/config/runtime.d.ts +1 -1
- package/dist/config/runtime.js +1 -1
- package/dist/examples/rental-ziroom-machine-create.json +1 -2
- package/dist/examples/rental-ziroom-permission-create.json +1 -2
- package/dist/examples/rental-ziroom-service-create.json +1 -2
- package/dist/experience/experience-reuse.js +1 -1
- package/dist/experience/index.d.ts +2 -1
- package/dist/experience/index.js +1 -1
- package/dist/experience/persistence-config.d.ts +6 -0
- package/dist/experience/persistence-config.js +1 -0
- package/dist/experience/persistence.d.ts +21 -0
- package/dist/experience/persistence.js +1 -0
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/experience/user-profile.js +1 -1
- package/dist/extensions/business-modules.d.ts +1 -1
- package/dist/extensions/capability-manifest.d.ts +2 -83
- package/dist/extensions/capability-manifest.js +1 -1
- package/dist/extensions/constraint-registry.d.ts +6 -4
- package/dist/extensions/constraint-registry.js +1 -1
- package/dist/extensions/index.d.ts +4 -5
- package/dist/extensions/index.js +1 -1
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/metric-registry.d.ts +6 -4
- package/dist/extensions/metric-registry.js +1 -1
- package/dist/extensions/mode-evaluator.d.ts +2 -3
- package/dist/extensions/mode-evaluator.js +1 -1
- package/dist/extensions/registry.d.ts +3 -25
- package/dist/extensions/registry.js +1 -1
- package/dist/extensions/types.d.ts +1 -69
- package/dist/goal/GoalClassifier.d.ts +17 -0
- package/dist/goal/GoalClassifier.js +1 -0
- package/dist/goal/GoalEngine.d.ts +155 -0
- package/dist/goal/GoalEngine.js +1 -0
- package/dist/goal/GoalStore.d.ts +27 -0
- package/dist/goal/GoalStore.js +1 -0
- package/dist/goal/plan-approval.d.ts +5 -0
- package/dist/goal/plan-approval.js +1 -0
- package/dist/goal/types.d.ts +80 -0
- package/dist/goal/types.js +1 -0
- package/dist/harness/index.d.ts +2 -7
- package/dist/harness/index.js +1 -1
- package/dist/harness/plan.d.ts +1 -1
- package/dist/harness/types.d.ts +0 -35
- package/dist/index.js +1 -1
- package/dist/knowledge/account-marks.d.ts +36 -0
- package/dist/knowledge/account-marks.js +1 -0
- package/dist/knowledge/audit-rules.d.ts +3 -1
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/examples-scanner-cli.js +1 -1
- package/dist/knowledge/examples-scanner.js +1 -1
- package/dist/knowledge/fund-layer.d.ts +13 -9
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/goal-completion.d.ts +19 -0
- package/dist/knowledge/goal-completion.js +1 -0
- package/dist/knowledge/guard-bindings.d.ts +21 -0
- package/dist/knowledge/guard-bindings.js +1 -0
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.d.ts +6 -3
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
- package/dist/knowledge/mcp-schema-audit.js +1 -1
- package/dist/knowledge/operation-dictionary.js +1 -1
- package/dist/knowledge/passport-confirm.js +1 -1
- package/dist/knowledge/passport-puzzle.js +1 -1
- package/dist/knowledge/passport-translation.js +1 -1
- package/dist/knowledge/proof-risk.js +1 -1
- package/dist/knowledge/reward-risk.d.ts +1 -1
- package/dist/knowledge/reward-risk.js +1 -1
- package/dist/knowledge/safety-rules.d.ts +2 -1
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/scenario-topology.d.ts +43 -0
- package/dist/knowledge/scenario-topology.js +1 -0
- package/dist/knowledge/service-translation.js +1 -1
- package/dist/knowledge/supply-chain.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +36 -0
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/knowledge/workspace-lists.d.ts +57 -0
- package/dist/knowledge/workspace-lists.js +1 -0
- package/dist/loop-engineering/context-collect.d.ts +1 -1
- package/dist/monitor/EventRouter.d.ts +10 -0
- package/dist/monitor/EventRouter.js +1 -0
- package/dist/monitor/EventStore.d.ts +32 -12
- package/dist/monitor/EventStore.js +1 -1
- package/dist/monitor/MonitorLoop.d.ts +81 -0
- package/dist/monitor/MonitorLoop.js +1 -0
- package/dist/monitor/ProblemBridge.d.ts +32 -0
- package/dist/monitor/ProblemBridge.js +1 -0
- package/dist/monitor/ScopeResolver.d.ts +59 -0
- package/dist/monitor/ScopeResolver.js +1 -0
- package/dist/monitor/SubscriptionStore.d.ts +13 -0
- package/dist/monitor/SubscriptionStore.js +1 -0
- package/dist/monitor/SuggestionBridge.d.ts +38 -0
- package/dist/monitor/SuggestionBridge.js +1 -0
- package/dist/monitor/normalize.d.ts +8 -0
- package/dist/monitor/normalize.js +1 -0
- package/dist/monitor/types.d.ts +89 -0
- package/dist/monitor/types.js +1 -0
- package/dist/participation/arbitrator-interest.d.ts +20 -0
- package/dist/participation/arbitrator-interest.js +1 -0
- package/dist/participation/demander-interest.d.ts +23 -0
- package/dist/participation/demander-interest.js +1 -0
- package/dist/persona/address-format.d.ts +1 -1
- package/dist/persona/address-format.js +1 -1
- package/dist/persona/distill-goal.d.ts +20 -0
- package/dist/persona/distill-goal.js +1 -0
- package/dist/persona/index.d.ts +2 -0
- package/dist/persona/index.js +1 -1
- package/dist/persona/model.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -0
- package/dist/{project → playbooks/service-build}/context-assembly.d.ts +9 -4
- package/dist/playbooks/service-build/context-assembly.js +1 -0
- package/dist/{project → playbooks/service-build}/game-theory.d.ts +1 -1
- package/dist/playbooks/service-build/index.d.ts +14 -0
- package/dist/playbooks/service-build/index.js +1 -0
- package/dist/{project → playbooks/service-build}/intent-analyzer.d.ts +1 -1
- package/dist/playbooks/service-build/intent-analyzer.js +1 -0
- package/dist/playbooks/service-build/machine-nodes.js +1 -0
- package/dist/{project → playbooks/service-build}/machine-panorama.d.ts +5 -3
- package/dist/playbooks/service-build/machine-panorama.js +1 -0
- package/dist/{project → playbooks/service-build}/merchant-guide.d.ts +21 -1
- package/dist/playbooks/service-build/merchant-guide.js +1 -0
- package/dist/{project → playbooks/service-build}/mode-actions.d.ts +32 -8
- package/dist/playbooks/service-build/mode-actions.js +1 -0
- package/dist/playbooks/service-build/namespace.d.ts +2 -0
- package/dist/playbooks/service-build/namespace.js +1 -0
- package/dist/{project → playbooks/service-build}/object-panorama.d.ts +2 -3
- package/dist/playbooks/service-build/object-panorama.js +1 -0
- package/dist/{project → playbooks/service-build}/participation-radar.d.ts +4 -5
- package/dist/playbooks/service-build/participation-radar.js +1 -0
- package/dist/{project → playbooks/service-build}/pipeline-actions.d.ts +9 -9
- package/dist/playbooks/service-build/pipeline-actions.js +1 -0
- package/dist/playbooks/service-build/process.d.ts +6 -0
- package/dist/playbooks/service-build/process.js +1 -0
- package/dist/playbooks/service-build/relationship-profile.d.ts +2 -0
- package/dist/playbooks/service-build/relationship-profile.js +1 -0
- package/dist/playbooks/service-build/risk-aggregator.js +1 -0
- package/dist/{project → playbooks/service-build}/semantic-graph.d.ts +7 -3
- package/dist/playbooks/service-build/semantic-graph.js +1 -0
- package/dist/{project → playbooks/service-build}/service-panorama.d.ts +3 -19
- package/dist/playbooks/service-build/service-panorama.js +1 -0
- package/dist/relationship/derivation.d.ts +88 -0
- package/dist/relationship/derivation.js +1 -0
- package/dist/relationship/incentive.d.ts +38 -0
- package/dist/relationship/incentive.js +1 -0
- package/dist/relationship/index.d.ts +4 -0
- package/dist/relationship/index.js +1 -0
- package/dist/relationship/registry.d.ts +13 -0
- package/dist/relationship/registry.js +1 -0
- package/dist/relationship/types.d.ts +45 -0
- package/dist/relationship/types.js +1 -0
- package/dist/review/arb.d.ts +6 -0
- package/dist/review/arb.js +1 -0
- package/dist/review/demand.d.ts +3 -0
- package/dist/review/demand.js +1 -0
- package/dist/review/index.d.ts +3 -0
- package/dist/review/index.js +1 -0
- package/dist/review/machine.d.ts +3 -0
- package/dist/review/machine.js +1 -0
- package/dist/review/order.d.ts +9 -0
- package/dist/review/order.js +1 -0
- package/dist/review/progress.d.ts +3 -0
- package/dist/review/progress.js +1 -0
- package/dist/review/repository.d.ts +3 -0
- package/dist/review/repository.js +1 -0
- package/dist/review/service.d.ts +5 -0
- package/dist/review/service.js +1 -0
- package/dist/review/types.d.ts +156 -0
- package/dist/review/types.js +1 -0
- package/dist/rules.d.ts +2 -2
- package/dist/rules.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/safety/index.d.ts +1 -1
- package/dist/safety/index.js +1 -1
- package/dist/safety/preview.d.ts +1 -0
- package/dist/safety/preview.js +1 -1
- package/dist/schema/call/allocation.d.ts +1 -1
- package/dist/schema/call/arbitration.d.ts +1 -1
- package/dist/schema/call/base.d.ts +1 -1
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +29 -7
- package/dist/schema/call/bridge.js +1 -1
- package/dist/schema/call/contact.d.ts +1 -1
- package/dist/schema/call/contact.js +1 -1
- package/dist/schema/call/demand.d.ts +1 -1
- package/dist/schema/call/demand.js +1 -1
- package/dist/schema/call/guard.d.ts +3 -3
- package/dist/schema/call/handler.d.ts +0 -3
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +2 -2
- package/dist/schema/call/order.d.ts +1 -1
- package/dist/schema/call/payment.d.ts +1 -1
- package/dist/schema/call/permission.d.ts +1 -1
- package/dist/schema/call/personal.d.ts +1 -1
- package/dist/schema/call/progress.d.ts +1 -1
- package/dist/schema/call/proof.d.ts +2 -2
- package/dist/schema/call/repository.d.ts +1 -1
- package/dist/schema/call/repository.js +1 -1
- package/dist/schema/call/reward.d.ts +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +1 -1
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/goal/index.d.ts +343 -0
- package/dist/schema/goal/index.js +1 -0
- package/dist/schema/goal/planning.d.ts +465 -0
- package/dist/schema/goal/planning.js +1 -0
- package/dist/schema/index.d.ts +1 -2
- package/dist/schema/index.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +323 -1
- package/dist/schema/industry-pack/index.js +1 -1
- package/dist/schema/industry-pack/modes.d.ts +326 -0
- package/dist/schema/industry-pack/modes.js +1 -0
- package/dist/schema/intent-radar/index.d.ts +19 -19
- package/dist/schema/local/index.d.ts +11 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/operations.d.ts +258 -19
- package/dist/schema/operations.js +1 -1
- package/dist/schema/permission/index.d.ts +1 -0
- package/dist/schema/permission/index.js +1 -1
- package/dist/schema/persona/index.d.ts +40 -0
- package/dist/schema/persona/index.js +1 -1
- package/dist/schema/query/bi.d.ts +912 -0
- package/dist/schema/query/bi.js +1 -0
- package/dist/schema/query/index.d.ts +663 -2
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/utils/skills-recommendation.d.ts +0 -1
- package/dist/schema/utils/skills-recommendation.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +32 -3
- package/dist/schemas/account_operation.schema.json +8 -4
- package/dist/schemas/bridge_operation.output.json +26 -3
- package/dist/schemas/bridge_operation.schema.json +85 -13
- package/dist/schemas/config_operation.output.json +1 -1
- package/dist/schemas/config_operation.schema.json +1 -1
- package/dist/schemas/goal_operation.schema.json +1092 -0
- package/dist/schemas/guard2file.schema.json +3 -3
- package/dist/schemas/index.json +12 -13
- package/dist/schemas/industry_pack_operation.output.json +1073 -0
- package/dist/schemas/industry_pack_operation.schema.json +236 -2
- package/dist/schemas/local_info_operation.output.json +2 -2
- package/dist/schemas/local_mark_operation.output.json +2 -2
- package/dist/schemas/machineNode2file.schema.json +3 -3
- package/dist/schemas/messenger_operation.output.json +2 -2
- package/dist/schemas/monitor_events.output.json +78 -3
- package/dist/schemas/monitor_events.schema.json +24 -1
- package/dist/schemas/monitor_subscription.output.json +1462 -0
- package/dist/schemas/monitor_subscription.schema.json +327 -0
- package/dist/schemas/onchain_events.output.json +5 -5
- package/dist/schemas/onchain_operations.output.json +2 -2
- package/dist/schemas/onchain_operations.schema.json +100 -100
- package/dist/schemas/onchain_operations_allocation.schema.json +7 -7
- package/dist/schemas/onchain_operations_arbitration.schema.json +6 -6
- package/dist/schemas/onchain_operations_contact.schema.json +6 -6
- package/dist/schemas/onchain_operations_demand.schema.json +6 -6
- package/dist/schemas/onchain_operations_gen_passport.schema.json +3 -3
- package/dist/schemas/onchain_operations_gen_proof.schema.json +3 -3
- package/dist/schemas/onchain_operations_guard.schema.json +3 -3
- package/dist/schemas/onchain_operations_machine.schema.json +5 -5
- package/dist/schemas/onchain_operations_order.schema.json +5 -5
- package/dist/schemas/onchain_operations_payment.schema.json +4 -4
- package/dist/schemas/onchain_operations_permission.schema.json +5 -5
- package/dist/schemas/onchain_operations_personal.schema.json +3 -3
- package/dist/schemas/onchain_operations_progress.schema.json +5 -5
- package/dist/schemas/onchain_operations_proof.schema.json +3 -3
- package/dist/schemas/onchain_operations_repository.schema.json +7 -7
- package/dist/schemas/onchain_operations_reward.schema.json +9 -9
- package/dist/schemas/onchain_operations_service.schema.json +11 -11
- package/dist/schemas/onchain_operations_treasury.schema.json +9 -9
- package/dist/schemas/onchain_table_data.output.json +399 -2
- package/dist/schemas/onchain_table_data.schema.json +22 -22
- package/dist/schemas/permission_operation.schema.json +6 -2
- package/dist/schemas/persona_operation.output.json +145 -0
- package/dist/schemas/persona_operation.schema.json +28 -2
- package/dist/schemas/query_toolkit.output.json +1514 -22
- package/dist/schemas/query_toolkit.schema.json +465 -11
- package/dist/schemas/workflow_operation.schema.json +4 -4
- package/dist/task/ProcessStore.d.ts +98 -0
- package/dist/task/ProcessStore.js +1 -0
- package/dist/task/playbook.d.ts +11 -0
- package/dist/task/playbook.js +1 -0
- package/dist/task/stage-gate.d.ts +22 -0
- package/dist/task/stage-gate.js +1 -0
- package/dist/{project → task}/substep-trace.d.ts +6 -45
- package/dist/task/types.d.ts +144 -0
- package/dist/task/types.js +1 -0
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/goal.d.ts +4 -0
- package/dist/tools/handlers/goal.js +1 -0
- package/dist/tools/handlers/industry-pack.js +1 -1
- package/dist/tools/handlers/local.d.ts +4 -3
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/monitor.d.ts +24 -0
- package/dist/tools/handlers/monitor.js +1 -1
- package/dist/tools/handlers/network.d.ts +1 -0
- package/dist/tools/handlers/network.js +1 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/permission.js +1 -1
- package/dist/tools/handlers/persona.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/watch.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/rules-hook.d.ts +1 -0
- package/dist/tools/rules-hook.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +5 -4
- package/dist/harness/checkpoint.d.ts +0 -8
- package/dist/harness/checkpoint.js +0 -1
- package/dist/knowledge/deployment-scanner.d.ts +0 -66
- package/dist/knowledge/deployment-scanner.js +0 -1
- package/dist/mode-market/index.d.ts +0 -3
- package/dist/mode-market/index.js +0 -1
- package/dist/mode-market/registry.d.ts +0 -53
- package/dist/mode-market/registry.js +0 -1
- package/dist/mode-market/review.d.ts +0 -27
- package/dist/mode-market/review.js +0 -1
- package/dist/mode-market/submission.d.ts +0 -25
- package/dist/mode-market/submission.js +0 -1
- package/dist/project/business-puzzle.js +0 -1
- package/dist/project/context-assembly.js +0 -1
- package/dist/project/deployment-bridge.d.ts +0 -5
- package/dist/project/deployment-bridge.js +0 -1
- package/dist/project/deployment-doc.d.ts +0 -190
- package/dist/project/deployment-doc.js +0 -1
- package/dist/project/edit-planner.d.ts +0 -123
- package/dist/project/edit-planner.js +0 -1
- package/dist/project/evaluation-fix.spec.d.ts +0 -1
- package/dist/project/evaluation-fix.spec.js +0 -1
- package/dist/project/evaluation.d.ts +0 -127
- package/dist/project/evaluation.js +0 -1
- package/dist/project/graph-builder.d.ts +0 -51
- package/dist/project/graph-builder.js +0 -1
- package/dist/project/graph.d.ts +0 -70
- package/dist/project/graph.js +0 -1
- package/dist/project/handlers.d.ts +0 -524
- package/dist/project/handlers.js +0 -1
- package/dist/project/index.d.ts +0 -91
- package/dist/project/index.js +0 -1
- package/dist/project/intent-analyzer.js +0 -1
- package/dist/project/machine-nodes.js +0 -1
- package/dist/project/machine-panorama.js +0 -1
- package/dist/project/merchant-guide.js +0 -1
- package/dist/project/mode-actions.js +0 -1
- package/dist/project/namespace.d.ts +0 -72
- package/dist/project/namespace.js +0 -1
- package/dist/project/object-panorama.js +0 -1
- package/dist/project/participation-radar.js +0 -1
- package/dist/project/pipeline-actions.js +0 -1
- package/dist/project/project-store.d.ts +0 -110
- package/dist/project/project-store.js +0 -1
- package/dist/project/query.d.ts +0 -43
- package/dist/project/query.js +0 -1
- package/dist/project/risk-aggregator.js +0 -1
- package/dist/project/semantic-assembler.d.ts +0 -93
- package/dist/project/semantic-assembler.js +0 -1
- package/dist/project/semantic-graph.js +0 -1
- package/dist/project/service-panorama.js +0 -1
- package/dist/project/stage-gate.d.ts +0 -52
- package/dist/project/stage-gate.js +0 -1
- package/dist/project/task-tracker.d.ts +0 -30
- package/dist/project/task-tracker.js +0 -1
- package/dist/schema/project/index.d.ts +0 -2021
- package/dist/schema/project/index.js +0 -1
- package/dist/schema/task-status.d.ts +0 -62
- package/dist/schema/task-status.js +0 -1
- package/dist/schemas/project_operation.output.json +0 -7877
- package/dist/schemas/project_operation.schema.json +0 -1139
- package/dist/schemas/query_task_status.output.json +0 -211
- package/dist/schemas/query_task_status.schema.json +0 -18
- package/dist/tools/handlers/project.d.ts +0 -2
- package/dist/tools/handlers/project.js +0 -1
- package/dist/tools/handlers/task-status.d.ts +0 -2
- package/dist/tools/handlers/task-status.js +0 -1
- /package/dist/{project → playbooks/service-build}/business-puzzle.d.ts +0 -0
- /package/dist/{project → playbooks/service-build}/game-theory.js +0 -0
- /package/dist/{project → playbooks/service-build}/machine-nodes.d.ts +0 -0
- /package/dist/{project → playbooks/service-build}/object-type.d.ts +0 -0
- /package/dist/{project → playbooks/service-build}/object-type.js +0 -0
- /package/dist/{project → playbooks/service-build}/reverse-mapping.d.ts +0 -0
- /package/dist/{project → playbooks/service-build}/reverse-mapping.js +0 -0
- /package/dist/{project → playbooks/service-build}/risk-aggregator.d.ts +0 -0
- /package/dist/{project → playbooks/service-build}/workflow-design-assessment.d.ts +0 -0
- /package/dist/{project → playbooks/service-build}/workflow-design-assessment.js +0 -0
- /package/dist/{project → task}/substep-trace.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const SCENARIO_BRIDGE_REGISTRY=[{'id':'bridge.supply_match','name':'Supply-Demand\x20Match','participants':[{'object':'Demand','role':'need\x20expression\x20(what\x20is\x20wanted)'},{'object':'Service','role':'capability\x20offering\x20(what\x20can\x20be\x20delivered)'},{'object':'Guard','role':'presentation\x20qualification\x20(who\x20may\x20present\x20what)'}],'bridge_fields':[{'object':'Demand','field':'guards:\x20vector<ServiceGuard>\x20{\x20guard,\x20service_identifier\x20}','meaning':'presenters\x20must\x20pass\x20the\x20guard;\x20service_identifier\x20resolves\x20WHICH\x20service\x20they\x20present\x20for'},{'object':'Demand','field':'present_service_with_passport(service:&Service<T>)','meaning':'a\x20Service\x20object\x20is\x20supplied\x20AT\x20the\x20presentation\x20—\x20the\x20demand\x20does\x20not\x20store\x20services;\x20suppliers\x20bring\x20them'}],'move_anchor':'demand.move\x20L124-150\x20(present_with_passport_imp:\x20result_for_guard\x20+\x20submission_get(service_identifier))','scenario':{'from':'Demand\x20scenario\x20(need\x20expression)','to':'Service\x20scenario\x20(product\x20listing)','merged':'Matchmaking\x20(discovery\x20+\x20qualification\x20+\x20choice)'},'capability_gained':'Choice\x20among\x20qualified\x20offers:\x20the\x20demander\x20compares\x20presented\x20Services\x20(acceptance_score\x20accumulates\x20per\x20presenter)\x20'+'—\x20a\x20capability\x20neither\x20a\x20bare\x20Demand\x20(no\x20offers)\x20nor\x20a\x20bare\x20Service\x20(no\x20buyer\x20context)\x20possesses.','value_flow':'No\x20funds\x20move\x20yet\x20—\x20this\x20bridge\x20prices\x20ATTENTION:\x20acceptance_score\x20on\x20the\x20presenter\x27s\x20entity\x20is\x20the\x20reputation\x20currency.','prerequisites':['Demand\x20not\x20yet\x20paused\x20(demand.move)','Presenter\x20passes\x20the\x20Demand\x27s\x20guard\x20(E_NEED_PASSPORT\x20when\x20guards\x20exist\x20and\x20no\x20passport\x20is\x20given)'],'examples':['Procurement\x20tender:\x20a\x20company\x20posts\x20a\x20Demand;\x20certified\x20suppliers\x20present\x20their\x20Services;\x20the\x20best\x20acceptance_score\x20wins\x20the\x20order.','Local\x20services\x20marketplace:\x20\x27repair\x20my\x20roof\x27\x20demand\x20meets\x20licensed\x20roofer\x20services.']},{'id':'bridge.purchase','name':'Purchase\x20(Quote\x20→\x20Order)','participants':[{'object':'Service','role':'published\x20offering\x20(sales,\x20wip,\x20price)'},{'object':'Quote','role':'buyer\x27s\x20item\x20selection\x20+\x20computed\x20total'},{'object':'Discount','role':'transferable\x20price\x20reduction\x20bound\x20to\x20the\x20service'},{'object':'Guard','role':'buy\x20qualification\x20(buy_guard)'},{'object':'Order','role':'the\x20created\x20agreement'}],'bridge_fields':[{'object':'Service','field':'buy_guard:\x20Option<address>','meaning':'who\x20may\x20buy\x20(qualification);\x20buy()\x20refuses\x20when\x20a\x20guard\x20exists\x20and\x20no\x20passport\x20proves\x20it'},{'object':'Discount','field':'service:\x20address\x20(+\x20time\x20window,\x20benchmark,\x20transferable)','meaning':'the\x20discount\x20object\x20itself\x20carries\x20WHICH\x20service\x20it\x20applies\x20to\x20—\x20it\x20travels\x20wallet-to-wallet\x20but\x20stays\x20bound\x20to\x20the\x20service'},{'object':'Order','field':'machine:\x20Option<address>\x20(copied\x20from\x20Service\x20at\x20order::new)','meaning':'the\x20fulfillment\x20workflow\x20is\x20PRE-BINDED\x20at\x20purchase\x20time\x20—\x20the\x20order\x20reserves\x20its\x20own\x20execution\x20path'}],'move_anchor':'service.move\x20L278-321\x20(buy\x20/\x20buy_with_passport\x20/\x20buy_imp\x20→\x20order::new),\x20order.move\x20L103-114','scenario':{'from':'Service\x20scenario\x20(offering)','to':'Order\x20scenario\x20(agreement\x20+\x20escrow\x20intent)','merged':'Transaction\x20(commitment\x20with\x20reserved\x20fulfillment)'},'capability_gained':'A\x20binding\x20agreement\x20that\x20reserves\x20its\x20own\x20execution\x20path:\x20the\x20Order\x20snapshot\x20copies\x20the\x20Service\x27s\x20machine\x20reference\x20'+'at\x20creation,\x20so\x20later\x20Service\x20edits\x20cannot\x20retroactively\x20change\x20how\x20THIS\x20order\x20is\x20fulfilled.','value_flow':'Amount\x20is\x20recorded\x20(order.amount)\x20but\x20coins\x20are\x20not\x20yet\x20moved\x20—\x20payment\x20happens\x20at\x20the\x20allocation\x20bridge.','prerequisites':['Service\x20published\x20(bPublished)\x20and\x20not\x20paused\x20(E_NOT_PUBLISHED\x20/\x20E_PAUSED)','Quote\x20signed\x20by\x20the\x20tx\x20digest\x20(E_INVALID_QUOTE)\x20—\x20prevents\x20quote\x20replay\x20across\x20transactions','buy_guard\x20passed\x20when\x20present\x20(E_BUY_GUARD_PASSPORT_REQUIRED)'],'examples':['Standard\x20e-commerce\x20checkout:\x20quote\x20items,\x20apply\x20a\x20transferred\x20Discount,\x20create\x20the\x20Order.','Gated\x20purchase:\x20only\x20KYC-passed\x20wallets\x20(buy_guard)\x20can\x20order\x20a\x20licensed\x20service.']},{'id':'bridge.escrow_split','name':'Escrow\x20&\x20Split\x20(Order\x20→\x20Allocation\x20→\x20Payment)','participants':[{'object':'Service','role':'payout\x20rules\x20owner\x20(order_allocators)'},{'object':'Order','role':'escrowed\x20amount\x20+\x20single\x20allocation\x20slot'},{'object':'Allocation','role':'guard-gated\x20distributor'},{'object':'Payment','role':'the\x20actual\x20value\x20transfer\x20with\x20provenance'}],'bridge_fields':[{'object':'Service','field':'order_allocators:\x20Option<Allocators>','meaning':'who\x20may\x20run\x20the\x20split\x20and\x20under\x20which\x20guards\x20—\x20the\x20merchant\x27s\x20payout\x20policy,\x20pre-registered\x20on\x20the\x20Service'},{'object':'Order','field':'allocation:\x20Option<address>\x20(on_allocation,\x20single-shot)','meaning':'the\x20order\x20can\x20be\x20split\x20exactly\x20once\x20—\x20the\x20escrow-to-payout\x20transition\x20is\x20one-way\x20and\x20auditable'},{'object':'Payment','field':'info.for_object\x20/\x20from_object','meaning':'every\x20payout\x20carries\x20the\x20source\x20object\x20address\x20—\x20money\x20always\x20answers\x20\x27which\x20business\x20object\x20paid\x20me\x27'}],'move_anchor':'service.move\x20L291-303\x20(order_allocation:\x20E_ORDER_SERVICE_NOT_MATCH\x20→\x20allocation::new_with_coin\x20→\x20payment_info(order)),\x20allocation.move\x20L202+\x20(alloc)','scenario':{'from':'Order\x20scenario\x20(agreement\x20+\x20funds)','to':'Payment\x20scenario\x20(value\x20transfer)','merged':'Settlement\x20(escrowed\x20funds\x20split\x20by\x20declared\x20policy)'},'capability_gained':'Trustless\x20settlement:\x20the\x20buyer\x20pays\x20into\x20the\x20order\x20amount,\x20and\x20the\x20split\x20executes\x20only\x20under\x20the\x20merchant\x27s\x20'+'pre-registered\x20allocator\x20guards\x20—\x20neither\x20side\x20can\x20redirect\x20the\x20other\x27s\x20share;\x20the\x20Payment\x27s\x20from_object\x20makes\x20'+'every\x20revenue\x20line\x20item\x20auditable\x20back\x20to\x20its\x20order.','value_flow':'Buyer\x20coin\x20→\x20Allocation\x20balance\x20→\x20(guard-gated\x20alloc)\x20→\x20Payment\x20recipients\x20(Entity\x20/\x20Signer\x20/\x20GuardIdentifier).','prerequisites':['Coin\x20≥\x20order.amount\x20(E_COIN_NOT_ENOUGH),\x20excess\x20refunded\x20to\x20the\x20sender\x20in\x20the\x20same\x20tx','The\x20calling\x20Service\x20IS\x20the\x20order\x27s\x20service\x20(E_ORDER_SERVICE_NOT_MATCH)','Rate\x20shares\x20must\x20complete\x2010000\x20basis\x20points\x20unless\x20a\x20Surplus\x20entry\x20exists\x20(allocation.move\x20L173-177)'],'examples':['Multi-vendor\x20order:\x20one\x20payment\x20split\x20across\x20goods\x20supplier,\x20logistics\x20operator,\x20and\x20platform\x20surplus.','Payroll-style\x20settlement:\x20order\x20revenue\x20split\x20to\x20staff\x20entities\x20by\x20Rate\x20with\x20the\x20owner\x20taking\x20Surplus.']},{'id':'bridge.fulfillment','name':'Fulfillment\x20(Order\x20×\x20Machine\x20→\x20Progress)','participants':[{'object':'Service','role':'workflow\x20owner\x20(machine\x20field)'},{'object':'Order','role':'the\x20work\x20item\x20to\x20execute'},{'object':'Machine','role':'workflow\x20template\x20(nodes\x20+\x20forwards)'},{'object':'Progress','role':'per-order\x20workflow\x20instance'},{'object':'Permission','role':'who\x20may\x20advance\x20which\x20edge'}],'bridge_fields':[{'object':'Service','field':'machine:\x20Option<address>','meaning':'the\x20workflow\x20template\x20the\x20service\x20promises\x20to\x20execute\x20—\x20locked\x20at\x20publish\x20(bPublished)'},{'object':'Progress','field':'order\x20namespace\x20+\x20order_owner_set([buyer])','meaning':'the\x20buyer\x20becomes\x20the\x20Progress\x27s\x20order-owner\x20namespace:\x20operators\x20advance\x20THEIR\x20copy,\x20the\x20buyer\x27s\x20own\x20Progress\x20view\x20aggregates'},{'object':'Machine','field':'Forward\x20{\x20namedOperator\x20|\x20permissionIndex\x20|\x20guard\x20}','meaning':'each\x20edge\x20declares\x20its\x20operator\x20—\x20internal\x20staff,\x20permission\x20entity,\x20or\x20guard-proven\x20external\x20party'}],'move_anchor':'service.move\x20L305-313\x20(order_progress:\x20E_MACHINE_NOT_MATCH\x20→\x20progress::new_imp\x20→\x20order::on_progress),\x20progress.move\x20L462+','scenario':{'from':'Order\x20scenario\x20(agreement)','to':'Machine\x20scenario\x20(process\x20template)','merged':'Execution\x20(per-order\x20workflow\x20with\x20multi-party\x20advancement)'},'capability_gained':'Coordinated\x20execution:\x20the\x20SAME\x20template\x20runs\x20independently\x20per\x20order,\x20with\x20each\x20edge\x20potentially\x20operated\x20by\x20a\x20'+'different\x20party\x20(employee\x20/\x20supplier\x20/\x20buyer)\x20under\x20permission\x20or\x20guard\x20checks\x20—\x20process\x20outsourcing\x20with\x20on-chain\x20accountability.','prerequisites':['The\x20supplied\x20machine\x20IS\x20the\x20service\x27s\x20machine\x20(E_MACHINE_NOT_MATCH)','Each\x20forward\x27s\x20weight\x20counts\x20at\x20most\x20once\x20per\x20session\x20(E_NOT_THE_HOLDER\x20on\x20re-execution)','Edge\x20guard\x20(when\x20present)\x20requires\x20submitted\x20evidence\x20—\x20retained\x20submissions\x20persist\x20into\x20the\x20session\x20history'],'examples':['Custom\x20manufacturing:\x20paid\x20→\x20machining\x20→\x20QC\x20→\x20shipped,\x20where\x20QC\x20is\x20advanced\x20by\x20an\x20independent\x20inspector\x20(namedOperator).','Multi-supplier\x20sub-orders:\x20the\x20machine\x27s\x20nodes\x20hand\x20off\x20between\x20the\x20merchant\x20and\x20subcontracted\x20suppliers.']},{'id':'bridge.dispute','name':'Dispute\x20&\x20Compensation\x20(Service\x20×\x20Arbitration\x20×\x20Order\x20→\x20Arb)','participants':[{'object':'Service','role':'pre-registered\x20arbitrations\x20+\x20compensation\x20fund'},{'object':'Arbitration','role':'voting\x20rules\x20+\x20usage\x20gate'},{'object':'Order','role':'the\x20disputed\x20agreement\x20(single\x20claim)'},{'object':'Arb','role':'the\x20case\x20(7-state\x20lifecycle)'}],'bridge_fields':[{'object':'Service','field':'arbitrations:\x20vector<address>\x20+\x20compensation_fund:\x20Balance<T>','meaning':'the\x20merchant\x20pre-commits\x20BOTH\x20who\x20judges\x20(independent\x20permission)\x20AND\x20the\x20money\x20that\x20backs\x20the\x20verdict'},{'object':'Service','field':'arbitration_add_imp\x20fairness\x20check','meaning':'E_ARBITRATION_PERMISSION_CONFLICT:\x20an\x20Arbitration\x20sharing\x20the\x20Service\x27s\x20own\x20Permission\x20is\x20REJECTED\x20—\x20fairness\x20is\x20enforced\x20as\x20a\x20RELATIONAL\x20constraint,\x20not\x20a\x20promise'},{'object':'Order','field':'dispute:\x20vector<address>\x20+\x20claimed_by:\x20Option<address>','meaning':'disputes\x20append\x20to\x20the\x20order;\x20compensation\x20claims\x20it\x20exactly\x20once\x20(E_ORDER_ALREADY_CLAIMED)\x20—\x20the\x20payout\x20is\x20single-shot\x20by\x20construction'}],'move_anchor':'arbitration.move\x20L264-276\x20(dispute\x20/\x20dispute_with_passport),\x20service.move\x20L336+\x20(compensation_claim),\x20arb.move\x20(7-state\x20lifecycle)','scenario':{'from':'Fulfillment\x20scenario\x20(execution\x20with\x20possible\x20disagreement)','to':'Arbitration\x20scenario\x20(independent\x20judgment)','merged':'Remedy\x20(wrong\x20execution\x20→\x20compensated\x20loss)'},'capability_gained':'Credible\x20remedy:\x20the\x20loser\x20of\x20a\x20bad\x20transaction\x20is\x20made\x20whole\x20from\x20a\x20fund\x20the\x20merchant\x20could\x20not\x20pre-empty,\x20'+'judged\x20by\x20parties\x20the\x20merchant\x20cannot\x20appoint\x20unilaterally\x20—\x20trustlessness\x20expressed\x20as\x20a\x20field-level\x20topology\x20constraint.','value_flow':'compensation_fund\x20(Service)\x20→\x20indemnity\x20(Arb)\x20→\x20compensation\x20claim\x20to\x20the\x20winning\x20party\x20(single\x20claim\x20per\x20order).','prerequisites':['Disputant\x20passes\x20the\x20Arbitration\x27s\x20usage_guard\x20when\x20set\x20(E_NEED_PASSPORT)','Voters\x20pass\x20voting\x20guards;\x20vote\x20weight\x20from\x20FixedValue\x20or\x20GuardIdentifier\x20submission','Voting\x20deadline\x20elapsed\x20before\x20finish;\x20objection\x20windows\x20respected\x20(arb.move\x20state\x20machine)'],'examples':['Delivery\x20dispute:\x20buyer\x20proves\x20non-delivery\x20via\x20WTS\x20evidence;\x20independent\x20arbitrators\x20vote;\x20compensation\x20pays\x20from\x20the\x20fund.','SLA\x20breach:\x20machine\x20timestamps\x20prove\x20late\x20delivery;\x20weighted\x20voters\x20set\x20the\x20indemnity.']},{'id':'bridge.data_service','name':'Data\x20Service\x20(Service\x20×\x20Repository)','participants':[{'object':'Service','role':'the\x20offering\x20that\x20includes\x20data\x20deliverables'},{'object':'Repository','role':'on-chain\x20database\x20(policies,\x20rows)'},{'object':'Guard','role':'write/quote\x20qualification\x20per\x20policy'}],'bridge_fields':[{'object':'Service','field':'repositories:\x20vector<address>\x20(max\x20100)','meaning':'databases\x20the\x20service\x20commits\x20to\x20maintain\x20—\x20the\x20deliverable\x20IS\x20the\x20data'},{'object':'Repository','field':'PolicyGuard\x20{\x20id_from_submission,\x20data_from_submission\x20}','meaning':'writes\x20are\x20guard-qualified:\x20WHO\x20(row\x20key)\x20may\x20write\x20WHAT\x20(the\x20submitted\x20data\x20itself)'}],'move_anchor':'service.move\x20L182\x20(repositories\x20field),\x20repository.move\x20L83-103\x20(policy_guard)\x20/\x20L346+\x20(guarded\x20writes)','scenario':{'from':'Service\x20scenario\x20(offering)','to':'Repository\x20scenario\x20(on-chain\x20database)','merged':'Data\x20products\x20(paid,\x20qualified,\x20auditable\x20data\x20maintenance)'},'capability_gained':'Verifiable\x20data\x20work:\x20a\x20subscription\x20where\x20the\x20provider\x27s\x20every\x20write\x20is\x20qualified\x20by\x20guards\x20and\x20attributable\x20to\x20'+'the\x20paid\x20service\x20—\x20data\x20quality\x20becomes\x20an\x20enforceable\x20contract\x20term,\x20not\x20a\x20promise.','prerequisites':['Writer\x20passes\x20the\x20policy\x27s\x20write\x20guards','Row\x20key\x20resolves\x20via\x20id_from_submission\x20(or\x20PolicyRule.id_from\x20static\x20override)'],'examples':['Market-data\x20feed\x20service:\x20subscribers\x20pay;\x20the\x20provider\x20writes\x20rows\x20under\x20a\x20write\x20guard\x20proving\x20oracle\x20provenance.','Review\x20platform:\x20reviewers\x20pass\x20reputation\x20guards;\x20their\x20submissions\x20become\x20the\x20product\x20others\x20pay\x20to\x20read\x20(quote_guard).']},{'id':'bridge.qualification','name':'Qualification\x20(Guard\x20×\x20every\x20gated\x20scenario)','participants':[{'object':'Guard','role':'the\x20proof\x20machine'},{'object':'Passport','role':'per-tx\x20proof\x20carrier'},{'object':'gated\x20objects','role':'Service(buy)\x20/\x20Demand(present)\x20/\x20Arbitration(vote,\x20dispute)\x20/\x20Machine(forward)\x20/\x20Repository(write)\x20/\x20Treasury(external\x20flows)'}],'bridge_fields':[{'object':'gated\x20object','field':'*_guard\x20/\x20guards\x20fields\x20(buy_guard,\x20usage_guard,\x20voting_guard,\x20forward\x20guard,\x20policy\x20write\x20guards,\x20external\x20guards)','meaning':'the\x20object\x20declares\x20WHICH\x20guard\x20governs\x20its\x20gate\x20—\x20preset\x20slots\x20(guard-bindings.ts)\x20define\x20what\x20the\x20guard\x27s\x20submissions\x20MEAN\x20for\x20that\x20object'}],'move_anchor':'passport.move\x20(result_for_guard\x20/\x20submission_get),\x20guard.rs\x20(native\x20DSL:\x20Signer/Clock/Query\x20×\x20logic\x20tree)','scenario':{'from':'Proof\x20scenario\x20(evidence\x20+\x20verification)','to':'any\x20gated\x20business\x20scenario','merged':'Programmable\x20trust\x20(rules-as-code\x20participation)'},'capability_gained':'Unforgeable\x20participation\x20rules:\x20KYC,\x20stake,\x20membership,\x20time\x20windows,\x20oracle\x20facts\x20—\x20expressed\x20once\x20in\x20a\x20Guard\x20and\x20'+'reused\x20across\x20every\x20gate\x20that\x20binds\x20it;\x20the\x20same\x20guard\x20can\x20gate\x20buying,\x20presenting,\x20voting,\x20and\x20writing\x20consistently.','prerequisites':['Guard\x20DSL\x20type\x20compatibility\x20(e.g.\x20RewardIdentifier\x20needs\x20address-typed\x20submissions)','Passport\x20carries\x20the\x20guard\x27s\x20required\x20submissions\x20in\x20the\x20same\x20tx'],'examples':['One\x20KYC\x20guard\x20reused\x20by\x20five\x20services\x27\x20buy_gates\x20—\x20one\x20proof,\x20five\x20doors.','Stake-weighted\x20voting\x20guard:\x20the\x20same\x20guard\x20governs\x20both\x20arbitration\x20ballots\x20and\x20treasury\x20withdrawals.']},{'id':'bridge.communication','name':'Communication\x20(um:\x20Contact\x20×\x20every\x20business\x20object)','participants':[{'object':'Contact','role':'bound\x20IM\x20channel\x20(ims\x20members)'},{'object':'business\x20objects','role':'Service\x20/\x20Order\x20context\x20/\x20Demand\x20/\x20Arbitration\x20/\x20Treasury\x20/\x20Reward\x20/\x20Repository\x20/\x20Machine'}],'bridge_fields':[{'object':'business\x20object','field':'um:\x20Option<address>','meaning':'each\x20object\x20can\x20bind\x20ONE\x20Contact\x20—\x20its\x20dedicated\x20negotiation/coordination\x20channel;\x20affiliation\x20registered\x20in\x20object_linker'},{'object':'Contact','field':'ims:\x20vector<Im{at,\x20status,\x20description}>','meaning':'channel\x20membership\x20with\x20per-member\x20status\x20—\x20the\x20roster\x20of\x20who\x20talks\x20about\x20THIS\x20object\x27s\x20business'}],'move_anchor':'contact.move\x20(ims\x20/\x20im_add\x20/\x20im_remove),\x20per-object\x20um_set_imp\x20/\x20um_none_imp\x20(e.g.\x20reward.move\x20L237,\x20treasury.move\x20L85)','scenario':{'from':'Business\x20scenario\x20(any\x20object\x20lifecycle)','to':'Encrypted\x20IM\x20scenario\x20(WTS\x20evidence,\x20negotiation)','merged':'Contextual\x20communication\x20(talk\x20WITH\x20evidence\x20about\x20the\x20exact\x20business)'},'capability_gained':'Every\x20business\x20object\x20can\x20grow\x20its\x20own\x20communication\x20channel:\x20pre-order\x20negotiation,\x20in-flight\x20coordination,\x20and\x20'+'dispute\x20evidence\x20collection\x20happen\x20IN\x20the\x20context\x20of\x20the\x20exact\x20object\x20they\x20concern\x20—\x20messages\x20become\x20evidence\x20'+'(WTS)\x20tied\x20to\x20the\x20on-chain\x20thing.','prerequisites':['um\x20binding\x20is\x20single\x20(one\x20Contact\x20per\x20object;\x20um_set\x20replaces\x20with\x20affiliation_change)','IM\x20membership\x20managed\x20by\x20the\x20Contact\x20owner'],'examples':['Order-level\x20channel:\x20buyer,\x20merchant,\x20and\x20the\x20assigned\x20operator\x20coordinate\x20delivery\x20in\x20the\x20order\x27s\x20um.','Arbitration\x20evidence\x20room:\x20disputants\x20and\x20arbitrators\x20exchange\x20WTS-signed\x20evidence\x20in\x20the\x20arbitration\x27s\x20um.']},{'id':'bridge.governance','name':'Governance\x20(permission\x20×\x20every\x20object)','participants':[{'object':'Permission','role':'owner/admins/entities\x20+\x20per-index\x20operation\x20rights'},{'object':'business\x20objects','role':'every\x20w::\x20object\x20(permission\x20field)'},{'object':'EntityPermission','role':'reverse\x20index:\x20entity\x20→\x20memberships'}],'bridge_fields':[{'object':'business\x20object','field':'permission:\x20address','meaning':'ALL\x20admin\x20operations\x20on\x20the\x20object\x20route\x20through\x20this\x20one\x20table\x20—\x20a\x20single\x20governance\x20backbone\x20across\x20the\x20whole\x20topology'},{'object':'Permission','field':'tables:\x20entity\x20→\x20perm\x20indices\x20(0..USER_DEFINED)','meaning':'fine-grained\x20operation\x20rights\x20per\x20entity;\x20object\x20functions\x20assert\x20their\x20own\x20index\x20(e.g.\x20reward\x20new=150)'}],'move_anchor':'permission.move\x20L465\x20(assert_permission_with_sender\x20per\x20index),\x20entity_permission.move\x20(0xaa8\x20reverse\x20index)','scenario':{'from':'Operation\x20scenario\x20(any\x20mutating\x20call)','to':'Permission\x20scenario\x20(roles\x20+\x20indices)','merged':'Delegated\x20administration\x20(staff\x20act\x20within\x20bounded\x20rights)'},'capability_gained':'Organizational\x20scale:\x20one\x20merchant\x20operates\x20hundreds\x20of\x20objects\x20through\x20shared\x20Permissions;\x20staff\x20gain\x20scoped\x20rights\x20'+'(per-operation\x20indices)\x20—\x20the\x20topology\x20stays\x20governable\x20as\x20it\x20grows,\x20and\x20EntityPermission\x20makes\x20any\x20address\x27s\x20'+'role\x20discoverable\x20(the\x20account-side\x20entry\x20into\x20the\x20topology).','prerequisites':['Caller\x20passes\x20assert_permission_with_sender\x20at\x20the\x20operation\x27s\x20index','Zero-index\x20entities\x20have\x20membership\x20but\x20no\x20operation\x20rights\x20(fact\x20preserved\x20by\x20design)'],'examples':['Customer\x20service\x20staff\x20hold\x20index\x20225\x20(progress\x20owner_receive)\x20without\x20any\x20treasury\x20rights.','A\x20merchant\x27s\x20entire\x20object\x20fleet\x20re-governed\x20by\x20swapping\x20one\x20Permission\x20(permission_set\x20+\x20affiliation_change).']},{'id':'bridge.incentive','name':'Incentive\x20(Reward\x20×\x20Guard\x20×\x20employing\x20object)','participants':[{'object':'Reward','role':'guarded\x20fund\x20pool'},{'object':'Guard','role':'claim\x20qualification\x20+\x20dynamic\x20recipient/amount'},{'object':'Service','role':'rewards:\x20vector<address>\x20—\x20marketing\x20attach\x20point'},{'object':'employee\x20entities','role':'claimants\x20(KPI-qualified)'}],'bridge_fields':[{'object':'Service','field':'rewards:\x20vector<address>\x20(max\x2020)','meaning':'marketing/incentive\x20pools\x20attached\x20to\x20the\x20offering'},{'object':'Reward','field':'RewardGuard\x20{\x20guard,\x20recipient,\x20amount,\x20expiration_time,\x20store_from_id\x20}','meaning':'claim\x20rules\x20—\x20preset\x20slots\x20read\x20payee/amount/deadline\x20from\x20guard\x20submissions\x20(see\x20guard-bindings.ts)'}],'move_anchor':'service.move\x20L193\x20(rewards),\x20reward.move\x20guard_add_imp\x20L242\x20/\x20claim\x20L147+','scenario':{'from':'Employment/operation\x20scenario\x20(work\x20done)','to':'Reward\x20scenario\x20(guarded\x20payout)','merged':'Incentive\x20alignment\x20(KPI\x20→\x20acceptance\x20→\x20reward\x20claim)'},'capability_gained':'Performance-contingent\x20compensation:\x20staff\x20claim\x20rewards\x20by\x20proving\x20work\x20(guard\x20evidence:\x20reaction\x20time,\x20node\x20'+'completion,\x20acceptance\x20records)\x20—\x20the\x20employment\x20tension\x20(fixed\x20pay\x20vs\x20outcome)\x20is\x20bridged\x20by\x20making\x20the\x20payout\x20'+'itself\x20evidence-gated.','value_flow':'Deposited\x20coins\x20→\x20balance\x20→\x20guard-gated\x20claim\x20(the\x20ONLY\x20balance\x20exit\x20—\x20R-R-7-01\x20requires\x20an\x20owner\x20escape\x20guard).','prerequisites':['Claim\x20within\x20expiration\x20window\x20(clock\x20≤\x20expiration_time)','Claim\x20amount\x20≤\x20balance;\x20recipient\x20resolved\x20by\x20the\x20guard\x20submission\x20(Entity\x20/\x20Signer\x20/\x20GuardIdentifier)'],'examples':['Staff\x20KPI\x20reward:\x20guard\x20verifies\x20node\x20reaction-time\x20submissions;\x20employee\x20claims\x20a\x20GuardU64Identifier\x20amount.','Referral\x20marketing:\x20purchasers\x20submit\x20receipt\x20proofs;\x20campaign\x20guard\x20pays\x20cashback\x20to\x20the\x20submitted\x20address.']},{'id':'bridge.evidence','name':'Evidence\x20(Proof\x20/\x20retained\x20submissions\x20×\x20Progress\x20&\x20Arb)','participants':[{'object':'Proof','role':'frozen\x20signed\x20fact\x20(WTS,\x20oracle\x20attestation)'},{'object':'Machine\x20Forward','role':'retained_submission\x20requirement'},{'object':'Progress','role':'session\x20history\x20storage'},{'object':'Arb','role':'proposition/vote\x20context'}],'bridge_fields':[{'object':'Machine\x20Forward','field':'retained_submission:\x20vector<u8>','meaning':'the\x20edge\x20cannot\x20be\x20crossed\x20without\x20submitting\x20these\x20slots\x20—\x20and\x20the\x20values\x20persist\x20into\x20the\x20session\x20history'},{'object':'Order','field':'required_info:\x20Option<address>\x20(im\x20or\x20proof)','meaning':'the\x20buyer\x20attaches\x20context\x20(IM\x20thread\x20or\x20proof\x20object)\x20the\x20merchant\x20needs\x20to\x20fulfill'}],'move_anchor':'progress.move\x20L471-474\x20(submissions_get\x20→\x20session\x20history),\x20proof.move\x20(frozen,\x20signer-anchored),\x20order.move\x20L77-80','scenario':{'from':'Execution\x20scenario\x20(workflow\x20edges)','to':'Attestation\x20scenario\x20(signed\x20facts)','merged':'Accountable\x20execution\x20(every\x20step\x20provable\x20after\x20the\x20fact)'},'capability_gained':'An\x20audit-grade\x20trail\x20for\x20INTANGIBLE\x20work:\x20what\x20the\x20operator\x20submitted\x20to\x20cross\x20each\x20edge\x20is\x20on-chain\x20forever\x20—\x20'+'later\x20disputes,\x20KPI\x20assessments,\x20and\x20reputation\x20scores\x20read\x20the\x20same\x20trail,\x20so\x20execution\x20quality\x20becomes\x20evidence.','prerequisites':['retained_submission\x20ids\x20must\x20be\x20submission\x20slots\x20of\x20the\x20forward\x27s\x20guard\x20(E_RETAINED_SUBMISSION_ERROR)','Proof\x20objects\x20are\x20immutable\x20once\x20frozen\x20(create\x20→\x20freeze_object)'],'examples':['QC\x20step\x20requires\x20a\x20signed\x20inspection\x20proof;\x20the\x20proof\x20lands\x20in\x20the\x20session\x20history\x20with\x20the\x20advancing\x20tx.','Buyer\x20attaches\x20a\x20WTS\x20message\x20thread\x20as\x20order\x20required_info;\x20the\x20merchant\x20fulfills\x20against\x20it.']},{'id':'bridge.fund_object','name':'Fund-as-Object\x20(CoinWrapper\x20×\x20owner_receive\x20×\x20any\x20object)','participants':[{'object':'Payment\x20/\x20CoinWrapper<K>','role':'value\x20wrapped\x20as\x20a\x20transferable\x20object\x20(any\x20token\x20K)'},{'object':'receiving\x20objects','role':'Reward\x20/\x20Treasury\x20/\x20Service\x20/\x20Arbitration\x20/\x20Repository\x20/\x20Contact\x20...'},{'object':'Permission\x20owner','role':'the\x20extraction\x20target'}],'bridge_fields':[{'object':'receiving\x20object','field':'receive\x20(join\x20into\x20balance)\x20vs\x20owner_receive\x20(extract\x20received\x20objects\x20to\x20Permission\x20owner)','meaning':'two\x20DIFFERENT\x20doors:\x20receive\x20turns\x20an\x20arrived\x20payment\x20into\x20claimable\x20balance;\x20owner_receive\x20forwards\x20arrived\x20objects\x20(any\x20K,\x20incl.\x20NFT-like)\x20to\x20the\x20owner\x20without\x20touching\x20balance'},{'object':'CoinWrapper','field':'payment:\x20address','meaning':'the\x20wrapper\x20remembers\x20WHICH\x20payment\x20object\x20it\x20came\x20from\x20—\x20provenance\x20survives\x20the\x20transfer'}],'move_anchor':'reward.move\x20L298-316\x20(receive\x20vs\x20owner_receive_imp),\x20treasury.move\x20L346-354,\x20payment.move\x20L40-64\x20(unwrap\x20family)','scenario':{'from':'Transfer\x20scenario\x20(objects\x20move\x20between\x20wallets/objects)','to':'Accounting\x20scenario\x20(balance\x20vs\x20custody)','merged':'Universal\x20value\x20custody\x20(any\x20asset\x20class,\x20any\x20token,\x20one\x20idiom)'},'capability_gained':'Objects\x20can\x20safely\x20RECEIVE\x20value\x20they\x20were\x20not\x20typed\x20for:\x20a\x20Reward<WOW>\x20can\x20custody\x20a\x20USDT\x20CoinWrapper\x20or\x20an\x20NFT\x20'+'via\x20owner_receive\x20—\x20cross-asset\x20custody\x20with\x20a\x20single,\x20uniform\x20extraction\x20rule\x20(to\x20the\x20Permission\x20owner).','value_flow':'CoinWrapper<K>\x20→\x20object\x20custody\x20→\x20owner_receive\x20→\x20Permission\x20owner\x20(NEVER\x20into\x20the\x20object\x27s\x20own\x20balance).','prerequisites':['owner_receive\x20requires\x20the\x20object\x27s\x20Permission\x20+\x20Receiving<K>\x20argument\x20(version+digest)','unwrap_with_check\x20asserts\x20the\x20wrapper\x27s\x20payment\x20provenance\x20(EPAYMENT_NOT_MATCH)'],'examples':['A\x20customer\x20sends\x20an\x20NFT\x20coupon\x20to\x20a\x20Service;\x20the\x20merchant\x20extracts\x20it\x20via\x20service.owner_receive.','A\x20mixed-token\x20gift\x20lands\x20on\x20a\x20Reward;\x20owner_receive\x20forwards\x20it\x20without\x20polluting\x20the\x20WOW\x20claimable\x20balance.']}];export const SCENARIO_CHAINS=[{'id':'chain.standard_ecommerce','name':'Standard\x20E-commerce','steps':[{'bridge':'bridge.qualification','note':'buy_guard\x20gates\x20who\x20may\x20purchase'},{'bridge':'bridge.purchase','note':'quote\x20+\x20discount\x20→\x20order\x20(machine\x20pre-bound)'},{'bridge':'bridge.communication','note':'um\x20channel\x20for\x20delivery\x20coordination'},{'bridge':'bridge.fulfillment','note':'progress\x20runs\x20the\x20machine;\x20evidence\x20retained\x20per\x20edge'},{'bridge':'bridge.escrow_split','note':'allocation\x20splits\x20escrow\x20to\x20suppliers\x20+\x20surplus'},{'bridge':'bridge.incentive','note':'optional:\x20staff\x20KPI\x20rewards\x20for\x20fast\x20fulfillment'}],'application_capability':'A\x20complete\x20store:\x20gated\x20checkout,\x20coordinated\x20delivery,\x20evidence-backed\x20fulfillment,\x20and\x20trustless\x20split\x20payout.','objects_touched':['Guard','Service','Discount','Order','Contact','Machine','Progress','Allocation','Payment','Reward','Permission','Passport']},{'id':'chain.procurement_tender','name':'Procurement\x20Tender','steps':[{'bridge':'bridge.supply_match','note':'demand\x20published;\x20qualified\x20services\x20present'},{'bridge':'bridge.qualification','note':'presentation\x20guards\x20filter\x20suppliers'},{'bridge':'bridge.purchase','note':'winning\x20offer\x20becomes\x20the\x20order'},{'bridge':'bridge.fulfillment','note':'multi-supplier\x20machine\x20handoffs'},{'bridge':'bridge.escrow_split','note':'allocation\x20pays\x20suppliers\x20+\x20surplus\x20to\x20demander?'},{'bridge':'bridge.dispute','note':'if\x20delivery\x20fails:\x20independent\x20arbitration\x20+\x20compensation'}],'application_capability':'A\x20full\x20tender\x20lifecycle:\x20need\x20→\x20competing\x20offers\x20→\x20award\x20→\x20delivery\x20→\x20settlement\x20with\x20credible\x20remedy.','objects_touched':['Demand','Guard','Service','Order','Machine','Progress','Allocation','Arbitration','Arb','Payment','Permission']},{'id':'chain.data_subscription','name':'Data\x20Subscription\x20Service','steps':[{'bridge':'bridge.data_service','note':'service\x20commits\x20to\x20repository\x20maintenance'},{'bridge':'bridge.qualification','note':'subscription\x20gate\x20(buy_guard)'},{'bridge':'bridge.purchase','note':'recurring\x20orders\x20or\x20one-off'},{'bridge':'bridge.escrow_split','note':'subscription\x20revenue\x20to\x20data\x20suppliers'},{'bridge':'bridge.communication','note':'um\x20for\x20data\x20requests\x20/\x20clarifications'},{'bridge':'bridge.dispute','note':'stale-data\x20compensation\x20via\x20arbitration'}],'application_capability':'Data\x20as\x20a\x20product:\x20paid,\x20guard-qualified\x20writes,\x20auditable\x20quality,\x20and\x20compensation\x20for\x20staleness.','objects_touched':['Repository','Guard','Service','Order','Allocation','Payment','Contact','Arbitration','Arb']},{'id':'chain.collaborative_operations','name':'Collaborative\x20Operations\x20(staff\x20+\x20outsourced\x20process)','steps':[{'bridge':'bridge.governance','note':'permission\x20entities\x20=\x20staff\x20with\x20scoped\x20indices'},{'bridge':'bridge.fulfillment','note':'machine\x20edges\x20operated\x20by\x20named\x20operators\x20/\x20permission\x20entities'},{'bridge':'bridge.evidence','note':'each\x20advance\x20retains\x20submissions'},{'bridge':'bridge.incentive','note':'KPI\x20guards\x20→\x20reward\x20claims'},{'bridge':'bridge.communication','note':'per-object\x20um\x20channels'}],'application_capability':'An\x20operating\x20company\x20on-chain:\x20internal\x20staff,\x20external\x20operators,\x20audited\x20execution,\x20aligned\x20pay.','objects_touched':['Permission','Machine','Progress','Guard','Reward','Contact','Proof']}];export const SCENARIO_TOPOLOGY_VERSION='1.0.0';export function getBridgeById(a){return SCENARIO_BRIDGE_REGISTRY['find'](c=>c['id']===a);}export function getBridgesByObject(a){return SCENARIO_BRIDGE_REGISTRY['filter'](c=>c['participants']['some'](d=>d['object']===a)||c['bridge_fields']['some'](d=>d['object']===a));}export function getChainById(a){return SCENARIO_CHAINS['find'](b=>b['id']===a);}export function summarizeBridge(a){const c=a['participants']['map'](d=>d['object'])['join']('\x20×\x20');return'['+a['name']+']\x20'+c+'\x20→\x20'+a['scenario']['merged']+':\x20'+a['capability_gained']['split']('.\x20')[0x0]+'.';}export function detectBridgesForObjects(a){const b=new Set(a['map'](c=>c['toLowerCase']()));return SCENARIO_BRIDGE_REGISTRY['filter'](c=>c['bridge_fields']['some'](d=>b['has'](d['object']['toLowerCase']()))&&c['participants']['filter'](d=>b['has'](d['object']['toLowerCase']()))['length']>=0x2);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{MAX_SALE_COUNT,MAX_REPOSITORY_COUNT,MAX_ARBITRATION_COUNT,MAX_DISCOUNT_COUNT_ONCE,MAX_DISCOUNT_TOTAL_COUNT,MAX_WIP_LENGTH,MAX_WIP_HASH_LENGTH}from'@wowok/wowok';import{isServicePermission,getServicePermissionByIndex}from'./service-ledger.js';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'P-S-01','pattern_name':'Create\x20new\x20Service','semantic_intent':'Create\x20a\x20new\x20Service<T>\x20with\x20owner,\x20permission,\x20description,\x20coin\x20type','match_keywords':['create','new','open'],'schema_fields':['object(null)','description','permission','owner','coin_type'],'example_json':{'object':null,'description':'My\x20retail\x20shop','permission':'0xPERMISSION_ADDRESS'},'reverse_explanation':'object=null\x20indicates\x20creation;\x20permission\x20must\x20be\x20a\x20valid\x20Permission\x20object\x20owned\x20by\x20signer'},{'id':'P-S-02','pattern_name':'Modify\x20description\x20/\x20location\x20/\x20customer_required','semantic_intent':'Update\x20Service\x20metadata\x20fields\x20(mutable\x20pre\x20and\x20post\x20publish)','match_keywords':['describe','locate','customer_required','update','modify'],'schema_fields':['object','description','location','customer_required'],'example_json':{'object':'0xSERVICE_ADDRESS','description':'Updated\x20description','location':'Shanghai','customer_required':['name','phone']},'reverse_explanation':'These\x20fields\x20are\x20always\x20mutable.\x20customer_required\x20is\x20a\x20string[]\x20of\x20field\x20names\x20buyers\x20must\x20provide\x20at\x20order\x20time.'},{'id':'P-S-03','pattern_name':'Manage\x20sales\x20items\x20(add/set/remove/clear)','semantic_intent':'Add\x20product\x20SKUs,\x20update\x20prices/stock,\x20remove\x20deprecated\x20items,\x20or\x20clear\x20all','match_keywords':['sales','product','sku','inventory','price'],'schema_fields':['object','sales'],'example_json':{'object':'0xSERVICE_ADDRESS','sales':{'op':'add','sales':[{'name':'standard','price':'1000000000','stock':0x64,'wip':'https://ipfs/wip','wip_hash':'abcd...64'}]}},'reverse_explanation':'sales.op=add\x20appends;\x20set\x20replaces\x20matching\x20name;\x20remove\x20deletes\x20by\x20name;\x20clear\x20empties\x20all.\x20wip_hash\x20is\x20REQUIRED\x20for\x20tamper\x20protection.'},{'id':'P-S-04','pattern_name':'Bind/unbind\x20Machine\x20workflow','semantic_intent':'Bind\x20a\x20Machine\x20workflow\x20template\x20to\x20Service\x20(post-publish\x20immutable)','match_keywords':['machine','workflow','bind\x20machine'],'schema_fields':['object','machine'],'example_json':{'object':'0xSERVICE_ADDRESS','machine':'0xMACHINE_ADDRESS'},'reverse_explanation':'machine=<address>\x20binds;\x20machine=null\x20unbinds\x20(pre-publish\x20only).\x20Once\x20published,\x20machine\x20is\x20immutable\x20(F-S-20).\x20Progress\x20inherits\x20this\x20binding.'},{'id':'P-S-05','pattern_name':'Set/clear\x20buy\x20Guard','semantic_intent':'Set\x20buyer\x20eligibility\x20Guard\x20(KYC/whitelist)\x20or\x20clear\x20it','match_keywords':['buy_guard','kyc','whitelist'],'schema_fields':['object','buy_guard'],'example_json':{'object':'0xSERVICE_ADDRESS','buy_guard':'0xGUARD_ADDRESS'},'reverse_explanation':'buy_guard\x20is\x20the\x20ONLY\x20field\x20still\x20mutable\x20post-publish\x20(F-S-26\x20exception).\x20Pre-sale:\x20set\x20to\x20whitelist;\x20public\x20sale:\x20set\x20to\x20null.'},{'id':'P-S-06','pattern_name':'Manage\x20arbitrations\x20(add/remove/clear)','semantic_intent':'Bind\x20Arbitration\x20objects\x20for\x20dispute\x20handling\x20(post-publish\x20immutable)','match_keywords':['arbitration','arbitrator','dispute'],'schema_fields':['object','arbitrations'],'example_json':{'object':'0xSERVICE_ADDRESS','arbitrations':{'op':'add','objects':['0xARB_ADDRESS']}},'reverse_explanation':'Required\x20when\x20compensation_fund\x20>\x200\x20(F-S-19).\x20Post-publish\x20immutable\x20(F-S-21).\x20Use\x201-3\x20Arbitration\x20objects\x20covering\x20different\x20scopes.'},{'id':'P-S-07','pattern_name':'Manage\x20repositories\x20(add/remove/clear)','semantic_intent':'Bind\x20Repository\x20objects\x20(data\x20stores)\x20—\x20mutable\x20post-publish','match_keywords':['repository','data\x20store','storage','data\x20source'],'schema_fields':['object','repositories'],'example_json':{'object':'0xSERVICE_ADDRESS','repositories':{'op':'add','objects':['0xREPO_ADDRESS']}},'reverse_explanation':'Mutable\x20post-publish.\x20SDK\x20validates\x20ObjectType.Repository\x20via\x20queryObjectsWithType.\x20Max\x20100\x20(MAX_REPOSITORY_COUNT).'},{'id':'P-S-08','pattern_name':'Manage\x20rewards\x20(add\x20/\x20remove\x20/\x20clear)','semantic_intent':'Bind\x20or\x20unbind\x20Reward\x20objects\x20for\x20marketing\x20incentives','match_keywords':['reward','incentive','marketing'],'schema_fields':['object','rewards'],'example_json':{'object':'0xSERVICE_ADDRESS','rewards':{'op':'add','objects':['0xREWARD_ADDRESS']}},'reverse_explanation':'add\x20is\x20always\x20allowed\x20(max\x2020,\x20MAX_REWARD_COUNT).\x20remove/clear\x20are\x20time-locked\x20after\x20publish:\x20require\x20Service\x20paused\x20AND\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20clock\x20(service.move\x20assert_not_published).'},{'id':'P-S-09','pattern_name':'Set\x20order_allocators','semantic_intent':'Configure\x20fund\x20distribution\x20strategy\x20(publish\x20prerequisite,\x20post-publish\x20immutable)','match_keywords':['allocator','order_allocators'],'schema_fields':['object','order_allocators'],'example_json':{'object':'0xSERVICE_ADDRESS','order_allocators':[{'threshold':'0','sharing':[{'who':{'Object':'0xOWNER'},'weight':0x50},{'who':{'Object':'0xPLATFORM'},'weight':0x14}]}]},'reverse_explanation':'MANDATORY\x20before\x20publish\x20(F-S-18,\x20E_NO_ALLOCATOR).\x20First-match-wins:\x20first\x20allocator\x20whose\x20threshold\x20<=\x20order\x20value\x20handles\x20distribution.\x20Post-publish\x20immutable\x20(F-S-22).'},{'id':'P-S-10','pattern_name':'Pause/resume\x20Service','semantic_intent':'Block\x20new\x20orders\x20(pause)\x20or\x20resume\x20accepting\x20orders','match_keywords':['pause','resume'],'schema_fields':['object','pause'],'example_json':{'object':'0xSERVICE_ADDRESS','pause':!![]},'reverse_explanation':'pause=true\x20blocks\x20new\x20orders\x20(E_SERVICE_PAUSED);\x20pause=false\x20resumes.\x20Existing\x20Progress\x20continues\x20normally.\x20compensation_fund_withdraw\x20requires\x20paused=true.'},{'id':'P-S-11','pattern_name':'Publish\x20Service\x20(IRREVERSIBLE)','semantic_intent':'Publish\x20Service\x20—\x20makes\x20it\x20buyable.\x20One-shot,\x20cannot\x20revert.','match_keywords':['publish','go\x20live','release'],'schema_fields':['object','publish'],'example_json':{'object':'0xSERVICE_ADDRESS','publish':!![]},'reverse_explanation':'⚠️\x20IRREVERSIBLE.\x20Requires\x20SERVICE_PUBLISH\x20(311)\x20permission.\x20Prerequisites:\x20order_allocators\x20set;\x20if\x20compensation_fund\x20>\x200,\x20arbitrations\x20non-empty.\x20Locks\x20machine/arbitrations/order_allocators\x20forever.'},{'id':'P-S-12','pattern_name':'Issue/destroy\x20discount\x20coupons','semantic_intent':'Issue\x20promotional\x20discount\x20coupons\x20or\x20destroy\x20(redeem)\x20them','match_keywords':['discount','coupon'],'schema_fields':['object','discount'],'example_json':{'object':'0xSERVICE_ADDRESS','discount':{'name':'SUMMER10','discount_type':0x0,'data':0x3e8,'count':0x64,'receivers':['0xUSER1','0xUSER2'],'expire_at':0x1941f297c00}},'reverse_explanation':'discount_type=0\x20rates\x20(basis\x20points,\x20per\x2010000),\x201=minus\x20(direct\x20deduction).\x20Max\x201000\x20per\x20call\x20(MAX_DISCOUNT_COUNT_ONCE),\x2020000\x20total\x20(MAX_DISCOUNT_TOTAL_COUNT).\x20discount_destroy\x20is\x20holder-only.'},{'id':'P-S-13','pattern_name':'Compensation\x20fund\x20operations\x20(add\x20/\x20withdraw\x20/\x20receive)','semantic_intent':'Deposit\x20to\x20compensation_fund,\x20withdraw\x20(time-locked),\x20or\x20receive\x20arbitration\x20payouts','match_keywords':['compensation_fund','compensation','deposit','withdraw'],'schema_fields':['object','compensation_fund_add','compensation_fund_withdraw','compensation_fund_receive'],'example_json':{'object':'0xSERVICE_ADDRESS','compensation_fund_add':{'balance':'1000000000'}},'reverse_explanation':'add\x20and\x20receive\x20are\x20always\x20mutable\x20(permission\x20315/316).\x20withdraw\x20is\x20time-locked\x20after\x20publish:\x20requires\x20Service\x20paused\x20AND\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20clock\x20(service.move\x20compensation_fund_withdraw_imp).\x20Internal\x20Balance<T>,\x20distinct\x20from\x20Treasury.'},{'id':'P-S-14','pattern_name':'Extend\x20setting_lock_duration','semantic_intent':'Add\x20milliseconds\x20to\x20setting_lock_duration\x20(only-increase\x20mechanism)','match_keywords':['setting_lock_duration','lock_duration','lock\x20period','extend\x20lock'],'schema_fields':['object','setting_lock_duration_add'],'example_json':{'object':'0xSERVICE_ADDRESS','setting_lock_duration_add':0x9a7ec800},'reverse_explanation':'Only-increase\x20(safe_add).\x20Default\x202592000000ms\x20(30\x20days).\x20Affects\x20rewards/compensation_fund_withdraw/compensation_fund_receive\x20mutability\x20windows.'},{'id':'P-S-15','pattern_name':'Buy\x20(8-stage\x20composite\x20order\x20flow)','semantic_intent':'Customer\x20places\x20order\x20—\x20atomic\x20creation\x20of\x20Order\x20+\x20Allocation\x20+\x20Progress','match_keywords':['buy','order','purchase'],'schema_fields':['object','order_new'],'example_json':{'object':'0xSERVICE_ADDRESS','order_new':{'buy':{'items':[{'name':'standard','wip_hash':'abcd...64','count':0x1}],'discount':'0xDISCOUNT_ADDRESS','total_pay':'1000000000','passport':null},'order_required_info':{'name':'Alice','phone':'+86...'},'agents':['0xAGENT1'],'transfer':null}},'reverse_explanation':'8\x20stages:\x20pre_check\x20→\x20wip_verify\x20→\x20quote\x20(deducts\x20stock!)\x20→\x20create_order\x20→\x20create_allocation\x20→\x20create_progress\x20→\x20post_actions\x20→\x20return_result.\x20Stock\x20deduction\x20is\x20NOT\x20rolled\x20back\x20on\x20later\x20failure.'},{'id':'P-S-16','pattern_name':'Transfer\x20ownership\x20(IRREVERSIBLE)','semantic_intent':'Transfer\x20Service\x20ownership\x20to\x20a\x20new\x20address','match_keywords':['transfer','handover'],'schema_fields':['object','builder'],'example_json':{'object':'0xSERVICE_ADDRESS','builder':'0xNEW_OWNER'},'reverse_explanation':'⚠️\x20IRREVERSIBLE.\x20Original\x20owner\x20loses\x20ALL\x20control.\x20New\x20owner\x20inherits\x20permission,\x20compensation_fund,\x20all\x20bindings.\x20Export\x20JSON\x20before\x20transfer.'}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'field','type_name':'object','semantic_explanation':'Service\x20object\x20address.\x20STRING=operate\x20existing;\x20null/omitted=create\x20new'},{'element_type':'field','type_name':'description','semantic_explanation':'Human-readable\x20Service\x20description.\x20Mutable\x20pre/post\x20publish.\x20Max\x204000\x20chars.'},{'element_type':'field','type_name':'location','semantic_explanation':'Geographic\x20location\x20of\x20the\x20service\x20(city/region).\x20Mutable.\x20Index\x20303\x20(SERVICE_LOCATION).'},{'element_type':'field','type_name':'customer_required','semantic_explanation':'String[]\x20of\x20field\x20names\x20buyers\x20must\x20provide\x20at\x20order\x20time\x20(e.g.\x20[\x27name\x27,\x27phone\x27]).\x20Mutable.\x20Index\x20309.'},{'element_type':'field','type_name':'sales','semantic_explanation':'Product\x20SKU\x20list.\x20op=add/set/remove/clear.\x20Each\x20sale\x20has\x20name/price/stock/wip/wip_hash.\x20Index\x20305\x20(SERVICE_SALES).'},{'element_type':'field','type_name':'machine','semantic_explanation':'Machine\x20workflow\x20template\x20binding.\x20⚠️\x20IMMUTABLE\x20post-publish\x20(F-S-20).\x20Index\x20306\x20(SERVICE_MACHINE).'},{'element_type':'field','type_name':'buy_guard','semantic_explanation':'Buyer\x20eligibility\x20Guard.\x20⚠️\x20UNUSUAL:\x20still\x20mutable\x20post-publish\x20(F-S-26\x20exception).\x20Index\x20307\x20(SERVICE_BUY_GUARD).'},{'element_type':'field','type_name':'arbitrations','semantic_explanation':'Arbitration\x20object\x20list.\x20Required\x20if\x20compensation_fund\x20>\x200.\x20⚠️\x20IMMUTABLE\x20post-publish\x20(F-S-21).\x20Index\x20308.'},{'element_type':'field','type_name':'repositories','semantic_explanation':'Repository\x20object\x20list.\x20Mutable.\x20Max\x20100\x20(MAX_REPOSITORY_COUNT).\x20Index\x20304\x20(SERVICE_REPOSITORY).'},{'element_type':'field','type_name':'rewards','semantic_explanation':'Reward\x20object\x20list.\x20Mutable\x20but\x20locked\x20by\x20setting_lock_duration\x20(F-S-24).\x20Max\x2020\x20(MAX_REWARD_COUNT).\x20Index\x20318.'},{'element_type':'field','type_name':'order_allocators','semantic_explanation':'Fund\x20distribution\x20strategy.\x20⚠️\x20MANDATORY\x20for\x20publish\x20(F-S-18).\x20IMMUTABLE\x20post-publish\x20(F-S-22).\x20Index\x20313.'},{'element_type':'field','type_name':'discount','semantic_explanation':'Discount\x20coupon\x20issuance.\x20discount_type=0\x20rates,\x201=minus.\x20Index\x20312\x20(SERVICE_DISCOUNT).'},{'element_type':'field','type_name':'pause','semantic_explanation':'true=pause\x20(block\x20new\x20orders);\x20false=resume.\x20Existing\x20Progress\x20unaffected.\x20Index\x20310\x20(SERVICE_PAUSE).'},{'element_type':'field','type_name':'publish','semantic_explanation':'⚠️\x20IRREVERSIBLE\x20one-shot.\x20Requires\x20prerequisites.\x20Locks\x203\x20fields\x20forever.\x20Index\x20311\x20(SERVICE_PUBLISH).'},{'element_type':'field','type_name':'compensation_fund_add','semantic_explanation':'Deposit\x20to\x20internal\x20Balance<T>.\x20Always\x20mutable.\x20Index\x20315.\x20Distinct\x20from\x20Treasury.'},{'element_type':'field','type_name':'compensation_fund_withdraw','semantic_explanation':'Withdraw\x20from\x20internal\x20Balance<T>.\x20Requires\x20bPaused=true\x20+\x20lock_duration\x20expired.\x20Index\x20314.\x20Locked\x20by\x20duration\x20(F-S-25).'},{'element_type':'field','type_name':'compensation_fund_receive','semantic_explanation':'Receive\x20compensation_fund\x20(for\x20arbitration\x20payouts).\x20Locked\x20by\x20setting_lock_duration.\x20Index\x20316.'},{'element_type':'field','type_name':'setting_lock_duration_add','semantic_explanation':'Extend\x20setting_lock_duration\x20(only-increase,\x20safe_add).\x20Index\x20317\x20(SERVICE_COMPENSATION_LOCK_DURATION_ADD).'},{'element_type':'field','type_name':'order_new','semantic_explanation':'Composite\x20buy\x20operation.\x20Triggers\x208-stage\x20flow:\x20pre_check\x20→\x20wip_verify\x20→\x20quote\x20→\x20create_order/allocation/progress\x20→\x20post_actions\x20→\x20return_result.'},{'element_type':'field','type_name':'builder','semantic_explanation':'Transfer\x20ownership.\x20⚠️\x20IRREVERSIBLE.\x20Original\x20owner\x20loses\x20ALL\x20control.'},{'element_type':'field','type_name':'um','semantic_explanation':'User\x20Manager\x20(Contact\x20object).\x20Mutable.\x20Index\x20320\x20(SERVICE_UM).'},{'element_type':'field','type_name':'owner_receive','semantic_explanation':'Receive\x20Payment/objects\x20to\x20owner.\x20Index\x20319\x20(SERVICE_OWNER_RECEIVE).'},{'element_type':'op','type_name':'add','semantic_explanation':'Append\x20new\x20items\x20(sales/arbitrations/repositories/rewards).\x20Additive,\x20does\x20not\x20replace.'},{'element_type':'op','type_name':'set','semantic_explanation':'Replace\x20existing\x20item\x20by\x20name\x20(sales)\x20or\x20replace\x20entire\x20list\x20(repositories/rewards/arbitrations).'},{'element_type':'op','type_name':'remove','semantic_explanation':'Remove\x20specific\x20items\x20by\x20name\x20(sales)\x20or\x20address\x20(repositories/rewards/arbitrations).'},{'element_type':'op','type_name':'clear','semantic_explanation':'Remove\x20all\x20items\x20from\x20the\x20list.'}];export const SERVICE_CONSTRAINT_RULES=[{'id':'MC-S-01','category':'structural','rule':'Service\x20builtin\x20permission\x20indexes\x20must\x20be\x20in\x20range\x20300-320\x20(302\x20reserved/commented)','applies_to':['permission\x20table.index\x20(when\x20applied\x20to\x20Service)']},{'id':'MC-S-02','category':'structural','rule':'sales\x20count\x20<=\x20MAX_SALE_COUNT\x20('+MAX_SALE_COUNT+')','applies_to':['sales.sales']},{'id':'MC-S-03','category':'structural','rule':'repositories\x20count\x20<=\x20MAX_REPOSITORY_COUNT\x20('+MAX_REPOSITORY_COUNT+')','applies_to':['repositories.objects']},{'id':'MC-S-04','category':'structural','rule':'arbitrations\x20count\x20<=\x20MAX_ARBITRATION_COUNT\x20('+MAX_ARBITRATION_COUNT+')','applies_to':['arbitrations.objects']},{'id':'MC-S-05','category':'structural','rule':'rewards\x20count\x20<=\x20MAX_REWARD_COUNT\x20(20)','applies_to':['rewards.objects']},{'id':'MC-S-06','category':'structural','rule':'customer_required\x20count\x20<=\x2010,\x20each\x20item\x20length\x20<=\x2020','applies_to':['customer_required']},{'id':'MC-S-07','category':'structural','rule':'wip\x20URL\x20length\x20<=\x20MAX_WIP_LENGTH\x20('+MAX_WIP_LENGTH+')','applies_to':['sales.sales[].wip']},{'id':'MC-S-08','category':'structural','rule':'wip_hash\x20length\x20<=\x20MAX_WIP_HASH_LENGTH\x20('+MAX_WIP_HASH_LENGTH+')\x20—\x20sha256\x20hex\x20(64\x20chars,\x20no\x20prefix)','applies_to':['sales.sales[].wip_hash','order_new.buy.items[].wip_hash']},{'id':'MC-S-09','category':'semantic','rule':'wip_hash\x20must\x20NOT\x20be\x20empty\x20when\x20wip\x20URL\x20is\x20set\x20(tamper\x20protection)','applies_to':['sales.sales[]']},{'id':'MC-S-10','category':'authority','rule':'publish\x20requires\x20order_allocators\x20set\x20(F-S-18,\x20E_NO_ALLOCATOR)','applies_to':['publish','order_allocators']},{'id':'MC-S-11','category':'authority','rule':'publish\x20with\x20compensation_fund\x20>\x200\x20requires\x20arbitrations\x20non-empty\x20(F-S-19,\x20E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND)','applies_to':['publish','arbitrations','compensation_fund_add']},{'id':'MC-S-12','category':'lifecycle','rule':'machine\x20IMMUTABLE\x20post-publish\x20(F-S-20)\x20—\x20SDK\x20checkNotPublished()\x20blocks','applies_to':['machine']},{'id':'MC-S-13','category':'lifecycle','rule':'arbitrations\x20IMMUTABLE\x20post-publish\x20(F-S-21)\x20—\x20SDK\x20checkNotPublished()\x20blocks','applies_to':['arbitrations']},{'id':'MC-S-14','category':'lifecycle','rule':'order_allocators\x20IMMUTABLE\x20post-publish\x20(F-S-22)\x20—\x20SDK\x20checkNotPublished()\x20blocks','applies_to':['order_allocators']},{'id':'MC-S-15','category':'lifecycle','rule':'bPublished\x20is\x20IRREVERSIBLE\x20(one-shot,\x20cannot\x20revert\x20to\x20false)\x20—\x20to\x20\x27reset\x27,\x20create\x20new\x20Service','applies_to':['publish']},{'id':'MC-S-16','category':'lifecycle','rule':'setting_lock_duration\x20only-increase\x20(safe_add)\x20—\x20cannot\x20be\x20decreased;\x20protects\x20customers','applies_to':['setting_lock_duration_add']},{'id':'MC-S-17','category':'lifecycle','rule':'compensation_fund_withdraw\x20requires\x20bPaused=true\x20AND\x20setting_lock_duration\x20expired\x20(F-S-25,\x20F-S-26)','applies_to':['compensation_fund_withdraw','pause']},{'id':'MC-S-18','category':'semantic','rule':'discount\x20count\x20<=\x20MAX_DISCOUNT_TOTAL_COUNT\x20('+MAX_DISCOUNT_TOTAL_COUNT+');\x20per-call\x20<=\x20MAX_DISCOUNT_COUNT_ONCE\x20('+MAX_DISCOUNT_COUNT_ONCE+')','applies_to':['discount.count']},{'id':'MC-S-19','category':'semantic','rule':'buy_guard\x20is\x20the\x20ONLY\x20field\x20still\x20mutable\x20post-publish\x20(F-S-26\x20exception)\x20—\x20all\x20other\x20guarded\x20fields\x20are\x20immutable','applies_to':['buy_guard']},{'id':'MC-S-20','category':'authority','rule':'Ownership\x20transfer\x20(builder)\x20is\x20IRREVERSIBLE\x20—\x20new\x20owner\x20inherits\x20permission\x20+\x20compensation_fund\x20+\x20all\x20bindings','applies_to':['builder']}];export const SERVICE_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 explainServiceCallData(b){const c=[];b['object']===null||b['object']===undefined?c['push']('Operation:\x20CREATE\x20new\x20Service'):c['push']('Operation:\x20MODIFY\x20existing\x20Service\x20at\x20'+b['object']);if(b['description'])c['push']('-\x20Set\x20description:\x20\x22'+b['description']+'\x22');if(b['location'])c['push']('-\x20Set\x20location:\x20'+b['location']);if(b['customer_required'])c['push']('-\x20Customer\x20required\x20fields:\x20['+b['customer_required']['join'](',\x20')+']');if(b['sales']){const e=b['sales'];if(e['op']==='clear')c['push']('-\x20Sales:\x20CLEAR\x20all\x20items');else{if(e['op']==='remove')c['push']('-\x20Sales\x20REMOVE:\x20['+e['sales_name']['join'](',\x20')+']');else{c['push']('-\x20Sales\x20'+e['op']['toUpperCase']()+':\x20'+e['sales']['length']+'\x20item(s)');for(const f of e['sales']){const g=f['wip_hash']?'\x20hash='+f['wip_hash']['slice'](0x0,0x8)+'...':'\x20⚠️NO_HASH';c['push']('\x20\x20\x20\x20•\x20'+f['name']+'\x20price='+(f['price']??'?')+'\x20stock='+(f['stock']??'?')+g);}}}}b['machine']!==undefined&&c['push'](b['machine']===null?'-\x20Machine:\x20unbind\x20(pre-publish\x20only)':'-\x20Machine:\x20bind\x20'+b['machine']);b['buy_guard']!==undefined&&c['push'](b['buy_guard']===null?'-\x20Buy\x20Guard:\x20clear':'-\x20Buy\x20Guard:\x20set\x20'+b['buy_guard']+'\x20[mutable\x20post-publish]');if(b['arbitrations']){const h=b['arbitrations'];h['op']==='clear'?c['push']('-\x20Arbitrations:\x20CLEAR\x20(pre-publish\x20only)'):c['push']('-\x20Arbitrations\x20'+h['op']['toUpperCase']()+':\x20'+h['objects']['length']+'\x20object(s)');}if(b['repositories']){const i=b['repositories'];i['op']==='clear'?c['push']('-\x20Repositories:\x20CLEAR'):c['push']('-\x20Repositories\x20'+i['op']['toUpperCase']()+':\x20'+i['objects']['length']+'\x20object(s)');}if(b['rewards']){const j=b['rewards'];j['op']==='clear'?c['push']('-\x20Rewards:\x20CLEAR\x20(locked\x20by\x20duration)'):c['push']('-\x20Rewards\x20'+j['op']['toUpperCase']()+':\x20'+j['objects']['length']+'\x20object(s)\x20[locked\x20by\x20duration]');}b['order_allocators']!==undefined&&c['push']('-\x20Order\x20Allocators:\x20'+(b['order_allocators']?'configured':'(clear)')+'\x20[immutable\x20post-publish]');if(b['discount']){const k=b['discount'],l=k['discount_type']===0x0?'rates\x20(basis\x20points,\x20per\x2010000)':'minus\x20(direct\x20deduction)';c['push']('-\x20Discount:\x20'+k['name']+'\x20type='+l+'\x20data='+k['data']+'\x20count='+k['count']);}b['pause']!==undefined&&c['push']('-\x20Pause:\x20'+(b['pause']?'PAUSE\x20(block\x20new\x20orders)':'RESUME'));b['publish']&&c['push']('-\x20⚠️\x20PUBLISH\x20(IRREVERSIBLE\x20—\x20locks\x20machine/arbitrations/order_allocators\x20forever)');b['compensation_fund_add']&&c['push']('-\x20Compensation\x20fund\x20deposit:\x20'+b['compensation_fund_add']['balance']+'\x20(internal\x20Balance<T>)');b['compensation_fund_withdraw']&&c['push']('-\x20⚠️\x20Compensation\x20fund\x20withdraw\x20(requires\x20bPaused=true\x20+\x20lock_duration\x20expired)');b['compensation_fund_receive']&&c['push']('-\x20Compensation\x20fund\x20receive\x20(locked\x20by\x20duration)');b['setting_lock_duration_add']!==undefined&&c['push']('-\x20Setting\x20lock\x20duration\x20+'+b['setting_lock_duration_add']+'ms\x20(only-increase)');if(b['order_new']){const m=b['order_new'];c['push']('-\x20⚠️\x20ORDER\x20NEW\x20(8-stage\x20composite\x20flow):'),c['push']('\x20\x20\x20\x20Items:\x20'+m['buy']['items']['length']),c['push']('\x20\x20\x20\x20Total\x20pay:\x20'+m['buy']['total_pay']);if(m['buy']['discount'])c['push']('\x20\x20\x20\x20Discount:\x20'+m['buy']['discount']);c['push']('\x20\x20\x20\x20Stages:\x20pre_check\x20→\x20wip_verify\x20→\x20quote\x20(deducts\x20stock!)\x20→\x20create_order/allocation/progress\x20→\x20return');}return b['builder']&&c['push']('-\x20⚠️\x20TRANSFER\x20ownership\x20to\x20'+b['builder']+'\x20(IRREVERSIBLE)'),b['um']!==undefined&&c['push'](b['um']===null?'-\x20UM:\x20revoke':'-\x20UM:\x20set\x20to\x20'+b['um']),b['owner_receive']&&c['push']('-\x20Owner\x20receive:\x20receive\x20Payment/objects\x20to\x20owner'),c['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 SERVICE_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function explainServicePermissionIndex(a){if(isServicePermission(a)){const b=getServicePermissionByIndex(a);if(!b)return'Unknown\x20Service\x20permission\x20('+a+')';const c=b['post_publish_mutability']==='immutable'?'\x20[IMMUTABLE\x20post-publish]':b['post_publish_mutability']==='one_shot'?'\x20[ONE-SHOT,\x20irreversible]':b['post_publish_mutability']==='locked_by_duration'?'\x20[locked\x20by\x20setting_lock_duration]':'';return b['name']+'\x20('+a+')\x20—\x20'+b['description']+c;}return'Non-Service\x20permission\x20('+a+')\x20—\x20verify\x20against\x20host\x20object\x27s\x20index\x20range';}
|
|
1
|
+
import{MAX_SALE_COUNT,MAX_REPOSITORY_COUNT,MAX_ARBITRATION_COUNT,MAX_DISCOUNT_COUNT_ONCE,MAX_DISCOUNT_TOTAL_COUNT,MAX_WIP_LENGTH,MAX_WIP_HASH_LENGTH}from'@wowok/wowok';import{isServicePermission,getServicePermissionByIndex}from'./service-ledger.js';export const SEMANTIC_TO_SCHEMA_RULES=[{'id':'P-S-01','pattern_name':'Create\x20new\x20Service','semantic_intent':'Create\x20a\x20new\x20Service<T>\x20with\x20owner,\x20permission,\x20description,\x20coin\x20type','match_keywords':['create','new','open'],'schema_fields':['object(null)','description','permission','owner','coin_type'],'example_json':{'object':null,'description':'My\x20retail\x20shop','permission':'0xPERMISSION_ADDRESS'},'reverse_explanation':'object=null\x20indicates\x20creation;\x20permission\x20must\x20be\x20a\x20valid\x20Permission\x20object\x20owned\x20by\x20signer'},{'id':'P-S-02','pattern_name':'Modify\x20description\x20/\x20location\x20/\x20customer_required','semantic_intent':'Update\x20Service\x20metadata\x20fields\x20(mutable\x20pre\x20and\x20post\x20publish)','match_keywords':['describe','locate','customer_required','update','modify'],'schema_fields':['object','description','location','customer_required'],'example_json':{'object':'0xSERVICE_ADDRESS','description':'Updated\x20description','location':'Shanghai','customer_required':['name','phone']},'reverse_explanation':'These\x20fields\x20are\x20always\x20mutable.\x20customer_required\x20is\x20a\x20string[]\x20of\x20field\x20names\x20buyers\x20must\x20provide\x20at\x20order\x20time.'},{'id':'P-S-03','pattern_name':'Manage\x20sales\x20items\x20(add/set/remove/clear)','semantic_intent':'Add\x20product\x20SKUs,\x20update\x20prices/stock,\x20remove\x20deprecated\x20items,\x20or\x20clear\x20all','match_keywords':['sales','product','sku','inventory','price'],'schema_fields':['object','sales'],'example_json':{'object':'0xSERVICE_ADDRESS','sales':{'op':'add','sales':[{'name':'standard','price':'1000000000','stock':0x64,'wip':'https://ipfs/wip','wip_hash':'abcd...64'}]}},'reverse_explanation':'sales.op=add\x20appends;\x20set\x20replaces\x20matching\x20name;\x20remove\x20deletes\x20by\x20name;\x20clear\x20empties\x20all.\x20wip_hash\x20is\x20REQUIRED\x20for\x20tamper\x20protection.'},{'id':'P-S-04','pattern_name':'Bind/unbind\x20Machine\x20workflow','semantic_intent':'Bind\x20a\x20Machine\x20workflow\x20template\x20to\x20Service\x20(post-publish\x20immutable)','match_keywords':['machine','workflow','bind\x20machine'],'schema_fields':['object','machine'],'example_json':{'object':'0xSERVICE_ADDRESS','machine':'0xMACHINE_ADDRESS'},'reverse_explanation':'machine=<address>\x20binds;\x20machine=null\x20unbinds\x20(pre-publish\x20only).\x20Once\x20published,\x20machine\x20is\x20immutable\x20(F-S-20).\x20Progress\x20inherits\x20this\x20binding.'},{'id':'P-S-05','pattern_name':'Set/clear\x20buy\x20Guard','semantic_intent':'Set\x20buyer\x20eligibility\x20Guard\x20(KYC/whitelist)\x20or\x20clear\x20it','match_keywords':['buy_guard','kyc','whitelist'],'schema_fields':['object','buy_guard'],'example_json':{'object':'0xSERVICE_ADDRESS','buy_guard':'0xGUARD_ADDRESS'},'reverse_explanation':'buy_guard\x20is\x20the\x20ONLY\x20field\x20still\x20mutable\x20post-publish\x20(F-S-26\x20exception).\x20Pre-sale:\x20set\x20to\x20whitelist;\x20public\x20sale:\x20set\x20to\x20null.'},{'id':'P-S-06','pattern_name':'Manage\x20arbitrations\x20(add/remove/clear)','semantic_intent':'Bind\x20Arbitration\x20objects\x20for\x20dispute\x20handling\x20(post-publish\x20immutable)','match_keywords':['arbitration','arbitrator','dispute'],'schema_fields':['object','arbitrations'],'example_json':{'object':'0xSERVICE_ADDRESS','arbitrations':{'op':'add','objects':['0xARB_ADDRESS']}},'reverse_explanation':'Required\x20when\x20compensation_fund\x20>\x200\x20(F-S-19).\x20Post-publish\x20immutable\x20(F-S-21).\x20Use\x201-3\x20Arbitration\x20objects\x20covering\x20different\x20scopes.'},{'id':'P-S-07','pattern_name':'Manage\x20repositories\x20(add/remove/clear)','semantic_intent':'Bind\x20Repository\x20objects\x20(data\x20stores)\x20—\x20mutable\x20post-publish','match_keywords':['repository','data\x20store','storage','data\x20source'],'schema_fields':['object','repositories'],'example_json':{'object':'0xSERVICE_ADDRESS','repositories':{'op':'add','objects':['0xREPO_ADDRESS']}},'reverse_explanation':'Mutable\x20post-publish.\x20SDK\x20validates\x20ObjectType.Repository\x20via\x20queryObjectsWithType.\x20Max\x20100\x20(MAX_REPOSITORY_COUNT).'},{'id':'P-S-08','pattern_name':'Manage\x20rewards\x20(add\x20/\x20remove\x20/\x20clear)','semantic_intent':'Bind\x20or\x20unbind\x20Reward\x20objects\x20for\x20marketing\x20incentives','match_keywords':['reward','incentive','marketing'],'schema_fields':['object','rewards'],'example_json':{'object':'0xSERVICE_ADDRESS','rewards':{'op':'add','objects':['0xREWARD_ADDRESS']}},'reverse_explanation':'add\x20is\x20always\x20allowed\x20(max\x2020,\x20MAX_REWARD_COUNT).\x20remove/clear\x20are\x20time-locked\x20after\x20publish:\x20require\x20Service\x20paused\x20AND\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20clock\x20(service.move\x20assert_not_published).'},{'id':'P-S-09','pattern_name':'Set\x20order_allocators','semantic_intent':'Configure\x20fund\x20distribution\x20strategy\x20(publish\x20prerequisite,\x20post-publish\x20immutable)','match_keywords':['allocator','order_allocators'],'schema_fields':['object','order_allocators'],'example_json':{'object':'0xSERVICE_ADDRESS','order_allocators':[{'threshold':'0','sharing':[{'who':{'Object':'0xOWNER'},'weight':0x50},{'who':{'Object':'0xPLATFORM'},'weight':0x14}]}]},'reverse_explanation':'MANDATORY\x20before\x20publish\x20(F-S-18,\x20E_NO_ALLOCATOR).\x20First-match-wins:\x20first\x20allocator\x20whose\x20threshold\x20<=\x20order\x20value\x20handles\x20distribution.\x20Post-publish\x20immutable\x20(F-S-22).'},{'id':'P-S-10','pattern_name':'Pause/resume\x20Service','semantic_intent':'Block\x20new\x20orders\x20(pause)\x20or\x20resume\x20accepting\x20orders','match_keywords':['pause','resume'],'schema_fields':['object','pause'],'example_json':{'object':'0xSERVICE_ADDRESS','pause':!![]},'reverse_explanation':'pause=true\x20blocks\x20new\x20orders\x20(E_SERVICE_PAUSED);\x20pause=false\x20resumes.\x20Existing\x20Progress\x20continues\x20normally.\x20compensation_fund_withdraw\x20requires\x20paused=true.'},{'id':'P-S-11','pattern_name':'Publish\x20Service\x20(IRREVERSIBLE)','semantic_intent':'Publish\x20Service\x20—\x20makes\x20it\x20buyable.\x20One-shot,\x20cannot\x20revert.','match_keywords':['publish','go\x20live','release'],'schema_fields':['object','publish'],'example_json':{'object':'0xSERVICE_ADDRESS','publish':!![]},'reverse_explanation':'⚠️\x20IRREVERSIBLE.\x20Requires\x20SERVICE_PUBLISH\x20(311)\x20permission.\x20Prerequisites:\x20order_allocators\x20set;\x20if\x20compensation_fund\x20>\x200,\x20arbitrations\x20non-empty.\x20Locks\x20machine/arbitrations/order_allocators\x20forever.'},{'id':'P-S-12','pattern_name':'Issue/destroy\x20discount\x20coupons','semantic_intent':'Issue\x20promotional\x20discount\x20coupons\x20or\x20destroy\x20(redeem)\x20them','match_keywords':['discount','coupon'],'schema_fields':['object','discount'],'example_json':{'object':'0xSERVICE_ADDRESS','discount':{'name':'SUMMER10','discount_type':0x0,'data':0x3e8,'count':0x64,'receivers':['0xUSER1','0xUSER2'],'expire_at':0x1941f297c00}},'reverse_explanation':'discount_type=0\x20rates\x20(basis\x20points,\x20per\x2010000),\x201=minus\x20(direct\x20deduction).\x20Max\x201000\x20per\x20call\x20(MAX_DISCOUNT_COUNT_ONCE),\x2020000\x20total\x20(MAX_DISCOUNT_TOTAL_COUNT).\x20discount_destroy\x20is\x20holder-only.'},{'id':'P-S-13','pattern_name':'Compensation\x20fund\x20operations\x20(add\x20/\x20withdraw\x20/\x20receive)','semantic_intent':'Deposit\x20to\x20compensation_fund,\x20withdraw\x20(time-locked),\x20or\x20receive\x20arbitration\x20payouts','match_keywords':['compensation_fund','compensation','deposit','withdraw'],'schema_fields':['object','compensation_fund_add','compensation_fund_withdraw','compensation_fund_receive'],'example_json':{'object':'0xSERVICE_ADDRESS','compensation_fund_add':{'balance':'1000000000'}},'reverse_explanation':'add\x20and\x20receive\x20are\x20always\x20mutable\x20(permission\x20315/316).\x20withdraw\x20is\x20time-locked\x20after\x20publish:\x20requires\x20Service\x20paused\x20AND\x20paused_time\x20+\x20setting_lock_duration\x20<=\x20clock\x20(service.move\x20compensation_fund_withdraw_imp).\x20Internal\x20Balance<T>,\x20distinct\x20from\x20Treasury.'},{'id':'P-S-14','pattern_name':'Extend\x20setting_lock_duration','semantic_intent':'Add\x20milliseconds\x20to\x20setting_lock_duration\x20(only-increase\x20mechanism)','match_keywords':['setting_lock_duration','lock_duration','lock\x20period','extend\x20lock'],'schema_fields':['object','setting_lock_duration_add'],'example_json':{'object':'0xSERVICE_ADDRESS','setting_lock_duration_add':0x9a7ec800},'reverse_explanation':'Only-increase\x20(safe_add).\x20Default\x202592000000ms\x20(30\x20days).\x20Affects\x20rewards/compensation_fund_withdraw/compensation_fund_receive\x20mutability\x20windows.'},{'id':'P-S-15','pattern_name':'Buy\x20(8-stage\x20composite\x20order\x20flow)','semantic_intent':'Customer\x20places\x20order\x20—\x20atomic\x20creation\x20of\x20Order\x20+\x20Allocation\x20+\x20Progress','match_keywords':['buy','order','purchase'],'schema_fields':['object','order_new'],'example_json':{'object':'0xSERVICE_ADDRESS','order_new':{'buy':{'items':[{'name':'standard','wip_hash':'abcd...64','count':0x1}],'discount':'0xDISCOUNT_ADDRESS','total_pay':'1000000000','passport':null},'order_required_info':{'name':'Alice','phone':'+86...'},'agents':['0xAGENT1'],'transfer':null}},'reverse_explanation':'8\x20stages:\x20pre_check\x20→\x20wip_verify\x20→\x20quote\x20(deducts\x20stock!)\x20→\x20create_order\x20→\x20create_allocation\x20→\x20create_progress\x20→\x20post_actions\x20→\x20return_result.\x20Stock\x20deduction\x20is\x20NOT\x20rolled\x20back\x20on\x20later\x20failure.'},{'id':'P-S-16','pattern_name':'Transfer\x20ownership\x20(IRREVERSIBLE)','semantic_intent':'Transfer\x20Service\x20ownership\x20to\x20a\x20new\x20address','match_keywords':['transfer','handover'],'schema_fields':['object','builder'],'example_json':{'object':'0xSERVICE_ADDRESS','builder':'0xNEW_OWNER'},'reverse_explanation':'⚠️\x20IRREVERSIBLE.\x20Original\x20owner\x20loses\x20ALL\x20control.\x20New\x20owner\x20inherits\x20permission,\x20compensation_fund,\x20all\x20bindings.\x20Export\x20JSON\x20before\x20transfer.'}];export const SCHEMA_TO_SEMANTIC_RULES=[{'element_type':'field','type_name':'object','semantic_explanation':'Service\x20object\x20address.\x20STRING=operate\x20existing;\x20null/omitted=create\x20new'},{'element_type':'field','type_name':'description','semantic_explanation':'Human-readable\x20Service\x20description.\x20Mutable\x20pre/post\x20publish.\x20Max\x204000\x20chars.'},{'element_type':'field','type_name':'location','semantic_explanation':'The\x20service\x20area\x20and\x20scope\x20as\x20stated\x20by\x20the\x20merchant.\x20Mutable.\x20Index\x20303\x20(SERVICE_LOCATION).'},{'element_type':'field','type_name':'customer_required','semantic_explanation':'String[]\x20of\x20field\x20names\x20buyers\x20must\x20provide\x20at\x20order\x20time\x20(e.g.\x20[\x27name\x27,\x27phone\x27]).\x20Mutable.\x20Index\x20309.'},{'element_type':'field','type_name':'sales','semantic_explanation':'Product\x20SKU\x20list.\x20op=add/set/remove/clear.\x20Each\x20sale\x20has\x20name/price/stock/wip/wip_hash.\x20Index\x20305\x20(SERVICE_SALES).'},{'element_type':'field','type_name':'machine','semantic_explanation':'Machine\x20workflow\x20template\x20binding.\x20⚠️\x20IMMUTABLE\x20post-publish\x20(F-S-20).\x20Index\x20306\x20(SERVICE_MACHINE).'},{'element_type':'field','type_name':'buy_guard','semantic_explanation':'Buyer\x20eligibility\x20Guard.\x20⚠️\x20UNUSUAL:\x20still\x20mutable\x20post-publish\x20(F-S-26\x20exception).\x20Index\x20307\x20(SERVICE_BUY_GUARD).'},{'element_type':'field','type_name':'arbitrations','semantic_explanation':'Arbitration\x20object\x20list.\x20Required\x20if\x20compensation_fund\x20>\x200.\x20⚠️\x20IMMUTABLE\x20post-publish\x20(F-S-21).\x20Index\x20308.'},{'element_type':'field','type_name':'repositories','semantic_explanation':'Repository\x20object\x20list.\x20Mutable.\x20Max\x20100\x20(MAX_REPOSITORY_COUNT).\x20Index\x20304\x20(SERVICE_REPOSITORY).'},{'element_type':'field','type_name':'rewards','semantic_explanation':'Reward\x20object\x20list.\x20Mutable\x20but\x20locked\x20by\x20setting_lock_duration\x20(F-S-24).\x20Max\x2020\x20(MAX_REWARD_COUNT).\x20Index\x20318.'},{'element_type':'field','type_name':'order_allocators','semantic_explanation':'Fund\x20distribution\x20strategy.\x20⚠️\x20MANDATORY\x20for\x20publish\x20(F-S-18).\x20IMMUTABLE\x20post-publish\x20(F-S-22).\x20Index\x20313.'},{'element_type':'field','type_name':'discount','semantic_explanation':'Discount\x20coupon\x20issuance.\x20discount_type=0\x20rates,\x201=minus.\x20Index\x20312\x20(SERVICE_DISCOUNT).'},{'element_type':'field','type_name':'pause','semantic_explanation':'true=pause\x20(block\x20new\x20orders);\x20false=resume.\x20Existing\x20Progress\x20unaffected.\x20Index\x20310\x20(SERVICE_PAUSE).'},{'element_type':'field','type_name':'publish','semantic_explanation':'⚠️\x20IRREVERSIBLE\x20one-shot.\x20Requires\x20prerequisites.\x20Locks\x203\x20fields\x20forever.\x20Index\x20311\x20(SERVICE_PUBLISH).'},{'element_type':'field','type_name':'compensation_fund_add','semantic_explanation':'Deposit\x20to\x20internal\x20Balance<T>.\x20Always\x20mutable.\x20Index\x20315.\x20Distinct\x20from\x20Treasury.'},{'element_type':'field','type_name':'compensation_fund_withdraw','semantic_explanation':'Withdraw\x20from\x20internal\x20Balance<T>.\x20Requires\x20bPaused=true\x20+\x20lock_duration\x20expired.\x20Index\x20314.\x20Locked\x20by\x20duration\x20(F-S-25).'},{'element_type':'field','type_name':'compensation_fund_receive','semantic_explanation':'Receive\x20compensation_fund\x20(for\x20arbitration\x20payouts).\x20Locked\x20by\x20setting_lock_duration.\x20Index\x20316.'},{'element_type':'field','type_name':'setting_lock_duration_add','semantic_explanation':'Extend\x20setting_lock_duration\x20(only-increase,\x20safe_add).\x20Index\x20317\x20(SERVICE_COMPENSATION_LOCK_DURATION_ADD).'},{'element_type':'field','type_name':'order_new','semantic_explanation':'Composite\x20buy\x20operation.\x20Triggers\x208-stage\x20flow:\x20pre_check\x20→\x20wip_verify\x20→\x20quote\x20→\x20create_order/allocation/progress\x20→\x20post_actions\x20→\x20return_result.'},{'element_type':'field','type_name':'builder','semantic_explanation':'Transfer\x20ownership.\x20⚠️\x20IRREVERSIBLE.\x20Original\x20owner\x20loses\x20ALL\x20control.'},{'element_type':'field','type_name':'um','semantic_explanation':'User\x20Manager\x20(Contact\x20object).\x20Mutable.\x20Index\x20320\x20(SERVICE_UM).'},{'element_type':'field','type_name':'owner_receive','semantic_explanation':'Receive\x20Payment/objects\x20to\x20owner.\x20Index\x20319\x20(SERVICE_OWNER_RECEIVE).'},{'element_type':'op','type_name':'add','semantic_explanation':'Append\x20new\x20items\x20(sales/arbitrations/repositories/rewards).\x20Additive,\x20does\x20not\x20replace.'},{'element_type':'op','type_name':'set','semantic_explanation':'Replace\x20existing\x20item\x20by\x20name\x20(sales)\x20or\x20replace\x20entire\x20list\x20(repositories/rewards/arbitrations).'},{'element_type':'op','type_name':'remove','semantic_explanation':'Remove\x20specific\x20items\x20by\x20name\x20(sales)\x20or\x20address\x20(repositories/rewards/arbitrations).'},{'element_type':'op','type_name':'clear','semantic_explanation':'Remove\x20all\x20items\x20from\x20the\x20list.'}];export const SERVICE_CONSTRAINT_RULES=[{'id':'MC-S-01','category':'structural','rule':'Service\x20builtin\x20permission\x20indexes\x20must\x20be\x20in\x20range\x20300-320\x20(302\x20reserved/commented)','applies_to':['permission\x20table.index\x20(when\x20applied\x20to\x20Service)']},{'id':'MC-S-02','category':'structural','rule':'sales\x20count\x20<=\x20MAX_SALE_COUNT\x20('+MAX_SALE_COUNT+')','applies_to':['sales.sales']},{'id':'MC-S-03','category':'structural','rule':'repositories\x20count\x20<=\x20MAX_REPOSITORY_COUNT\x20('+MAX_REPOSITORY_COUNT+')','applies_to':['repositories.objects']},{'id':'MC-S-04','category':'structural','rule':'arbitrations\x20count\x20<=\x20MAX_ARBITRATION_COUNT\x20('+MAX_ARBITRATION_COUNT+')','applies_to':['arbitrations.objects']},{'id':'MC-S-05','category':'structural','rule':'rewards\x20count\x20<=\x20MAX_REWARD_COUNT\x20(20)','applies_to':['rewards.objects']},{'id':'MC-S-06','category':'structural','rule':'customer_required\x20count\x20<=\x2010,\x20each\x20item\x20length\x20<=\x2020','applies_to':['customer_required']},{'id':'MC-S-07','category':'structural','rule':'wip\x20URL\x20length\x20<=\x20MAX_WIP_LENGTH\x20('+MAX_WIP_LENGTH+')','applies_to':['sales.sales[].wip']},{'id':'MC-S-08','category':'structural','rule':'wip_hash\x20length\x20<=\x20MAX_WIP_HASH_LENGTH\x20('+MAX_WIP_HASH_LENGTH+')\x20—\x20sha256\x20hex\x20(64\x20chars,\x20no\x20prefix)','applies_to':['sales.sales[].wip_hash','order_new.buy.items[].wip_hash']},{'id':'MC-S-09','category':'semantic','rule':'wip_hash\x20must\x20NOT\x20be\x20empty\x20when\x20wip\x20URL\x20is\x20set\x20(tamper\x20protection)','applies_to':['sales.sales[]']},{'id':'MC-S-10','category':'authority','rule':'publish\x20requires\x20order_allocators\x20set\x20(F-S-18,\x20E_NO_ALLOCATOR)','applies_to':['publish','order_allocators']},{'id':'MC-S-11','category':'authority','rule':'publish\x20with\x20compensation_fund\x20>\x200\x20requires\x20arbitrations\x20non-empty\x20(F-S-19,\x20E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND)','applies_to':['publish','arbitrations','compensation_fund_add']},{'id':'MC-S-12','category':'lifecycle','rule':'machine\x20IMMUTABLE\x20post-publish\x20(F-S-20)\x20—\x20SDK\x20checkNotPublished()\x20blocks','applies_to':['machine']},{'id':'MC-S-13','category':'lifecycle','rule':'arbitrations\x20IMMUTABLE\x20post-publish\x20(F-S-21)\x20—\x20SDK\x20checkNotPublished()\x20blocks','applies_to':['arbitrations']},{'id':'MC-S-14','category':'lifecycle','rule':'order_allocators\x20IMMUTABLE\x20post-publish\x20(F-S-22)\x20—\x20SDK\x20checkNotPublished()\x20blocks','applies_to':['order_allocators']},{'id':'MC-S-15','category':'lifecycle','rule':'bPublished\x20is\x20IRREVERSIBLE\x20(one-shot,\x20cannot\x20revert\x20to\x20false)\x20—\x20to\x20\x27reset\x27,\x20create\x20new\x20Service','applies_to':['publish']},{'id':'MC-S-16','category':'lifecycle','rule':'setting_lock_duration\x20only-increase\x20(safe_add)\x20—\x20cannot\x20be\x20decreased;\x20protects\x20customers','applies_to':['setting_lock_duration_add']},{'id':'MC-S-17','category':'lifecycle','rule':'compensation_fund_withdraw\x20requires\x20bPaused=true\x20AND\x20setting_lock_duration\x20expired\x20(F-S-25,\x20F-S-26)','applies_to':['compensation_fund_withdraw','pause']},{'id':'MC-S-18','category':'semantic','rule':'discount\x20count\x20<=\x20MAX_DISCOUNT_TOTAL_COUNT\x20('+MAX_DISCOUNT_TOTAL_COUNT+');\x20per-call\x20<=\x20MAX_DISCOUNT_COUNT_ONCE\x20('+MAX_DISCOUNT_COUNT_ONCE+')','applies_to':['discount.count']},{'id':'MC-S-19','category':'semantic','rule':'buy_guard\x20is\x20the\x20ONLY\x20field\x20still\x20mutable\x20post-publish\x20(F-S-26\x20exception)\x20—\x20all\x20other\x20guarded\x20fields\x20are\x20immutable','applies_to':['buy_guard']},{'id':'MC-S-20','category':'authority','rule':'Ownership\x20transfer\x20(builder)\x20is\x20IRREVERSIBLE\x20—\x20new\x20owner\x20inherits\x20permission\x20+\x20compensation_fund\x20+\x20all\x20bindings','applies_to':['builder']}];export const SERVICE_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 explainServiceCallData(b){const c=[];b['object']===null||b['object']===undefined?c['push']('Operation:\x20CREATE\x20new\x20Service'):c['push']('Operation:\x20MODIFY\x20existing\x20Service\x20at\x20'+b['object']);if(b['description'])c['push']('-\x20Set\x20description:\x20\x22'+b['description']+'\x22');if(b['location'])c['push']('-\x20Set\x20location:\x20'+b['location']);if(b['customer_required'])c['push']('-\x20Customer\x20required\x20fields:\x20['+b['customer_required']['join'](',\x20')+']');if(b['sales']){const e=b['sales'];if(e['op']==='clear')c['push']('-\x20Sales:\x20CLEAR\x20all\x20items');else{if(e['op']==='remove')c['push']('-\x20Sales\x20REMOVE:\x20['+e['sales_name']['join'](',\x20')+']');else{c['push']('-\x20Sales\x20'+e['op']['toUpperCase']()+':\x20'+e['sales']['length']+'\x20item(s)');for(const f of e['sales']){const g=f['wip_hash']?'\x20hash='+f['wip_hash']['slice'](0x0,0x8)+'...':'\x20⚠️NO_HASH';c['push']('\x20\x20\x20\x20•\x20'+f['name']+'\x20price='+(f['price']??'?')+'\x20stock='+(f['stock']??'?')+g);}}}}b['machine']!==undefined&&c['push'](b['machine']===null?'-\x20Machine:\x20unbind\x20(pre-publish\x20only)':'-\x20Machine:\x20bind\x20'+b['machine']);b['buy_guard']!==undefined&&c['push'](b['buy_guard']===null?'-\x20Buy\x20Guard:\x20clear':'-\x20Buy\x20Guard:\x20set\x20'+b['buy_guard']+'\x20[mutable\x20post-publish]');if(b['arbitrations']){const h=b['arbitrations'];h['op']==='clear'?c['push']('-\x20Arbitrations:\x20CLEAR\x20(pre-publish\x20only)'):c['push']('-\x20Arbitrations\x20'+h['op']['toUpperCase']()+':\x20'+h['objects']['length']+'\x20object(s)');}if(b['repositories']){const i=b['repositories'];i['op']==='clear'?c['push']('-\x20Repositories:\x20CLEAR'):c['push']('-\x20Repositories\x20'+i['op']['toUpperCase']()+':\x20'+i['objects']['length']+'\x20object(s)');}if(b['rewards']){const j=b['rewards'];j['op']==='clear'?c['push']('-\x20Rewards:\x20CLEAR\x20(locked\x20by\x20duration)'):c['push']('-\x20Rewards\x20'+j['op']['toUpperCase']()+':\x20'+j['objects']['length']+'\x20object(s)\x20[locked\x20by\x20duration]');}b['order_allocators']!==undefined&&c['push']('-\x20Order\x20Allocators:\x20'+(b['order_allocators']?'configured':'(clear)')+'\x20[immutable\x20post-publish]');if(b['discount']){const k=b['discount'],l=k['discount_type']===0x0?'rates\x20(basis\x20points,\x20per\x2010000)':'minus\x20(direct\x20deduction)';c['push']('-\x20Discount:\x20'+k['name']+'\x20type='+l+'\x20data='+k['data']+'\x20count='+k['count']);}b['pause']!==undefined&&c['push']('-\x20Pause:\x20'+(b['pause']?'PAUSE\x20(block\x20new\x20orders)':'RESUME'));b['publish']&&c['push']('-\x20⚠️\x20PUBLISH\x20(IRREVERSIBLE\x20—\x20locks\x20machine/arbitrations/order_allocators\x20forever)');b['compensation_fund_add']&&c['push']('-\x20Compensation\x20fund\x20deposit:\x20'+b['compensation_fund_add']['balance']+'\x20(internal\x20Balance<T>)');b['compensation_fund_withdraw']&&c['push']('-\x20⚠️\x20Compensation\x20fund\x20withdraw\x20(requires\x20bPaused=true\x20+\x20lock_duration\x20expired)');b['compensation_fund_receive']&&c['push']('-\x20Compensation\x20fund\x20receive\x20(locked\x20by\x20duration)');b['setting_lock_duration_add']!==undefined&&c['push']('-\x20Setting\x20lock\x20duration\x20+'+b['setting_lock_duration_add']+'ms\x20(only-increase)');if(b['order_new']){const m=b['order_new'];c['push']('-\x20⚠️\x20ORDER\x20NEW\x20(8-stage\x20composite\x20flow):'),c['push']('\x20\x20\x20\x20Items:\x20'+m['buy']['items']['length']),c['push']('\x20\x20\x20\x20Total\x20pay:\x20'+m['buy']['total_pay']);if(m['buy']['discount'])c['push']('\x20\x20\x20\x20Discount:\x20'+m['buy']['discount']);c['push']('\x20\x20\x20\x20Stages:\x20pre_check\x20→\x20wip_verify\x20→\x20quote\x20(deducts\x20stock!)\x20→\x20create_order/allocation/progress\x20→\x20return');}return b['builder']&&c['push']('-\x20⚠️\x20TRANSFER\x20ownership\x20to\x20'+b['builder']+'\x20(IRREVERSIBLE)'),b['um']!==undefined&&c['push'](b['um']===null?'-\x20UM:\x20revoke':'-\x20UM:\x20set\x20to\x20'+b['um']),b['owner_receive']&&c['push']('-\x20Owner\x20receive:\x20receive\x20Payment/objects\x20to\x20owner'),c['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 SERVICE_CONSTRAINT_RULES['filter'](b=>b['category']===a);}export function explainServicePermissionIndex(a){if(isServicePermission(a)){const b=getServicePermissionByIndex(a);if(!b)return'Unknown\x20Service\x20permission\x20('+a+')';const c=b['post_publish_mutability']==='immutable'?'\x20[IMMUTABLE\x20post-publish]':b['post_publish_mutability']==='one_shot'?'\x20[ONE-SHOT,\x20irreversible]':b['post_publish_mutability']==='locked_by_duration'?'\x20[locked\x20by\x20setting_lock_duration]':'';return b['name']+'\x20('+a+')\x20—\x20'+b['description']+c;}return'Non-Service\x20permission\x20('+a+')\x20—\x20verify\x20against\x20host\x20object\x27s\x20index\x20range';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{query_objects}from'@wowok/wowok';import{fetchMachineNodes}from'./workflow-guidance.js';const VALUE_TYPE_NAMES={0x0:'Bool',0x1:'Address',0x2:'String',0x3:'U8',0x4:'U16',0x5:'U32',0x6:'U64',0x7:'U128',0x8:'U256',0x9:'VecBool',0xa:'VecAddress',0xb:'VecString',0xc:'VecU8',0xd:'VecU16',0xe:'VecU32',0xf:'VecU64',0x10:'VecU128',0x11:'VecU256',0x12:'VecVecU8',0x13:'Value'};function valueTypeName(a){if(typeof a==='number')return VALUE_TYPE_NAMES[a]??String(a);const b=String(a??'');if(b===''||b==='undefined')return'Unknown';return b;}function isAddressType(a){if(typeof a==='number')return a===0x1;const b=String(a??'')['toLowerCase']();return b==='address'||b==='1';}function itemAddress(a){if(typeof a==='string')return a;if(a&&typeof a==='object'){const b=a;if(typeof b['name_or_address']==='string')return b['name_or_address'];if(typeof b['address']==='string')return b['address'];}return undefined;}export async function resolveSupplyChainGraph(a,b){const c={'service':a,'edges':[]};let d=a,e;try{const l=await query_objects({'objects':[a],'network':b}),m=l?.['objects']?.[0x0],n=m?.['data']??m;d=m?.['object']??a,e=typeof n?.['machine']==='string'?n['machine']:undefined;}catch{return c;}c['service']=d;if(!e)return c;c['machine']=e;let f;try{f=await fetchMachineNodes(e,b,![]);}catch{return c;}if(!f||f['length']===0x0)return c;const h=[];for(const o of f){for(const p of o['pairs']??[]){for(const q of p['forwards']??[]){typeof q['guard']==='string'&&q['guard']['length']>0x0&&h['push']({'node':o['name'],'prev_node':p['prev_node'],'forward':q['name'],'guard':q['guard']});}}}if(h['length']===0x0)return c;const i=[...new Set(h['map'](r=>r['guard']))];let j;try{
|
|
1
|
+
import{query_objects}from'@wowok/wowok';import{fetchMachineNodes,batchQueryObjectsByIds}from'./workflow-guidance.js';const VALUE_TYPE_NAMES={0x0:'Bool',0x1:'Address',0x2:'String',0x3:'U8',0x4:'U16',0x5:'U32',0x6:'U64',0x7:'U128',0x8:'U256',0x9:'VecBool',0xa:'VecAddress',0xb:'VecString',0xc:'VecU8',0xd:'VecU16',0xe:'VecU32',0xf:'VecU64',0x10:'VecU128',0x11:'VecU256',0x12:'VecVecU8',0x13:'Value'};function valueTypeName(a){if(typeof a==='number')return VALUE_TYPE_NAMES[a]??String(a);const b=String(a??'');if(b===''||b==='undefined')return'Unknown';return b;}function isAddressType(a){if(typeof a==='number')return a===0x1;const b=String(a??'')['toLowerCase']();return b==='address'||b==='1';}function itemAddress(a){if(typeof a==='string')return a;if(a&&typeof a==='object'){const b=a;if(typeof b['name_or_address']==='string')return b['name_or_address'];if(typeof b['address']==='string')return b['address'];}return undefined;}export async function resolveSupplyChainGraph(a,b){const c={'service':a,'edges':[]};let d=a,e;try{const l=await query_objects({'objects':[a],'network':b}),m=l?.['objects']?.[0x0],n=m?.['data']??m;d=m?.['object']??a,e=typeof n?.['machine']==='string'?n['machine']:undefined;}catch{return c;}c['service']=d;if(!e)return c;c['machine']=e;let f;try{f=await fetchMachineNodes(e,b,![]);}catch{return c;}if(!f||f['length']===0x0)return c;const h=[];for(const o of f){for(const p of o['pairs']??[]){for(const q of p['forwards']??[]){typeof q['guard']==='string'&&q['guard']['length']>0x0&&h['push']({'node':o['name'],'prev_node':p['prev_node'],'forward':q['name'],'guard':q['guard']});}}}if(h['length']===0x0)return c;const i=[...new Set(h['map'](r=>r['guard']))];let j;try{j=await batchQueryObjectsByIds(i,b);}catch{j=[];}const k=new Map();for(const r of j){const s=r?.['object']??r?.['data']?.['object'];if(s)k['set'](String(s),r);}for(const t of h){const u=k['get'](t['guard'])??k['get'](t['guard']['toLowerCase']()),v=u?.['data']??u,w=Array['isArray'](v?.['table'])?v['table']:[],x=[],y=[];for(const z of w){const A=z?.['b_submission']===!![],B=z?.['value_type'],C=String(z?.['name']??''),D=Number(z?.['identifier']??0x0);if(A)y['push']({'identifier':D,'name':C,'value_type':valueTypeName(B)});else{if(isAddressType(B)){const E=itemAddress(z?.['value']);E&&x['push']({'identifier':D,'name':C,'address':E});}}}(x['length']>0x0||y['length']>0x0)&&c['edges']['push']({'node':t['node'],'prev_node':t['prev_node'],'forward':t['forward'],'guard':t['guard'],'purchased_services':x,'required_submissions':y});}return c;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{GUARD_TEMPLATES,fillGuardTemplate}from'./guard-templates.js';import{MACHINE_TEMPLATES,fillTemplate as
|
|
1
|
+
import{GUARD_TEMPLATES,fillGuardTemplate}from'./guard-templates.js';import{MACHINE_TEMPLATES,fillTemplate as a228a}from'./machine-templates.js';import{SERVICE_TEMPLATES,fillServiceTemplate}from'./service-templates.js';import{ORDER_TEMPLATES,fillTemplate as a228b}from'./order-templates.js';import{PROGRESS_TEMPLATES,fillProgressTemplate}from'./progress-templates.js';import{ARBITRATION_TEMPLATES,fillTemplate as a228c}from'./arbitration-templates.js';import{TREASURY_TEMPLATES,fillTemplate as a228d}from'./treasury-templates.js';import{PERMISSION_TEMPLATES,fillTemplate as a228e}from'./permission-templates.js';import{PASSPORT_TEMPLATES,fillTemplate as a228f}from'./passport-templates.js';import{ALLOCATION_TEMPLATES,fillTemplate as a228g}from'./allocation-templates.js';import{CONTACT_TEMPLATES,fillTemplate as a228h}from'./contact-templates.js';import{REWARD_TEMPLATES}from'./reward-templates.js';export const TEMPLATE_REGISTRY_VERSION=0x1;export const TEMPLATE_OBJECT_TYPES=['guard','machine','service','order','progress','arbitration','treasury','permission','passport','allocation','reward','contact'];function normalizeParam(a){return{'name':a['name'],'type':a['type'],'description':a['description']??'','required':a['required'],...a['default']!==undefined?{'default':a['default']}:{},...a['constraint']!==undefined?{'constraint':a['constraint']}:{}};}function guardMeta(a){return{'id':a['id'],'object_type':'guard','name':a['name'],'description':a['description'],'scenes':[a['scene_id']],'industries':a['applicable_industries'],'instantiable':!![],'parameters':a['parameters']['map'](b=>normalizeParam(b))};}function machineMeta(a){return{'id':a['id'],'object_type':'machine','name':a['name'],'description':a['description'],'scenes':[a['scene_id']],'industries':a['applicable_industries'],'instantiable':!![],'parameters':a['parameters']['map'](b=>normalizeParam(b))};}function bodyMeta(a,b,c,d){return{'id':a['id'],'object_type':b,'name':a['name'],'description':a['description'],'scenes':c,'industries':d,'instantiable':!![],'parameters':a['params']['map'](e=>normalizeParam(e))};}function rewardMeta(a){return{'id':a['type'],'object_type':'reward','name':a['name'],'description':a['description'],'scenes':[],'industries':[],'instantiable':![],'parameters':a['parameters']['map'](b=>normalizeParam(b))};}let REGISTRY=null,ID_COLLISIONS=[];function buildRegistry(){const a=new Map(),b=[],c=d=>{if(a['has'](d['meta']['id'])){b['push'](d['meta']['id']);return;}a['set'](d['meta']['id'],d);};for(const d of GUARD_TEMPLATES){c({'meta':guardMeta(d),'raw':d,'notes':d['creation_notes']});}for(const e of MACHINE_TEMPLATES){c({'meta':machineMeta(e),'raw':e,'notes':e['creation_notes']});}for(const f of SERVICE_TEMPLATES){c({'meta':bodyMeta(f,'service',f['applicable_scenes'],f['industry_tags']),'raw':f,'notes':f['notes']});}for(const g of ORDER_TEMPLATES){c({'meta':bodyMeta(g,'order',g['applicable_scenes'],g['industry_tags']),'raw':g,'notes':g['notes']});}for(const h of PROGRESS_TEMPLATES){c({'meta':bodyMeta(h,'progress',h['applicable_scenes'],h['industry_tags']),'raw':h,'notes':h['notes']});}for(const i of ARBITRATION_TEMPLATES){c({'meta':bodyMeta(i,'arbitration',i['applicable_scenes'],i['industry_tags']),'raw':i,'notes':i['notes']});}for(const j of TREASURY_TEMPLATES){c({'meta':bodyMeta(j,'treasury',j['applicable_scenes'],j['industry_tags']),'raw':j,'notes':j['notes']});}for(const k of PERMISSION_TEMPLATES){c({'meta':bodyMeta(k,'permission',k['applicable_scenes'],k['industry_tags']),'raw':k,'notes':k['notes']});}for(const l of PASSPORT_TEMPLATES){c({'meta':bodyMeta(l,'passport',l['applicable_scenarios'],l['industry_tags']),'raw':l,'notes':l['notes']});}for(const m of ALLOCATION_TEMPLATES){c({'meta':bodyMeta(m,'allocation',m['applicable_scenes'],m['industry_tags']),'raw':m,'notes':m['notes']});}for(const n of REWARD_TEMPLATES){c({'meta':rewardMeta(n),'raw':n,'guidance':{'guardCondition':n['guardCondition'],'amountRange':n['amountRange'],'allocationStrategy':n['allocationStrategy'],'example':n['example'],'relevantGuardOps':n['relevantGuardOps']}});}for(const o of CONTACT_TEMPLATES){c({'meta':bodyMeta(o,'contact',o['applicable_scenes'],o['industry_tags']),'raw':o,'notes':o['notes']});}return ID_COLLISIONS=b,a;}function registry(){return!REGISTRY&&(REGISTRY=buildRegistry()),REGISTRY;}export function getTemplateIdCollisions(){return registry(),ID_COLLISIONS;}export function getTemplateCounts(){const a=Object['fromEntries'](TEMPLATE_OBJECT_TYPES['map'](b=>[b,0x0]));for(const b of registry()['values']()){a[b['meta']['object_type']]+=0x1;}return a;}export function listTemplates(a){const b=[...registry()['values']()]['map'](c=>c['meta']);return a?b['filter'](c=>c['object_type']===a):b;}export function getTemplateDetail(a){const b=registry()['get'](a);if(!b)return null;return{...b['meta'],'raw':b['raw'],...b['notes']?{'notes':b['notes']}:{},...b['guidance']?{'guidance':b['guidance']}:{}};}export function findTemplateObjectType(a){return registry()['get'](a)?.['meta']['object_type']??null;}export function instantiateTemplate(a,b){const c=registry()['get'](a);if(!c)return{'ok':![],'object_type':null,'template_id':a,'error':'Template\x20not\x20found:\x20'+a+'.\x20Use\x20get_templates\x20without\x20\x27template\x27\x20to\x20list\x20all\x20template\x20ids.'};const d=c['meta']['object_type'];if(!c['meta']['instantiable'])return{'ok':![],'object_type':d,'template_id':a,'error':'Reward\x20templates\x20are\x20guidance-only\x20(prose\x20guard\x20conditions)\x20and\x20cannot\x20be\x20'+'instantiated\x20into\x20executable\x20JSON.\x20Use\x20the\x20guidance\x20payload\x20to\x20design\x20the\x20'+'Reward\x20+\x20Guard\x20manually.','guidance':c['guidance']};switch(d){case'guard':{const e=fillGuardTemplate(a,b);if(!e['ok'])return{'ok':![],'object_type':d,'template_id':a,'error':e['error'],...e['missing']?{'missing_params':e['missing']}:{}};return{'ok':!![],'object_type':d,'template_id':a,'body':{'table':e['table'],'root':e['root']},...c['notes']?{'notes':c['notes']}:{}};}case'machine':{const f=a228a(a,b);if(!f['success'])return{'ok':![],'object_type':d,'template_id':a,'error':f['validation_errors']?.['join'](';\x20')??'Machine\x20template\x20fill\x20failed',...f['missing_params']?{'missing_params':f['missing_params']}:{}};return{'ok':!![],'object_type':d,'template_id':a,'body':{'nodes':f['filled_nodes'],'pairs':f['filled_pairs']},...c['notes']?{'notes':c['notes']}:{}};}case'service':{const g=fillServiceTemplate(a,b);if(!g['ok'])return{'ok':![],'object_type':d,'template_id':a,'error':g['error']??'Service\x20template\x20fill\x20failed',...g['missing_required']?{'missing_params':g['missing_required']}:{}};return{'ok':!![],'object_type':d,'template_id':a,'body':g['body'],...c['notes']?{'notes':c['notes']}:{}};}case'order':case'arbitration':case'treasury':case'permission':case'passport':case'allocation':case'progress':case'contact':{const h=fillBodyTemplate(d,a,b);if(!h['ok'])return{'ok':![],'object_type':d,'template_id':a,'error':h['error']};return{'ok':!![],'object_type':d,'template_id':a,'body':h['body'],...c['notes']?{'notes':c['notes']}:{}};}default:return{'ok':![],'object_type':d,'template_id':a,'error':'Instantiation\x20not\x20supported\x20for\x20object_type\x20\x27'+d+'\x27'};}}function fillBodyTemplate(a,b,c){switch(a){case'order':return a228b(b,c);case'arbitration':return a228c(b,c);case'treasury':return a228d(b,c);case'permission':return a228e(b,c);case'passport':return a228f(b,c);case'allocation':return a228g(b,c);case'progress':return fillProgressTemplate(b,c);case'contact':return a228h(b,c);default:return{'ok':![],'error':'No\x20body-template\x20fill\x20for\x20\x27'+a+'\x27'};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const TOOLS_REFERENCE=[{'name':'onchain_operations','summary':'On-chain\x20object\x20creation,\x20modification,\x20and\x20publish\x20for\x20all\x2016\x20Wowok\x20object\x20types.','actions':['service','machine','guard','permission','reward','arb','progress','treasury','demand','repository','contact','order','allocation','personal','payment','proof','gen_passport','gen_proof'],'common_params':{'operation_type':'Object\x20type\x20to\x20create/modify\x20(string\x20enum).','data':'Operation\x20payload\x20—\x20shape\x20varies\x20by\x20operation_type.','object':'Object\x20name\x20or\x20address\x20(for\x20modify-by-id).','namedNew':'New\x20object\x20spec\x20(name,\x20description,\x20tags)\x20for\x20create.','env':'Execution\x20environment\x20(account,\x20network,\x20gas_budget).'},'prerequisites':['account_operation\x20(for\x20account\x20setup)'],'follow_ups':['query_toolkit\x20(verify\x20result)','local_mark_operation\x20(tag\x20object)'],'notes':['publish=true\x20is\x20irreversible\x20—\x20use\x20confirm_gate.','Service/Machine\x20require\x20publish\x20after\x20create\x20before\x20they\x20are\x20visible\x20on-chain.','Use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20operation\x20schemas.']},{'name':'account_operation','summary':'Local\x20wallet\x20management\x20—\x20generate,\x20suspend,\x20resume,\x20faucet,\x20sign\x20data.','actions':['gen','resume','suspend','faucet','operate','sign','list','info'],'common_params':{'name':'Account\x20name\x20(local\x20identifier).','network':'mainnet\x20|\x20testnet\x20(determines\x20RPC).'},'prerequisites':[],'follow_ups':['onchain_operations\x20(use\x20account\x20for\x20signing)'],'notes':['100%\x20LOCAL\x20—\x20keys\x20never\x20leave\x20the\x20device.','faucet\x20only\x20works\x20on\x20testnet.']},{'name':'local_mark_operation','summary':'Local\x20address\x20book\x20—\x20map\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20tags.','actions':['add','remove','update','list','query'],'common_params':{'name':'Local\x20name.','address':'Blockchain\x20address.','tags':'Tag\x20array.'},'notes':['100%\x20LOCAL\x20—\x20never\x20on-chain.','Used\x20by\x20project_service\x20for\x20project:\x20tag\x20auto-injection.']},{'name':'local_info_operation','summary':'Local\x20private\x20data\x20management\x20—\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.','actions':['add','remove','update','list'],'notes':['100%\x20LOCAL\x20—\x20sensitive\x20data,\x20never\x20on-chain.']},{'name':'wip_file','summary':'Witness\x20Immutable\x20Promise\x20file\x20operations\x20—\x20generate,\x20verify,\x20sign,\x20convert.','actions':['generate','verify','sign','wip2html'],'notes':['WIP\x20hash\x20must\x20be\x20non-empty\x20—\x20compute\x20actual\x20hash\x20before\x20calling.']},{'name':'messenger_operation','summary':'Encrypted\x20messenger\x20—\x20watch/send\x20messages,\x20WTS,\x20friendslist,\x20blacklist,\x20guardlist.','actions':['watch_conversations','send_message','send_file','watch_messages','extract_zip','gen_wts','verify_wts','sign_wts','wts2html','proof_message','manage_blacklist','manage_friendslist','manage_guardlist','settings','mark_viewed','pull_messages'],'notes':['Requires\x20messenger-enabled\x20account.','30s\x20timeout\x20—\x20network\x20operations.']},{'name':'guard2file','summary':'Export\x20a\x20Guard\x20object\x27s\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'machineNode2file','summary':'Export\x20a\x20Machine\x20object\x27s\x20node\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'query_toolkit','summary':'9-query-type\x20toolkit\x20covering\x20local\x20device\x20data\x20and\x20on-chain\x20blockchain\x20data.','actions':['local_mark_list','account_list','local_info_list','token_list','account_balance','local_names','onchain_personal_profile','onchain_objects','onchain_received'],'notes':['Read-only\x20—\x20safe\x20to\x20call\x20without\x20confirmation.']},{'name':'onchain_table_data','summary':'Dynamic\x20table\x20data\x20queries\x20—\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.','actions':['onchain_table','onchain_table_item_repository_data','onchain_table_item_permission_perm','onchain_table_item_entity_registrar','onchain_table_item_entity_linker','onchain_table_item_entity_contact','onchain_table_item_object_linker_core','onchain_table_item_object_linker_tx','onchain_table_item_reward_record','onchain_table_item_demand_presenter','onchain_table_item_treasury_history','onchain_table_item_machine_node','onchain_table_item_progress_history','onchain_table_item_address_mark','onchain_table_item_entity_order','onchain_orders_of_user','onchain_table_item_generic'],'notes':['Read-only\x20—\x20safe\x20for\x20exploration.','object_linker\x20core\x20(0xaae)\x20=\x20default\x20reverse\x20lookup\x20(bounded\x20core\x20objects);\x20object_linker\x20tx\x20(0xaaf)\x20=\x20operational\x20reverse\x20lookup\x20(orders/progress,\x20lossy\x20FIFO).','entity_order\x20(0xaa8)\x20=\x20global\x20entity->orders\x20reverse\x20index;\x20onchain_orders_of_user\x20resolves\x20each\x20order\x20to\x20its\x20full\x20on-chain\x20Order\x20object\x20with\x20role\x20attributes\x20(is_owner/is_agent).']},{'name':'onchain_events','summary':'Watch\x20on-chain\x20events\x20by\x20type\x20—\x20arbitration,\x20order,\x20progress,\x20demand,\x20entity.','notes':['Read-only\x20—\x20use\x20cursor\x20for\x20pagination.']},{'name':'wowok_buildin_info','summary':'Protocol\x20info\x20—\x20constants,\x20built-in\x20permissions,\x20common\x20mistakes,\x20guard\x20instructions,\x20network,\x20value\x20types,\x20bridge\x20tokens.','actions':['constants','built-in\x20permissions','common\x20mistakes','guard\x20instructions','current\x20network','value\x20types','mainnet\x20bridge\x20tokens'],'notes':['Read-only\x20—\x20authoritative\x20protocol\x20reference.','Use\x20\x27common\x20mistakes\x27\x20before\x20submitting\x20an\x20operation\x20to\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls.']},{'name':'schema_query','summary':'Look\x20up\x20JSON\x20Schemas\x20for\x20MCP\x20tools\x20and\x20on-chain\x20operations\x20—\x20the\x20authoritative\x20reference.\x20Also\x20serves\x20sunk\x20knowledge:\x20tool\x20reference,\x20Guard\x20design\x20patterns,\x20safety\x20rules.','actions':['list','get','get_output','get_field','search','list_operations','get_guard_templates','search_examples','get_tool_reference','get_guard_design_patterns','get_safety_rules'],'notes':['Always\x20check\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.','get_field\x20takes\x20a\x20dot-path\x20(field_path)\x20for\x20single-field\x20lookup;\x20search_examples\x20finds\x20verified\x20example\x20files\x20by\x20keyword.','get_tool_reference/get_guard_design_patterns/get_safety_rules\x20expose\x20the\x20knowledge\x20sunk\x20from\x20the\x20wowok-tools/guard/safety\x20skills\x20—\x20no\x20skills\x20installation\x20required.']},{'name':'bridge_operation','summary':'Cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Mainnet\x20only.','actions':['cross_chain_wow_to_evm','cross_chain_evm_to_wow','withdraw','query_active_evm_account','query_supported_evm_chains','query_supported_tokens','query_transfer_list','query_transfer_status','manage_evm_rpc'],'notes':['Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.']},{'name':'project_operation','summary':'Project\x20entity\x20management\x20(SQLite)\x20+\x203-pathway\x20graph\x20construction\x20+\x20dual\x20rule-based/LLM-assisted\x20evaluation\x20engine\x20+\x20industry\x20mode\x20recommendation/registry\x20+\x20C1-C4\x20intent/risk/substep\x20pipeline.','actions':['list_projects','create_project','create_project_from_onchain','update_project','get_project_detail','add_object','remove_object','update_object','create_version','build_graph','get_graph','evaluate_project','save_evaluation','compare_projects','refresh_objects','get_object_diff','delete_project','get_machine_graph','get_guard_graph','assemble_context','reverse_map','generate_deployment_doc','pre_evaluate_check','verify_deployment','clone_project_to_network','migrate_network','migrate_to_mainnet','plan_object_edit','apply_object_edit','patch_machine_nodes','patch_guard_tree','recommend_industry','list_modes','derive_user_mode','evolve_user_mode','register_user_mode','unregister_user_mode','register_custom_metric','register_custom_constraint','list_metrics_constraints','analyze_intent','aggregate_risks','trace_substeps','merchant_guide','participation_radar'],'notes':['GLM6:\x20Projects\x20are\x20first-class\x20entities\x20with\x20SQLite\x20persistence,\x20rigid\x20project-object\x20relationships.','Evaluation:\x20risk/trust/completeness\x20are\x20rule-based\x20(computed\x20locally).\x20value/worth_buying\x20require\x20LLM\x20assistance\x20(returns\x20a\x20prompt).','Graph:\x203\x20pathways\x20—\x20internal\x20references\x20(configurable\x20depth),\x20Registrar\x20inbound\x20(O(1)),\x20potential\x20relationships.','E.7:\x20call\x20recommend_industry\x20BEFORE\x20create_project\x20when\x20the\x20user\x20describes\x20a\x20business\x20without\x20naming\x20an\x20industry\x20—\x20returns\x20top-3\x20industries\x20+\x20reference\x20examples.','E.2:\x20user\x20modes\x20—\x20derive_user_mode\x20customizes\x20a\x20builtin\x20mode;\x20register_user_mode\x20registers\x20fully\x20custom;\x20R-M1-11\x20enforced\x20on\x20machine_shape.','C1-C4\x20pipeline\x20(GLM5-31\x20§V3/V4):\x20analyze_intent\x20(intent\x20→\x20objects\x20+\x20puzzle\x20snapshots)\x20→\x20aggregate_risks\x20(puzzles\x20OR\x20intent\x20→\x20calibrated\x20risks\x20+\x20RISK_BLOCKED\x20status;\x20optional\x20planned_objects/planned_operations\x20safety\x20checks)\x20→\x20trace_substeps\x20(substep\x20records\x20→\x20DAG\x20coherence\x20+\x20D-10\x20verdict).\x20All\x20three\x20are\x20pure\x20transformations\x20—\x20no\x20I/O,\x20no\x20confirmation\x20needed.']},{'name':'config_operation','summary':'Runtime\x20service\x20toggles\x20—\x20enable/disable\x20Phase\x202\x20services\x20without\x20restart.','actions':['list','toggle','enable','disable','reset','info'],'notes':['GLM5:\x20harness\x20is\x20default\x20ON\x20with\x20tiered\x20enforcement\x20(off/lightweight/full).']},{'name':'trust_score','summary':'Service\x20trust\x20&\x20risk\x20assessment\x20—\x205\x20trust\x20dimensions\x20+\x204\x20risk\x20dimensions.','notes':['Use\x20when\x20user\x20asks\x20\x27is\x20this\x20service\x20trustworthy?\x27\x20or\x20\x27should\x20I\x20buy?\x27.']},{'name':'query_task_status','summary':'Query\x20async\x20task\x20status\x20(build_graph\x20/\x20evaluate_project\x20with\x20async_mode).','notes':['Read-only;\x20tasks\x20are\x20ephemeral\x20(retained\x205\x20min\x20after\x20completion).']},{'name':'evaluation_operation','summary':'Pluggable\x20business\x20evaluations\x20—\x20risk\x20/\x20match\x20/\x20compose\x20/\x20game\x20(node\x20+\x20path)\x20/\x20evidence\x20review\x20/\x20discovery\x20/\x20market\x20/\x20arbitration\x20score\x20with\x20user\x20injection.','actions':['service_risk','demand_match','service_match','capability_gap','compose_service','node_game','arb_game','path_reasoning','evidence_review','discover_services','discover_demands','market_metrics','market_operations','anti_cheat','match_discover','arbitration_score','account_events'],'notes':['Read-only;\x20the\x20role\x20decides\x20and\x20acts\x20via\x20onchain_operations.','path_reasoning\x20=\x20path-level\x20game\x20(full-route\x20enumeration\x20+\x20ranking);\x20node_game\x20=\x20single-node\x20best\x20move.','evidence_review\x20=\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass/auto_reject/manual_review).','discover_services\x20=\x20active\x20supply\x20discovery\x20(GraphQL\x20transport\x20required):\x20enumerate\x20all\x20shared\x20Services,\x20location-gate\x20by\x20sensitivity\x20(strict/near/logistics),\x20ranked\x20+\x20consent-gated\x20scope\x20expansion.\x20Passive\x20side\x20=\x20post\x20a\x20Demand\x20(DemandPresenter).','match_discover\x20=\x20one-shot\x20intent→service\x20orchestration\x20(enumerate\x20+\x20location\x20gate\x20+\x206-dimension\x20scoring);\x20discover_demands\x20=\x20supplier-side\x20demand\x20enumeration;\x20market_metrics/market_operations\x20=\x20market\x20measurement\x20(GraphQL\x20required).','arbitration_score\x20=\x20dual-perspective\x20arbitration\x20trust\x20(user-trust\x20+\x20merchant-fairness,\x20combined\x200-100);\x20anti_cheat\x20=\x20fake-review/wash-order\x20detection;\x20account_events\x20=\x20account\x20attention\x20feed\x20(read-only).']},{'name':'watch_operation','summary':'Identity-centric\x20on-chain\x20console\x20—\x20resolve\x20who\x20the\x20account\x20is\x20against\x20an\x20object,\x20expand\x20its\x20relations,\x20and\x20enumerate\x20actionable\x20operations.','actions':['focus','expand','actions'],'notes':['Read-only;\x20distinct\x20from\x20query_toolkit\x20/\x20onchain_table_data\x20(pure\x20data,\x20no\x20identity).','focus\x20=\x20identity\x20resolution\x20(manifest\x20on-chain\x20role\x20⊕\x20persona)\x20+\x20base\x20data;\x20neutral\x20→\x20objective\x20narration,\x20operative\x20role\x20→\x20game\x20reasoning.','expand\x20=\x20direct\x20relations\x20+\x20Service\x20transparent\x20sub-order\x20purchasing\x20graph\x20(frozen\x20forward\x20guards\x20→\x20purchased\x20sub-services\x20+\x20proofs).','actions\x20=\x20actionable\x20operations\x20with\x20executability\x20judgment\x20(order-holder\x20/\x20permission-index\x20/\x20named-operator\x20paths).']},{'name':'persona_operation','summary':'User\x20identity\x20setting\x20(persona)\x20—\x20preferences,\x20strategy,\x20rules,\x20spec;\x20long-term\x20+\x20current\x20layers\x20+\x20strategy→lever\x20mapping\x20+\x20region\x20hint.','actions':['get','list','set','analyze','apply','sync','remove','strategy','region_hint'],'notes':['Read/write\x20local\x20state;\x20account\x20persona\x20overrides\x20system;\x20current\x20overrides\x20long-term.','strategy\x20resolves\x20merchant\x20strategy\x20statements\x20into\x20deterministic\x20infrastructure\x20levers\x20(discount/reward/buy_guard/machine_design).','region_hint\x20reads\x20the\x20local\x20delivery\x20address\x20as\x20a\x20matching\x20hint;\x20`propose`\x20returns\x20a\x20consent-gated\x20save\x20proposal\x20(never\x20auto-writes).']},{'name':'employee_operation','summary':'Merchant\x20employee\x20organizational\x20profile\x20(LOCAL)\x20+\x20reaction\x20KPI\x20+\x20liability\x20resolution.','actions':['set','get','remove','assess_kpi','resolve_liability'],'notes':['LOCAL\x20ONLY\x20—\x20on-chain\x20authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).','assess_kpi:\x20node\x20reaction\x20speed\x20vs\x20budget\x20(explicit\x20>\x20stored\x20profile\x20>\x2048h\x20default).','resolve_liability:\x20internal\x20cost\x20split\x20(merchant/employee,\x20hybrid\x20threshold);\x20outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s;\x20order\x20user\x20must\x20be\x20compensated\x20before\x20the\x20workflow\x20resumes.']},{'name':'intent_radar','summary':'User\x20business\x20intent\x20×\x20chain\x20event\x20matching\x20—\x20persist\x20intents,\x20score\x20events\x20against\x20them.','actions':['save','list','remove','match'],'notes':['Read-only\x20w.r.t.\x20chain;\x20industry/keywords\x20resolved\x20once\x20at\x20save;\x20events\x20supplied\x20or\x20auto-pulled.']},{'name':'monitor_events','summary':'Persistent\x20monitor\x20event\x20store\x20(shared\x20with\x20the\x20client\x20Monitor\x20page)\x20—\x20paginated\x20events\x20with\x20read\x20flags;\x20mark\x20read/unread.','actions':['query','mark_read','mark_all_read'],'notes':['Events\x20captured\x20by\x20the\x20client\x20sidecar\x20poller\x20(order\x20/\x20arb\x20/\x20demand\x20/\x20progress\x20modules),\x20stored\x20APPEND-ONLY\x20in\x20SQLite\x20(survives\x20restarts)\x20with\x20per-event\x20read\x20flags.','query\x20=\x20paginated\x20newest-first\x20with\x20module\x20filter\x20+\x20module_counts/unread_by_module/total_unread;\x20mark_read\x20=\x20idempotent\x20per-event\x20(\x27<eventSeq>:<txDigest>\x27);\x20mark_all_read\x20=\x20optionally\x20module-scoped.','Cross-process:\x20read\x20state\x20is\x20SHARED\x20with\x20the\x20client\x20app\x20(same\x20SQLite\x20store)\x20—\x20marking\x20read\x20here\x20clears\x20the\x20client\x20Monitor\x20unread\x20badge\x20and\x20vice\x20versa.']},{'name':'industry_pack_operation','summary':'Industry\x20knowledge\x20pack\x20lifecycle\x20—\x20scaffold\x20(merged\x20v2\x20template),\x20scan/register,\x20layer\x20get,\x20diff,\x20reset-to-template,\x20plus\x20industry-dir\x20file\x20operations.','actions':['scaffold','list','scan','resolve','list_files','read_file','write_file','get','diff','reset','delete_file','create_file','create_dir','copy','move','rename'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20+\x20in-memory\x20registry;\x20never\x20mutates\x20chain\x20state.','Merged\x20v2\x20layout:\x20pack.json\x20(annotated\x20with\x20_schema/_doc\x20comment\x20fields\x20+\x20personae)\x20+\x20playbook.md;\x20legacy\x20split-file\x20layouts\x20still\x20read\x20for\x20backward\x20compatibility.','reset\x20restores\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20—\x20user\x20edits\x20beyond\x20the\x20target\x20are\x20preserved.']},{'name':'workspace_operation','summary':'Local\x20workspace\x20directory\x20(`.wowok/workspace`)\x20—\x20generated\x20review\x20files\x20(machine/guard/wts/wip\x20JSON)\x20and\x20user\x20documents:\x20list/read/write\x20+\x20file\x20operations.','actions':['resolve','list','read','write','delete','create_file','create_dir','copy','move','rename'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20operations\x20confined\x20to\x20the\x20workspace\x20root;\x20never\x20mutates\x20chain\x20state.','read\x20is\x20the\x20supported\x20way\x20to\x20load\x20a\x20generated\x20JSON\x20as\x20AI\x20context\x20before\x20editing/submitting.']},{'name':'workflow_operation','summary':'Local-account\x20workflow\x20view\x20—\x20list\x20active\x20Progress\x20that\x20at\x20least\x20one\x20local\x20account\x20can\x20advance\x20(permission\x20+\x20guard\x20+\x20executable\x20accounts),\x20advance/hold/unhold\x20a\x20forward,\x20and\x20view\x20a\x20progress\x27s\x20on-chain\x20operation\x20history.','actions':['list','operate','history'],'notes':['list:\x20permission-aware\x20—\x20a\x20forward\x20is\x20executable\x20when\x20(a)\x20namedOperator=\x27\x27\x20and\x20account\x20is\x20order\x20holder,\x20(b)\x20namedOperator=name\x20and\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20(c)\x20permissionIndex\x20set\x20and\x20account\x20is\x20in\x20permission.admin/table.','operate:\x20delegates\x20to\x20the\x20on-chain\x20progress\x20operation\x20(guard-aware);\x20op\x20∈\x20next/hold/unhold/adminUnhold.','history:\x20incrementally\x20syncs\x20a\x20progress\x27s\x20ON-CHAIN\x20Progress.history\x20(append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20(only\x20new\x20records\x20pulled),\x20returns\x20the\x20migration\x20timeline\x20newest-first\x20with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20/\x20weight\x20/\x20time);\x20runs\x2090-day\x20retention\x20cleanup\x20by\x20default.']},{'name':'permission_operation','summary':'Local-account\x20Permission\x20overview\x20—\x20list\x20Permissions\x20related\x20to\x20local\x20accounts\x20(via\x20entity_permission\x20index)\x20with\x20owner/admin/entity\x20breakdown\x20+\x20related\x20objects\x20via\x20object-linker\x20indexes.','actions':['list'],'notes':['Read-only;\x20reverse-looks-up\x20local\x20accounts\x20via\x20entity_permission\x20@0xaad,\x20then\x20merges/dedups\x20permissions.','Related\x20objects\x20resolved\x20via\x20object-linker\x20reverse\x20indexes\x20(0xaae\x20core\x20/\x200xaaf\x20tx)\x20binding\x20edges,\x20grouped\x20by\x20type\x20via\x20first-byte\x20address\x20tag.','Latest\x20update\x20time\x20derived\x20from\x20the\x20Permission\x27s\x20previousTransaction.']}];export function getToolReference(a){return TOOLS_REFERENCE['find'](b=>b['name']===a);}export function searchToolReference(a){const b=a['toLowerCase']();return TOOLS_REFERENCE['filter'](c=>{if(c['name']['toLowerCase']()['includes'](b))return!![];if(c['summary']['toLowerCase']()['includes'](b))return!![];if(c['actions']?.['some'](d=>d['toLowerCase']()['includes'](b)))return!![];return![];});}export function getToolSequence(a){const b=getToolReference(a);if(!b)return undefined;return{'prerequisites':b['prerequisites']??[],'tool':b['name'],'follow_ups':b['follow_ups']??[]};}
|
|
1
|
+
export const TOOLS_REFERENCE=[{'name':'onchain_operations','summary':'On-chain\x20object\x20creation,\x20modification,\x20and\x20publish\x20for\x20all\x2016\x20Wowok\x20object\x20types.','actions':['service','machine','guard','permission','reward','arb','progress','treasury','demand','repository','contact','order','allocation','personal','payment','proof','gen_passport','gen_proof'],'common_params':{'operation_type':'Object\x20type\x20to\x20create/modify\x20(string\x20enum).','data':'Operation\x20payload\x20—\x20shape\x20varies\x20by\x20operation_type.','object':'Object\x20name\x20or\x20address\x20(for\x20modify-by-id).','namedNew':'New\x20object\x20spec\x20(name,\x20description,\x20tags)\x20for\x20create.','env':'Execution\x20environment\x20(account,\x20network,\x20gas_budget).'},'prerequisites':['account_operation\x20(for\x20account\x20setup)'],'follow_ups':['query_toolkit\x20(verify\x20result)','local_mark_operation\x20(tag\x20object)'],'notes':['publish=true\x20is\x20irreversible\x20—\x20use\x20confirm_gate.','Service/Machine\x20require\x20publish\x20after\x20create\x20before\x20they\x20are\x20visible\x20on-chain.','Use\x20schema_query\x20with\x20action=\x27list_operations\x27\x20to\x20see\x20all\x20operation\x20schemas.']},{'name':'account_operation','summary':'Local\x20wallet\x20management\x20—\x20generate,\x20suspend,\x20resume,\x20faucet,\x20sign\x20data.','actions':['gen','resume','suspend','faucet','operate','sign','list','info'],'common_params':{'name':'Account\x20name\x20(local\x20identifier).','network':'mainnet\x20|\x20testnet\x20(determines\x20RPC).'},'prerequisites':[],'follow_ups':['onchain_operations\x20(use\x20account\x20for\x20signing)'],'notes':['100%\x20LOCAL\x20—\x20keys\x20never\x20leave\x20the\x20device.','faucet\x20only\x20works\x20on\x20testnet.']},{'name':'local_mark_operation','summary':'Local\x20address\x20book\x20—\x20map\x20human-readable\x20names\x20to\x20blockchain\x20addresses\x20with\x20tags.','actions':['add','remove','update','list','query'],'common_params':{'name':'Local\x20name.','address':'Blockchain\x20address.','tags':'Tag\x20array.'},'notes':['100%\x20LOCAL\x20—\x20never\x20on-chain.','Names\x20are\x20accepted\x20by\x20most\x20on-chain\x20query/panorama\x20tools\x20in\x20place\x20of\x20raw\x20addresses.']},{'name':'local_info_operation','summary':'Local\x20private\x20data\x20management\x20—\x20delivery\x20addresses,\x20phone\x20numbers,\x20contacts.','actions':['add','remove','update','list'],'notes':['100%\x20LOCAL\x20—\x20sensitive\x20data,\x20never\x20on-chain.']},{'name':'wip_file','summary':'Witness\x20Immutable\x20Promise\x20file\x20operations\x20—\x20generate,\x20verify,\x20sign,\x20convert.','actions':['generate','verify','sign','wip2html'],'notes':['WIP\x20hash\x20must\x20be\x20non-empty\x20—\x20compute\x20actual\x20hash\x20before\x20calling.']},{'name':'messenger_operation','summary':'Encrypted\x20messenger\x20—\x20watch/send\x20messages,\x20WTS,\x20friendslist,\x20blacklist,\x20guardlist.','actions':['watch_conversations','send_message','send_file','watch_messages','extract_zip','gen_wts','verify_wts','sign_wts','wts2html','proof_message','manage_blacklist','manage_friendslist','manage_guardlist','settings','mark_viewed','pull_messages'],'notes':['Requires\x20messenger-enabled\x20account.','30s\x20timeout\x20—\x20network\x20operations.']},{'name':'guard2file','summary':'Export\x20a\x20Guard\x20object\x27s\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'machineNode2file','summary':'Export\x20a\x20Machine\x20object\x27s\x20node\x20definition\x20to\x20local\x20JSON/Markdown\x20for\x20editing.','notes':['Read-only\x20—\x20use\x20query_toolkit\x20for\x20on-chain\x20queries.']},{'name':'query_toolkit','summary':'Query\x20toolkit\x20covering\x20local\x20device\x20data,\x20on-chain\x20blockchain\x20data,\x20and\x20one-call\x20business-intelligence\x20panoramas/review\x20packs.','actions':['local_mark_list','account_list','local_info_list','token_list','account_balance','onchain_personal_profile','onchain_objects','onchain_received','onchain_transaction','onchain_object_history','onchain_address_activity','token_value_convert','onchain_last_updated','service_panorama','machine_panorama','object_panorama','review_pack','assemble_context','reverse_map','participation_radar'],'notes':['Read-only\x20—\x20safe\x20to\x20call\x20without\x20confirmation.','BI\x20query\x20types\x20(one-call\x20panoramas):\x20service_panorama\x20(full\x20Service\x20context:\x20workflow\x20graph\x20+\x20guards\x20+\x20trust\x20+\x20supply\x20chain\x20+\x20BusinessReport\x20+\x20recent\x20orders),\x20machine_panorama\x20(head\x20+\x20fields\x20+\x20workflow\x20graph\x20+\x20Progress\x20list),\x20object_panorama\x20(Progress/Demand/Order/Arb/Repository\x20detail\x20pages),\x20review_pack\x20(typed\x20ReviewPack\x20for\x20the\x20client\x27s\x20ReviewPackRenderer),\x20assemble_context\x20(semantic\x20context\x20from\x20on-chain\x20objects),\x20reverse_map\x20(deterministic\x20L4→L1\x20business\x20report\x20—\x20merchant\x20profile\x20/\x20user\x20risk\x20/\x20game\x20theory),\x20participation_radar\x20(in-flight\x20order\x20participation\x20analysis\x20for\x20ONE\x20account).']},{'name':'onchain_table_data','summary':'Dynamic\x20table\x20data\x20queries\x20—\x20paginated\x20table\x20queries\x20and\x20specific\x20table\x20item\x20lookups.','actions':['onchain_table','onchain_table_item_repository_data','onchain_table_item_permission_perm','onchain_table_item_entity_registrar','onchain_table_item_entity_linker','onchain_table_item_entity_contact','onchain_table_item_object_linker_core','onchain_table_item_object_linker_tx','onchain_table_item_reward_record','onchain_table_item_demand_presenter','onchain_table_item_treasury_history','onchain_table_item_machine_node','onchain_table_item_progress_history','onchain_table_item_address_mark','onchain_table_item_entity_order','onchain_orders_of_user','onchain_table_item_generic'],'notes':['Read-only\x20—\x20safe\x20for\x20exploration.','object_linker\x20core\x20(0xaae)\x20=\x20default\x20reverse\x20lookup\x20(bounded\x20core\x20objects);\x20object_linker\x20tx\x20(0xaaf)\x20=\x20operational\x20reverse\x20lookup\x20(orders/progress,\x20lossy\x20FIFO).','entity_order\x20(0xaa8)\x20=\x20global\x20entity->orders\x20reverse\x20index;\x20onchain_orders_of_user\x20resolves\x20each\x20order\x20to\x20its\x20full\x20on-chain\x20Order\x20object\x20with\x20role\x20attributes\x20(is_owner/is_agent).']},{'name':'onchain_events','summary':'Watch\x20on-chain\x20events\x20by\x20type\x20—\x20arbitration,\x20order,\x20progress,\x20demand,\x20entity.','notes':['Read-only\x20—\x20use\x20cursor\x20for\x20pagination.']},{'name':'wowok_buildin_info','summary':'Protocol\x20info\x20—\x20constants,\x20built-in\x20permissions,\x20common\x20mistakes,\x20guard\x20instructions,\x20network,\x20value\x20types,\x20bridge\x20tokens.','actions':['constants','built-in\x20permissions','common\x20mistakes','guard\x20instructions','current\x20network','value\x20types','mainnet\x20bridge\x20tokens'],'notes':['Read-only\x20—\x20authoritative\x20protocol\x20reference.','Use\x20\x27common\x20mistakes\x27\x20before\x20submitting\x20an\x20operation\x20to\x20learn\x20known\x20field-name/unit/workflow\x20pitfalls.']},{'name':'schema_query','summary':'Look\x20up\x20JSON\x20Schemas\x20for\x20MCP\x20tools\x20and\x20on-chain\x20operations\x20—\x20the\x20authoritative\x20reference.\x20Also\x20serves\x20sunk\x20knowledge:\x20tool\x20reference,\x20Guard\x20design\x20patterns,\x20safety\x20rules.','actions':['list','get','get_output','get_field','search','list_operations','get_guard_templates','search_examples','get_tool_reference','get_guard_design_patterns','get_safety_rules'],'notes':['Always\x20check\x20schema\x20before\x20calling\x20an\x20unfamiliar\x20tool.','get_field\x20takes\x20a\x20dot-path\x20(field_path)\x20for\x20single-field\x20lookup;\x20search_examples\x20finds\x20verified\x20example\x20files\x20by\x20keyword.','get_tool_reference/get_guard_design_patterns/get_safety_rules\x20expose\x20the\x20knowledge\x20sunk\x20from\x20the\x20wowok-tools/guard/safety\x20skills\x20—\x20no\x20skills\x20installation\x20required.']},{'name':'bridge_operation','summary':'Cross-chain\x20bridge\x20between\x20WOW\x20and\x20EVM\x20(Ethereum\x20mainnet).\x20Mainnet\x20only.','actions':['cross_chain_wow_to_evm','cross_chain_evm_to_wow','withdraw','query_active_evm_account','query_supported_evm_chains','query_supported_tokens','query_transfer_list','query_transfer_status','manage_evm_rpc'],'notes':['Only\x20WOW\x20mainnet\x20provides\x20cross-chain\x20functionality.']},{'name':'config_operation','summary':'Runtime\x20service\x20toggles\x20—\x20enable/disable\x20Phase\x202\x20services\x20without\x20restart.','actions':['list','toggle','enable','disable','reset','info'],'notes':['GLM5:\x20harness\x20is\x20default\x20ON\x20with\x20tiered\x20enforcement\x20(off/lightweight/full).']},{'name':'trust_score','summary':'Service\x20trust\x20&\x20risk\x20assessment\x20—\x205\x20trust\x20dimensions\x20+\x204\x20risk\x20dimensions.','notes':['Use\x20when\x20user\x20asks\x20\x27is\x20this\x20service\x20trustworthy?\x27\x20or\x20\x27should\x20I\x20buy?\x27.']},{'name':'evaluation_operation','summary':'Pluggable\x20business\x20evaluations\x20—\x20risk\x20/\x20match\x20/\x20compose\x20/\x20game\x20(node\x20+\x20path)\x20/\x20evidence\x20review\x20/\x20discovery\x20/\x20market\x20/\x20arbitration\x20score\x20with\x20user\x20injection.','actions':['service_risk','demand_match','service_match','capability_gap','compose_service','node_game','arb_game','path_reasoning','evidence_review','discover_services','discover_demands','market_metrics','market_operations','anti_cheat','match_discover','arbitration_score','account_events'],'notes':['Read-only;\x20the\x20role\x20decides\x20and\x20acts\x20via\x20onchain_operations.','path_reasoning\x20=\x20path-level\x20game\x20(full-route\x20enumeration\x20+\x20ranking);\x20node_game\x20=\x20single-node\x20best\x20move.','evidence_review\x20=\x20deterministic\x20off-chain\x20evidence\x20closure\x20gate\x20(auto_pass/auto_reject/manual_review).','discover_services\x20=\x20active\x20supply\x20discovery\x20(GraphQL\x20transport\x20required):\x20enumerate\x20all\x20shared\x20Services,\x20location-gate\x20by\x20sensitivity\x20(strict/near/logistics),\x20ranked\x20+\x20consent-gated\x20scope\x20expansion.\x20Passive\x20side\x20=\x20post\x20a\x20Demand\x20(DemandPresenter).','match_discover\x20=\x20one-shot\x20intent→service\x20orchestration\x20(enumerate\x20+\x20location\x20gate\x20+\x206-dimension\x20scoring);\x20discover_demands\x20=\x20supplier-side\x20demand\x20enumeration;\x20market_metrics/market_operations\x20=\x20market\x20measurement\x20(GraphQL\x20required).','arbitration_score\x20=\x20dual-perspective\x20arbitration\x20trust\x20(user-trust\x20+\x20merchant-fairness,\x20combined\x200-100);\x20anti_cheat\x20=\x20fake-review/wash-order\x20detection;\x20account_events\x20=\x20account\x20attention\x20feed\x20(read-only).']},{'name':'watch_operation','summary':'Identity-centric\x20on-chain\x20console\x20—\x20resolve\x20who\x20the\x20account\x20is\x20against\x20an\x20object,\x20expand\x20its\x20relations,\x20and\x20enumerate\x20actionable\x20operations.','actions':['focus','expand','actions'],'notes':['Read-only;\x20distinct\x20from\x20query_toolkit\x20/\x20onchain_table_data\x20(pure\x20data,\x20no\x20identity).','focus\x20=\x20identity\x20resolution\x20(manifest\x20on-chain\x20role\x20⊕\x20persona)\x20+\x20base\x20data;\x20neutral\x20→\x20objective\x20narration,\x20operative\x20role\x20→\x20game\x20reasoning.','expand\x20=\x20direct\x20relations\x20+\x20Service\x20transparent\x20sub-order\x20purchasing\x20graph\x20(frozen\x20forward\x20guards\x20→\x20purchased\x20sub-services\x20+\x20proofs).','actions\x20=\x20actionable\x20operations\x20with\x20executability\x20judgment\x20(order-holder\x20/\x20permission-index\x20/\x20named-operator\x20paths).']},{'name':'persona_operation','summary':'User\x20identity\x20setting\x20(persona)\x20—\x20preferences,\x20strategy,\x20rules,\x20spec;\x20long-term\x20+\x20current\x20layers\x20+\x20strategy→lever\x20mapping\x20+\x20region\x20hint.','actions':['get','list','set','analyze','apply','sync','remove','strategy','region_hint','distill'],'notes':['Read/write\x20local\x20state;\x20account\x20persona\x20overrides\x20system;\x20current\x20overrides\x20long-term.','strategy\x20resolves\x20merchant\x20strategy\x20statements\x20into\x20deterministic\x20infrastructure\x20levers\x20(discount/reward/buy_guard/machine_design).','region_hint\x20reads\x20the\x20local\x20delivery\x20address\x20as\x20a\x20matching\x20hint;\x20`propose`\x20returns\x20a\x20consent-gated\x20save\x20proposal\x20(never\x20auto-writes).','distill\x20turns\x20one\x20goal\x27s\x20memory\x20(outcome,\x20process\x20problems/feedback,\x20objects)\x20into\x20a\x20CURRENT-layer\x20proposal\x20—\x20never\x20auto-writes;\x20persist\x20via\x20set/apply\x20after\x20user\x20confirmation.\x20Industry\x20pack.json\x20files\x20are\x20read-only\x20knowledge\x20and\x20never\x20receive\x20user\x20data.']},{'name':'employee_operation','summary':'Merchant\x20employee\x20organizational\x20profile\x20(LOCAL)\x20+\x20reaction\x20KPI\x20+\x20liability\x20resolution.','actions':['set','get','remove','assess_kpi','resolve_liability'],'notes':['LOCAL\x20ONLY\x20—\x20on-chain\x20authorization\x20lives\x20in\x20the\x20merchant\x27s\x20Permission\x20(namedOperator/entity).','assess_kpi:\x20node\x20reaction\x20speed\x20vs\x20budget\x20(explicit\x20>\x20stored\x20profile\x20>\x2048h\x20default).','resolve_liability:\x20internal\x20cost\x20split\x20(merchant/employee,\x20hybrid\x20threshold);\x20outward\x20liability\x20toward\x20the\x20customer\x20is\x20ALWAYS\x20the\x20merchant\x27s;\x20order\x20user\x20must\x20be\x20compensated\x20before\x20the\x20workflow\x20resumes.']},{'name':'intent_radar','summary':'User\x20business\x20intent\x20×\x20chain\x20event\x20matching\x20—\x20persist\x20intents,\x20score\x20events\x20against\x20them.','actions':['save','list','remove','match'],'notes':['Read-only\x20w.r.t.\x20chain;\x20industry/keywords\x20resolved\x20once\x20at\x20save;\x20events\x20supplied\x20or\x20auto-pulled.']},{'name':'goal_operation','summary':'GoalEngine\x20(K3\x2024)\x20—\x20record\x20a\x20user\x20goal\x20and\x20drive\x20it\x20through\x20the\x20nine-station\x20lifecycle\x20(RECOGNIZE→…→COMPLETE)\x20with\x20monitor\x20auto-binding\x20and\x20plan-approval\x20confirm-gate\x20downgrade;\x20also\x20hosts\x20the\x20C1-C4\x20planning\x20pipeline\x20+\x20merchant\x20onboarding\x20wizard.','actions':['create','list','get','approve','advance','pause','complete','abandon','delete','analyze_intent','aggregate_risks','trace_substeps','merchant_guide'],'common_params':{'id':'Goal\x20id\x20(goal_…)\x20—\x20required\x20for\x20get/approve/advance/pause/complete/abandon/delete.','intent_text':'create:\x20raw\x20user\x20intent;\x20goal_type\x20auto-classified\x20(override\x20with\x20goal_type).','account':'create:\x20bind\x20a\x20local\x20account\x20(preflight;\x20goal\x20starts\x20at\x20\x27bound\x27).','stage':'advance:\x20forward-only\x20target\x20stage;\x20\x27paused\x27\x20holds\x20from\x20anywhere.','objects':'advance:\x20ACT-station\x20objects\x20[{type,\x20object}]\x20(deduped).','force':'complete:\x20skip\x20on-chain\x20completion\x20verification\x20(audited\x20as\x20outcome.forced).'},'follow_ups':['monitor_events\x20(goal\x20progress\x20surfaces\x20in\x20the\x20todo\x20stream)','onchain_operations\x20(execute\x20plan\x20steps\x20with\x20env.plan_approval)'],'notes':['Near-duplicate\x20create\x20ADOPTS\x20the\x20active\x20same-type\x20same-account\x20goal\x20(intent\x20Jaccard\x20≥\x200.6)\x20instead\x20of\x20forking.','approve\x20registers\x20a\x20plan\x20approval:\x20calls\x20carrying\x20env.plan_approval=<goal\x20id>\x20auto-pass\x20fail-open\x20ConfirmGate\x20levels\x20(standard/none);\x20fail-closed\x20levels\x20(irreversible/publish/amount)\x20always\x20still\x20ask.','Entering\x20\x27monitoring\x27\x20auto-binds\x20monitor\x20focus\x20(reason=\x27goal\x27,\x20goal_id-stamped)\x20for\x20the\x20goal\x27s\x20objects;\x20demand\x20goals\x20also\x20open\x20a\x20radar\x20intent.\x20complete/abandon\x20tear\x20down\x20ONLY\x20this\x20goal\x27s\x20bindings.','complete\x20verifies\x20the\x20goal-type\x20completion\x20conjunction\x20against\x20chain\x20state\x20(read-only);\x20force=true\x20bypasses\x20and\x20is\x20audited.','delete\x20removes\x20a\x20terminal\x20goal\x20entirely\x20(record\x20+\x20TaskProcess\x20dir);\x20force=true\x20extends\x20it\x20to\x20non-terminal\x20goals\x20(monitor\x20teardown\x20first).','C1-C4\x20planning\x20pipeline\x20(GLM5-31\x20§V3/V4):\x20analyze_intent\x20(intent\x20→\x20objects\x20+\x20puzzle\x20snapshots)\x20→\x20aggregate_risks\x20(puzzles\x20OR\x20intent\x20→\x20calibrated\x20risks\x20+\x20RISK_BLOCKED\x20status)\x20→\x20trace_substeps\x20(substep\x20records\x20→\x20DAG\x20coherence\x20+\x20D-10\x20verdict);\x20merchant_guide\x20=\x2010-step\x20onboarding\x20wizard\x20(stateless\x20guide_state,\x20never\x20executes\x20on-chain\x20—\x20materialize\x20via\x20onchain_operations).\x20All\x20four\x20are\x20pure\x20transformations.']},{'name':'monitor_events','summary':'Persistent\x20monitor\x20event\x20store\x20(shared\x20with\x20the\x20client\x20Monitor\x20page)\x20—\x20paginated\x20events\x20with\x20read\x20flags;\x20mark\x20read/unread.','actions':['query','mark_read','mark_all_read'],'notes':['Events\x20captured\x20by\x20the\x20resident\x20MonitorLoop\x20(client\x20sidecar,\x20or\x20stdio\x20MCP\x20server\x20with\x20MONITOR_LOOP=1)\x20across\x209\x20modules,\x20stored\x20APPEND-ONLY\x20in\x20SQLite\x20(survives\x20restarts)\x20with\x20per-event\x20read\x20flags.','query\x20=\x20paginated\x20newest-first\x20with\x20module/event_type/since/until\x20filters\x20+\x20module_counts/unread_by_module/total_unread;\x20relevant_only\x20(default\x20true)\x20restricts\x20to\x20scope-closure/focus/filter\x20hits\x20(de-noised\x20todo\x20stream);\x20with_reason\x20attaches\x20the\x20relevance\x20annotation\x20+\x20delivered\x20flag;\x20mark_read\x20=\x20idempotent\x20per-event\x20(\x27<eventSeq>:<txDigest>\x27);\x20mark_all_read\x20=\x20optionally\x20module-scoped.','Cross-process:\x20read\x20state\x20is\x20SHARED\x20with\x20the\x20client\x20app\x20(same\x20SQLite\x20store)\x20—\x20marking\x20read\x20here\x20clears\x20the\x20client\x20Monitor\x20unread\x20badge\x20and\x20vice\x20versa.']},{'name':'monitor_subscription','summary':'Monitor\x20subscription\x20config\x20—\x20scope-closure\x20rules,\x20focus\x20objects,\x20per-type\x20todo\x20switches,\x20conditional\x20filters;\x20scope\x20preview\x20+\x20filter\x20dry-run.','actions':['get','save','reset','scope_preview','test_filter'],'notes':['Single\x20configuration\x20entry\x20point\x20for\x20monitor\x20v4\x20(client\x20settings\x20panel\x20and\x20agents\x20share\x20it);\x20save/reset\x20merge\x20+\x20clamp\x20loop\x20params,\x20then\x20trigger\x20an\x20immediate\x20scope\x20re-resolve\x20and\x20schedule\x20a\x20backfill\x20when\x20the\x20closure\x20changed.','scope_preview\x20lists\x20the\x20resolved\x20closure\x20grouped\x20by\x20layer\x20(accounts/permissions/managed_objects/services/orders/order_children/focus)\x20with\x20pagination\x20—\x20inspect\x20before\x20tuning\x20rule\x20switches.','test_filter\x20dry-runs\x20a\x20filter\x20draft\x20over\x20the\x20most\x20recent\x20captured\x20events\x20(default\x20200,\x20max\x201000)\x20returning\x20matched/scanned\x20counts\x20+\x20up\x20to\x205\x20samples\x20—\x20preview\x20noise\x20BEFORE\x20saving.','Capture\x20is\x20unaffected\x20by\x20delivery\x20switches\x20EXCEPT\x20NewPaymentEvent\x20(captured\x20only\x20when\x20switched\x20ON).']},{'name':'industry_pack_operation','summary':'Industry\x20knowledge\x20pack\x20lifecycle\x20—\x20scaffold\x20(merged\x20v2\x20template),\x20scan/register,\x20layer\x20get,\x20diff,\x20reset-to-template,\x20plus\x20industry-dir\x20file\x20operations\x20and\x20the\x20industry\x20mode\x20registry\x20(GLM6/92\x20§E).','actions':['scaffold','list','scan','resolve','list_files','read_file','write_file','get','diff','reset','delete_file','create_file','create_dir','copy','move','rename','recommend_industry','list_modes','derive_user_mode','evolve_user_mode','register_user_mode','unregister_user_mode','register_custom_metric','register_custom_constraint','list_metrics_constraints'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20+\x20in-memory\x20registry;\x20never\x20mutates\x20chain\x20state.','Merged\x20v2\x20layout:\x20pack.json\x20(annotated\x20with\x20_schema/_doc\x20comment\x20fields\x20+\x20personae)\x20+\x20playbook.md;\x20legacy\x20split-file\x20layouts\x20still\x20read\x20for\x20backward\x20compatibility.','reset\x20restores\x20a\x20file\x20or\x20entire\x20pack\x20folder\x20to\x20its\x20pristine\x20annotated\x20template\x20—\x20user\x20edits\x20beyond\x20the\x20target\x20are\x20preserved.','Mode\x20registry\x20(GLM6/92\x20§E):\x20recommend_industry\x20(top-3\x20similar\x20industries\x20+\x20verified\x20reference\x20examples),\x20list_modes,\x20derive_user_mode\x20(customize\x20a\x20builtin),\x20evolve_user_mode,\x20register_user_mode\x20(fully\x20custom;\x20R-M1-11\x20enforced\x20on\x20machine_shape),\x20unregister_user_mode,\x20register_custom_metric\x20/\x20register_custom_constraint\x20(extend\x20evaluation\x20registries),\x20list_metrics_constraints.']},{'name':'workspace_operation','summary':'Local\x20workspace\x20directory\x20(`.wowok/workspace`)\x20—\x20generated\x20review\x20files\x20(machine/guard/wts/wip\x20JSON)\x20and\x20user\x20documents:\x20list/read/write\x20+\x20file\x20operations.','actions':['resolve','list','read','write','delete','create_file','create_dir','copy','move','rename'],'notes':['LOCAL\x20ONLY\x20—\x20filesystem\x20operations\x20confined\x20to\x20the\x20workspace\x20root;\x20never\x20mutates\x20chain\x20state.','read\x20is\x20the\x20supported\x20way\x20to\x20load\x20a\x20generated\x20JSON\x20as\x20AI\x20context\x20before\x20editing/submitting.']},{'name':'workflow_operation','summary':'Local-account\x20workflow\x20view\x20—\x20list\x20active\x20Progress\x20that\x20at\x20least\x20one\x20local\x20account\x20can\x20advance\x20(permission\x20+\x20guard\x20+\x20executable\x20accounts),\x20advance/hold/unhold\x20a\x20forward,\x20and\x20view\x20a\x20progress\x27s\x20on-chain\x20operation\x20history.','actions':['list','operate','history'],'notes':['list:\x20permission-aware\x20—\x20a\x20forward\x20is\x20executable\x20when\x20(a)\x20namedOperator=\x27\x27\x20and\x20account\x20is\x20order\x20holder,\x20(b)\x20namedOperator=name\x20and\x20account\x20is\x20in\x20progress.namedOperator[name],\x20or\x20(c)\x20permissionIndex\x20set\x20and\x20account\x20is\x20in\x20permission.admin/table.','operate:\x20delegates\x20to\x20the\x20on-chain\x20progress\x20operation\x20(guard-aware);\x20op\x20∈\x20next/hold/unhold/adminUnhold.','history:\x20incrementally\x20syncs\x20a\x20progress\x27s\x20ON-CHAIN\x20Progress.history\x20(append-only\x20u64\x20index)\x20into\x20the\x20local\x20SQLite\x20mirror\x20via\x20a\x20per-progress\x20cursor\x20(only\x20new\x20records\x20pulled),\x20returns\x20the\x20migration\x20timeline\x20newest-first\x20with\x20each\x20migration\x27s\x20session\x20snapshot\x20(forwards\x20/\x20operator\x20/\x20weight\x20/\x20time);\x20runs\x2090-day\x20retention\x20cleanup\x20by\x20default.']},{'name':'permission_operation','summary':'Local-account\x20Permission\x20overview\x20—\x20list\x20Permissions\x20related\x20to\x20local\x20accounts\x20(via\x20entity_permission\x20index)\x20with\x20owner/admin/entity\x20breakdown\x20+\x20related\x20objects\x20via\x20object-linker\x20indexes.','actions':['list'],'notes':['Read-only;\x20reverse-looks-up\x20local\x20accounts\x20via\x20entity_permission\x20@0xaad,\x20then\x20merges/dedups\x20permissions.','Related\x20objects\x20resolved\x20via\x20object-linker\x20reverse\x20indexes\x20(0xaae\x20core\x20/\x200xaaf\x20tx)\x20binding\x20edges,\x20grouped\x20by\x20type\x20via\x20first-byte\x20address\x20tag.','Latest\x20update\x20time\x20derived\x20from\x20the\x20Permission\x27s\x20previousTransaction.']}];export function getToolReference(a){return TOOLS_REFERENCE['find'](b=>b['name']===a);}export function searchToolReference(a){const b=a['toLowerCase']();return TOOLS_REFERENCE['filter'](c=>{if(c['name']['toLowerCase']()['includes'](b))return!![];if(c['summary']['toLowerCase']()['includes'](b))return!![];if(c['actions']?.['some'](d=>d['toLowerCase']()['includes'](b)))return!![];return![];});}export function getToolSequence(a){const b=getToolReference(a);if(!b)return undefined;return{'prerequisites':b['prerequisites']??[],'tool':b['name'],'follow_ups':b['follow_ups']??[]};}
|
|
@@ -17,8 +17,35 @@ export interface ParsedMachineNode {
|
|
|
17
17
|
export type NameResolver = (addr: string | undefined | null) => string | undefined;
|
|
18
18
|
export declare function resolvePermissionRole(index: number | undefined | null, permissionDescription?: string): string;
|
|
19
19
|
export declare const QUERY_OBJECTS_BATCH = 50;
|
|
20
|
+
export interface TableFieldEntry {
|
|
21
|
+
key: string;
|
|
22
|
+
objectId: string;
|
|
23
|
+
}
|
|
24
|
+
export interface BatchTableItem extends TableFieldEntry {
|
|
25
|
+
object?: any;
|
|
26
|
+
}
|
|
27
|
+
export interface BatchTableResult {
|
|
28
|
+
items: BatchTableItem[];
|
|
29
|
+
truncated: boolean;
|
|
30
|
+
}
|
|
31
|
+
interface FetchTableEntriesResult {
|
|
32
|
+
entries: TableFieldEntry[];
|
|
33
|
+
truncated: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function fetchTableEntries(parent: string, opts?: {
|
|
36
|
+
network?: string;
|
|
37
|
+
noCache?: boolean;
|
|
38
|
+
limit?: number;
|
|
39
|
+
maxItems?: number;
|
|
40
|
+
}): Promise<FetchTableEntriesResult>;
|
|
20
41
|
export declare function fetchAllFieldObjectIds(parent: string, network?: string, noCache?: boolean): Promise<string[]>;
|
|
21
42
|
export declare function batchQueryObjectsByIds(ids: string[], network?: string, noCache?: boolean): Promise<any[]>;
|
|
43
|
+
export declare function batchQueryTableItems(parent: string, opts?: {
|
|
44
|
+
network?: string;
|
|
45
|
+
noCache?: boolean;
|
|
46
|
+
limit?: number;
|
|
47
|
+
maxItems?: number;
|
|
48
|
+
}): Promise<BatchTableResult>;
|
|
22
49
|
export declare function fetchMachineNodes(machine: string, network?: string, noCache?: boolean): Promise<ParsedMachineNode[]>;
|
|
23
50
|
export interface GuidanceInput {
|
|
24
51
|
current: string;
|
|
@@ -136,6 +163,12 @@ export interface OrderContext {
|
|
|
136
163
|
builder: string;
|
|
137
164
|
agent: Set<string>;
|
|
138
165
|
}
|
|
166
|
+
export declare const ENTITY_REGISTRAR_OBJECT_ID = "0x0000000000000000000000000000000000000000000000000000000000000aab";
|
|
167
|
+
export declare const ENTITY_LINKER_OBJECT_ID = "0x0000000000000000000000000000000000000000000000000000000000000aaa";
|
|
168
|
+
export declare function batchReadAddressKeyedFields(parent: string, addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
169
|
+
export declare function batchReadU64KeyedFields(parent: string, indices: Array<number | string | bigint>, network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
170
|
+
export declare function batchFetchEntityRegistrar(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
171
|
+
export declare function batchFetchEntityLinker(addresses: string[], network?: string, noCache?: boolean): Promise<Map<string, any>>;
|
|
139
172
|
export declare const ENTITY_PERMISSION_OBJECT_ID = "0xaad";
|
|
140
173
|
export declare const ENTITY_PERMISSION_ROLES: {
|
|
141
174
|
readonly OWNER: 1;
|
|
@@ -161,6 +194,7 @@ export interface EntityContactContext {
|
|
|
161
194
|
items: EntityContactItem[];
|
|
162
195
|
byContact: Map<string, number>;
|
|
163
196
|
}
|
|
197
|
+
export declare function fetchEntityContact(entityAddr: string, network?: string, noCache?: boolean): Promise<EntityContactContext | undefined>;
|
|
164
198
|
export declare const ENTITY_ORDER_OBJECT_ID = "0xaa8";
|
|
165
199
|
export declare const ENTITY_ORDER_ROLES: {
|
|
166
200
|
readonly OWNER: 1;
|
|
@@ -192,6 +226,7 @@ export interface ObjectLinkerContext {
|
|
|
192
226
|
}
|
|
193
227
|
export declare function fetchObjectLinkerCore(targetAddr: string, network?: string, noCache?: boolean): Promise<ObjectLinkerContext | undefined>;
|
|
194
228
|
export declare function fetchObjectLinkerTx(targetAddr: string, network?: string, noCache?: boolean): Promise<ObjectLinkerContext | undefined>;
|
|
229
|
+
export declare function fetchServiceOrders(targetAddr: string, network?: string, noCache?: boolean): Promise<ObjectLinkerContext | undefined>;
|
|
195
230
|
export declare function fetchPermissionContext(permAddr: string, network?: string, noCache?: boolean): Promise<PermissionContext | undefined>;
|
|
196
231
|
export declare function fetchOrderContext(orderAddr: string, network?: string, noCache?: boolean): Promise<OrderContext | undefined>;
|
|
197
232
|
export declare function listLocalAccounts(): Promise<LocalAccountInfo[]>;
|
|
@@ -199,3 +234,4 @@ export declare function accountCanExecuteForward(f: ParsedForward, account: stri
|
|
|
199
234
|
name: string;
|
|
200
235
|
operators: string[];
|
|
201
236
|
}[], orderCtx: OrderContext | undefined, permCtx: PermissionContext | undefined): boolean;
|
|
237
|
+
export {};
|