@wowok/agent-mcp 2.2.13 → 2.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +19 -11
  2. package/dist/index.js +44 -100
  3. package/dist/schema/query/index.js +1 -1
  4. package/dist/schema-query/index.d.ts +29 -0
  5. package/dist/schema-query/index.js +149 -0
  6. package/dist/schemas/account_operation.schema.json +255 -0
  7. package/dist/schemas/guard2file.schema.json +71 -0
  8. package/dist/schemas/index.json +139 -0
  9. package/dist/schemas/local_info_operation.schema.json +142 -0
  10. package/dist/schemas/local_mark_operation.schema.json +119 -0
  11. package/dist/schemas/machineNode2file.schema.json +71 -0
  12. package/dist/schemas/messenger_operation.schema.json +1393 -0
  13. package/dist/schemas/onchain_events.schema.json +113 -0
  14. package/dist/schemas/onchain_operations.schema.json +376 -0
  15. package/dist/schemas/onchain_operations_allocation.schema.json +914 -0
  16. package/dist/schemas/onchain_operations_arbitration.schema.json +1166 -0
  17. package/dist/schemas/onchain_operations_contact.schema.json +853 -0
  18. package/dist/schemas/onchain_operations_demand.schema.json +984 -0
  19. package/dist/schemas/onchain_operations_gen_passport.schema.json +1141 -0
  20. package/dist/schemas/onchain_operations_guard.schema.json +713 -0
  21. package/dist/schemas/onchain_operations_machine.schema.json +1347 -0
  22. package/dist/schemas/onchain_operations_order.schema.json +830 -0
  23. package/dist/schemas/onchain_operations_payment.schema.json +717 -0
  24. package/dist/schemas/onchain_operations_permission.schema.json +1088 -0
  25. package/dist/schemas/onchain_operations_personal.schema.json +1282 -0
  26. package/dist/schemas/onchain_operations_progress.schema.json +751 -0
  27. package/dist/schemas/onchain_operations_repository.schema.json +1572 -0
  28. package/dist/schemas/onchain_operations_reward.schema.json +955 -0
  29. package/dist/schemas/onchain_operations_service.schema.json +1411 -0
  30. package/dist/schemas/onchain_operations_treasury.schema.json +1155 -0
  31. package/dist/schemas/onchain_table_data.schema.json +35 -0
  32. package/dist/schemas/query_toolkit.schema.json +32 -0
  33. package/dist/schemas/schema_query.schema.json +33 -0
  34. package/dist/schemas/wip_file.schema.json +27 -0
  35. package/dist/schemas/wowok_buildin_info.schema.json +487 -0
  36. package/package.json +7 -5
  37. package/dist/docs/index.d.ts +0 -3
  38. package/dist/docs/index.js +0 -2
  39. package/dist/docs/loader.d.ts +0 -12
  40. package/dist/docs/loader.js +0 -177
  41. package/dist/docs/search.d.ts +0 -17
  42. package/dist/docs/search.js +0 -325
  43. package/dist/docs/types.d.ts +0 -55
  44. package/dist/docs/types.js +0 -1
  45. package/docs/README.md +0 -249
  46. package/docs/WIP.md +0 -388
  47. package/docs/WTS.md +0 -536
  48. package/docs/docs/account.md +0 -914
  49. package/docs/docs/allocation.md +0 -635
  50. package/docs/docs/arbitration.md +0 -1804
  51. package/docs/docs/arbitration_state_machine.md +0 -270
  52. package/docs/docs/contact.md +0 -709
  53. package/docs/docs/demand.md +0 -948
  54. package/docs/docs/guard.md +0 -1465
  55. package/docs/docs/localinfo.md +0 -432
  56. package/docs/docs/localmark.md +0 -583
  57. package/docs/docs/machine.md +0 -2490
  58. package/docs/docs/messenger.md +0 -2098
  59. package/docs/docs/onchain_events.md +0 -267
  60. package/docs/docs/order.md +0 -1001
  61. package/docs/docs/payment.md +0 -512
  62. package/docs/docs/permission.md +0 -1438
  63. package/docs/docs/personal.md +0 -742
  64. package/docs/docs/progress.md +0 -1748
  65. package/docs/docs/query.md +0 -467
  66. package/docs/docs/repository.md +0 -1043
  67. package/docs/docs/reward.md +0 -833
  68. package/docs/docs/service.md +0 -2130
  69. package/docs/docs/stage-01-introduction.md +0 -243
  70. package/docs/docs/stage-02-trust.md +0 -302
  71. package/docs/docs/stage-03-collaboration.md +0 -337
  72. package/docs/docs/stage-04-transaction.md +0 -277
  73. package/docs/docs/stage-05-business.md +0 -151
  74. package/docs/docs/stage-06-personal.md +0 -203
  75. package/docs/docs/stage-07-query.md +0 -572
  76. package/docs/docs/stage-08-examples.md +0 -184
  77. package/docs/docs/treasury.md +0 -1149
  78. package/docs/docs/wowok_buildin_info.md +0 -740
  79. package/docs/examples/Insurance/Insurance.md +0 -594
  80. package/docs/examples/Insurance/Insurance_TestResults.md +0 -481
  81. package/docs/examples/Insurance/insurance_complete_guard_v1.json +0 -50
  82. package/docs/examples/MyShop/MyShop.md +0 -1353
  83. package/docs/examples/MyShop/MyShop_TestResults.md +0 -1003
  84. package/docs/examples/MyShop_Advanced/MyShop_Advanced.md +0 -1898
  85. package/docs/examples/MyShop_Advanced/MyShop_Advanced_MerchantSystem_TestResults.md +0 -1297
  86. package/docs/examples/MyShop_Advanced/MyShop_Advanced_OrderFlow_TestResults.md +0 -743
  87. package/docs/examples/MyShop_Advanced/machine_nodes.json +0 -222
  88. package/docs/examples/ThreeBody_Signature/ThreeBody_Signature.md +0 -776
  89. package/docs/examples/ThreeBody_Signature/ThreeBody_Signature_TestResults.md +0 -599
  90. package/docs/examples/Travel/Travel.md +0 -1157
  91. package/docs/examples/Travel/Travel_TestResults.md +0 -743
  92. package/docs/examples/Travel/calc-weather-timestamps.js +0 -8
  93. package/docs/examples/Travel/travel_machine_v2_export.json +0 -104
  94. package/docs/examples/Travel/weather_check_guard_v1.json +0 -51
  95. package/docs/skills/WOWOK.md +0 -650
  96. package/docs/skills/onchain_operations/_common.md +0 -406
  97. package/docs/skills/onchain_operations/_index.md +0 -196
  98. package/docs/skills/onchain_operations/allocation.md +0 -28
  99. package/docs/skills/onchain_operations/arbitration.md +0 -106
  100. package/docs/skills/onchain_operations/contact.md +0 -40
  101. package/docs/skills/onchain_operations/demand.md +0 -53
  102. package/docs/skills/onchain_operations/gen_passport.md +0 -23
  103. package/docs/skills/onchain_operations/guard.md +0 -56
  104. package/docs/skills/onchain_operations/machine.md +0 -89
  105. package/docs/skills/onchain_operations/order.md +0 -56
  106. package/docs/skills/onchain_operations/payment.md +0 -24
  107. package/docs/skills/onchain_operations/permission.md +0 -68
  108. package/docs/skills/onchain_operations/personal.md +0 -58
  109. package/docs/skills/onchain_operations/progress.md +0 -38
  110. package/docs/skills/onchain_operations/repository.md +0 -70
  111. package/docs/skills/onchain_operations/reward.md +0 -38
  112. package/docs/skills/onchain_operations/service.md +0 -78
  113. package/docs/skills/onchain_operations/treasury.md +0 -68
  114. package/docs/skills/schema-account_operation.md +0 -402
  115. package/docs/skills/schema-guard2file.md +0 -153
  116. package/docs/skills/schema-local_info_operation.md +0 -160
  117. package/docs/skills/schema-local_mark_operation.md +0 -148
  118. package/docs/skills/schema-machineNode2file.md +0 -155
  119. package/docs/skills/schema-messenger_operation.md +0 -547
  120. package/docs/skills/schema-onchain_events.md +0 -201
  121. package/docs/skills/schema-onchain_table_data.md +0 -334
  122. package/docs/skills/schema-query_toolkit.md +0 -395
  123. package/docs/skills/schema-wip_file.md +0 -240
  124. package/docs/skills/schema-wowok_buildin_info.md +0 -296
  125. package/docs/wip-examples/three_body.html +0 -57
  126. package/docs/wip-examples/three_body.wip +0 -30
