@wowok/agent-mcp 2.5.5 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/dist/config/runtime.js +3 -6
- package/dist/extensions/capability-manifest.d.ts +125 -0
- package/dist/extensions/capability-manifest.js +594 -0
- package/dist/extensions/constraint-registry.d.ts +24 -0
- package/dist/extensions/constraint-registry.js +196 -0
- package/dist/extensions/index.d.ts +12 -0
- package/dist/extensions/index.js +6 -0
- package/dist/extensions/metric-registry.d.ts +26 -0
- package/dist/extensions/metric-registry.js +257 -0
- package/dist/extensions/mode-evaluator.d.ts +15 -0
- package/dist/extensions/mode-evaluator.js +170 -0
- package/dist/extensions/modes.d.ts +2 -0
- package/dist/extensions/modes.js +407 -0
- package/dist/extensions/registry.d.ts +48 -0
- package/dist/extensions/registry.js +629 -0
- package/dist/extensions/types.d.ts +218 -0
- package/dist/extensions/types.js +1 -0
- package/dist/harness/checkpoint.js +2 -2
- package/dist/knowledge/deployment-scanner.d.ts +3 -0
- package/dist/knowledge/deployment-scanner.js +64 -3
- package/dist/knowledge/flywheel-loop.js +2 -5
- package/dist/knowledge/guard-risk.d.ts +13 -0
- package/dist/knowledge/guard-risk.js +57 -0
- package/dist/knowledge/guard-templates.js +278 -0
- package/dist/knowledge/machine-templates.js +20 -1
- package/dist/knowledge/overrides-loader.js +2 -4
- package/dist/knowledge/progress-ledger.js +3 -0
- package/dist/knowledge/progress-translation.js +5 -1
- package/dist/knowledge/service-confirm.d.ts +14 -5
- package/dist/knowledge/service-confirm.js +116 -8
- package/dist/knowledge/tool-constraints.js +6 -2
- package/dist/loop-engineering/improve.js +2 -4
- package/dist/project/deployment-bridge.d.ts +5 -0
- package/dist/project/deployment-bridge.js +119 -0
- package/dist/project/deployment-doc.d.ts +3 -0
- package/dist/project/deployment-doc.js +72 -10
- package/dist/project/evaluation.d.ts +2 -0
- package/dist/project/evaluation.js +578 -86
- package/dist/project/graph-builder.d.ts +4 -1
- package/dist/project/graph-builder.js +141 -63
- package/dist/project/graph.d.ts +1 -0
- package/dist/project/handlers.d.ts +221 -5
- package/dist/project/handlers.js +933 -14
- package/dist/project/index.js +2 -6
- package/dist/project/project-store.js +2 -5
- package/dist/project/stage-gate.d.ts +4 -0
- package/dist/project/stage-gate.js +64 -5
- package/dist/project/task-tracker.d.ts +26 -0
- package/dist/project/task-tracker.js +78 -0
- package/dist/safety/preview.js +16 -0
- package/dist/schema/call/allocation.d.ts +16 -16
- package/dist/schema/call/base.d.ts +21 -13
- package/dist/schema/call/base.js +27 -6
- package/dist/schema/call/bridge.d.ts +5 -5
- package/dist/schema/call/bridge.js +3 -1
- package/dist/schema/call/demand.d.ts +23 -31
- package/dist/schema/call/guard.js +1 -1
- package/dist/schema/call/machine.d.ts +402 -376
- package/dist/schema/call/order.d.ts +149 -228
- package/dist/schema/call/order.js +7 -3
- package/dist/schema/call/payment.d.ts +183 -3
- package/dist/schema/call/payment.js +21 -3
- package/dist/schema/call/personal.d.ts +241 -52
- package/dist/schema/call/progress.d.ts +53 -61
- package/dist/schema/call/progress.js +18 -4
- package/dist/schema/call/repository.d.ts +23 -31
- package/dist/schema/call/semantic.d.ts +1 -1
- package/dist/schema/call/semantic.js +30 -1
- package/dist/schema/call/service.d.ts +95 -119
- package/dist/schema/call/service.js +22 -1
- package/dist/schema/common/index.d.ts +11 -2
- package/dist/schema/common/index.js +43 -14
- package/dist/schema/config/index.d.ts +12 -12
- package/dist/schema/local/index.d.ts +140 -143
- package/dist/schema/local/index.js +44 -23
- package/dist/schema/messenger/index.d.ts +290 -62
- package/dist/schema/messenger/index.js +2 -2
- package/dist/schema/operations.d.ts +680 -545
- package/dist/schema/operations.js +22 -0
- package/dist/schema/project/index.d.ts +2064 -84
- package/dist/schema/project/index.js +354 -12
- package/dist/schema/query/index.d.ts +715 -354
- package/dist/schema/query/index.js +164 -31
- package/dist/schema/schema-query/index.d.ts +15 -3
- package/dist/schema/schema-query/index.js +23 -5
- package/dist/schema/trust/index.d.ts +8 -8
- package/dist/schema/utils/node-parser.js +7 -4
- package/dist/schema-query/index.d.ts +7 -1
- package/dist/schema-query/index.js +204 -4
- package/dist/schemas/account_operation.output.json +14 -22
- package/dist/schemas/account_operation.schema.json +11 -25
- package/dist/schemas/bridge_operation.output.json +6 -0
- package/dist/schemas/bridge_operation.schema.json +1 -1
- package/dist/schemas/guard-templates.json +379 -0
- package/dist/schemas/guard2file.schema.json +1 -1
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/local_info_operation.output.json +6 -0
- package/dist/schemas/local_mark_operation.output.json +7 -1
- package/dist/schemas/local_mark_operation.schema.json +1 -1
- package/dist/schemas/machineNode2file.schema.json +1 -1
- package/dist/schemas/messenger_operation.schema.json +10 -10
- package/dist/schemas/onchain_events.output.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +348 -296
- package/dist/schemas/onchain_operations_allocation.schema.json +34 -25
- package/dist/schemas/onchain_operations_arbitration.schema.json +8 -8
- package/dist/schemas/onchain_operations_contact.schema.json +8 -8
- package/dist/schemas/onchain_operations_demand.schema.json +8 -8
- package/dist/schemas/onchain_operations_gen_passport.schema.json +14 -14
- package/dist/schemas/onchain_operations_gen_proof.schema.json +2 -2
- package/dist/schemas/onchain_operations_guard.schema.json +1 -1
- package/dist/schemas/onchain_operations_machine.schema.json +41 -33
- package/dist/schemas/onchain_operations_order.schema.json +71 -77
- package/dist/schemas/onchain_operations_payment.schema.json +141 -111
- package/dist/schemas/onchain_operations_permission.schema.json +2 -2
- package/dist/schemas/onchain_operations_personal.schema.json +7 -7
- package/dist/schemas/onchain_operations_progress.schema.json +8 -8
- package/dist/schemas/onchain_operations_proof.schema.json +7 -7
- package/dist/schemas/onchain_operations_repository.schema.json +8 -8
- package/dist/schemas/onchain_operations_reward.schema.json +10 -10
- package/dist/schemas/onchain_operations_service.schema.json +46 -35
- package/dist/schemas/onchain_operations_treasury.schema.json +8 -8
- package/dist/schemas/onchain_table_data.output.json +33 -25
- package/dist/schemas/onchain_table_data.schema.json +12 -12
- package/dist/schemas/project_operation.output.json +1352 -20
- package/dist/schemas/project_operation.schema.json +53 -4
- package/dist/schemas/query_toolkit.output.json +111 -82
- package/dist/schemas/query_toolkit.schema.json +9 -13
- package/dist/schemas/schema_query.output.json +7 -3
- package/dist/schemas/schema_query.schema.json +17 -3
- package/dist/telemetry/storage.js +2 -2
- package/dist/tools/handlers/local.js +20 -5
- package/dist/tools/handlers/onchain.js +36 -0
- package/dist/tools/handlers/project.js +72 -1
- package/dist/tools/handlers/query.js +27 -0
- package/dist/tools/handlers/schema-query.js +19 -0
- package/dist/tools/handlers/task-status.d.ts +170 -0
- package/dist/tools/handlers/task-status.js +55 -0
- package/dist/tools/handlers/wip.js +47 -1
- package/dist/tools/index.js +212 -8
- package/dist/tools/retry.d.ts +8 -0
- package/dist/tools/retry.js +85 -0
- package/dist/tools/wip-deploy-assist.d.ts +28 -0
- package/dist/tools/wip-deploy-assist.js +278 -0
- package/package.json +2 -2
- package/dist/schemas/guard-node-examples.md +0 -199
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
"properties": {
|
|
289
289
|
"prev_node": {
|
|
290
290
|
"type": "string",
|
|
291
|
-
"description": "Previous node name"
|
|
291
|
+
"description": "Previous node name. Empty string '' means initial entry node (the first node in the workflow)."
|
|
292
292
|
},
|
|
293
293
|
"threshold": {
|
|
294
294
|
"type": [
|
|
@@ -348,38 +348,46 @@
|
|
|
348
348
|
"guard": {
|
|
349
349
|
"anyOf": [
|
|
350
350
|
{
|
|
351
|
-
"
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
"
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
"anyOf": [
|
|
359
|
-
{
|
|
360
|
-
"type": "array",
|
|
361
|
-
"items": {
|
|
362
|
-
"$ref": "#/definitions/data/properties/node/anyOf/0/anyOf/0/properties/nodes/items/properties/pairs/items/properties/threshold"
|
|
363
|
-
}
|
|
351
|
+
"anyOf": [
|
|
352
|
+
{
|
|
353
|
+
"type": "object",
|
|
354
|
+
"properties": {
|
|
355
|
+
"guard": {
|
|
356
|
+
"type": "string",
|
|
357
|
+
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
364
358
|
},
|
|
365
|
-
{
|
|
366
|
-
"
|
|
359
|
+
"retained_submission": {
|
|
360
|
+
"anyOf": [
|
|
361
|
+
{
|
|
362
|
+
"type": "array",
|
|
363
|
+
"items": {
|
|
364
|
+
"$ref": "#/definitions/data/properties/node/anyOf/0/anyOf/0/properties/nodes/items/properties/pairs/items/properties/threshold"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"type": "null"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"description": "Data submitted by user during Guard object verification"
|
|
367
372
|
}
|
|
373
|
+
},
|
|
374
|
+
"required": [
|
|
375
|
+
"guard"
|
|
368
376
|
],
|
|
369
|
-
"
|
|
377
|
+
"additionalProperties": false,
|
|
378
|
+
"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."
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"type": "string",
|
|
382
|
+
"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."
|
|
370
383
|
}
|
|
371
|
-
|
|
372
|
-
"required": [
|
|
373
|
-
"guard"
|
|
374
|
-
],
|
|
375
|
-
"additionalProperties": false,
|
|
376
|
-
"description": "Record of Guard object in MachineForwardGuard object"
|
|
384
|
+
]
|
|
377
385
|
},
|
|
378
386
|
{
|
|
379
387
|
"type": "null"
|
|
380
388
|
}
|
|
381
389
|
],
|
|
382
|
-
"description": "Guard
|
|
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)."
|
|
383
391
|
}
|
|
384
392
|
},
|
|
385
393
|
"required": [
|
|
@@ -389,7 +397,7 @@
|
|
|
389
397
|
"additionalProperties": false,
|
|
390
398
|
"description": "Forward in Machine object"
|
|
391
399
|
},
|
|
392
|
-
"description": "Forward list"
|
|
400
|
+
"description": "Forward list — operations to ENTER THIS NODE from prev_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. 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."
|
|
393
401
|
}
|
|
394
402
|
},
|
|
395
403
|
"required": [
|
|
@@ -738,7 +746,7 @@
|
|
|
738
746
|
"number",
|
|
739
747
|
"string"
|
|
740
748
|
],
|
|
741
|
-
"description": "
|
|
749
|
+
"description": "A coin/balance amount in the smallest on-chain unit (u64). Accepts a JS number OR a numeric string. PRECISION RULE: for values exceeding 2^53 (e.g. token amounts with 18 decimals), ALWAYS pass a numeric STRING (e.g. \"1000000000000000000\") to preserve precision — JS numbers lose precision above 2^53. UNIT: this is the smallest unit, NOT the display unit. For SUI: 1 SUI = 10^9 MIST, so 10 SUI = 10000000000. For custom tokens: use the token's native smallest unit (decimals from coin metadata). Examples: 10000000000 (10 SUI), \"1000000000000000000\" (1 token with 18 decimals), 500 (500 units of a token with 0 decimals). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
|
|
742
750
|
},
|
|
743
751
|
"token_type": {
|
|
744
752
|
"type": "string",
|
|
@@ -831,7 +839,7 @@
|
|
|
831
839
|
"testnet",
|
|
832
840
|
"mainnet"
|
|
833
841
|
],
|
|
834
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on"
|
|
842
|
+
"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."
|
|
835
843
|
},
|
|
836
844
|
"referrer": {
|
|
837
845
|
"$ref": "#/definitions/env/properties/account",
|
|
@@ -1211,7 +1219,7 @@
|
|
|
1211
1219
|
"description": "vecvecu8"
|
|
1212
1220
|
}
|
|
1213
1221
|
],
|
|
1214
|
-
"description": "Type of the value"
|
|
1222
|
+
"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."
|
|
1215
1223
|
},
|
|
1216
1224
|
"value": {
|
|
1217
1225
|
"anyOf": [
|
|
@@ -1304,12 +1312,12 @@
|
|
|
1304
1312
|
}
|
|
1305
1313
|
}
|
|
1306
1314
|
],
|
|
1307
|
-
"description": "The actual value data"
|
|
1315
|
+
"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)."
|
|
1308
1316
|
},
|
|
1309
1317
|
"name": {
|
|
1310
1318
|
"type": "string",
|
|
1311
1319
|
"default": "",
|
|
1312
|
-
"description": "
|
|
1320
|
+
"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."
|
|
1313
1321
|
},
|
|
1314
1322
|
"object_type": {
|
|
1315
1323
|
"type": "string",
|
|
@@ -1347,7 +1355,7 @@
|
|
|
1347
1355
|
"TableItem_AddressMark",
|
|
1348
1356
|
"TableItem_EntityRegistrar"
|
|
1349
1357
|
],
|
|
1350
|
-
"description": "Object type when value_type is Address and represents a specific object"
|
|
1358
|
+
"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."
|
|
1351
1359
|
}
|
|
1352
1360
|
},
|
|
1353
1361
|
"required": [
|
|
@@ -1356,7 +1364,7 @@
|
|
|
1356
1364
|
"value_type"
|
|
1357
1365
|
],
|
|
1358
1366
|
"additionalProperties": false,
|
|
1359
|
-
"description": "Guard table item"
|
|
1367
|
+
"description": "Guard table item (QUERY/OUTPUT form — includes auto-derived object_type field)"
|
|
1360
1368
|
},
|
|
1361
1369
|
"description": "User-submitted data matching the Guard's required fields. Relation: structure must match the Guard table's column definitions. Example: [{field:'delivery_proof', value:'Qm...'}]"
|
|
1362
1370
|
}
|
|
@@ -1368,7 +1376,7 @@
|
|
|
1368
1376
|
"additionalProperties": false,
|
|
1369
1377
|
"description": "One Guard's submission data: the Guard to verify plus the user-provided data that satisfies its requirements."
|
|
1370
1378
|
},
|
|
1371
|
-
"description": "User-submitted data for each Guard. Relation: one entry per Guard in the guard array; fill submission fields and resubmit via call_with_submission."
|
|
1379
|
+
"description": "User-submitted data for each Guard. Relation: one entry per Guard in the guard array; fill submission fields and resubmit via call_with_submission. PLACEMENT: this `submission` field is at the SAME level as `data` and `env` in the operation input — NOT inside `data.data`. Example structure: {tool:'onchain_operations', data:{operation_type:'order', data:{object:'my_order', progress:{...}}}, submission:{type:'submission', guard:[...], submission:[...]}}"
|
|
1372
1380
|
}
|
|
1373
1381
|
},
|
|
1374
1382
|
"required": [
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"unhold",
|
|
107
107
|
"adminUnhold"
|
|
108
108
|
],
|
|
109
|
-
"description": "Operation type on the forward: 'next' = advance the forward (accomplish); 'hold' = set hold to block the forward; 'unhold' = self-unhold, release own hold (no 224 permission needed); 'adminUnhold' = force-release hold via 224 permission (PROGRESS_UNHOLD)."
|
|
109
|
+
"description": "Operation type on the forward (CANONICAL form — prefer this): 'next' = advance the forward (accomplish); 'hold' = set hold to block the forward; 'unhold' = self-unhold, release own hold (no 224 permission needed); 'adminUnhold' = force-release hold via 224 permission (PROGRESS_UNHOLD). LEGACY ALIAS: `hold: boolean` is auto-converted to `op` — `hold:true`→`op:'hold'`, `hold:false`→`op:'next'`. New code should use `op` directly."
|
|
110
110
|
},
|
|
111
111
|
"message": {
|
|
112
112
|
"type": "string",
|
|
@@ -184,96 +184,90 @@
|
|
|
184
184
|
"description": "Specify the adjudicated Arb object to obtain order compensation."
|
|
185
185
|
},
|
|
186
186
|
"receive": {
|
|
187
|
-
"
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
"
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
"
|
|
194
|
-
"
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
"string"
|
|
198
|
-
],
|
|
199
|
-
"description": "Balance type"
|
|
200
|
-
},
|
|
201
|
-
"token_type": {
|
|
202
|
-
"type": "string",
|
|
203
|
-
"description": "Asset type of Coin objects. Supports CoinWrapper<...> format for order receive operations."
|
|
204
|
-
},
|
|
205
|
-
"received": {
|
|
206
|
-
"type": "array",
|
|
207
|
-
"items": {
|
|
208
|
-
"type": "object",
|
|
209
|
-
"properties": {
|
|
210
|
-
"id": {
|
|
211
|
-
"type": "string",
|
|
212
|
-
"description": "Received CoinWrapper object ID"
|
|
213
|
-
},
|
|
214
|
-
"balance": {
|
|
215
|
-
"$ref": "#/definitions/data/properties/receive/properties/result/anyOf/0/properties/balance"
|
|
216
|
-
},
|
|
217
|
-
"payment": {
|
|
218
|
-
"type": "string",
|
|
219
|
-
"description": "Payment object ID"
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
"required": [
|
|
223
|
-
"id",
|
|
224
|
-
"balance",
|
|
225
|
-
"payment"
|
|
226
|
-
],
|
|
227
|
-
"additionalProperties": false,
|
|
228
|
-
"description": "Received CoinWrapper object record"
|
|
229
|
-
},
|
|
230
|
-
"description": "Received records of Coin objects"
|
|
231
|
-
}
|
|
187
|
+
"anyOf": [
|
|
188
|
+
{
|
|
189
|
+
"type": "array",
|
|
190
|
+
"items": {
|
|
191
|
+
"type": "object",
|
|
192
|
+
"properties": {
|
|
193
|
+
"id": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"minLength": 1,
|
|
196
|
+
"description": "Received object ID"
|
|
232
197
|
},
|
|
233
|
-
"
|
|
234
|
-
"
|
|
235
|
-
"
|
|
236
|
-
"
|
|
198
|
+
"type": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"minLength": 1,
|
|
201
|
+
"description": "Object type"
|
|
202
|
+
},
|
|
203
|
+
"content_raw": {
|
|
204
|
+
"description": "Raw content data"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"required": [
|
|
208
|
+
"id",
|
|
209
|
+
"type"
|
|
210
|
+
],
|
|
211
|
+
"additionalProperties": false,
|
|
212
|
+
"description": "Received normal object record"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"type": "object",
|
|
217
|
+
"properties": {
|
|
218
|
+
"balance": {
|
|
219
|
+
"type": [
|
|
220
|
+
"number",
|
|
221
|
+
"string"
|
|
237
222
|
],
|
|
238
|
-
"
|
|
239
|
-
|
|
223
|
+
"description": "A coin/balance amount in the smallest on-chain unit (u64). Accepts a JS number OR a numeric string. PRECISION RULE: for values exceeding 2^53 (e.g. token amounts with 18 decimals), ALWAYS pass a numeric STRING (e.g. \"1000000000000000000\") to preserve precision — JS numbers lose precision above 2^53. UNIT: this is the smallest unit, NOT the display unit. For SUI: 1 SUI = 10^9 MIST, so 10 SUI = 10000000000. For custom tokens: use the token's native smallest unit (decimals from coin metadata). Examples: 10000000000 (10 SUI), \"1000000000000000000\" (1 token with 18 decimals), 500 (500 units of a token with 0 decimals). Used for: Service.sale.price, Service.compensation_fund_add balance, Treasury.deposit, Arbitration.fee, Reward.amount, stock quantities."
|
|
224
|
+
},
|
|
225
|
+
"token_type": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"description": "Asset type of Coin objects. Supports CoinWrapper<...> format for order receive operations."
|
|
240
228
|
},
|
|
241
|
-
{
|
|
229
|
+
"received": {
|
|
242
230
|
"type": "array",
|
|
243
231
|
"items": {
|
|
244
232
|
"type": "object",
|
|
245
233
|
"properties": {
|
|
246
234
|
"id": {
|
|
247
235
|
"type": "string",
|
|
248
|
-
"
|
|
249
|
-
"description": "Received object ID"
|
|
236
|
+
"description": "Received CoinWrapper object ID"
|
|
250
237
|
},
|
|
251
|
-
"
|
|
252
|
-
"
|
|
253
|
-
"minLength": 1,
|
|
254
|
-
"description": "Object type"
|
|
238
|
+
"balance": {
|
|
239
|
+
"$ref": "#/definitions/data/properties/receive/anyOf/1/properties/balance"
|
|
255
240
|
},
|
|
256
|
-
"
|
|
257
|
-
"
|
|
241
|
+
"payment": {
|
|
242
|
+
"type": "string",
|
|
243
|
+
"description": "Payment object ID"
|
|
258
244
|
}
|
|
259
245
|
},
|
|
260
246
|
"required": [
|
|
261
247
|
"id",
|
|
262
|
-
"
|
|
248
|
+
"balance",
|
|
249
|
+
"payment"
|
|
263
250
|
],
|
|
264
251
|
"additionalProperties": false,
|
|
265
|
-
"description": "Received
|
|
266
|
-
}
|
|
252
|
+
"description": "Received CoinWrapper object record"
|
|
253
|
+
},
|
|
254
|
+
"description": "Received records of Coin objects"
|
|
267
255
|
}
|
|
256
|
+
},
|
|
257
|
+
"required": [
|
|
258
|
+
"balance",
|
|
259
|
+
"token_type",
|
|
260
|
+
"received"
|
|
268
261
|
],
|
|
269
|
-
"
|
|
262
|
+
"additionalProperties": false,
|
|
263
|
+
"description": "Received record of Coin objects"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"type": "string",
|
|
267
|
+
"const": "recently"
|
|
270
268
|
}
|
|
271
|
-
},
|
|
272
|
-
"required": [
|
|
273
|
-
"result"
|
|
274
269
|
],
|
|
275
|
-
"
|
|
276
|
-
"description": "Unwrap CoinWrapper objects or other objects received by the order and transfer them to the order owner"
|
|
270
|
+
"description": "Unwrap CoinWrapper objects or other objects received by the order and transfer them to the order owner. ACCEPTED FORMATS (consistent with `owner_receive` on other objects — see arbitration/contact/demand/machine/permission/repository/reward/service/treasury):\n• 'recently' (string) — auto-query and receive all recently received objects\n• ReceivedNormal[] (array) — explicit list of received objects: [{id, type, content_raw?}]\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) — received balance record\nDO NOT wrap in {result: ...} — pass directly (NOT {result: [...]})"
|
|
277
271
|
},
|
|
278
272
|
"transfer_to": {
|
|
279
273
|
"$ref": "#/definitions/data/properties/agent/properties/entities/items",
|
|
@@ -312,7 +306,7 @@
|
|
|
312
306
|
"testnet",
|
|
313
307
|
"mainnet"
|
|
314
308
|
],
|
|
315
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on"
|
|
309
|
+
"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."
|
|
316
310
|
},
|
|
317
311
|
"referrer": {
|
|
318
312
|
"$ref": "#/definitions/env/properties/account",
|
|
@@ -692,7 +686,7 @@
|
|
|
692
686
|
"description": "vecvecu8"
|
|
693
687
|
}
|
|
694
688
|
],
|
|
695
|
-
"description": "Type of the value"
|
|
689
|
+
"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."
|
|
696
690
|
},
|
|
697
691
|
"value": {
|
|
698
692
|
"anyOf": [
|
|
@@ -785,12 +779,12 @@
|
|
|
785
779
|
}
|
|
786
780
|
}
|
|
787
781
|
],
|
|
788
|
-
"description": "The actual value data"
|
|
782
|
+
"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)."
|
|
789
783
|
},
|
|
790
784
|
"name": {
|
|
791
785
|
"type": "string",
|
|
792
786
|
"default": "",
|
|
793
|
-
"description": "
|
|
787
|
+
"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."
|
|
794
788
|
},
|
|
795
789
|
"object_type": {
|
|
796
790
|
"type": "string",
|
|
@@ -828,7 +822,7 @@
|
|
|
828
822
|
"TableItem_AddressMark",
|
|
829
823
|
"TableItem_EntityRegistrar"
|
|
830
824
|
],
|
|
831
|
-
"description": "Object type when value_type is Address and represents a specific object"
|
|
825
|
+
"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."
|
|
832
826
|
}
|
|
833
827
|
},
|
|
834
828
|
"required": [
|
|
@@ -837,7 +831,7 @@
|
|
|
837
831
|
"value_type"
|
|
838
832
|
],
|
|
839
833
|
"additionalProperties": false,
|
|
840
|
-
"description": "Guard table item"
|
|
834
|
+
"description": "Guard table item (QUERY/OUTPUT form — includes auto-derived object_type field)"
|
|
841
835
|
},
|
|
842
836
|
"description": "User-submitted data matching the Guard's required fields. Relation: structure must match the Guard table's column definitions. Example: [{field:'delivery_proof', value:'Qm...'}]"
|
|
843
837
|
}
|
|
@@ -849,7 +843,7 @@
|
|
|
849
843
|
"additionalProperties": false,
|
|
850
844
|
"description": "One Guard's submission data: the Guard to verify plus the user-provided data that satisfies its requirements."
|
|
851
845
|
},
|
|
852
|
-
"description": "User-submitted data for each Guard. Relation: one entry per Guard in the guard array; fill submission fields and resubmit via call_with_submission."
|
|
846
|
+
"description": "User-submitted data for each Guard. Relation: one entry per Guard in the guard array; fill submission fields and resubmit via call_with_submission. PLACEMENT: this `submission` field is at the SAME level as `data` and `env` in the operation input — NOT inside `data.data`. Example structure: {tool:'onchain_operations', data:{operation_type:'order', data:{object:'my_order', progress:{...}}}, submission:{type:'submission', guard:[...], submission:[...]}}"
|
|
853
847
|
}
|
|
854
848
|
},
|
|
855
849
|
"required": [
|