@wowok/agent-mcp 2.5.1 → 2.5.2
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/knowledge/mcp-schema-audit.js +3 -2
- package/dist/project/business-puzzle.d.ts +1 -0
- package/dist/project/business-puzzle.js +11 -0
- package/dist/project/deployment-doc.d.ts +11 -0
- package/dist/project/deployment-doc.js +37 -0
- package/dist/project/index.d.ts +25 -0
- package/dist/project/index.js +42 -0
- package/dist/project/risk-aggregator.d.ts +7 -0
- package/dist/project/risk-aggregator.js +15 -0
- package/dist/schema/call/base.js +2 -2
- package/dist/schema/project/index.d.ts +203 -3
- package/dist/schema/project/index.js +45 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/onchain_operations_guard.schema.json +0 -577
- package/dist/schemas/project_operation.output.json +157 -0
- package/dist/schemas/project_operation.schema.json +2 -1
- package/dist/tools/handlers/project.js +47 -2
- package/dist/tools/index.js +346 -37
- package/dist/tools/wrap.js +61 -7
- package/package.json +1 -1
- package/dist/schemas/onchain_operations.output.json +0 -2819
|
@@ -78,6 +78,7 @@ export const ProjectOperationInputSchema = z
|
|
|
78
78
|
"aggregate_risks",
|
|
79
79
|
"generate_deployment_doc",
|
|
80
80
|
"trace_substeps",
|
|
81
|
+
"get_project_status",
|
|
81
82
|
])
|
|
82
83
|
.describe("Action to perform. Two categories:\n" +
|
|
83
84
|
"1. Graph Query (10): list_projects, list_objects, shareable, dependencies, referenced_by, pre_publish_check, cross_project_refs, graph_stats, save_graph, load_graph.\n" +
|
|
@@ -279,6 +280,9 @@ const AnalyzeIntentResultSchema = z
|
|
|
279
280
|
puzzles: z.record(z.string(), PuzzleEntrySchema),
|
|
280
281
|
overall_completeness: z.enum(["complete", "partial", "empty"]),
|
|
281
282
|
next_step: z.string(),
|
|
283
|
+
recommended_creation_order: z
|
|
284
|
+
.array(z.string())
|
|
285
|
+
.describe("Recommended object creation order based on dependency topology (e.g. ['permission','progress','guard','allocation','machine','service'])."),
|
|
282
286
|
next_action: z
|
|
283
287
|
.enum(["aggregate_risks", "none"])
|
|
284
288
|
.describe("Next project_operation action to call. 'aggregate_risks' when puzzles are complete enough; 'none' if user must fill missing fields first."),
|
|
@@ -330,6 +334,16 @@ const AggregateRisksResultSchema = z
|
|
|
330
334
|
entry_id: z.string(),
|
|
331
335
|
}))
|
|
332
336
|
.optional(),
|
|
337
|
+
fix_suggestions_grouped: z
|
|
338
|
+
.record(z.string(), z.array(z.object({
|
|
339
|
+
risk_rule_id: z.string(),
|
|
340
|
+
severity: z.enum(["CRITICAL", "HIGH", "MEDIUM", "LOW", "INFO"]),
|
|
341
|
+
message: z.string(),
|
|
342
|
+
fix_suggestion: z.string(),
|
|
343
|
+
entry_id: z.string(),
|
|
344
|
+
})))
|
|
345
|
+
.optional()
|
|
346
|
+
.describe("Fix suggestions grouped by object_type for better readability."),
|
|
333
347
|
calibrated_at: z.number().int(),
|
|
334
348
|
warnings: z.array(z.string()),
|
|
335
349
|
can_proceed: z
|
|
@@ -367,6 +381,19 @@ const GenerateDeploymentDocResultSchema = z
|
|
|
367
381
|
})
|
|
368
382
|
.optional()
|
|
369
383
|
.describe("Scanner validation result. Present when run_scanner=true."),
|
|
384
|
+
estimated_gas: z
|
|
385
|
+
.object({
|
|
386
|
+
total_gas_mist: z.number().int().describe("Estimated total gas in MIST (1 WOW = 10^9 MIST)."),
|
|
387
|
+
per_object: z.array(z.object({
|
|
388
|
+
entry_id: z.string(),
|
|
389
|
+
object_type: z.string(),
|
|
390
|
+
create_gas_mist: z.number().int(),
|
|
391
|
+
publish_gas_mist: z.number().int(),
|
|
392
|
+
})),
|
|
393
|
+
publish_gas_mist: z.number().int().describe("Gas for publish operations only."),
|
|
394
|
+
})
|
|
395
|
+
.optional()
|
|
396
|
+
.describe("Gas cost estimate for deploying all objects."),
|
|
370
397
|
can_proceed: z
|
|
371
398
|
.boolean()
|
|
372
399
|
.describe("Whether the user can proceed to stage 5. False when D-errors exist."),
|
|
@@ -429,6 +456,23 @@ const TraceSubstepsResultSchema = z
|
|
|
429
456
|
user_action_required: z.string(),
|
|
430
457
|
})
|
|
431
458
|
.strict();
|
|
459
|
+
const GetProjectStatusResultSchema = z
|
|
460
|
+
.object({
|
|
461
|
+
action: z.literal("get_project_status"),
|
|
462
|
+
project: z.string(),
|
|
463
|
+
version: z.string(),
|
|
464
|
+
stage: z.number().int().min(1).max(5),
|
|
465
|
+
stage_name: z.string(),
|
|
466
|
+
stage_description: z.string(),
|
|
467
|
+
next_action: z.string().describe("The next project_operation action to call."),
|
|
468
|
+
can_proceed: z.boolean(),
|
|
469
|
+
last_updated: z.number().int().optional().describe("Timestamp of last stage update (ms)."),
|
|
470
|
+
risk_status: z.string().optional(),
|
|
471
|
+
risk_can_proceed: z.boolean().optional(),
|
|
472
|
+
doc_generated: z.boolean().optional(),
|
|
473
|
+
trace_coherent: z.boolean().optional(),
|
|
474
|
+
})
|
|
475
|
+
.strict();
|
|
432
476
|
export const ProjectOperationOutputSchema = z
|
|
433
477
|
.object({
|
|
434
478
|
result: z.discriminatedUnion("action", [
|
|
@@ -465,6 +509,7 @@ export const ProjectOperationOutputSchema = z
|
|
|
465
509
|
AggregateRisksResultSchema,
|
|
466
510
|
GenerateDeploymentDocResultSchema,
|
|
467
511
|
TraceSubstepsResultSchema,
|
|
512
|
+
GetProjectStatusResultSchema,
|
|
468
513
|
]).describe("Query result — shape depends on action"),
|
|
469
514
|
})
|
|
470
515
|
.strict();
|
package/dist/schemas/index.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"title": "WoWok MCP Schema Index",
|
|
4
4
|
"description": "Index of all available JSON schemas for WoWok MCP tools",
|
|
5
|
-
"generatedAt": "2026-07-
|
|
5
|
+
"generatedAt": "2026-07-21T22:17:57.943Z",
|
|
6
6
|
"tools": [
|
|
7
7
|
{
|
|
8
8
|
"name": "onchain_operations",
|
|
@@ -83,583 +83,6 @@
|
|
|
83
83
|
"data"
|
|
84
84
|
],
|
|
85
85
|
"definitions": {
|
|
86
|
-
"guard_namedNew": {
|
|
87
|
-
"anyOf": [
|
|
88
|
-
{
|
|
89
|
-
"not": {}
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"type": "object",
|
|
93
|
-
"properties": {
|
|
94
|
-
"name": {
|
|
95
|
-
"type": "string",
|
|
96
|
-
"description": "The name of the object"
|
|
97
|
-
},
|
|
98
|
-
"tags": {
|
|
99
|
-
"type": "array",
|
|
100
|
-
"items": {
|
|
101
|
-
"type": "string"
|
|
102
|
-
},
|
|
103
|
-
"description": "The tags of the object"
|
|
104
|
-
},
|
|
105
|
-
"onChain": {
|
|
106
|
-
"type": "boolean",
|
|
107
|
-
"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."
|
|
108
|
-
},
|
|
109
|
-
"replaceExistName": {
|
|
110
|
-
"type": "boolean",
|
|
111
|
-
"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)."
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
"additionalProperties": false,
|
|
115
|
-
"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."
|
|
116
|
-
}
|
|
117
|
-
],
|
|
118
|
-
"description": "Name and optional tags for the new Guard object. Set 'onChain: true' to create a public on-chain identity. When using root.type='file', this field OVERRIDES namedNew in the file."
|
|
119
|
-
},
|
|
120
|
-
"guard_description": {
|
|
121
|
-
"anyOf": [
|
|
122
|
-
{
|
|
123
|
-
"not": {}
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"type": "string",
|
|
127
|
-
"description": "Description string (max 4000 bcs characters)"
|
|
128
|
-
}
|
|
129
|
-
],
|
|
130
|
-
"description": "Guard description. When using root.type='file', this field OVERRIDES description in the file."
|
|
131
|
-
},
|
|
132
|
-
"guard_table": {
|
|
133
|
-
"anyOf": [
|
|
134
|
-
{
|
|
135
|
-
"not": {}
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"type": "array",
|
|
139
|
-
"items": {
|
|
140
|
-
"type": "object",
|
|
141
|
-
"properties": {
|
|
142
|
-
"identifier": {
|
|
143
|
-
"type": "integer",
|
|
144
|
-
"minimum": 0,
|
|
145
|
-
"maximum": 255,
|
|
146
|
-
"description": "Identifier (0-255) for data lookup in Guard table."
|
|
147
|
-
},
|
|
148
|
-
"b_submission": {
|
|
149
|
-
"type": "boolean",
|
|
150
|
-
"description": "Whether user submission is required for this data"
|
|
151
|
-
},
|
|
152
|
-
"value_type": {
|
|
153
|
-
"anyOf": [
|
|
154
|
-
{
|
|
155
|
-
"type": "number",
|
|
156
|
-
"const": 0,
|
|
157
|
-
"description": "Bool (0)"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"type": "number",
|
|
161
|
-
"const": 1,
|
|
162
|
-
"description": "Address (1)"
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"type": "number",
|
|
166
|
-
"const": 2,
|
|
167
|
-
"description": "String (2)"
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
"type": "number",
|
|
171
|
-
"const": 3,
|
|
172
|
-
"description": "U8 (3)"
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
"type": "number",
|
|
176
|
-
"const": 4,
|
|
177
|
-
"description": "U16 (4)"
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"type": "number",
|
|
181
|
-
"const": 5,
|
|
182
|
-
"description": "U32 (5)"
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
"type": "number",
|
|
186
|
-
"const": 6,
|
|
187
|
-
"description": "U64 (6)"
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"type": "number",
|
|
191
|
-
"const": 7,
|
|
192
|
-
"description": "U128 (7)"
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
"type": "number",
|
|
196
|
-
"const": 8,
|
|
197
|
-
"description": "U256 (8)"
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"type": "number",
|
|
201
|
-
"const": 9,
|
|
202
|
-
"description": "VecBool (9)"
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
"type": "number",
|
|
206
|
-
"const": 10,
|
|
207
|
-
"description": "VecAddress (10)"
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
"type": "number",
|
|
211
|
-
"const": 11,
|
|
212
|
-
"description": "VecString (11)"
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
"type": "number",
|
|
216
|
-
"const": 12,
|
|
217
|
-
"description": "VecU8 (12)"
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"type": "number",
|
|
221
|
-
"const": 13,
|
|
222
|
-
"description": "VecU16 (13)"
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
"type": "number",
|
|
226
|
-
"const": 14,
|
|
227
|
-
"description": "VecU32 (14)"
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
"type": "number",
|
|
231
|
-
"const": 15,
|
|
232
|
-
"description": "VecU64 (15)"
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
"type": "number",
|
|
236
|
-
"const": 16,
|
|
237
|
-
"description": "VecU128 (16)"
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
"type": "number",
|
|
241
|
-
"const": 17,
|
|
242
|
-
"description": "VecU256 (17)"
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
"type": "number",
|
|
246
|
-
"const": 18,
|
|
247
|
-
"description": "VecVecU8 (18)"
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"type": "string",
|
|
251
|
-
"const": "Bool",
|
|
252
|
-
"description": "Bool"
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
"type": "string",
|
|
256
|
-
"const": "Address",
|
|
257
|
-
"description": "Address"
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
"type": "string",
|
|
261
|
-
"const": "String",
|
|
262
|
-
"description": "String"
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
"type": "string",
|
|
266
|
-
"const": "U8",
|
|
267
|
-
"description": "U8"
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
"type": "string",
|
|
271
|
-
"const": "U16",
|
|
272
|
-
"description": "U16"
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
"type": "string",
|
|
276
|
-
"const": "U32",
|
|
277
|
-
"description": "U32"
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
"type": "string",
|
|
281
|
-
"const": "U64",
|
|
282
|
-
"description": "U64"
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
"type": "string",
|
|
286
|
-
"const": "U128",
|
|
287
|
-
"description": "U128"
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"type": "string",
|
|
291
|
-
"const": "U256",
|
|
292
|
-
"description": "U256"
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
"type": "string",
|
|
296
|
-
"const": "VecBool",
|
|
297
|
-
"description": "VecBool"
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
"type": "string",
|
|
301
|
-
"const": "VecAddress",
|
|
302
|
-
"description": "VecAddress"
|
|
303
|
-
},
|
|
304
|
-
{
|
|
305
|
-
"type": "string",
|
|
306
|
-
"const": "VecString",
|
|
307
|
-
"description": "VecString"
|
|
308
|
-
},
|
|
309
|
-
{
|
|
310
|
-
"type": "string",
|
|
311
|
-
"const": "VecU8",
|
|
312
|
-
"description": "VecU8"
|
|
313
|
-
},
|
|
314
|
-
{
|
|
315
|
-
"type": "string",
|
|
316
|
-
"const": "VecU16",
|
|
317
|
-
"description": "VecU16"
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
"type": "string",
|
|
321
|
-
"const": "VecU32",
|
|
322
|
-
"description": "VecU32"
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
"type": "string",
|
|
326
|
-
"const": "VecU64",
|
|
327
|
-
"description": "VecU64"
|
|
328
|
-
},
|
|
329
|
-
{
|
|
330
|
-
"type": "string",
|
|
331
|
-
"const": "VecU128",
|
|
332
|
-
"description": "VecU128"
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
"type": "string",
|
|
336
|
-
"const": "VecU256",
|
|
337
|
-
"description": "VecU256"
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
"type": "string",
|
|
341
|
-
"const": "VecVecU8",
|
|
342
|
-
"description": "VecVecU8"
|
|
343
|
-
},
|
|
344
|
-
{
|
|
345
|
-
"type": "string",
|
|
346
|
-
"const": "bool",
|
|
347
|
-
"description": "bool"
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
"type": "string",
|
|
351
|
-
"const": "address",
|
|
352
|
-
"description": "address"
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
"type": "string",
|
|
356
|
-
"const": "string",
|
|
357
|
-
"description": "string"
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"type": "string",
|
|
361
|
-
"const": "u8",
|
|
362
|
-
"description": "u8"
|
|
363
|
-
},
|
|
364
|
-
{
|
|
365
|
-
"type": "string",
|
|
366
|
-
"const": "u16",
|
|
367
|
-
"description": "u16"
|
|
368
|
-
},
|
|
369
|
-
{
|
|
370
|
-
"type": "string",
|
|
371
|
-
"const": "u32",
|
|
372
|
-
"description": "u32"
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
"type": "string",
|
|
376
|
-
"const": "u64",
|
|
377
|
-
"description": "u64"
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
"type": "string",
|
|
381
|
-
"const": "u128",
|
|
382
|
-
"description": "u128"
|
|
383
|
-
},
|
|
384
|
-
{
|
|
385
|
-
"type": "string",
|
|
386
|
-
"const": "u256",
|
|
387
|
-
"description": "u256"
|
|
388
|
-
},
|
|
389
|
-
{
|
|
390
|
-
"type": "string",
|
|
391
|
-
"const": "vecbool",
|
|
392
|
-
"description": "vecbool"
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
"type": "string",
|
|
396
|
-
"const": "vecaddress",
|
|
397
|
-
"description": "vecaddress"
|
|
398
|
-
},
|
|
399
|
-
{
|
|
400
|
-
"type": "string",
|
|
401
|
-
"const": "vecstring",
|
|
402
|
-
"description": "vecstring"
|
|
403
|
-
},
|
|
404
|
-
{
|
|
405
|
-
"type": "string",
|
|
406
|
-
"const": "vecu8",
|
|
407
|
-
"description": "vecu8"
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
"type": "string",
|
|
411
|
-
"const": "vecu16",
|
|
412
|
-
"description": "vecu16"
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
"type": "string",
|
|
416
|
-
"const": "vecu32",
|
|
417
|
-
"description": "vecu32"
|
|
418
|
-
},
|
|
419
|
-
{
|
|
420
|
-
"type": "string",
|
|
421
|
-
"const": "vecu64",
|
|
422
|
-
"description": "vecu64"
|
|
423
|
-
},
|
|
424
|
-
{
|
|
425
|
-
"type": "string",
|
|
426
|
-
"const": "vecu128",
|
|
427
|
-
"description": "vecu128"
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
"type": "string",
|
|
431
|
-
"const": "vecu256",
|
|
432
|
-
"description": "vecu256"
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
"type": "string",
|
|
436
|
-
"const": "vecvecu8",
|
|
437
|
-
"description": "vecvecu8"
|
|
438
|
-
}
|
|
439
|
-
],
|
|
440
|
-
"description": "Type of the value"
|
|
441
|
-
},
|
|
442
|
-
"value": {
|
|
443
|
-
"anyOf": [
|
|
444
|
-
{
|
|
445
|
-
"type": "boolean"
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"anyOf": [
|
|
449
|
-
{
|
|
450
|
-
"type": "object",
|
|
451
|
-
"properties": {
|
|
452
|
-
"name_or_address": {
|
|
453
|
-
"type": "string",
|
|
454
|
-
"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)."
|
|
455
|
-
},
|
|
456
|
-
"local_mark_first": {
|
|
457
|
-
"type": "boolean",
|
|
458
|
-
"description": "Whether to prioritize local marks, if true, prioritize local marks, otherwise prioritize global marks"
|
|
459
|
-
}
|
|
460
|
-
},
|
|
461
|
-
"additionalProperties": false,
|
|
462
|
-
"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."
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
"type": "string"
|
|
466
|
-
}
|
|
467
|
-
]
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
"type": "string"
|
|
471
|
-
},
|
|
472
|
-
{
|
|
473
|
-
"type": "number"
|
|
474
|
-
},
|
|
475
|
-
{
|
|
476
|
-
"type": "array",
|
|
477
|
-
"items": {
|
|
478
|
-
"type": "boolean"
|
|
479
|
-
}
|
|
480
|
-
},
|
|
481
|
-
{
|
|
482
|
-
"anyOf": [
|
|
483
|
-
{
|
|
484
|
-
"type": "object",
|
|
485
|
-
"properties": {
|
|
486
|
-
"entities": {
|
|
487
|
-
"type": "array",
|
|
488
|
-
"items": {
|
|
489
|
-
"$ref": "#/definitions/guard_table/anyOf/1/items/properties/value/anyOf/1/anyOf/0"
|
|
490
|
-
}
|
|
491
|
-
},
|
|
492
|
-
"check_all_founded": {
|
|
493
|
-
"type": "boolean",
|
|
494
|
-
"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"
|
|
495
|
-
}
|
|
496
|
-
},
|
|
497
|
-
"required": [
|
|
498
|
-
"entities"
|
|
499
|
-
],
|
|
500
|
-
"additionalProperties": false,
|
|
501
|
-
"description": "Used to batch find account or object IDs by name"
|
|
502
|
-
},
|
|
503
|
-
{
|
|
504
|
-
"type": "array",
|
|
505
|
-
"items": {
|
|
506
|
-
"type": "string"
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
]
|
|
510
|
-
},
|
|
511
|
-
{
|
|
512
|
-
"type": "array",
|
|
513
|
-
"items": {
|
|
514
|
-
"type": "string"
|
|
515
|
-
}
|
|
516
|
-
},
|
|
517
|
-
{
|
|
518
|
-
"type": "array",
|
|
519
|
-
"items": {
|
|
520
|
-
"type": "number"
|
|
521
|
-
}
|
|
522
|
-
},
|
|
523
|
-
{
|
|
524
|
-
"type": "array",
|
|
525
|
-
"items": {
|
|
526
|
-
"type": "array",
|
|
527
|
-
"items": {
|
|
528
|
-
"type": "number"
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
],
|
|
533
|
-
"description": "The actual value data"
|
|
534
|
-
},
|
|
535
|
-
"name": {
|
|
536
|
-
"type": "string",
|
|
537
|
-
"default": "",
|
|
538
|
-
"description": "Name or description of this data"
|
|
539
|
-
}
|
|
540
|
-
},
|
|
541
|
-
"required": [
|
|
542
|
-
"identifier",
|
|
543
|
-
"b_submission",
|
|
544
|
-
"value_type"
|
|
545
|
-
],
|
|
546
|
-
"additionalProperties": false,
|
|
547
|
-
"description": "Guard table item"
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
],
|
|
551
|
-
"description": "Data table of the Guard object. When using root.type='file', this field OVERRIDES table in the file."
|
|
552
|
-
},
|
|
553
|
-
"guard_rely": {
|
|
554
|
-
"anyOf": [
|
|
555
|
-
{
|
|
556
|
-
"not": {}
|
|
557
|
-
},
|
|
558
|
-
{
|
|
559
|
-
"type": "object",
|
|
560
|
-
"properties": {
|
|
561
|
-
"guards": {
|
|
562
|
-
"type": "array",
|
|
563
|
-
"items": {
|
|
564
|
-
"type": "string",
|
|
565
|
-
"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)."
|
|
566
|
-
},
|
|
567
|
-
"description": "List of dependent Guard object IDs or names."
|
|
568
|
-
},
|
|
569
|
-
"logic_or": {
|
|
570
|
-
"type": "boolean",
|
|
571
|
-
"description": "Whether to use logical OR operator."
|
|
572
|
-
}
|
|
573
|
-
},
|
|
574
|
-
"required": [
|
|
575
|
-
"guards"
|
|
576
|
-
],
|
|
577
|
-
"additionalProperties": false
|
|
578
|
-
}
|
|
579
|
-
],
|
|
580
|
-
"description": "All Guard objects that the new Guard object depends on. If logic_or is true, the execution result of the new Guard object is the logical OR of the execution results of all dependent Guard objects; otherwise, it is logical AND. When using root.type='file', this field OVERRIDES rely in the file."
|
|
581
|
-
},
|
|
582
|
-
"guard_binding_hint": {
|
|
583
|
-
"anyOf": [
|
|
584
|
-
{
|
|
585
|
-
"not": {}
|
|
586
|
-
},
|
|
587
|
-
{
|
|
588
|
-
"type": "object",
|
|
589
|
-
"properties": {
|
|
590
|
-
"action": {
|
|
591
|
-
"type": "string",
|
|
592
|
-
"enum": [
|
|
593
|
-
"buy",
|
|
594
|
-
"forward",
|
|
595
|
-
"allocate",
|
|
596
|
-
"claim_reward",
|
|
597
|
-
"vote",
|
|
598
|
-
"dispute",
|
|
599
|
-
"write_repository",
|
|
600
|
-
"submit_progress",
|
|
601
|
-
"gen_passport",
|
|
602
|
-
"custom"
|
|
603
|
-
],
|
|
604
|
-
"description": "Protected action type. Example: 'buy' for Service buy_guard, 'forward' for Machine Forward.guard."
|
|
605
|
-
},
|
|
606
|
-
"host_object": {
|
|
607
|
-
"type": "string",
|
|
608
|
-
"enum": [
|
|
609
|
-
"Service",
|
|
610
|
-
"Machine",
|
|
611
|
-
"Arbitration",
|
|
612
|
-
"Reward",
|
|
613
|
-
"Repository",
|
|
614
|
-
"Progress",
|
|
615
|
-
"Demand",
|
|
616
|
-
"Standalone"
|
|
617
|
-
],
|
|
618
|
-
"description": "Host object type. Example: 'Service', 'Machine'."
|
|
619
|
-
},
|
|
620
|
-
"binding_field": {
|
|
621
|
-
"type": "string",
|
|
622
|
-
"enum": [
|
|
623
|
-
"buy_guard",
|
|
624
|
-
"order_allocators",
|
|
625
|
-
"Forward.guard",
|
|
626
|
-
"submission",
|
|
627
|
-
"guard",
|
|
628
|
-
"write_guard",
|
|
629
|
-
"usage_guard",
|
|
630
|
-
"voting_guard",
|
|
631
|
-
"ServiceGuard",
|
|
632
|
-
"none"
|
|
633
|
-
],
|
|
634
|
-
"description": "Binding field. Example: 'buy_guard', 'Forward.guard'."
|
|
635
|
-
},
|
|
636
|
-
"rule_sentence": {
|
|
637
|
-
"type": "string",
|
|
638
|
-
"description": "One-sentence description of the validation rule (human-readable). Example: 'Only the author can purchase this service'."
|
|
639
|
-
},
|
|
640
|
-
"failure_conditions": {
|
|
641
|
-
"type": "array",
|
|
642
|
-
"items": {
|
|
643
|
-
"type": "string"
|
|
644
|
-
},
|
|
645
|
-
"description": "List of conditions under which the Guard should FAIL. Example: ['Signer is not in allowlist','Order is already completed']."
|
|
646
|
-
},
|
|
647
|
-
"circular_reference": {
|
|
648
|
-
"type": "boolean",
|
|
649
|
-
"description": "Whether the Guard references the Host Object itself (circular reference pattern). true=Guard queries the Host Object it binds to."
|
|
650
|
-
}
|
|
651
|
-
},
|
|
652
|
-
"required": [
|
|
653
|
-
"action",
|
|
654
|
-
"host_object",
|
|
655
|
-
"binding_field"
|
|
656
|
-
],
|
|
657
|
-
"additionalProperties": false,
|
|
658
|
-
"description": "Optional semantic hint for Guard capability system. Provides intent + binding context so the MCP server can derive GuardPuzzle, run risk assessment, and generate confirmation text. Strongly recommended: fill this field to enable puzzle_status, matched_scene, suggested_patterns, confirmation_text, and pending_questions in the response guard_advice."
|
|
659
|
-
}
|
|
660
|
-
],
|
|
661
|
-
"description": "Phase 5 Guard capability hint. Provides semantic context (action + host_object + binding_field + optional rule/failure_conditions) for puzzle derivation. When provided, the response will include complete guard_advice (puzzle_status, matched_scene, suggested_patterns, confirmation_text, pending_questions). When absent, puzzle_status intent/binding dimensions are marked incomplete."
|
|
662
|
-
},
|
|
663
86
|
"env": {
|
|
664
87
|
"type": "object",
|
|
665
88
|
"properties": {
|