@wowok/agent-mcp 2.7.2 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/runtime.js +1 -1
- package/dist/customer/account-events.d.ts +32 -0
- package/dist/customer/account-events.js +1 -0
- package/dist/customer/customer-advice.d.ts +1 -0
- package/dist/customer/customer-advice.js +1 -1
- package/dist/customer/info-puzzle.js +1 -1
- package/dist/customer/order-strategy.d.ts +1 -1
- package/dist/customer/reminder-system.d.ts +2 -0
- package/dist/customer/reminder-system.js +1 -1
- package/dist/customer/risk-assessment.d.ts +1 -0
- package/dist/customer/risk-assessment.js +1 -1
- package/dist/customer/types.d.ts +2 -0
- package/dist/evaluation/builtins/arbitration-score.d.ts +41 -0
- package/dist/evaluation/builtins/arbitration-score.js +1 -0
- package/dist/evaluation/builtins/index.d.ts +1 -0
- package/dist/evaluation/builtins/index.js +1 -1
- package/dist/evaluation/category-match-rules.d.ts +30 -0
- package/dist/evaluation/category-match-rules.js +1 -0
- package/dist/evaluation/engine.js +1 -1
- package/dist/evaluation/extract.js +1 -1
- package/dist/evaluation/index.d.ts +1 -0
- package/dist/evaluation/index.js +1 -1
- package/dist/evaluation/location-match.d.ts +42 -0
- package/dist/evaluation/location-match.js +1 -0
- package/dist/evaluation/path-reasoning.d.ts +35 -0
- package/dist/evaluation/path-reasoning.js +1 -0
- package/dist/evaluation/region.d.ts +6 -0
- package/dist/evaluation/region.js +1 -1
- package/dist/evaluation/types.d.ts +17 -0
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/experience/user-profile.d.ts +1 -1
- package/dist/extensions/index.d.ts +6 -0
- package/dist/extensions/index.js +1 -1
- package/dist/extensions/industry-layers.d.ts +75 -0
- package/dist/extensions/industry-layers.js +1 -0
- package/dist/extensions/industry-pack.d.ts +105 -0
- package/dist/extensions/industry-pack.js +1 -0
- package/dist/extensions/metric-registry.js +1 -1
- package/dist/extensions/mode-evaluator.d.ts +1 -1
- package/dist/extensions/registry.d.ts +1 -0
- package/dist/extensions/registry.js +1 -1
- package/dist/graph/base.d.ts +8 -0
- package/dist/graph/base.js +1 -0
- package/dist/harness/index.d.ts +1 -0
- package/dist/harness/index.js +1 -1
- package/dist/harness/plan.d.ts +2 -0
- package/dist/harness/plan.js +1 -1
- package/dist/harness/recover.d.ts +1 -1
- package/dist/harness/types.d.ts +2 -3
- package/dist/index.js +1 -1
- package/dist/knowledge/allocation-confirm.js +1 -1
- package/dist/knowledge/anti-cheat.d.ts +37 -0
- package/dist/knowledge/anti-cheat.js +1 -0
- package/dist/knowledge/arb-confirm.d.ts +28 -0
- package/dist/knowledge/arb-confirm.js +1 -0
- package/dist/knowledge/arb-translation.d.ts +48 -0
- package/dist/knowledge/arb-translation.js +1 -0
- package/dist/knowledge/arbitration-context.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/bridge-confirm.d.ts +26 -0
- package/dist/knowledge/bridge-confirm.js +1 -0
- package/dist/knowledge/bridge-translation.d.ts +37 -0
- package/dist/knowledge/bridge-translation.js +1 -0
- package/dist/knowledge/contact-confirm.d.ts +27 -0
- package/dist/knowledge/contact-confirm.js +1 -0
- package/dist/knowledge/contact-translation.d.ts +39 -0
- package/dist/knowledge/contact-translation.js +1 -0
- package/dist/knowledge/demand-confirm.js +1 -1
- package/dist/knowledge/demand-context.d.ts +17 -0
- package/dist/knowledge/demand-context.js +1 -0
- package/dist/knowledge/demand-ledger.d.ts +26 -0
- package/dist/knowledge/demand-ledger.js +1 -0
- package/dist/knowledge/demand-puzzle.d.ts +29 -0
- package/dist/knowledge/demand-puzzle.js +1 -0
- package/dist/knowledge/demand-risk.js +1 -1
- package/dist/knowledge/demand-templates.d.ts +12 -0
- package/dist/knowledge/demand-templates.js +1 -0
- package/dist/knowledge/demand-translation.js +1 -1
- package/dist/knowledge/deployment-scanner.js +1 -1
- package/dist/knowledge/evidence-review.d.ts +12 -0
- package/dist/knowledge/evidence-review.js +1 -0
- package/dist/knowledge/examples-scanner-cli.js +1 -1
- package/dist/knowledge/examples-scanner.js +1 -1
- package/dist/knowledge/flywheel-loop.d.ts +0 -1
- package/dist/knowledge/flywheel-loop.js +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-migration.d.ts +1 -1
- package/dist/knowledge/index.d.ts +71 -3
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/machine-render.js +1 -1
- package/dist/knowledge/market-metrics.d.ts +12 -0
- package/dist/knowledge/market-metrics.js +1 -0
- package/dist/knowledge/market-operations.d.ts +46 -0
- package/dist/knowledge/market-operations.js +1 -0
- package/dist/knowledge/mcp-schema-audit-cli.js +1 -1
- package/dist/knowledge/mcp-schema-audit.d.ts +22 -22
- package/dist/knowledge/mcp-schema-audit.js +1 -1
- package/dist/knowledge/onchain-constants.d.ts +2 -2
- package/dist/knowledge/onchain-constants.js +1 -1
- package/dist/knowledge/payment-confirm.d.ts +26 -0
- package/dist/knowledge/payment-confirm.js +1 -0
- package/dist/knowledge/payment-risk.js +1 -1
- package/dist/knowledge/payment-translation.d.ts +37 -0
- package/dist/knowledge/payment-translation.js +1 -0
- package/dist/knowledge/permission-context.d.ts +11 -0
- package/dist/knowledge/permission-context.js +1 -1
- package/dist/knowledge/permission-ledger.d.ts +11 -0
- package/dist/knowledge/permission-ledger.js +1 -1
- package/dist/knowledge/personal-confirm.d.ts +29 -0
- package/dist/knowledge/personal-confirm.js +1 -0
- package/dist/knowledge/personal-risk.js +1 -1
- package/dist/knowledge/personal-translation.d.ts +37 -0
- package/dist/knowledge/personal-translation.js +1 -0
- package/dist/knowledge/process-model.d.ts +1 -11
- package/dist/knowledge/process-model.js +1 -1
- package/dist/knowledge/progress-ledger.js +1 -1
- package/dist/knowledge/progress-risk.js +1 -1
- package/dist/knowledge/progress-templates.js +1 -1
- package/dist/knowledge/progress-translation.js +1 -1
- package/dist/knowledge/proof-context.d.ts +17 -0
- package/dist/knowledge/proof-context.js +1 -0
- package/dist/knowledge/proof-ledger.d.ts +34 -0
- package/dist/knowledge/proof-ledger.js +1 -0
- package/dist/knowledge/proof-puzzle.d.ts +35 -0
- package/dist/knowledge/proof-puzzle.js +1 -0
- package/dist/knowledge/proof-templates.d.ts +22 -0
- package/dist/knowledge/proof-templates.js +1 -0
- package/dist/knowledge/registrar-confirm.d.ts +26 -0
- package/dist/knowledge/registrar-confirm.js +1 -0
- package/dist/knowledge/registrar-risk.js +1 -1
- package/dist/knowledge/registrar-translation.d.ts +37 -0
- package/dist/knowledge/registrar-translation.js +1 -0
- package/dist/knowledge/repository-context.d.ts +12 -0
- package/dist/knowledge/repository-context.js +1 -0
- package/dist/knowledge/repository-ledger.d.ts +25 -0
- package/dist/knowledge/repository-ledger.js +1 -0
- package/dist/knowledge/repository-puzzle.d.ts +30 -0
- package/dist/knowledge/repository-puzzle.js +1 -0
- package/dist/knowledge/repository-templates.d.ts +14 -0
- package/dist/knowledge/repository-templates.js +1 -0
- package/dist/knowledge/resource-confirm.d.ts +25 -0
- package/dist/knowledge/resource-confirm.js +1 -0
- package/dist/knowledge/resource-translation.d.ts +37 -0
- package/dist/knowledge/resource-translation.js +1 -0
- package/dist/knowledge/reward-context.d.ts +2 -2
- package/dist/knowledge/reward-ledger.js +1 -1
- package/dist/knowledge/reward-translation.js +1 -1
- package/dist/knowledge/safety-rules.d.ts +1 -0
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/service-risk.d.ts +1 -1
- package/dist/knowledge/service-risk.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/treasury-context.d.ts +1 -1
- package/dist/knowledge/treasury-context.js +1 -1
- package/dist/knowledge/treasury-ledger.js +1 -1
- package/dist/knowledge/treasury-risk.js +1 -1
- package/dist/knowledge/universal-template.d.ts +22 -0
- package/dist/knowledge/universal-template.js +1 -0
- package/dist/knowledge/util-confirm.d.ts +24 -0
- package/dist/knowledge/util-confirm.js +1 -0
- package/dist/knowledge/util-risk.js +1 -1
- package/dist/knowledge/util-translation.d.ts +39 -0
- package/dist/knowledge/util-translation.js +1 -0
- package/dist/knowledge/workflow-guidance.d.ts +180 -0
- package/dist/knowledge/workflow-guidance.js +1 -0
- package/dist/participation/employee-kpi.d.ts +25 -0
- package/dist/participation/employee-kpi.js +1 -0
- package/dist/participation/employee-store.d.ts +16 -0
- package/dist/participation/employee-store.js +1 -0
- package/dist/participation/index.d.ts +2 -0
- package/dist/participation/index.js +1 -0
- package/dist/persona/defaults.js +1 -1
- package/dist/persona/index.d.ts +9 -2
- package/dist/persona/index.js +1 -1
- package/dist/persona/local-region.d.ts +20 -0
- package/dist/persona/local-region.js +1 -0
- package/dist/persona/model.js +1 -1
- package/dist/persona/overrides.d.ts +10 -0
- package/dist/persona/overrides.js +1 -0
- package/dist/persona/pack-personae.d.ts +11 -0
- package/dist/persona/pack-personae.js +1 -0
- package/dist/persona/strategy-intent.d.ts +20 -0
- package/dist/persona/strategy-intent.js +1 -0
- package/dist/persona/types.d.ts +3 -1
- package/dist/project/business-puzzle.d.ts +1 -1
- package/dist/project/business-puzzle.js +1 -1
- package/dist/project/deployment-doc.js +1 -1
- package/dist/project/edit-planner.js +1 -1
- package/dist/project/evaluation.d.ts +37 -1
- package/dist/project/evaluation.js +1 -1
- package/dist/project/graph-builder.d.ts +2 -2
- package/dist/project/graph-builder.js +1 -1
- package/dist/project/graph.d.ts +3 -6
- package/dist/project/handlers.d.ts +33 -2
- package/dist/project/handlers.js +1 -1
- package/dist/project/index.d.ts +1 -0
- package/dist/project/index.js +1 -1
- package/dist/project/merchant-guide.d.ts +19 -0
- package/dist/project/merchant-guide.js +1 -1
- package/dist/project/mode-actions.js +1 -1
- package/dist/project/rollback-policy.js +1 -1
- package/dist/project/semantic-assembler.d.ts +2 -2
- package/dist/project/semantic-assembler.js +1 -1
- package/dist/project/semantic-graph.d.ts +3 -5
- package/dist/project/workflow-design-assessment.d.ts +24 -0
- package/dist/project/workflow-design-assessment.js +1 -0
- package/dist/safety/confirm-gate.d.ts +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/allocation.d.ts +186 -1385
- package/dist/schema/call/arbitration.d.ts +272 -1871
- package/dist/schema/call/base.d.ts +1831 -9076
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +911 -3171
- package/dist/schema/call/contact.d.ts +135 -931
- package/dist/schema/call/demand.d.ts +164 -1194
- package/dist/schema/call/guard.d.ts +298 -1140
- package/dist/schema/call/guard.js +1 -1
- package/dist/schema/call/machine.d.ts +459 -5403
- package/dist/schema/call/machine.js +1 -1
- package/dist/schema/call/order.d.ts +137 -844
- package/dist/schema/call/payment.d.ts +74 -561
- package/dist/schema/call/permission.d.ts +335 -2791
- package/dist/schema/call/personal.d.ts +227 -1814
- package/dist/schema/call/progress.d.ts +140 -843
- package/dist/schema/call/proof.d.ts +42 -258
- package/dist/schema/call/repository.d.ts +324 -2222
- package/dist/schema/call/reward.d.ts +153 -1183
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +376 -3431
- package/dist/schema/call/treasury.d.ts +252 -2158
- package/dist/schema/common/index.d.ts +222 -697
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/config/index.d.ts +18 -161
- package/dist/schema/employee/index.d.ts +99 -0
- package/dist/schema/employee/index.js +1 -0
- package/dist/schema/evaluation/index.d.ts +1035 -3918
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +132 -0
- package/dist/schema/industry-pack/index.js +1 -0
- package/dist/schema/intent-radar/index.d.ts +92 -245
- package/dist/schema/intent-radar/index.js +1 -1
- package/dist/schema/local/index.d.ts +2045 -18080
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/local/wip.d.ts +61 -651
- package/dist/schema/local/wip.js +1 -1
- package/dist/schema/messenger/index.d.ts +949 -5557
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +3168 -26468
- package/dist/schema/operations.js +1 -1
- package/dist/schema/permission/index.d.ts +121 -0
- package/dist/schema/permission/index.js +1 -0
- package/dist/schema/persona/index.d.ts +469 -1820
- package/dist/schema/persona/index.js +1 -1
- package/dist/schema/project/index.d.ts +1023 -8450
- package/dist/schema/project/index.js +1 -1
- package/dist/schema/query/index.d.ts +12121 -75556
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +35 -98
- package/dist/schema/schema-query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/task-status.d.ts +26 -132
- package/dist/schema/trust/index.d.ts +194 -1290
- package/dist/schema/utils/guard-parser.js +1 -1
- package/dist/schema/utils/node-parser.js +1 -1
- package/dist/schema/utils/skills-recommendation.d.ts +1 -0
- package/dist/schema/utils/skills-recommendation.js +1 -1
- package/dist/schema/workflow/index.d.ts +161 -0
- package/dist/schema/workflow/index.js +1 -0
- package/dist/schema/workspace/index.d.ts +69 -0
- package/dist/schema/workspace/index.js +1 -0
- package/dist/{schema-query → schema-query-impl}/index.js +1 -1
- package/dist/schemas/account_operation.output.json +3147 -1655
- package/dist/schemas/account_operation.schema.json +225 -218
- package/dist/schemas/bridge_operation.output.json +1168 -653
- package/dist/schemas/bridge_operation.schema.json +736 -504
- package/dist/schemas/config_operation.output.json +185 -179
- package/dist/schemas/config_operation.schema.json +21 -26
- package/dist/schemas/employee_operation.output.json +207 -0
- package/dist/schemas/employee_operation.schema.json +176 -0
- package/dist/schemas/evaluation_operation.output.json +2268 -601
- package/dist/schemas/evaluation_operation.schema.json +2919 -787
- package/dist/schemas/guard2file.output.json +58 -64
- package/dist/schemas/guard2file.schema.json +79 -81
- package/dist/schemas/index.json +41 -11
- package/dist/schemas/industry_pack_operation.output.json +594 -0
- package/dist/schemas/industry_pack_operation.schema.json +55 -0
- package/dist/schemas/intent_radar.output.json +275 -203
- package/dist/schemas/intent_radar.schema.json +124 -126
- package/dist/schemas/local_info_operation.output.json +1174 -660
- package/dist/schemas/local_info_operation.schema.json +119 -125
- package/dist/schemas/local_mark_operation.output.json +1239 -692
- package/dist/schemas/local_mark_operation.schema.json +91 -96
- package/dist/schemas/machineNode2file.output.json +63 -69
- package/dist/schemas/machineNode2file.schema.json +79 -81
- package/dist/schemas/messenger_operation.output.json +2722 -1531
- package/dist/schemas/messenger_operation.schema.json +1482 -1264
- package/dist/schemas/onchain_events.output.json +2590 -978
- package/dist/schemas/onchain_events.schema.json +117 -99
- package/dist/schemas/onchain_operations.output.json +3957 -2312
- package/dist/schemas/onchain_operations.schema.json +20799 -9285
- package/dist/schemas/onchain_operations_allocation.schema.json +171 -107
- package/dist/schemas/onchain_operations_arbitration.schema.json +233 -146
- package/dist/schemas/onchain_operations_contact.schema.json +129 -90
- package/dist/schemas/onchain_operations_demand.schema.json +170 -112
- package/dist/schemas/onchain_operations_gen_passport.schema.json +61 -646
- package/dist/schemas/onchain_operations_gen_proof.schema.json +40 -172
- package/dist/schemas/onchain_operations_guard.schema.json +3765 -294
- package/dist/schemas/onchain_operations_machine.schema.json +536 -163
- package/dist/schemas/onchain_operations_order.schema.json +126 -96
- package/dist/schemas/onchain_operations_payment.schema.json +82 -67
- package/dist/schemas/onchain_operations_permission.schema.json +331 -93
- package/dist/schemas/onchain_operations_personal.schema.json +636 -96
- package/dist/schemas/onchain_operations_progress.schema.json +125 -92
- package/dist/schemas/onchain_operations_proof.schema.json +76 -69
- package/dist/schemas/onchain_operations_repository.schema.json +636 -249
- package/dist/schemas/onchain_operations_reward.schema.json +218 -108
- package/dist/schemas/onchain_operations_service.schema.json +678 -220
- package/dist/schemas/onchain_operations_treasury.schema.json +401 -135
- package/dist/schemas/onchain_table_data.output.json +6833 -2432
- package/dist/schemas/onchain_table_data.schema.json +684 -417
- package/dist/schemas/permission_operation.output.json +173 -0
- package/dist/schemas/permission_operation.schema.json +39 -0
- package/dist/schemas/persona_operation.output.json +1568 -268
- package/dist/schemas/persona_operation.schema.json +346 -205
- package/dist/schemas/project_operation.output.json +6922 -5132
- package/dist/schemas/project_operation.schema.json +1050 -1020
- package/dist/schemas/query_task_status.output.json +195 -99
- package/dist/schemas/query_task_status.schema.json +12 -18
- package/dist/schemas/query_toolkit.output.json +18862 -14561
- package/dist/schemas/query_toolkit.schema.json +614 -522
- package/dist/schemas/schema_query.output.json +127 -129
- package/dist/schemas/schema_query.schema.json +64 -69
- package/dist/schemas/trust_score.output.json +678 -587
- package/dist/schemas/trust_score.schema.json +289 -277
- package/dist/schemas/wip_file.output.json +116 -124
- package/dist/schemas/wip_file.schema.json +142 -143
- package/dist/schemas/workflow_operation.output.json +164 -0
- package/dist/schemas/workflow_operation.schema.json +116 -0
- package/dist/schemas/workspace_operation.output.json +277 -0
- package/dist/schemas/workspace_operation.schema.json +45 -0
- package/dist/schemas/wowok_buildin_info.output.json +1682 -844
- package/dist/schemas/wowok_buildin_info.schema.json +576 -526
- package/dist/tools/handlers/bridge.d.ts +8 -1
- package/dist/tools/handlers/bridge.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/employee.d.ts +2 -0
- package/dist/tools/handlers/employee.js +1 -0
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/file-export.js +1 -1
- package/dist/tools/handlers/industry-pack.d.ts +2 -0
- package/dist/tools/handlers/industry-pack.js +1 -0
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/permission.d.ts +2 -0
- package/dist/tools/handlers/permission.js +1 -0
- package/dist/tools/handlers/persona.js +1 -1
- package/dist/tools/handlers/project.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/handlers/trust.js +1 -1
- package/dist/tools/handlers/wip.js +1 -1
- package/dist/tools/handlers/workflow.d.ts +2 -0
- package/dist/tools/handlers/workflow.js +1 -0
- package/dist/tools/handlers/workspace.d.ts +4 -0
- package/dist/tools/handlers/workspace.js +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/rules-hook.d.ts +1 -1
- package/dist/tools/rules-hook.js +1 -1
- package/dist/tools/shared.d.ts +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/types.d.ts +2 -1
- package/package.json +4 -5
- package/dist/knowledge/arbitration-trust.d.ts +0 -24
- package/dist/knowledge/arbitration-trust.js +0 -1
- package/dist/schema/call/bridge-handler.d.ts +0 -8
- package/dist/schema/call/bridge-handler.js +0 -1
- package/dist/schema/sync-layer4.d.ts +0 -21
- package/dist/schema/sync-layer4.js +0 -1
- /package/dist/{schema-query → schema-query-impl}/index.d.ts +0 -0
|
@@ -2,30 +2,13 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://wowok.net/schemas/onchain_operations_machine.json",
|
|
4
4
|
"title": "Machine Operation",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "⚙️ Machine Object: Design and deploy automated workflow templates (Machines) that define how services are delivered, etc..",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"operation_type": {
|
|
9
|
+
"type": "string",
|
|
9
10
|
"const": "machine"
|
|
10
11
|
},
|
|
11
|
-
"data": {
|
|
12
|
-
"$ref": "#/definitions/data",
|
|
13
|
-
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
14
|
-
},
|
|
15
|
-
"env": {
|
|
16
|
-
"$ref": "#/definitions/env",
|
|
17
|
-
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
18
|
-
},
|
|
19
|
-
"submission": {
|
|
20
|
-
"$ref": "#/definitions/submission",
|
|
21
|
-
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"required": [
|
|
25
|
-
"operation_type",
|
|
26
|
-
"data"
|
|
27
|
-
],
|
|
28
|
-
"definitions": {
|
|
29
12
|
"data": {
|
|
30
13
|
"type": "object",
|
|
31
14
|
"properties": {
|
|
@@ -39,48 +22,55 @@
|
|
|
39
22
|
"type": "object",
|
|
40
23
|
"properties": {
|
|
41
24
|
"name": {
|
|
42
|
-
"
|
|
43
|
-
"
|
|
25
|
+
"description": "The name of the object",
|
|
26
|
+
"type": "string"
|
|
44
27
|
},
|
|
45
28
|
"tags": {
|
|
29
|
+
"description": "The tags of the object",
|
|
46
30
|
"type": "array",
|
|
47
31
|
"items": {
|
|
48
32
|
"type": "string"
|
|
49
|
-
}
|
|
50
|
-
"description": "The tags of the object"
|
|
33
|
+
}
|
|
51
34
|
},
|
|
52
35
|
"onChain": {
|
|
53
|
-
"
|
|
54
|
-
"
|
|
36
|
+
"description": "CRITICAL: Whether to sync the name to the blockchain. DEFAULT (undefined/false): The name is stored LOCALLY ONLY on your device (PRIVATE). If set to true: The name is published ON-CHAIN and becomes PUBLICLY VISIBLE to everyone. Only set to true for displaying the relationships you are willing to make public on the chain.",
|
|
37
|
+
"type": "boolean"
|
|
55
38
|
},
|
|
56
39
|
"replaceExistName": {
|
|
57
|
-
"
|
|
58
|
-
"
|
|
40
|
+
"description": "FORCE CLAIM: Set to true ONLY when the user explicitly expresses a STRONG INTENTION to forcefully take over an existing name (e.g., 'I must use this name', 'force rename', 'replace the existing one'). WARNING: This will UNBIND the name from its original object and rebind it to the new one, potentially breaking existing references. If not specified or false: the operation will FAIL with an error when the name is already in use (safe default behavior).",
|
|
41
|
+
"type": "boolean"
|
|
59
42
|
},
|
|
60
43
|
"permission": {
|
|
61
44
|
"anyOf": [
|
|
62
45
|
{
|
|
63
|
-
"
|
|
46
|
+
"type": "string",
|
|
64
47
|
"description": "String format: Reference an EXISTING object by its name (local mark) or on-chain object ID. Example: 'my-object' or '0x1234...'"
|
|
65
48
|
},
|
|
66
49
|
{
|
|
67
50
|
"type": "object",
|
|
68
51
|
"properties": {
|
|
69
52
|
"name": {
|
|
70
|
-
"
|
|
53
|
+
"description": "The name of the object",
|
|
54
|
+
"type": "string"
|
|
71
55
|
},
|
|
72
56
|
"tags": {
|
|
73
|
-
"
|
|
57
|
+
"description": "The tags of the object",
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
}
|
|
74
62
|
},
|
|
75
63
|
"onChain": {
|
|
76
|
-
"
|
|
64
|
+
"description": "CRITICAL: Whether to sync the name to the blockchain. DEFAULT (undefined/false): The name is stored LOCALLY ONLY on your device (PRIVATE). If set to true: The name is published ON-CHAIN and becomes PUBLICLY VISIBLE to everyone. Only set to true for displaying the relationships you are willing to make public on the chain.",
|
|
65
|
+
"type": "boolean"
|
|
77
66
|
},
|
|
78
67
|
"replaceExistName": {
|
|
79
|
-
"
|
|
68
|
+
"description": "FORCE CLAIM: Set to true ONLY when the user explicitly expresses a STRONG INTENTION to forcefully take over an existing name (e.g., 'I must use this name', 'force rename', 'replace the existing one'). WARNING: This will UNBIND the name from its original object and rebind it to the new one, potentially breaking existing references. If not specified or false: the operation will FAIL with an error when the name is already in use (safe default behavior).",
|
|
69
|
+
"type": "boolean"
|
|
80
70
|
},
|
|
81
71
|
"description": {
|
|
82
|
-
"
|
|
83
|
-
"
|
|
72
|
+
"description": "The description of the object",
|
|
73
|
+
"type": "string"
|
|
84
74
|
}
|
|
85
75
|
},
|
|
86
76
|
"additionalProperties": false,
|
|
@@ -97,36 +87,44 @@
|
|
|
97
87
|
"description": "Two ways to specify a Permission-managed object: (1) STRING - Reference an EXISTING Permission object by name or ID; (2) OBJECT - CREATE a NEW object with Permission access control, where the Permission can also be either referenced (string) or newly created (object). This is used when you need permission management but don't need to specify a token type."
|
|
98
88
|
},
|
|
99
89
|
"progress_new": {
|
|
90
|
+
"description": "Generate new Progress object.",
|
|
100
91
|
"type": "object",
|
|
101
92
|
"properties": {
|
|
102
93
|
"task": {
|
|
94
|
+
"description": "Task bound to the Progress object. It is an object ID or name",
|
|
103
95
|
"anyOf": [
|
|
104
96
|
{
|
|
105
|
-
"
|
|
97
|
+
"type": "string",
|
|
106
98
|
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
107
99
|
},
|
|
108
100
|
{
|
|
109
101
|
"type": "null"
|
|
110
102
|
}
|
|
111
|
-
]
|
|
112
|
-
"description": "Task bound to the Progress object. It is an object ID or name"
|
|
103
|
+
]
|
|
113
104
|
},
|
|
114
105
|
"repository": {
|
|
106
|
+
"description": "Set repository list for the Progress object. Used for consensus data management.",
|
|
115
107
|
"anyOf": [
|
|
116
108
|
{
|
|
117
109
|
"type": "object",
|
|
118
110
|
"properties": {
|
|
119
111
|
"op": {
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
112
|
+
"anyOf": [
|
|
113
|
+
{
|
|
114
|
+
"type": "string",
|
|
115
|
+
"const": "add"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"type": "string",
|
|
119
|
+
"const": "set"
|
|
120
|
+
}
|
|
124
121
|
]
|
|
125
122
|
},
|
|
126
123
|
"objects": {
|
|
127
124
|
"type": "array",
|
|
128
125
|
"items": {
|
|
129
|
-
"
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
130
128
|
},
|
|
131
129
|
"description": "List of object IDs or names to add or set"
|
|
132
130
|
}
|
|
@@ -147,7 +145,8 @@
|
|
|
147
145
|
"objects": {
|
|
148
146
|
"type": "array",
|
|
149
147
|
"items": {
|
|
150
|
-
"
|
|
148
|
+
"type": "string",
|
|
149
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
151
150
|
},
|
|
152
151
|
"description": "List of object IDs or names to remove"
|
|
153
152
|
}
|
|
@@ -171,18 +170,26 @@
|
|
|
171
170
|
],
|
|
172
171
|
"additionalProperties": false
|
|
173
172
|
}
|
|
174
|
-
]
|
|
175
|
-
"description": "Set repository list for the Progress object. Used for consensus data management."
|
|
173
|
+
]
|
|
176
174
|
},
|
|
177
175
|
"progress_namedOperator": {
|
|
176
|
+
"description": "Add, set, and remove operators for the permission namespace of the Progress object.",
|
|
178
177
|
"type": "object",
|
|
179
178
|
"properties": {
|
|
180
179
|
"op": {
|
|
181
|
-
"
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
180
|
+
"anyOf": [
|
|
181
|
+
{
|
|
182
|
+
"type": "string",
|
|
183
|
+
"const": "add"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"type": "string",
|
|
187
|
+
"const": "set"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "string",
|
|
191
|
+
"const": "remove"
|
|
192
|
+
}
|
|
186
193
|
]
|
|
187
194
|
},
|
|
188
195
|
"name": {
|
|
@@ -198,12 +205,12 @@
|
|
|
198
205
|
"type": "object",
|
|
199
206
|
"properties": {
|
|
200
207
|
"name_or_address": {
|
|
201
|
-
"
|
|
208
|
+
"type": "string",
|
|
202
209
|
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
203
210
|
},
|
|
204
211
|
"local_mark_first": {
|
|
205
|
-
"
|
|
206
|
-
"
|
|
212
|
+
"description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
|
|
213
|
+
"type": "boolean"
|
|
207
214
|
}
|
|
208
215
|
},
|
|
209
216
|
"additionalProperties": false,
|
|
@@ -211,8 +218,8 @@
|
|
|
211
218
|
}
|
|
212
219
|
},
|
|
213
220
|
"check_all_founded": {
|
|
214
|
-
"
|
|
215
|
-
"
|
|
221
|
+
"description": "Whether to check all entities are found, if true, all entities must be found (abort and throw exception if any ID not found); if false, only return found IDs",
|
|
222
|
+
"type": "boolean"
|
|
216
223
|
}
|
|
217
224
|
},
|
|
218
225
|
"required": [
|
|
@@ -227,44 +234,116 @@
|
|
|
227
234
|
"name",
|
|
228
235
|
"operators"
|
|
229
236
|
],
|
|
230
|
-
"additionalProperties": false
|
|
231
|
-
"description": "Add, set, and remove operators for the permission namespace of the Progress object."
|
|
237
|
+
"additionalProperties": false
|
|
232
238
|
},
|
|
233
239
|
"namedNew": {
|
|
234
240
|
"type": "object",
|
|
235
241
|
"properties": {
|
|
236
242
|
"name": {
|
|
237
|
-
"
|
|
243
|
+
"description": "The name of the object",
|
|
244
|
+
"type": "string"
|
|
238
245
|
},
|
|
239
246
|
"tags": {
|
|
240
|
-
"
|
|
247
|
+
"description": "The tags of the object",
|
|
248
|
+
"type": "array",
|
|
249
|
+
"items": {
|
|
250
|
+
"type": "string"
|
|
251
|
+
}
|
|
241
252
|
},
|
|
242
253
|
"onChain": {
|
|
243
|
-
"
|
|
254
|
+
"description": "CRITICAL: Whether to sync the name to the blockchain. DEFAULT (undefined/false): The name is stored LOCALLY ONLY on your device (PRIVATE). If set to true: The name is published ON-CHAIN and becomes PUBLICLY VISIBLE to everyone. Only set to true for displaying the relationships you are willing to make public on the chain.",
|
|
255
|
+
"type": "boolean"
|
|
244
256
|
},
|
|
245
257
|
"replaceExistName": {
|
|
246
|
-
"
|
|
258
|
+
"description": "FORCE CLAIM: Set to true ONLY when the user explicitly expresses a STRONG INTENTION to forcefully take over an existing name (e.g., 'I must use this name', 'force rename', 'replace the existing one'). WARNING: This will UNBIND the name from its original object and rebind it to the new one, potentially breaking existing references. If not specified or false: the operation will FAIL with an error when the name is already in use (safe default behavior).",
|
|
259
|
+
"type": "boolean"
|
|
247
260
|
}
|
|
248
261
|
},
|
|
249
262
|
"additionalProperties": false,
|
|
250
263
|
"description": "Assign a name and optional tags to a new object. By default, names are stored LOCALLY (private) on your device. Set 'onChain: true' to create a PUBLIC on-chain identity visible to everyone. IMPORTANT: If the requested name is already taken, the operation will FAIL by default. Only set 'replaceExistName: true' when the user EXPLICITLY demands to forcefully claim the name."
|
|
251
264
|
}
|
|
252
265
|
},
|
|
253
|
-
"additionalProperties": false
|
|
254
|
-
"description": "Generate new Progress object."
|
|
266
|
+
"additionalProperties": false
|
|
255
267
|
},
|
|
256
268
|
"description": {
|
|
257
|
-
"
|
|
258
|
-
"
|
|
269
|
+
"description": "Description of the object.",
|
|
270
|
+
"type": "string"
|
|
259
271
|
},
|
|
260
272
|
"repository": {
|
|
261
|
-
"
|
|
262
|
-
"
|
|
273
|
+
"description": "Set repository list for the object. Used for consensus data management.",
|
|
274
|
+
"anyOf": [
|
|
275
|
+
{
|
|
276
|
+
"type": "object",
|
|
277
|
+
"properties": {
|
|
278
|
+
"op": {
|
|
279
|
+
"anyOf": [
|
|
280
|
+
{
|
|
281
|
+
"type": "string",
|
|
282
|
+
"const": "add"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"type": "string",
|
|
286
|
+
"const": "set"
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
},
|
|
290
|
+
"objects": {
|
|
291
|
+
"type": "array",
|
|
292
|
+
"items": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
295
|
+
},
|
|
296
|
+
"description": "List of object IDs or names to add or set"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"required": [
|
|
300
|
+
"op",
|
|
301
|
+
"objects"
|
|
302
|
+
],
|
|
303
|
+
"additionalProperties": false
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"type": "object",
|
|
307
|
+
"properties": {
|
|
308
|
+
"op": {
|
|
309
|
+
"type": "string",
|
|
310
|
+
"const": "remove"
|
|
311
|
+
},
|
|
312
|
+
"objects": {
|
|
313
|
+
"type": "array",
|
|
314
|
+
"items": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
317
|
+
},
|
|
318
|
+
"description": "List of object IDs or names to remove"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
"required": [
|
|
322
|
+
"op",
|
|
323
|
+
"objects"
|
|
324
|
+
],
|
|
325
|
+
"additionalProperties": false
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"type": "object",
|
|
329
|
+
"properties": {
|
|
330
|
+
"op": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"const": "clear"
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"required": [
|
|
336
|
+
"op"
|
|
337
|
+
],
|
|
338
|
+
"additionalProperties": false
|
|
339
|
+
}
|
|
340
|
+
]
|
|
263
341
|
},
|
|
264
342
|
"node": {
|
|
343
|
+
"description": "CRITICAL: Choose ONE of two mutually exclusive modes:\n\n**Mode 1: NodeSchema (incremental operations)**\nUse for partial modifications: add, set, remove, clear, exchange, rename, remove prior node, add forward, remove forward.\nFormat: { \"op\": \"add\", \"nodes\": [...], \"bReplace\": false }\nThis mode modifies existing nodes incrementally.\n\n**Mode 2: NodeJsonOrMarkdownFileSchema (complete replacement)**\nUse for complete node redefinition from file.\nFormat: { \"json_or_markdown_file\": \"/path/to/nodes.json\" }\nIMPORTANT: This COMPLETELY REPLACES all existing nodes. File must contain node array [{...}, {...}], NOT an operation object with \"op\" field.\nSupported formats: JSON array or Markdown with code blocks.\nIf parsing fails, error includes line number and column information.",
|
|
265
344
|
"anyOf": [
|
|
266
345
|
{
|
|
267
|
-
"
|
|
346
|
+
"oneOf": [
|
|
268
347
|
{
|
|
269
348
|
"type": "object",
|
|
270
349
|
"properties": {
|
|
@@ -291,12 +370,16 @@
|
|
|
291
370
|
"description": "Previous node name. Empty string '' means initial entry node (the first node in the workflow)."
|
|
292
371
|
},
|
|
293
372
|
"threshold": {
|
|
294
|
-
"type": [
|
|
295
|
-
"number",
|
|
296
|
-
"string"
|
|
297
|
-
],
|
|
298
373
|
"default": 0,
|
|
299
|
-
"description": "Threshold to trigger node advancement. If total Forward weight is greater than or equal to threshold, node advancement is triggered."
|
|
374
|
+
"description": "Threshold to trigger node advancement. If total Forward weight is greater than or equal to threshold, node advancement is triggered.",
|
|
375
|
+
"anyOf": [
|
|
376
|
+
{
|
|
377
|
+
"type": "number"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"type": "string"
|
|
381
|
+
}
|
|
382
|
+
]
|
|
300
383
|
},
|
|
301
384
|
"forwards": {
|
|
302
385
|
"type": "array",
|
|
@@ -308,20 +391,18 @@
|
|
|
308
391
|
"description": "Forward name"
|
|
309
392
|
},
|
|
310
393
|
"namedOperator": {
|
|
394
|
+
"description": "Forward operation permission 1: Namespace (one of the two must be specified); recommended if Progress object operators are different (e.g., different delivery personnel for different orders).",
|
|
311
395
|
"anyOf": [
|
|
312
396
|
{
|
|
313
397
|
"type": "string"
|
|
314
398
|
},
|
|
315
399
|
{
|
|
316
400
|
"type": "null"
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
"not": {}
|
|
320
401
|
}
|
|
321
|
-
]
|
|
322
|
-
"description": "Forward operation permission 1: Namespace (one of the two must be specified); recommended if Progress object operators are different (e.g., different delivery personnel for different orders)."
|
|
402
|
+
]
|
|
323
403
|
},
|
|
324
404
|
"permissionIndex": {
|
|
405
|
+
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders).",
|
|
325
406
|
"anyOf": [
|
|
326
407
|
{
|
|
327
408
|
"type": "number"
|
|
@@ -331,21 +412,22 @@
|
|
|
331
412
|
},
|
|
332
413
|
{
|
|
333
414
|
"type": "null"
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
"not": {}
|
|
337
415
|
}
|
|
338
|
-
]
|
|
339
|
-
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders)."
|
|
416
|
+
]
|
|
340
417
|
},
|
|
341
418
|
"weight": {
|
|
342
|
-
"
|
|
343
|
-
|
|
344
|
-
|
|
419
|
+
"anyOf": [
|
|
420
|
+
{
|
|
421
|
+
"type": "number"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"type": "string"
|
|
425
|
+
}
|
|
345
426
|
],
|
|
346
427
|
"description": "Forward weight"
|
|
347
428
|
},
|
|
348
429
|
"guard": {
|
|
430
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
|
|
349
431
|
"anyOf": [
|
|
350
432
|
{
|
|
351
433
|
"anyOf": [
|
|
@@ -357,18 +439,25 @@
|
|
|
357
439
|
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
358
440
|
},
|
|
359
441
|
"retained_submission": {
|
|
442
|
+
"description": "Data submitted by user during Guard object verification",
|
|
360
443
|
"anyOf": [
|
|
361
444
|
{
|
|
362
445
|
"type": "array",
|
|
363
446
|
"items": {
|
|
364
|
-
"
|
|
447
|
+
"anyOf": [
|
|
448
|
+
{
|
|
449
|
+
"type": "number"
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"type": "string"
|
|
453
|
+
}
|
|
454
|
+
]
|
|
365
455
|
}
|
|
366
456
|
},
|
|
367
457
|
{
|
|
368
458
|
"type": "null"
|
|
369
459
|
}
|
|
370
|
-
]
|
|
371
|
-
"description": "Data submitted by user during Guard object verification"
|
|
460
|
+
]
|
|
372
461
|
}
|
|
373
462
|
},
|
|
374
463
|
"required": [
|
|
@@ -386,8 +475,7 @@
|
|
|
386
475
|
{
|
|
387
476
|
"type": "null"
|
|
388
477
|
}
|
|
389
|
-
]
|
|
390
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires."
|
|
478
|
+
]
|
|
391
479
|
}
|
|
392
480
|
},
|
|
393
481
|
"required": [
|
|
@@ -402,6 +490,7 @@
|
|
|
402
490
|
},
|
|
403
491
|
"required": [
|
|
404
492
|
"prev_node",
|
|
493
|
+
"threshold",
|
|
405
494
|
"forwards"
|
|
406
495
|
],
|
|
407
496
|
"additionalProperties": false,
|
|
@@ -420,8 +509,8 @@
|
|
|
420
509
|
"description": "List of nodes to add or set."
|
|
421
510
|
},
|
|
422
511
|
"bReplace": {
|
|
423
|
-
"
|
|
424
|
-
"
|
|
512
|
+
"description": "Whether to replace existing nodes. If true, existing nodes will be replaced; if false, nodes will be added by merging.",
|
|
513
|
+
"type": "boolean"
|
|
425
514
|
}
|
|
426
515
|
},
|
|
427
516
|
"required": [
|
|
@@ -441,13 +530,163 @@
|
|
|
441
530
|
"nodes": {
|
|
442
531
|
"type": "array",
|
|
443
532
|
"items": {
|
|
444
|
-
"
|
|
533
|
+
"type": "object",
|
|
534
|
+
"properties": {
|
|
535
|
+
"name": {
|
|
536
|
+
"type": "string",
|
|
537
|
+
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
538
|
+
},
|
|
539
|
+
"pairs": {
|
|
540
|
+
"type": "array",
|
|
541
|
+
"items": {
|
|
542
|
+
"type": "object",
|
|
543
|
+
"properties": {
|
|
544
|
+
"prev_node": {
|
|
545
|
+
"type": "string",
|
|
546
|
+
"description": "Previous node name. Empty string '' means initial entry node (the first node in the workflow)."
|
|
547
|
+
},
|
|
548
|
+
"threshold": {
|
|
549
|
+
"default": 0,
|
|
550
|
+
"description": "Threshold to trigger node advancement. If total Forward weight is greater than or equal to threshold, node advancement is triggered.",
|
|
551
|
+
"anyOf": [
|
|
552
|
+
{
|
|
553
|
+
"type": "number"
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"type": "string"
|
|
557
|
+
}
|
|
558
|
+
]
|
|
559
|
+
},
|
|
560
|
+
"forwards": {
|
|
561
|
+
"type": "array",
|
|
562
|
+
"items": {
|
|
563
|
+
"type": "object",
|
|
564
|
+
"properties": {
|
|
565
|
+
"name": {
|
|
566
|
+
"type": "string",
|
|
567
|
+
"description": "Forward name"
|
|
568
|
+
},
|
|
569
|
+
"namedOperator": {
|
|
570
|
+
"description": "Forward operation permission 1: Namespace (one of the two must be specified); recommended if Progress object operators are different (e.g., different delivery personnel for different orders).",
|
|
571
|
+
"anyOf": [
|
|
572
|
+
{
|
|
573
|
+
"type": "string"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"type": "null"
|
|
577
|
+
}
|
|
578
|
+
]
|
|
579
|
+
},
|
|
580
|
+
"permissionIndex": {
|
|
581
|
+
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders).",
|
|
582
|
+
"anyOf": [
|
|
583
|
+
{
|
|
584
|
+
"type": "number"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"type": "string"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"type": "null"
|
|
591
|
+
}
|
|
592
|
+
]
|
|
593
|
+
},
|
|
594
|
+
"weight": {
|
|
595
|
+
"anyOf": [
|
|
596
|
+
{
|
|
597
|
+
"type": "number"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"type": "string"
|
|
601
|
+
}
|
|
602
|
+
],
|
|
603
|
+
"description": "Forward weight"
|
|
604
|
+
},
|
|
605
|
+
"guard": {
|
|
606
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
|
|
607
|
+
"anyOf": [
|
|
608
|
+
{
|
|
609
|
+
"anyOf": [
|
|
610
|
+
{
|
|
611
|
+
"type": "object",
|
|
612
|
+
"properties": {
|
|
613
|
+
"guard": {
|
|
614
|
+
"type": "string",
|
|
615
|
+
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
616
|
+
},
|
|
617
|
+
"retained_submission": {
|
|
618
|
+
"description": "Data submitted by user during Guard object verification",
|
|
619
|
+
"anyOf": [
|
|
620
|
+
{
|
|
621
|
+
"type": "array",
|
|
622
|
+
"items": {
|
|
623
|
+
"anyOf": [
|
|
624
|
+
{
|
|
625
|
+
"type": "number"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"type": "string"
|
|
629
|
+
}
|
|
630
|
+
]
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"type": "null"
|
|
635
|
+
}
|
|
636
|
+
]
|
|
637
|
+
}
|
|
638
|
+
},
|
|
639
|
+
"required": [
|
|
640
|
+
"guard"
|
|
641
|
+
],
|
|
642
|
+
"additionalProperties": false,
|
|
643
|
+
"description": "OBJECT form: {guard: '<guard_name_or_address>', retained_submission?: number[]}. Use this form when you need to pass retained_submission data alongside the Guard reference."
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"type": "string",
|
|
647
|
+
"description": "STRING form (shorthand): the Guard object's name or address as a plain string. Auto-wrapped to {guard: <string>} at runtime. Use this when you only need to reference a Guard without retained_submission."
|
|
648
|
+
}
|
|
649
|
+
]
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"type": "null"
|
|
653
|
+
}
|
|
654
|
+
]
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
"required": [
|
|
658
|
+
"name",
|
|
659
|
+
"weight"
|
|
660
|
+
],
|
|
661
|
+
"additionalProperties": false,
|
|
662
|
+
"description": "Forward in Machine object"
|
|
663
|
+
},
|
|
664
|
+
"description": "Forward list — operations to ENTER THIS NODE from prev_node. SEMANTIC CLARIFICATION: forwards describe INCOMING transitions (how to ARRIVE at this node), NOT outgoing transitions. Think of each forward as an 'entry door' to this node. Example: pair {prev_node:'A', forwards:[{name:'Go'}]} means 'use Go to advance FROM A TO THIS NODE'. For initial node (prev_node=''), forwards are operations to enter this node from the start state. DIAGRAM: A --[Go]--> B means the pair belongs to node B (destination), with prev_node='A'. WARNING: forwards belong to the DESTINATION node's pair, NOT the source node. Placing a forward on the wrong pair will cause Progress to get stuck."
|
|
665
|
+
}
|
|
666
|
+
},
|
|
667
|
+
"required": [
|
|
668
|
+
"prev_node",
|
|
669
|
+
"threshold",
|
|
670
|
+
"forwards"
|
|
671
|
+
],
|
|
672
|
+
"additionalProperties": false,
|
|
673
|
+
"description": "Node pair in Machine object"
|
|
674
|
+
},
|
|
675
|
+
"description": "Node pair list"
|
|
676
|
+
}
|
|
677
|
+
},
|
|
678
|
+
"required": [
|
|
679
|
+
"name",
|
|
680
|
+
"pairs"
|
|
681
|
+
],
|
|
682
|
+
"additionalProperties": false,
|
|
683
|
+
"description": "Node in Machine object"
|
|
445
684
|
},
|
|
446
685
|
"description": "List of nodes to add or set."
|
|
447
686
|
},
|
|
448
687
|
"bReplace": {
|
|
449
|
-
"
|
|
450
|
-
"
|
|
688
|
+
"description": "Whether to replace existing nodes. If true, existing nodes will be replaced; if false, nodes will be added by merging.",
|
|
689
|
+
"type": "boolean"
|
|
451
690
|
}
|
|
452
691
|
},
|
|
453
692
|
"required": [
|
|
@@ -467,7 +706,7 @@
|
|
|
467
706
|
"nodes": {
|
|
468
707
|
"type": "array",
|
|
469
708
|
"items": {
|
|
470
|
-
"
|
|
709
|
+
"type": "string"
|
|
471
710
|
},
|
|
472
711
|
"description": "List of node names to delete."
|
|
473
712
|
}
|
|
@@ -501,11 +740,11 @@
|
|
|
501
740
|
"const": "exchange"
|
|
502
741
|
},
|
|
503
742
|
"node_one": {
|
|
504
|
-
"
|
|
743
|
+
"type": "string",
|
|
505
744
|
"description": "Name of the first node."
|
|
506
745
|
},
|
|
507
746
|
"node_other": {
|
|
508
|
-
"
|
|
747
|
+
"type": "string",
|
|
509
748
|
"description": "Name of the second node."
|
|
510
749
|
}
|
|
511
750
|
},
|
|
@@ -525,11 +764,11 @@
|
|
|
525
764
|
"const": "rename"
|
|
526
765
|
},
|
|
527
766
|
"node_name_old": {
|
|
528
|
-
"
|
|
767
|
+
"type": "string",
|
|
529
768
|
"description": "Name of thenode."
|
|
530
769
|
},
|
|
531
770
|
"node_name_new": {
|
|
532
|
-
"
|
|
771
|
+
"type": "string",
|
|
533
772
|
"description": "New name of the node."
|
|
534
773
|
}
|
|
535
774
|
},
|
|
@@ -556,12 +795,12 @@
|
|
|
556
795
|
"prior_node_name": {
|
|
557
796
|
"type": "array",
|
|
558
797
|
"items": {
|
|
559
|
-
"
|
|
798
|
+
"type": "string"
|
|
560
799
|
},
|
|
561
800
|
"description": "List of previous node names to delete."
|
|
562
801
|
},
|
|
563
802
|
"node_name": {
|
|
564
|
-
"
|
|
803
|
+
"type": "string",
|
|
565
804
|
"description": "Name of the next node."
|
|
566
805
|
}
|
|
567
806
|
},
|
|
@@ -594,31 +833,131 @@
|
|
|
594
833
|
"type": "object",
|
|
595
834
|
"properties": {
|
|
596
835
|
"prior_node_name": {
|
|
597
|
-
"
|
|
836
|
+
"type": "string",
|
|
598
837
|
"description": "Name of the previous node."
|
|
599
838
|
},
|
|
600
839
|
"node_name": {
|
|
601
|
-
"
|
|
840
|
+
"type": "string",
|
|
602
841
|
"description": "Name of the next node."
|
|
603
842
|
},
|
|
604
843
|
"forward": {
|
|
605
844
|
"type": "array",
|
|
606
845
|
"items": {
|
|
607
|
-
"
|
|
846
|
+
"type": "object",
|
|
847
|
+
"properties": {
|
|
848
|
+
"name": {
|
|
849
|
+
"type": "string",
|
|
850
|
+
"description": "Forward name"
|
|
851
|
+
},
|
|
852
|
+
"namedOperator": {
|
|
853
|
+
"description": "Forward operation permission 1: Namespace (one of the two must be specified); recommended if Progress object operators are different (e.g., different delivery personnel for different orders).",
|
|
854
|
+
"anyOf": [
|
|
855
|
+
{
|
|
856
|
+
"type": "string"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"type": "null"
|
|
860
|
+
}
|
|
861
|
+
]
|
|
862
|
+
},
|
|
863
|
+
"permissionIndex": {
|
|
864
|
+
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders).",
|
|
865
|
+
"anyOf": [
|
|
866
|
+
{
|
|
867
|
+
"type": "number"
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
"type": "string"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"type": "null"
|
|
874
|
+
}
|
|
875
|
+
]
|
|
876
|
+
},
|
|
877
|
+
"weight": {
|
|
878
|
+
"anyOf": [
|
|
879
|
+
{
|
|
880
|
+
"type": "number"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"type": "string"
|
|
884
|
+
}
|
|
885
|
+
],
|
|
886
|
+
"description": "Forward weight"
|
|
887
|
+
},
|
|
888
|
+
"guard": {
|
|
889
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
|
|
890
|
+
"anyOf": [
|
|
891
|
+
{
|
|
892
|
+
"anyOf": [
|
|
893
|
+
{
|
|
894
|
+
"type": "object",
|
|
895
|
+
"properties": {
|
|
896
|
+
"guard": {
|
|
897
|
+
"type": "string",
|
|
898
|
+
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
899
|
+
},
|
|
900
|
+
"retained_submission": {
|
|
901
|
+
"description": "Data submitted by user during Guard object verification",
|
|
902
|
+
"anyOf": [
|
|
903
|
+
{
|
|
904
|
+
"type": "array",
|
|
905
|
+
"items": {
|
|
906
|
+
"anyOf": [
|
|
907
|
+
{
|
|
908
|
+
"type": "number"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"type": "string"
|
|
912
|
+
}
|
|
913
|
+
]
|
|
914
|
+
}
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"type": "null"
|
|
918
|
+
}
|
|
919
|
+
]
|
|
920
|
+
}
|
|
921
|
+
},
|
|
922
|
+
"required": [
|
|
923
|
+
"guard"
|
|
924
|
+
],
|
|
925
|
+
"additionalProperties": false,
|
|
926
|
+
"description": "OBJECT form: {guard: '<guard_name_or_address>', retained_submission?: number[]}. Use this form when you need to pass retained_submission data alongside the Guard reference."
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"type": "string",
|
|
930
|
+
"description": "STRING form (shorthand): the Guard object's name or address as a plain string. Auto-wrapped to {guard: <string>} at runtime. Use this when you only need to reference a Guard without retained_submission."
|
|
931
|
+
}
|
|
932
|
+
]
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"type": "null"
|
|
936
|
+
}
|
|
937
|
+
]
|
|
938
|
+
}
|
|
939
|
+
},
|
|
940
|
+
"required": [
|
|
941
|
+
"name",
|
|
942
|
+
"weight"
|
|
943
|
+
],
|
|
944
|
+
"additionalProperties": false,
|
|
945
|
+
"description": "Forward in Machine object"
|
|
608
946
|
},
|
|
609
947
|
"description": "List of operations between the previous and next nodes."
|
|
610
948
|
},
|
|
611
949
|
"threshold": {
|
|
950
|
+
"description": "Threshold of operations that need to be completed to migrate from the previous node to the next node.",
|
|
612
951
|
"anyOf": [
|
|
613
952
|
{
|
|
614
953
|
"type": "integer",
|
|
615
|
-
"minimum": 0
|
|
954
|
+
"minimum": 0,
|
|
955
|
+
"maximum": 9007199254740991
|
|
616
956
|
},
|
|
617
957
|
{
|
|
618
958
|
"type": "null"
|
|
619
959
|
}
|
|
620
|
-
]
|
|
621
|
-
"description": "Threshold of operations that need to be completed to migrate from the previous node to the next node."
|
|
960
|
+
]
|
|
622
961
|
}
|
|
623
962
|
},
|
|
624
963
|
"required": [
|
|
@@ -651,17 +990,17 @@
|
|
|
651
990
|
"type": "object",
|
|
652
991
|
"properties": {
|
|
653
992
|
"prior_node_name": {
|
|
654
|
-
"
|
|
993
|
+
"type": "string",
|
|
655
994
|
"description": "Name of the previous node."
|
|
656
995
|
},
|
|
657
996
|
"node_name": {
|
|
658
|
-
"
|
|
997
|
+
"type": "string",
|
|
659
998
|
"description": "Name of the next node."
|
|
660
999
|
},
|
|
661
1000
|
"forward_name": {
|
|
662
1001
|
"type": "array",
|
|
663
1002
|
"items": {
|
|
664
|
-
"
|
|
1003
|
+
"type": "string"
|
|
665
1004
|
},
|
|
666
1005
|
"description": "List of operation names to delete."
|
|
667
1006
|
}
|
|
@@ -698,18 +1037,18 @@
|
|
|
698
1037
|
],
|
|
699
1038
|
"additionalProperties": false
|
|
700
1039
|
}
|
|
701
|
-
]
|
|
702
|
-
"description": "CRITICAL: Choose ONE of two mutually exclusive modes:\n\n**Mode 1: NodeSchema (incremental operations)**\nUse for partial modifications: add, set, remove, clear, exchange, rename, remove prior node, add forward, remove forward.\nFormat: { \"op\": \"add\", \"nodes\": [...], \"bReplace\": false }\nThis mode modifies existing nodes incrementally.\n\n**Mode 2: NodeJsonOrMarkdownFileSchema (complete replacement)**\nUse for complete node redefinition from file.\nFormat: { \"json_or_markdown_file\": \"/path/to/nodes.json\" }\nIMPORTANT: This COMPLETELY REPLACES all existing nodes. File must contain node array [{...}, {...}], NOT an operation object with \"op\" field.\nSupported formats: JSON array or Markdown with code blocks.\nIf parsing fails, error includes line number and column information."
|
|
1040
|
+
]
|
|
703
1041
|
},
|
|
704
1042
|
"pause": {
|
|
705
|
-
"
|
|
706
|
-
"
|
|
1043
|
+
"description": "Whether to pause generating new Progress objects.",
|
|
1044
|
+
"type": "boolean"
|
|
707
1045
|
},
|
|
708
1046
|
"publish": {
|
|
709
|
-
"
|
|
710
|
-
"
|
|
1047
|
+
"description": "Whether to publish the object. After the object is published, new Progress objects can be generated; and node settings will no longer be changeable.",
|
|
1048
|
+
"type": "boolean"
|
|
711
1049
|
},
|
|
712
1050
|
"owner_receive": {
|
|
1051
|
+
"description": "Unwrap CoinWrapper objects and other objects received by this Machine object and send them to the owner of its Permission object.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received objects.\n Use this for the common case: \"withdraw everything the object has received.\"\n Example: receive: 'recently'\n• ReceivedNormal[] (array) — explicit list of received objects to unwrap.\n Use this when you want to receive specific objects only (not all).\n Example: receive: [{id: '0xobj1', type: '0x2::coin::Coin<0x2::sui::SUI>'}]\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a balance record from a specific Payment/payer.\n Use this for precise balance targeting (advanced — usually after querying\n the object's received history via query_received).\n Example: receive: {token_type: '0x2::sui::SUI', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
713
1052
|
"anyOf": [
|
|
714
1053
|
{
|
|
715
1054
|
"type": "array",
|
|
@@ -742,9 +1081,13 @@
|
|
|
742
1081
|
"type": "object",
|
|
743
1082
|
"properties": {
|
|
744
1083
|
"balance": {
|
|
745
|
-
"
|
|
746
|
-
|
|
747
|
-
|
|
1084
|
+
"anyOf": [
|
|
1085
|
+
{
|
|
1086
|
+
"type": "number"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"type": "string"
|
|
1090
|
+
}
|
|
748
1091
|
],
|
|
749
1092
|
"description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
|
|
750
1093
|
},
|
|
@@ -762,7 +1105,15 @@
|
|
|
762
1105
|
"description": "Received CoinWrapper object ID"
|
|
763
1106
|
},
|
|
764
1107
|
"balance": {
|
|
765
|
-
"
|
|
1108
|
+
"anyOf": [
|
|
1109
|
+
{
|
|
1110
|
+
"type": "number"
|
|
1111
|
+
},
|
|
1112
|
+
{
|
|
1113
|
+
"type": "string"
|
|
1114
|
+
}
|
|
1115
|
+
],
|
|
1116
|
+
"description": "A coin/balance amount. Accepts three formats: (1) DISPLAY FORMAT with token symbol: \"2.5WOW\", \"10USDC\", \"0.05SUI\" — auto-converted to smallest units via the Fund Processing Layer (token precision resolved from official registry → cache → on-chain). The symbol MUST match the token's type_parameter. (2) SMALLEST UNIT (numeric string): \"10000000000\" — used as-is, no conversion. (3) SMALLEST UNIT (number): 10000000000 — used as-is (loses precision above 2^53). PRECISION RULE: for values exceeding 2^53, ALWAYS use format (1) or (2) — JS numbers lose precision. Default token: WOW (9 decimals, 1 WOW = 10^9 MIST). For custom tokens: use display format with the token's symbol, or pass smallest units directly. MONEY CONFIRMATION: all monetary fields trigger user confirmation via the Fund Processing Layer. If multiple tokens share a symbol (ambiguity), specify the full type string in type_parameter. Examples: \"2.5WOW\" (display → 2500000000), 10000000000 (number, smallest unit), \"50000000000\" (string, smallest unit). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
|
|
766
1117
|
},
|
|
767
1118
|
"payment": {
|
|
768
1119
|
"type": "string",
|
|
@@ -792,19 +1143,19 @@
|
|
|
792
1143
|
"type": "string",
|
|
793
1144
|
"const": "recently"
|
|
794
1145
|
}
|
|
795
|
-
]
|
|
796
|
-
"description": "Unwrap CoinWrapper objects and other objects received by this Machine object and send them to the owner of its Permission object.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received objects.\n Use this for the common case: \"withdraw everything the object has received.\"\n Example: receive: 'recently'\n• ReceivedNormal[] (array) — explicit list of received objects to unwrap.\n Use this when you want to receive specific objects only (not all).\n Example: receive: [{id: '0xobj1', type: '0x2::coin::Coin<0x2::sui::SUI>'}]\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a balance record from a specific Payment/payer.\n Use this for precise balance targeting (advanced — usually after querying\n the object's received history via query_received).\n Example: receive: {token_type: '0x2::sui::SUI', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly."
|
|
1146
|
+
]
|
|
797
1147
|
},
|
|
798
1148
|
"um": {
|
|
1149
|
+
"description": "Contact object ID or name.",
|
|
799
1150
|
"anyOf": [
|
|
800
1151
|
{
|
|
801
|
-
"
|
|
1152
|
+
"type": "string",
|
|
1153
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
802
1154
|
},
|
|
803
1155
|
{
|
|
804
1156
|
"type": "null"
|
|
805
1157
|
}
|
|
806
|
-
]
|
|
807
|
-
"description": "Contact object ID or name."
|
|
1158
|
+
]
|
|
808
1159
|
}
|
|
809
1160
|
},
|
|
810
1161
|
"required": [
|
|
@@ -817,20 +1168,20 @@
|
|
|
817
1168
|
"type": "object",
|
|
818
1169
|
"properties": {
|
|
819
1170
|
"account": {
|
|
1171
|
+
"default": "",
|
|
820
1172
|
"type": "string",
|
|
821
|
-
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
822
|
-
"default": ""
|
|
1173
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
823
1174
|
},
|
|
824
1175
|
"permission_guard": {
|
|
1176
|
+
"description": "List of permission guard IDs. Used to extend additional operation permissions (requires verification and configuration in the Permission object).",
|
|
825
1177
|
"type": "array",
|
|
826
1178
|
"items": {
|
|
827
1179
|
"type": "string"
|
|
828
|
-
}
|
|
829
|
-
"description": "List of permission guard IDs. Used to extend additional operation permissions (requires verification and configuration in the Permission object)."
|
|
1180
|
+
}
|
|
830
1181
|
},
|
|
831
1182
|
"no_cache": {
|
|
832
|
-
"
|
|
833
|
-
"
|
|
1183
|
+
"description": "Whether to disable caching.",
|
|
1184
|
+
"type": "boolean"
|
|
834
1185
|
},
|
|
835
1186
|
"network": {
|
|
836
1187
|
"type": "string",
|
|
@@ -842,38 +1193,42 @@
|
|
|
842
1193
|
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Use project_operation action='clone_project_to_network' to clone the project blueprint to the target network, then re-run onchain_operations with env.network=target_network to deploy."
|
|
843
1194
|
},
|
|
844
1195
|
"referrer": {
|
|
845
|
-
"
|
|
846
|
-
"
|
|
1196
|
+
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded.",
|
|
1197
|
+
"type": "string"
|
|
847
1198
|
},
|
|
848
1199
|
"confirmed": {
|
|
849
|
-
"
|
|
850
|
-
"
|
|
1200
|
+
"description": "Phase 2 ConfirmGate: set to true to proceed after a 'pending_confirmation' result. The operation is NOT executed until you re-call with confirmed=true after user consent.",
|
|
1201
|
+
"type": "boolean"
|
|
851
1202
|
},
|
|
852
1203
|
"user_intent_phrases": {
|
|
1204
|
+
"description": "Phase 2 ConfirmGate: explicit user intent phrases collected from conversation context (e.g. 'use default account', 'force publish'). Used to bypass confirmation rules whose bypass_on_explicit_intent matches.",
|
|
853
1205
|
"type": "array",
|
|
854
1206
|
"items": {
|
|
855
1207
|
"type": "string"
|
|
856
|
-
}
|
|
857
|
-
"description": "Phase 2 ConfirmGate: explicit user intent phrases collected from conversation context (e.g. 'use default account', 'force publish'). Used to bypass confirmation rules whose bypass_on_explicit_intent matches."
|
|
1208
|
+
}
|
|
858
1209
|
},
|
|
859
1210
|
"project": {
|
|
860
|
-
"
|
|
861
|
-
"
|
|
1211
|
+
"description": "Project prefix to assign this object to (e.g. 'myshop'). When set: 1) the object is tagged with 'project:<prefix>' on-chain automatically via ProjectService, 2) the newly created object is auto-associated to the SQLite project for local management, evaluation, and graph tracking. The project MUST exist (create via project_operation action='create_project' first). Use project_operation to manage projects.",
|
|
1212
|
+
"type": "string"
|
|
862
1213
|
},
|
|
863
1214
|
"client_schema_version": {
|
|
864
|
-
"
|
|
865
|
-
"
|
|
1215
|
+
"description": "Client-side schema version (semver, e.g. '1.0.0'). When provided, the server checks compatibility and attaches warnings if mismatched.",
|
|
1216
|
+
"type": "string"
|
|
866
1217
|
},
|
|
867
1218
|
"schema_strict_mode": {
|
|
868
|
-
"type": "boolean",
|
|
869
1219
|
"default": false,
|
|
870
|
-
"description": "When true, schema incompatibility returns an error instead of a warning. Default: false (warn mode)."
|
|
1220
|
+
"description": "When true, schema incompatibility returns an error instead of a warning. Default: false (warn mode).",
|
|
1221
|
+
"type": "boolean"
|
|
871
1222
|
},
|
|
872
1223
|
"dry_run": {
|
|
873
|
-
"
|
|
874
|
-
"
|
|
1224
|
+
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify an operation will succeed before committing. Essential for the 5-step loop's Plan step. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
1225
|
+
"type": "boolean"
|
|
875
1226
|
}
|
|
876
1227
|
},
|
|
1228
|
+
"required": [
|
|
1229
|
+
"account",
|
|
1230
|
+
"schema_strict_mode"
|
|
1231
|
+
],
|
|
877
1232
|
"additionalProperties": false,
|
|
878
1233
|
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection ([object Object]), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used."
|
|
879
1234
|
},
|
|
@@ -886,6 +1241,7 @@
|
|
|
886
1241
|
"description": "Discriminator for this result variant. Constraint: always 'submission'. Example: 'submission'"
|
|
887
1242
|
},
|
|
888
1243
|
"guard": {
|
|
1244
|
+
"maxItems": 20,
|
|
889
1245
|
"type": "array",
|
|
890
1246
|
"items": {
|
|
891
1247
|
"type": "object",
|
|
@@ -905,7 +1261,6 @@
|
|
|
905
1261
|
],
|
|
906
1262
|
"additionalProperties": false
|
|
907
1263
|
},
|
|
908
|
-
"maxItems": 20,
|
|
909
1264
|
"description": "Array of Guard objects to verify. Constraint: at most 20 entries (MAX_GUARD_COUNT_PASSPORT). Relation: each entry corresponds to a Guard bound to the operation."
|
|
910
1265
|
},
|
|
911
1266
|
"submission": {
|
|
@@ -914,7 +1269,7 @@
|
|
|
914
1269
|
"type": "object",
|
|
915
1270
|
"properties": {
|
|
916
1271
|
"guard": {
|
|
917
|
-
"
|
|
1272
|
+
"type": "string",
|
|
918
1273
|
"description": "Guard object name or ID that requires submission data. Example: 'my-delivery-guard'"
|
|
919
1274
|
},
|
|
920
1275
|
"submission": {
|
|
@@ -1223,6 +1578,7 @@
|
|
|
1223
1578
|
"description": "Type of the value stored in `value`. One of: Bool(0), Address(1), String(2), U8(3), U16(4), U32(5), U64(6), U128(7), U256(8), VecBool(9), VecAddress(10), VecString(11), VecU8(12), VecU16(13), VecU32(14), VecU64(15), VecU128(16), VecU256(17), VecVecU8(18). When value_type=Address (1), the `value` field accepts a hex address string, a LocalMark name, or an AccountOrMark_Address object — see `value` field description for details."
|
|
1224
1579
|
},
|
|
1225
1580
|
"value": {
|
|
1581
|
+
"description": "The actual value data. Format depends on `value_type`:\n• Bool: true/false (boolean)\n• Address (CRITICAL — string 'Address' is NOT a placeholder): a hex address (e.g. '0x1234...'), a LocalMark name (e.g. 'my-service' — resolved to address at evaluation time), an AccountOrMark_Address object (e.g. {name_or_address:'my-service'}), or system shorthand ('0xaaa' = EntityLinker, '0xaab' = EntityRegistrar). The literal string 'Address' itself is INVALID — it would be treated as a non-existent LocalMark name and fail. Example: value='0x2::wow::WOW<address>' or value='my-permission'.\n• String: any string\n• U8/U16/U32/U64/U128/U256: number or numeric string (e.g. 42 or '42')\n• Vec* types: arrays of the corresponding element type\nREQUIRED when b_submission=false. OPTIONAL when b_submission=true (value is supplied at evaluation time by user submission).",
|
|
1226
1582
|
"anyOf": [
|
|
1227
1583
|
{
|
|
1228
1584
|
"type": "boolean"
|
|
@@ -1233,12 +1589,12 @@
|
|
|
1233
1589
|
"type": "object",
|
|
1234
1590
|
"properties": {
|
|
1235
1591
|
"name_or_address": {
|
|
1236
|
-
"
|
|
1592
|
+
"type": "string",
|
|
1237
1593
|
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
1238
1594
|
},
|
|
1239
1595
|
"local_mark_first": {
|
|
1240
|
-
"
|
|
1241
|
-
"
|
|
1596
|
+
"description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
|
|
1597
|
+
"type": "boolean"
|
|
1242
1598
|
}
|
|
1243
1599
|
},
|
|
1244
1600
|
"additionalProperties": false,
|
|
@@ -1269,12 +1625,24 @@
|
|
|
1269
1625
|
"entities": {
|
|
1270
1626
|
"type": "array",
|
|
1271
1627
|
"items": {
|
|
1272
|
-
"
|
|
1628
|
+
"type": "object",
|
|
1629
|
+
"properties": {
|
|
1630
|
+
"name_or_address": {
|
|
1631
|
+
"type": "string",
|
|
1632
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters)."
|
|
1633
|
+
},
|
|
1634
|
+
"local_mark_first": {
|
|
1635
|
+
"description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks",
|
|
1636
|
+
"type": "boolean"
|
|
1637
|
+
}
|
|
1638
|
+
},
|
|
1639
|
+
"additionalProperties": false,
|
|
1640
|
+
"description": "Account or address lookup object. Use this to specify which account to use for an operation. EXAMPLE: { name_or_address: 'testor2' } - looks up account by name; EXAMPLE: { name_or_address: '0x1234...' } - uses address directly; If name_or_address is empty string '', uses the default local account."
|
|
1273
1641
|
}
|
|
1274
1642
|
},
|
|
1275
1643
|
"check_all_founded": {
|
|
1276
|
-
"
|
|
1277
|
-
"
|
|
1644
|
+
"description": "Whether to check all entities are found, if true, all entities must be found (abort and throw exception if any ID not found); if false, only return found IDs",
|
|
1645
|
+
"type": "boolean"
|
|
1278
1646
|
}
|
|
1279
1647
|
},
|
|
1280
1648
|
"required": [
|
|
@@ -1312,15 +1680,15 @@
|
|
|
1312
1680
|
}
|
|
1313
1681
|
}
|
|
1314
1682
|
}
|
|
1315
|
-
]
|
|
1316
|
-
"description": "The actual value data. Format depends on `value_type`:\n• Bool: true/false (boolean)\n• Address (CRITICAL — string 'Address' is NOT a placeholder): a hex address (e.g. '0x1234...'), a LocalMark name (e.g. 'my-service' — resolved to address at evaluation time), an AccountOrMark_Address object (e.g. {name_or_address:'my-service'}), or system shorthand ('0xaaa' = EntityLinker, '0xaab' = EntityRegistrar). The literal string 'Address' itself is INVALID — it would be treated as a non-existent LocalMark name and fail. Example: value='0x2::wow::WOW<address>' or value='my-permission'.\n• String: any string\n• U8/U16/U32/U64/U128/U256: number or numeric string (e.g. 42 or '42')\n• Vec* types: arrays of the corresponding element type\nREQUIRED when b_submission=false. OPTIONAL when b_submission=true (value is supplied at evaluation time by user submission)."
|
|
1683
|
+
]
|
|
1317
1684
|
},
|
|
1318
1685
|
"name": {
|
|
1319
|
-
"type": "string",
|
|
1320
1686
|
"default": "",
|
|
1321
|
-
"description": "Data name identifier. MAX 64 BCS characters (Chinese chars count as 3-4 BCS bytes each). Use short identifiers like 'order_id', 'delivery_node'. Put longer descriptions in the Guard's 'description' field, NOT here."
|
|
1687
|
+
"description": "Data name identifier. MAX 64 BCS characters (Chinese chars count as 3-4 BCS bytes each). Use short identifiers like 'order_id', 'delivery_node'. Put longer descriptions in the Guard's 'description' field, NOT here.",
|
|
1688
|
+
"type": "string"
|
|
1322
1689
|
},
|
|
1323
1690
|
"object_type": {
|
|
1691
|
+
"description": "OUTPUT-ONLY (query side): Object type when value_type is Address and represents a specific object. Auto-derived by the system — DO NOT set this field at Guard creation.",
|
|
1324
1692
|
"type": "string",
|
|
1325
1693
|
"enum": [
|
|
1326
1694
|
"Permission",
|
|
@@ -1355,14 +1723,14 @@
|
|
|
1355
1723
|
"TableItem_EntityLinker",
|
|
1356
1724
|
"TableItem_AddressMark",
|
|
1357
1725
|
"TableItem_EntityRegistrar"
|
|
1358
|
-
]
|
|
1359
|
-
"description": "OUTPUT-ONLY (query side): Object type when value_type is Address and represents a specific object. Auto-derived by the system — DO NOT set this field at Guard creation."
|
|
1726
|
+
]
|
|
1360
1727
|
}
|
|
1361
1728
|
},
|
|
1362
1729
|
"required": [
|
|
1363
1730
|
"identifier",
|
|
1364
1731
|
"b_submission",
|
|
1365
|
-
"value_type"
|
|
1732
|
+
"value_type",
|
|
1733
|
+
"name"
|
|
1366
1734
|
],
|
|
1367
1735
|
"additionalProperties": false,
|
|
1368
1736
|
"description": "Guard table item (QUERY/OUTPUT form — includes auto-derived object_type field)"
|
|
@@ -1388,5 +1756,10 @@
|
|
|
1388
1756
|
"additionalProperties": false,
|
|
1389
1757
|
"description": "Guard verification required. The operation was blocked because one or more Guards require user-submitted data. Fill the submission array and resubmit. Semantic status is 'pending_input'."
|
|
1390
1758
|
}
|
|
1391
|
-
}
|
|
1759
|
+
},
|
|
1760
|
+
"required": [
|
|
1761
|
+
"operation_type",
|
|
1762
|
+
"data"
|
|
1763
|
+
],
|
|
1764
|
+
"additionalProperties": false
|
|
1392
1765
|
}
|