@@ -0,0 +1,1347 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://wowok.net/schemas/onchain_operations_machine.json",
4
+ "title": "Machine Operation",
5
+ "description": "On-chain machine operation schema",
6
+ "type": "object",
7
+ "properties": {
8
+ "operation_type": {
9
+ "const": "machine"
10
+ },
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
+ "data": {
30
+ "type": "object",
31
+ "properties": {
32
+ "object": {
33
+ "anyOf": [
34
+ {
35
+ "type": "string",
36
+ "description": "String format: Reference an EXISTING object by its name (local mark) or on-chain object ID. Use when the Permission object already exists."
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "name": {
42
+ "type": "string",
43
+ "description": "The name of the object"
44
+ },
45
+ "tags": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "string"
49
+ },
50
+ "description": "The tags of the object"
51
+ },
52
+ "onChain": {
53
+ "type": "boolean",
54
+ "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."
55
+ },
56
+ "replaceExistName": {
57
+ "type": "boolean",
58
+ "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)."
59
+ },
60
+ "permission": {
61
+ "anyOf": [
62
+ {
63
+ "$ref": "#/definitions/data/properties/object/anyOf/0",
64
+ "description": "String format: Reference an EXISTING object by its name (local mark) or on-chain object ID. Example: 'my-object' or '0x1234...'"
65
+ },
66
+ {
67
+ "type": "object",
68
+ "properties": {
69
+ "name": {
70
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name"
71
+ },
72
+ "tags": {
73
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/tags"
74
+ },
75
+ "onChain": {
76
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/onChain"
77
+ },
78
+ "replaceExistName": {
79
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/replaceExistName"
80
+ },
81
+ "description": {
82
+ "type": "string",
83
+ "description": "The description of the object"
84
+ }
85
+ },
86
+ "additionalProperties": false,
87
+ "description": "Object format: CREATE a NEW object with name, optional description, and visibility settings. Extends NamedObjectSchema with an additional 'description' field for detailed object information."
88
+ }
89
+ ],
90
+ "description": "Two ways to specify an object: (1) STRING - Reference an EXISTING object by name or ID; (2) OBJECT - CREATE a NEW object with full configuration including optional name, tags, description, and visibility settings (local private by default, or public on-chain with onChain:true)."
91
+ }
92
+ },
93
+ "additionalProperties": false,
94
+ "description": "Object format: CREATE a NEW object with Permission-based access control. Includes optional name, tags, visibility settings, AND a Permission object (which itself can be referenced by string or created as a new object). Use this to create objects with managed access permissions."
95
+ }
96
+ ],
97
+ "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
+ },
99
+ "progress_new": {
100
+ "type": "object",
101
+ "properties": {
102
+ "task": {
103
+ "anyOf": [
104
+ {
105
+ "$ref": "#/definitions/data/properties/object/anyOf/0",
106
+ "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
+ },
108
+ {
109
+ "type": "null"
110
+ }
111
+ ],
112
+ "description": "Task bound to the Progress object. It is an object ID or name"
113
+ },
114
+ "repository": {
115
+ "anyOf": [
116
+ {
117
+ "type": "object",
118
+ "properties": {
119
+ "op": {
120
+ "type": "string",
121
+ "enum": [
122
+ "add",
123
+ "set"
124
+ ]
125
+ },
126
+ "objects": {
127
+ "type": "array",
128
+ "items": {
129
+ "$ref": "#/definitions/data/properties/progress_new/properties/task/anyOf/0"
130
+ },
131
+ "description": "List of object IDs or names to add or set"
132
+ }
133
+ },
134
+ "required": [
135
+ "op",
136
+ "objects"
137
+ ],
138
+ "additionalProperties": false
139
+ },
140
+ {
141
+ "type": "object",
142
+ "properties": {
143
+ "op": {
144
+ "type": "string",
145
+ "const": "remove"
146
+ },
147
+ "objects": {
148
+ "type": "array",
149
+ "items": {
150
+ "$ref": "#/definitions/data/properties/progress_new/properties/task/anyOf/0"
151
+ },
152
+ "description": "List of object IDs or names to remove"
153
+ }
154
+ },
155
+ "required": [
156
+ "op",
157
+ "objects"
158
+ ],
159
+ "additionalProperties": false
160
+ },
161
+ {
162
+ "type": "object",
163
+ "properties": {
164
+ "op": {
165
+ "type": "string",
166
+ "const": "clear"
167
+ }
168
+ },
169
+ "required": [
170
+ "op"
171
+ ],
172
+ "additionalProperties": false
173
+ }
174
+ ],
175
+ "description": "Set repository list for the Progress object. Used for consensus data management."
176
+ },
177
+ "progress_namedOperator": {
178
+ "type": "object",
179
+ "properties": {
180
+ "op": {
181
+ "type": "string",
182
+ "enum": [
183
+ "add",
184
+ "set",
185
+ "remove"
186
+ ]
187
+ },
188
+ "name": {
189
+ "type": "string",
190
+ "minLength": 1
191
+ },
192
+ "operators": {
193
+ "type": "object",
194
+ "properties": {
195
+ "entities": {
196
+ "type": "array",
197
+ "items": {
198
+ "type": "object",
199
+ "properties": {
200
+ "name_or_address": {
201
+ "$ref": "#/definitions/data/properties/progress_new/properties/task/anyOf/0",
202
+ "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
+ },
204
+ "local_mark_first": {
205
+ "type": "boolean",
206
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks"
207
+ }
208
+ },
209
+ "additionalProperties": false,
210
+ "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."
211
+ }
212
+ },
213
+ "check_all_founded": {
214
+ "type": "boolean",
215
+ "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"
216
+ }
217
+ },
218
+ "required": [
219
+ "entities"
220
+ ],
221
+ "additionalProperties": false,
222
+ "description": "Used to batch find account or object IDs by name"
223
+ }
224
+ },
225
+ "required": [
226
+ "op",
227
+ "name",
228
+ "operators"
229
+ ],
230
+ "additionalProperties": false,
231
+ "description": "Add, set, and remove operators for the permission namespace of the Progress object."
232
+ },
233
+ "namedNew": {
234
+ "type": "object",
235
+ "properties": {
236
+ "name": {
237
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name"
238
+ },
239
+ "tags": {
240
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/tags"
241
+ },
242
+ "onChain": {
243
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/onChain"
244
+ },
245
+ "replaceExistName": {
246
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/replaceExistName"
247
+ }
248
+ },
249
+ "additionalProperties": false,
250
+ "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
+ }
252
+ },
253
+ "additionalProperties": false,
254
+ "description": "Generate new Progress object."
255
+ },
256
+ "description": {
257
+ "type": "string",
258
+ "description": "Description of the object."
259
+ },
260
+ "repository": {
261
+ "$ref": "#/definitions/data/properties/progress_new/properties/repository",
262
+ "description": "Set repository list for the object. Used for consensus data management."
263
+ },
264
+ "node": {
265
+ "anyOf": [
266
+ {
267
+ "anyOf": [
268
+ {
269
+ "type": "object",
270
+ "properties": {
271
+ "op": {
272
+ "type": "string",
273
+ "const": "add"
274
+ },
275
+ "nodes": {
276
+ "type": "array",
277
+ "items": {
278
+ "type": "object",
279
+ "properties": {
280
+ "name": {
281
+ "type": "string",
282
+ "description": "Node name"
283
+ },
284
+ "pairs": {
285
+ "type": "array",
286
+ "items": {
287
+ "type": "object",
288
+ "properties": {
289
+ "prev_node": {
290
+ "type": "string",
291
+ "description": "Previous node name"
292
+ },
293
+ "threshold": {
294
+ "type": "integer",
295
+ "minimum": 0,
296
+ "maximum": 4294967295,
297
+ "description": "Threshold to trigger node advancement. If total Forward weight is greater than or equal to threshold, node advancement is triggered."
298
+ },
299
+ "forwards": {
300
+ "type": "array",
301
+ "items": {
302
+ "type": "object",
303
+ "properties": {
304
+ "name": {
305
+ "type": "string",
306
+ "description": "Forward name"
307
+ },
308
+ "namedOperator": {
309
+ "type": "string",
310
+ "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
+ },
312
+ "permissionIndex": {
313
+ "type": "integer",
314
+ "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)."
315
+ },
316
+ "weight": {
317
+ "type": "integer",
318
+ "minimum": 0,
319
+ "maximum": 65535,
320
+ "description": "Forward weight"
321
+ },
322
+ "guard": {
323
+ "type": "object",
324
+ "properties": {
325
+ "guard": {
326
+ "type": "string",
327
+ "description": "Guard object ID"
328
+ },
329
+ "retained_submission": {
330
+ "type": "array",
331
+ "items": {
332
+ "type": "number"
333
+ },
334
+ "description": "Data submitted by user during Guard object verification"
335
+ }
336
+ },
337
+ "required": [
338
+ "guard"
339
+ ],
340
+ "additionalProperties": false,
341
+ "description": "Guard object ID, if defined, Guard verification must also pass to complete Forward (e.g., completed promised supply chain sub-order)."
342
+ }
343
+ },
344
+ "required": [
345
+ "name",
346
+ "weight"
347
+ ],
348
+ "additionalProperties": false,
349
+ "description": "Forward in Machine object"
350
+ },
351
+ "description": "Forward list"
352
+ }
353
+ },
354
+ "required": [
355
+ "prev_node",
356
+ "threshold",
357
+ "forwards"
358
+ ],
359
+ "additionalProperties": false,
360
+ "description": "Node pair in Machine object"
361
+ },
362
+ "description": "Node pair list"
363
+ }
364
+ },
365
+ "required": [
366
+ "name",
367
+ "pairs"
368
+ ],
369
+ "additionalProperties": false,
370
+ "description": "Node in Machine object"
371
+ },
372
+ "description": "List of nodes to add or set."
373
+ },
374
+ "bReplace": {
375
+ "type": "boolean",
376
+ "description": "Whether to replace existing nodes. If true, existing nodes will be replaced; if false, nodes will be added by merging."
377
+ }
378
+ },
379
+ "required": [
380
+ "op",
381
+ "nodes"
382
+ ],
383
+ "additionalProperties": false,
384
+ "description": "Add nodes."
385
+ },
386
+ {
387
+ "type": "object",
388
+ "properties": {
389
+ "op": {
390
+ "type": "string",
391
+ "const": "set"
392
+ },
393
+ "nodes": {
394
+ "type": "array",
395
+ "items": {
396
+ "$ref": "#/definitions/data/properties/node/anyOf/0/anyOf/0/properties/nodes/items"
397
+ },
398
+ "description": "List of nodes to add or set."
399
+ },
400
+ "bReplace": {
401
+ "type": "boolean",
402
+ "description": "Whether to replace existing nodes. If true, existing nodes will be replaced; if false, nodes will be added by merging."
403
+ }
404
+ },
405
+ "required": [
406
+ "op",
407
+ "nodes"
408
+ ],
409
+ "additionalProperties": false,
410
+ "description": "Set nodes."
411
+ },
412
+ {
413
+ "type": "object",
414
+ "properties": {
415
+ "op": {
416
+ "type": "string",
417
+ "const": "remove"
418
+ },
419
+ "nodes": {
420
+ "type": "array",
421
+ "items": {
422
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name"
423
+ },
424
+ "description": "List of node names to delete."
425
+ }
426
+ },
427
+ "required": [
428
+ "op",
429
+ "nodes"
430
+ ],
431
+ "additionalProperties": false,
432
+ "description": "Delete nodes."
433
+ },
434
+ {
435
+ "type": "object",
436
+ "properties": {
437
+ "op": {
438
+ "type": "string",
439
+ "const": "clear"
440
+ }
441
+ },
442
+ "required": [
443
+ "op"
444
+ ],
445
+ "additionalProperties": false,
446
+ "description": "Clear all nodes."
447
+ },
448
+ {
449
+ "type": "object",
450
+ "properties": {
451
+ "op": {
452
+ "type": "string",
453
+ "const": "exchange"
454
+ },
455
+ "node_one": {
456
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
457
+ "description": "Name of the first node."
458
+ },
459
+ "node_other": {
460
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
461
+ "description": "Name of the second node."
462
+ }
463
+ },
464
+ "required": [
465
+ "op",
466
+ "node_one",
467
+ "node_other"
468
+ ],
469
+ "additionalProperties": false,
470
+ "description": "Exchange the positions of two nodes."
471
+ },
472
+ {
473
+ "type": "object",
474
+ "properties": {
475
+ "op": {
476
+ "type": "string",
477
+ "const": "rename"
478
+ },
479
+ "node_name_old": {
480
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
481
+ "description": "Name of thenode."
482
+ },
483
+ "node_name_new": {
484
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
485
+ "description": "New name of the node."
486
+ }
487
+ },
488
+ "required": [
489
+ "op",
490
+ "node_name_old",
491
+ "node_name_new"
492
+ ],
493
+ "additionalProperties": false,
494
+ "description": "Rename node."
495
+ },
496
+ {
497
+ "type": "object",
498
+ "properties": {
499
+ "op": {
500
+ "type": "string",
501
+ "const": "remove prior node"
502
+ },
503
+ "pairs": {
504
+ "type": "array",
505
+ "items": {
506
+ "type": "object",
507
+ "properties": {
508
+ "prior_node_name": {
509
+ "type": "array",
510
+ "items": {
511
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name"
512
+ },
513
+ "description": "List of previous node names to delete."
514
+ },
515
+ "node_name": {
516
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
517
+ "description": "Name of the next node."
518
+ }
519
+ },
520
+ "required": [
521
+ "prior_node_name",
522
+ "node_name"
523
+ ],
524
+ "additionalProperties": false
525
+ },
526
+ "description": "List of previous-next node pairs to delete."
527
+ }
528
+ },
529
+ "required": [
530
+ "op",
531
+ "pairs"
532
+ ],
533
+ "additionalProperties": false,
534
+ "description": "Delete previous-next node pairs."
535
+ },
536
+ {
537
+ "type": "object",
538
+ "properties": {
539
+ "op": {
540
+ "type": "string",
541
+ "const": "add forward"
542
+ },
543
+ "data": {
544
+ "type": "array",
545
+ "items": {
546
+ "type": "object",
547
+ "properties": {
548
+ "prior_node_name": {
549
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
550
+ "description": "Name of the previous node."
551
+ },
552
+ "node_name": {
553
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
554
+ "description": "Name of the next node."
555
+ },
556
+ "forward": {
557
+ "type": "array",
558
+ "items": {
559
+ "type": "object",
560
+ "properties": {
561
+ "name": {
562
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
563
+ "description": "Name of the operation"
564
+ },
565
+ "namedOperator": {
566
+ "anyOf": [
567
+ {
568
+ "$ref": "#/definitions/data/properties/progress_new/properties/progress_namedOperator/properties/name"
569
+ },
570
+ {
571
+ "type": "null"
572
+ }
573
+ ],
574
+ "description": "One of the operation permissions: use operators within the permission space name in the Machine object. Each Progress object can manage operators independently. Use empty string \"\" to indicate the order permission (order owner and agents can operate). When using Order object to operate progress, empty string namedOperator allows order owner/agents to execute the forward without needing other permissions."
575
+ },
576
+ "permissionIndex": {
577
+ "anyOf": [
578
+ {
579
+ "$ref": "#/definitions/data/properties/node/anyOf/0/anyOf/0/properties/nodes/items/properties/pairs/items/properties/forwards/items/properties/permissionIndex"
580
+ },
581
+ {
582
+ "type": "null"
583
+ }
584
+ ],
585
+ "description": "Second operation permission: use operators specified by the permission index of the Permission object in the Machine object. All Progress objects share the same operators."
586
+ },
587
+ "weight": {
588
+ "type": "integer",
589
+ "minimum": 0,
590
+ "maximum": 65535,
591
+ "description": "Weight of the operation"
592
+ }
593
+ },
594
+ "required": [
595
+ "name",
596
+ "weight"
597
+ ],
598
+ "additionalProperties": false
599
+ },
600
+ "description": "List of operations between the previous and next nodes."
601
+ },
602
+ "threshold": {
603
+ "anyOf": [
604
+ {
605
+ "type": "integer",
606
+ "minimum": 0
607
+ },
608
+ {
609
+ "type": "null"
610
+ }
611
+ ],
612
+ "description": "Threshold of operations that need to be completed to migrate from the previous node to the next node."
613
+ }
614
+ },
615
+ "required": [
616
+ "prior_node_name",
617
+ "node_name",
618
+ "forward"
619
+ ],
620
+ "additionalProperties": false
621
+ },
622
+ "description": "List of operations to add."
623
+ }
624
+ },
625
+ "required": [
626
+ "op",
627
+ "data"
628
+ ],
629
+ "additionalProperties": false,
630
+ "description": "Add operations."
631
+ },
632
+ {
633
+ "type": "object",
634
+ "properties": {
635
+ "op": {
636
+ "type": "string",
637
+ "const": "remove forward"
638
+ },
639
+ "data": {
640
+ "type": "array",
641
+ "items": {
642
+ "type": "object",
643
+ "properties": {
644
+ "prior_node_name": {
645
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
646
+ "description": "Name of the previous node."
647
+ },
648
+ "node_name": {
649
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name",
650
+ "description": "Name of the next node."
651
+ },
652
+ "forward_name": {
653
+ "type": "array",
654
+ "items": {
655
+ "$ref": "#/definitions/data/properties/object/anyOf/1/properties/name"
656
+ },
657
+ "description": "List of operation names to delete."
658
+ }
659
+ },
660
+ "required": [
661
+ "prior_node_name",
662
+ "node_name",
663
+ "forward_name"
664
+ ],
665
+ "additionalProperties": false
666
+ },
667
+ "description": "List of operations to delete."
668
+ }
669
+ },
670
+ "required": [
671
+ "op",
672
+ "data"
673
+ ],
674
+ "additionalProperties": false,
675
+ "description": "Delete operations."
676
+ }
677
+ ]
678
+ },
679
+ {
680
+ "type": "object",
681
+ "properties": {
682
+ "json_or_markdown_file": {
683
+ "type": "string",
684
+ "description": "Path to a JSON or Markdown file containing node array for COMPLETE REPLACEMENT of all nodes.\n\n**File Format Requirements:**\n- Must contain a JSON ARRAY of node objects: [{\"name\": \"...\", \"pairs\": [...]}, {...}]\n- NOT an operation object with \"op\" field (use NodeSchema for operations)\n- Supports JSON or Markdown (with ```json code blocks)\n\n**Node Structure:**\nEach node is a directed graph element representing workflow states and transitions:\n- name: Node identifier\n- pairs: Array of {prior_node, forwards, threshold} defining connections\n- forwards: Operations available from this node\n- threshold: Required weight to advance\n\n**Behavior:**\n- COMPLETELY REPLACES all existing nodes (equivalent to \"set\" with bReplace=true)\n- Auto-detects format based on file content\n- If parsing fails, error includes line number and column information"
685
+ }
686
+ },
687
+ "required": [
688
+ "json_or_markdown_file"
689
+ ],
690
+ "additionalProperties": false
691
+ }
692
+ ],
693
+ "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."
694
+ },
695
+ "pause": {
696
+ "type": "boolean",
697
+ "description": "Whether to pause generating new Progress objects."
698
+ },
699
+ "publish": {
700
+ "type": "boolean",
701
+ "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."
702
+ },
703
+ "owner_receive": {
704
+ "anyOf": [
705
+ {
706
+ "type": "array",
707
+ "items": {
708
+ "type": "object",
709
+ "properties": {
710
+ "id": {
711
+ "type": "string",
712
+ "minLength": 1,
713
+ "description": "Received object ID"
714
+ },
715
+ "type": {
716
+ "type": "string",
717
+ "minLength": 1,
718
+ "description": "Object type"
719
+ },
720
+ "content_raw": {
721
+ "description": "Raw content data"
722
+ }
723
+ },
724
+ "required": [
725
+ "id",
726
+ "type"
727
+ ],
728
+ "additionalProperties": false,
729
+ "description": "Received normal object record"
730
+ }
731
+ },
732
+ {
733
+ "type": "object",
734
+ "properties": {
735
+ "balance": {
736
+ "type": [
737
+ "number",
738
+ "string"
739
+ ],
740
+ "description": "Balance type"
741
+ },
742
+ "token_type": {
743
+ "type": "string",
744
+ "description": "Asset type of Coin objects. Supports CoinWrapper<...> format for order receive operations."
745
+ },
746
+ "received": {
747
+ "type": "array",
748
+ "items": {
749
+ "type": "object",
750
+ "properties": {
751
+ "id": {
752
+ "type": "string",
753
+ "description": "Received CoinWrapper object ID"
754
+ },
755
+ "balance": {
756
+ "$ref": "#/definitions/data/properties/owner_receive/anyOf/1/properties/balance"
757
+ },
758
+ "payment": {
759
+ "type": "string",
760
+ "description": "Payment object ID"
761
+ }
762
+ },
763
+ "required": [
764
+ "id",
765
+ "balance",
766
+ "payment"
767
+ ],
768
+ "additionalProperties": false,
769
+ "description": "Received CoinWrapper object record"
770
+ },
771
+ "description": "Received records of Coin objects"
772
+ }
773
+ },
774
+ "required": [
775
+ "balance",
776
+ "token_type",
777
+ "received"
778
+ ],
779
+ "additionalProperties": false,
780
+ "description": "Received record of Coin objects"
781
+ },
782
+ {
783
+ "type": "string",
784
+ "const": "recently"
785
+ }
786
+ ],
787
+ "description": "Unwrap CoinWrapper objects and other objects received by this object and send them to the owner of its Permission object."
788
+ },
789
+ "um": {
790
+ "type": [
791
+ "string",
792
+ "null"
793
+ ],
794
+ "description": "Contact object."
795
+ }
796
+ },
797
+ "required": [
798
+ "object"
799
+ ],
800
+ "additionalProperties": false,
801
+ "description": "On-chain Machine operations. USAGE: (1) CREATE NEW: Set 'object' field with OBJECT format {name, permission, ...} to create a Machine. NOTE: 'name' goes INSIDE 'object', NOT at the data root level. 'permission' can be a new Permission object or reference an existing one - check 'object' field description for details. (2) OPERATE EXISTING: Set 'object' field with STRING format (object ID or name). The 'object' field is CRITICAL and REQUIRED in both cases. STRING for existing, OBJECT for new creation."
802
+ },
803
+ "env": {
804
+ "type": "object",
805
+ "properties": {
806
+ "account": {
807
+ "type": "string",
808
+ "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).",
809
+ "default": ""
810
+ },
811
+ "permission_guard": {
812
+ "type": "array",
813
+ "items": {
814
+ "type": "string"
815
+ },
816
+ "description": "List of permission guard IDs. Used to extend additional operation permissions (requires verification and configuration in the Permission object)."
817
+ },
818
+ "no_cache": {
819
+ "type": "boolean",
820
+ "description": "Whether to disable caching."
821
+ },
822
+ "network": {
823
+ "type": "string",
824
+ "enum": [
825
+ "localnet",
826
+ "testnet"
827
+ ],
828
+ "description": "Network entrypoint: Specifies which network the operation occurs on"
829
+ },
830
+ "referrer": {
831
+ "$ref": "#/definitions/env/properties/account",
832
+ "description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded."
833
+ }
834
+ },
835
+ "additionalProperties": false,
836
+ "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."
837
+ },
838
+ "submission": {
839
+ "type": "object",
840
+ "properties": {
841
+ "type": {
842
+ "type": "string",
843
+ "const": "submission",
844
+ "description": "Type of call response: submission"
845
+ },
846
+ "guard": {
847
+ "type": "array",
848
+ "items": {
849
+ "type": "object",
850
+ "properties": {
851
+ "object": {
852
+ "type": "string",
853
+ "description": "Guard object name or ID."
854
+ },
855
+ "impack": {
856
+ "type": "boolean",
857
+ "description": "Whether the verification result of this Guard participates in the final verification logic. If true, the verification result of this Guard will be included in the final verification result; if false, the verification result of this Guard will not be included."
858
+ }
859
+ },
860
+ "required": [
861
+ "object",
862
+ "impack"
863
+ ],
864
+ "additionalProperties": false
865
+ }
866
+ },
867
+ "submission": {
868
+ "type": "array",
869
+ "items": {
870
+ "type": "object",
871
+ "properties": {
872
+ "guard": {
873
+ "$ref": "#/definitions/submission/properties/guard/items/properties/object",
874
+ "description": "Guard object name or ID."
875
+ },
876
+ "submission": {
877
+ "type": "array",
878
+ "items": {
879
+ "type": "object",
880
+ "properties": {
881
+ "identifier": {
882
+ "type": "integer",
883
+ "minimum": 0,
884
+ "maximum": 255,
885
+ "description": "Identifier (0-255) for data lookup in Guard table."
886
+ },
887
+ "b_submission": {
888
+ "type": "boolean",
889
+ "description": "Whether user submission is required for this data"
890
+ },
891
+ "value_type": {
892
+ "anyOf": [
893
+ {
894
+ "type": "number",
895
+ "const": 0,
896
+ "description": "Bool (0)"
897
+ },
898
+ {
899
+ "type": "number",
900
+ "const": 1,
901
+ "description": "Address (1)"
902
+ },
903
+ {
904
+ "type": "number",
905
+ "const": 2,
906
+ "description": "String (2)"
907
+ },
908
+ {
909
+ "type": "number",
910
+ "const": 3,
911
+ "description": "U8 (3)"
912
+ },
913
+ {
914
+ "type": "number",
915
+ "const": 4,
916
+ "description": "U16 (4)"
917
+ },
918
+ {
919
+ "type": "number",
920
+ "const": 5,
921
+ "description": "U32 (5)"
922
+ },
923
+ {
924
+ "type": "number",
925
+ "const": 6,
926
+ "description": "U64 (6)"
927
+ },
928
+ {
929
+ "type": "number",
930
+ "const": 7,
931
+ "description": "U128 (7)"
932
+ },
933
+ {
934
+ "type": "number",
935
+ "const": 8,
936
+ "description": "U256 (8)"
937
+ },
938
+ {
939
+ "type": "number",
940
+ "const": 9,
941
+ "description": "VecBool (9)"
942
+ },
943
+ {
944
+ "type": "number",
945
+ "const": 10,
946
+ "description": "VecAddress (10)"
947
+ },
948
+ {
949
+ "type": "number",
950
+ "const": 11,
951
+ "description": "VecString (11)"
952
+ },
953
+ {
954
+ "type": "number",
955
+ "const": 12,
956
+ "description": "VecU8 (12)"
957
+ },
958
+ {
959
+ "type": "number",
960
+ "const": 13,
961
+ "description": "VecU16 (13)"
962
+ },
963
+ {
964
+ "type": "number",
965
+ "const": 14,
966
+ "description": "VecU32 (14)"
967
+ },
968
+ {
969
+ "type": "number",
970
+ "const": 15,
971
+ "description": "VecU64 (15)"
972
+ },
973
+ {
974
+ "type": "number",
975
+ "const": 16,
976
+ "description": "VecU128 (16)"
977
+ },
978
+ {
979
+ "type": "number",
980
+ "const": 17,
981
+ "description": "VecU256 (17)"
982
+ },
983
+ {
984
+ "type": "number",
985
+ "const": 18,
986
+ "description": "VecVecU8 (18)"
987
+ },
988
+ {
989
+ "type": "string",
990
+ "const": "Bool",
991
+ "description": "Bool"
992
+ },
993
+ {
994
+ "type": "string",
995
+ "const": "Address",
996
+ "description": "Address"
997
+ },
998
+ {
999
+ "type": "string",
1000
+ "const": "String",
1001
+ "description": "String"
1002
+ },
1003
+ {
1004
+ "type": "string",
1005
+ "const": "U8",
1006
+ "description": "U8"
1007
+ },
1008
+ {
1009
+ "type": "string",
1010
+ "const": "U16",
1011
+ "description": "U16"
1012
+ },
1013
+ {
1014
+ "type": "string",
1015
+ "const": "U32",
1016
+ "description": "U32"
1017
+ },
1018
+ {
1019
+ "type": "string",
1020
+ "const": "U64",
1021
+ "description": "U64"
1022
+ },
1023
+ {
1024
+ "type": "string",
1025
+ "const": "U128",
1026
+ "description": "U128"
1027
+ },
1028
+ {
1029
+ "type": "string",
1030
+ "const": "U256",
1031
+ "description": "U256"
1032
+ },
1033
+ {
1034
+ "type": "string",
1035
+ "const": "VecBool",
1036
+ "description": "VecBool"
1037
+ },
1038
+ {
1039
+ "type": "string",
1040
+ "const": "VecAddress",
1041
+ "description": "VecAddress"
1042
+ },
1043
+ {
1044
+ "type": "string",
1045
+ "const": "VecString",
1046
+ "description": "VecString"
1047
+ },
1048
+ {
1049
+ "type": "string",
1050
+ "const": "VecU8",
1051
+ "description": "VecU8"
1052
+ },
1053
+ {
1054
+ "type": "string",
1055
+ "const": "VecU16",
1056
+ "description": "VecU16"
1057
+ },
1058
+ {
1059
+ "type": "string",
1060
+ "const": "VecU32",
1061
+ "description": "VecU32"
1062
+ },
1063
+ {
1064
+ "type": "string",
1065
+ "const": "VecU64",
1066
+ "description": "VecU64"
1067
+ },
1068
+ {
1069
+ "type": "string",
1070
+ "const": "VecU128",
1071
+ "description": "VecU128"
1072
+ },
1073
+ {
1074
+ "type": "string",
1075
+ "const": "VecU256",
1076
+ "description": "VecU256"
1077
+ },
1078
+ {
1079
+ "type": "string",
1080
+ "const": "VecVecU8",
1081
+ "description": "VecVecU8"
1082
+ },
1083
+ {
1084
+ "type": "string",
1085
+ "const": "bool",
1086
+ "description": "bool"
1087
+ },
1088
+ {
1089
+ "type": "string",
1090
+ "const": "address",
1091
+ "description": "address"
1092
+ },
1093
+ {
1094
+ "type": "string",
1095
+ "const": "string",
1096
+ "description": "string"
1097
+ },
1098
+ {
1099
+ "type": "string",
1100
+ "const": "u8",
1101
+ "description": "u8"
1102
+ },
1103
+ {
1104
+ "type": "string",
1105
+ "const": "u16",
1106
+ "description": "u16"
1107
+ },
1108
+ {
1109
+ "type": "string",
1110
+ "const": "u32",
1111
+ "description": "u32"
1112
+ },
1113
+ {
1114
+ "type": "string",
1115
+ "const": "u64",
1116
+ "description": "u64"
1117
+ },
1118
+ {
1119
+ "type": "string",
1120
+ "const": "u128",
1121
+ "description": "u128"
1122
+ },
1123
+ {
1124
+ "type": "string",
1125
+ "const": "u256",
1126
+ "description": "u256"
1127
+ },
1128
+ {
1129
+ "type": "string",
1130
+ "const": "vecbool",
1131
+ "description": "vecbool"
1132
+ },
1133
+ {
1134
+ "type": "string",
1135
+ "const": "vecaddress",
1136
+ "description": "vecaddress"
1137
+ },
1138
+ {
1139
+ "type": "string",
1140
+ "const": "vecstring",
1141
+ "description": "vecstring"
1142
+ },
1143
+ {
1144
+ "type": "string",
1145
+ "const": "vecu8",
1146
+ "description": "vecu8"
1147
+ },
1148
+ {
1149
+ "type": "string",
1150
+ "const": "vecu16",
1151
+ "description": "vecu16"
1152
+ },
1153
+ {
1154
+ "type": "string",
1155
+ "const": "vecu32",
1156
+ "description": "vecu32"
1157
+ },
1158
+ {
1159
+ "type": "string",
1160
+ "const": "vecu64",
1161
+ "description": "vecu64"
1162
+ },
1163
+ {
1164
+ "type": "string",
1165
+ "const": "vecu128",
1166
+ "description": "vecu128"
1167
+ },
1168
+ {
1169
+ "type": "string",
1170
+ "const": "vecu256",
1171
+ "description": "vecu256"
1172
+ },
1173
+ {
1174
+ "type": "string",
1175
+ "const": "vecvecu8",
1176
+ "description": "vecvecu8"
1177
+ }
1178
+ ],
1179
+ "description": "Type of the value"
1180
+ },
1181
+ "value": {
1182
+ "anyOf": [
1183
+ {
1184
+ "type": "boolean"
1185
+ },
1186
+ {
1187
+ "anyOf": [
1188
+ {
1189
+ "type": "object",
1190
+ "properties": {
1191
+ "name_or_address": {
1192
+ "$ref": "#/definitions/submission/properties/guard/items/properties/object",
1193
+ "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)."
1194
+ },
1195
+ "local_mark_first": {
1196
+ "type": "boolean",
1197
+ "description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks"
1198
+ }
1199
+ },
1200
+ "additionalProperties": false,
1201
+ "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."
1202
+ },
1203
+ {
1204
+ "type": "string"
1205
+ }
1206
+ ]
1207
+ },
1208
+ {
1209
+ "type": "string"
1210
+ },
1211
+ {
1212
+ "type": "number"
1213
+ },
1214
+ {
1215
+ "type": "array",
1216
+ "items": {
1217
+ "type": "boolean"
1218
+ }
1219
+ },
1220
+ {
1221
+ "anyOf": [
1222
+ {
1223
+ "type": "object",
1224
+ "properties": {
1225
+ "entities": {
1226
+ "type": "array",
1227
+ "items": {
1228
+ "$ref": "#/definitions/submission/properties/submission/items/properties/submission/items/properties/value/anyOf/1/anyOf/0"
1229
+ }
1230
+ },
1231
+ "check_all_founded": {
1232
+ "type": "boolean",
1233
+ "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"
1234
+ }
1235
+ },
1236
+ "required": [
1237
+ "entities"
1238
+ ],
1239
+ "additionalProperties": false,
1240
+ "description": "Used to batch find account or object IDs by name"
1241
+ },
1242
+ {
1243
+ "type": "array",
1244
+ "items": {
1245
+ "type": "string"
1246
+ }
1247
+ }
1248
+ ]
1249
+ },
1250
+ {
1251
+ "type": "array",
1252
+ "items": {
1253
+ "type": "string"
1254
+ }
1255
+ },
1256
+ {
1257
+ "type": "array",
1258
+ "items": {
1259
+ "type": "number"
1260
+ }
1261
+ },
1262
+ {
1263
+ "type": "array",
1264
+ "items": {
1265
+ "type": "array",
1266
+ "items": {
1267
+ "type": "number"
1268
+ }
1269
+ }
1270
+ }
1271
+ ],
1272
+ "description": "The actual value data"
1273
+ },
1274
+ "name": {
1275
+ "type": "string",
1276
+ "default": "",
1277
+ "description": "Name or description of this data"
1278
+ },
1279
+ "object_type": {
1280
+ "type": "string",
1281
+ "enum": [
1282
+ "Permission",
1283
+ "Repository",
1284
+ "Arb",
1285
+ "Arbitration",
1286
+ "Service",
1287
+ "Machine",
1288
+ "Order",
1289
+ "Progress",
1290
+ "Payment",
1291
+ "Treasury",
1292
+ "Guard",
1293
+ "Demand",
1294
+ "Passport",
1295
+ "Allocation",
1296
+ "Resource",
1297
+ "Reward",
1298
+ "Discount",
1299
+ "EntityRegistrar",
1300
+ "EntityLinker",
1301
+ "Proof",
1302
+ "WReceivedObject",
1303
+ "Contact",
1304
+ "TableItem_ProgressHistory",
1305
+ "TableItem_PermissionPerm",
1306
+ "TableItem_DemandPresenter",
1307
+ "TableItem_MachineNode",
1308
+ "TableItem_TreasuryHistory",
1309
+ "TableItem_RepositoryData",
1310
+ "TableItem_RewardRecord",
1311
+ "TableItem_EntityLinker",
1312
+ "TableItem_AddressMark",
1313
+ "TableItem_EntityRegistrar"
1314
+ ],
1315
+ "description": "Object type when value_type is Address and represents a specific object"
1316
+ }
1317
+ },
1318
+ "required": [
1319
+ "identifier",
1320
+ "b_submission",
1321
+ "value_type"
1322
+ ],
1323
+ "additionalProperties": false,
1324
+ "description": "Guard table item"
1325
+ },
1326
+ "description": "User-submitted data required for Guard verification."
1327
+ }
1328
+ },
1329
+ "required": [
1330
+ "guard",
1331
+ "submission"
1332
+ ],
1333
+ "additionalProperties": false,
1334
+ "description": "Permission guard submission data."
1335
+ }
1336
+ }
1337
+ },
1338
+ "required": [
1339
+ "type",
1340
+ "guard",
1341
+ "submission"
1342
+ ],
1343
+ "additionalProperties": false,
1344
+ "description": "Guard verification submission data required to complete an operation. Contains: (1) 'guard' - array of Guard objects to verify, each with an object ID and an 'impack' flag indicating if its result affects the final outcome; (2) 'submission' - array of user data submissions matching the Guard's requirements. The operation proceeds only after all Guards with impack=true are successfully verified."
1345
+ }
1346
+ }
1347
+ }