@wowok/agent-mcp 2.3.12 → 2.3.14
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/harness/checkpoint.d.ts +8 -0
- package/dist/harness/checkpoint.js +129 -0
- package/dist/harness/index.d.ts +33 -0
- package/dist/harness/index.js +75 -0
- package/dist/harness/plan.d.ts +18 -0
- package/dist/harness/plan.js +252 -0
- package/dist/harness/recover.d.ts +17 -0
- package/dist/harness/recover.js +139 -0
- package/dist/harness/types.d.ts +137 -0
- package/dist/harness/types.js +1 -0
- package/dist/harness/verify.d.ts +42 -0
- package/dist/harness/verify.js +237 -0
- package/dist/index.js +134 -52
- package/dist/loop-engineering/aggregate.d.ts +50 -0
- package/dist/loop-engineering/aggregate.js +132 -0
- package/dist/loop-engineering/diagnose.d.ts +21 -0
- package/dist/loop-engineering/diagnose.js +179 -0
- package/dist/loop-engineering/improve.d.ts +26 -0
- package/dist/loop-engineering/improve.js +178 -0
- package/dist/loop-engineering/index.d.ts +4 -0
- package/dist/loop-engineering/index.js +4 -0
- package/dist/loop-engineering/pipeline.d.ts +17 -0
- package/dist/loop-engineering/pipeline.js +56 -0
- package/dist/mode-market/index.d.ts +3 -0
- package/dist/mode-market/index.js +3 -0
- package/dist/mode-market/registry.d.ts +53 -0
- package/dist/mode-market/registry.js +124 -0
- package/dist/mode-market/review.d.ts +27 -0
- package/dist/mode-market/review.js +214 -0
- package/dist/mode-market/submission.d.ts +25 -0
- package/dist/mode-market/submission.js +85 -0
- package/dist/schema/call/allocation.d.ts +40 -40
- package/dist/schema/call/arbitration.d.ts +90 -90
- package/dist/schema/call/base.d.ts +1054 -0
- package/dist/schema/call/base.js +100 -22
- package/dist/schema/call/bridge-handler.js +36 -18
- package/dist/schema/call/bridge.d.ts +115 -115
- package/dist/schema/call/handler.d.ts +2 -1
- package/dist/schema/call/handler.js +94 -3
- package/dist/schema/call/index.d.ts +1 -0
- package/dist/schema/call/index.js +1 -0
- package/dist/schema/call/machine.d.ts +144 -144
- package/dist/schema/call/order.d.ts +12 -12
- package/dist/schema/call/progress.d.ts +6 -6
- package/dist/schema/call/proof.js +7 -6
- package/dist/schema/call/reward.d.ts +6 -6
- package/dist/schema/call/semantic.d.ts +23 -0
- package/dist/schema/call/semantic.js +764 -0
- package/dist/schema/call/service.d.ts +142 -142
- package/dist/schema/call/treasury.d.ts +204 -204
- package/dist/schema/local/index.d.ts +113 -2
- package/dist/schema/local/index.js +11 -1
- package/dist/schema/messenger/index.d.ts +435 -95
- package/dist/schema/messenger/index.js +20 -8
- package/dist/schema/operations.d.ts +988 -495
- package/dist/schema/operations.js +14 -3
- package/dist/schema/query/index.d.ts +346 -342
- package/dist/schema/query/index.js +4 -1
- package/dist/schemas/account_operation.output.json +3 -0
- package/dist/schemas/account_operation.schema.json +1 -1
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/local_info_operation.output.json +3 -0
- package/dist/schemas/local_mark_operation.output.json +3 -0
- package/dist/schemas/messenger_operation.output.json +21 -0
- package/dist/schemas/messenger_operation.schema.json +43 -8
- package/dist/schemas/onchain_events.output.json +3 -0
- package/dist/schemas/onchain_operations.output.json +464 -21
- package/dist/schemas/onchain_operations.schema.json +21 -17
- package/dist/schemas/onchain_operations_allocation.schema.json +11 -9
- package/dist/schemas/onchain_operations_arbitration.schema.json +11 -9
- package/dist/schemas/onchain_operations_contact.schema.json +11 -9
- package/dist/schemas/onchain_operations_demand.schema.json +11 -9
- package/dist/schemas/onchain_operations_gen_passport.schema.json +21 -17
- package/dist/schemas/onchain_operations_guard.schema.json +11 -9
- package/dist/schemas/onchain_operations_machine.schema.json +11 -9
- package/dist/schemas/onchain_operations_order.schema.json +11 -9
- package/dist/schemas/onchain_operations_payment.schema.json +11 -9
- package/dist/schemas/onchain_operations_permission.schema.json +11 -9
- package/dist/schemas/onchain_operations_personal.schema.json +11 -9
- package/dist/schemas/onchain_operations_progress.schema.json +11 -9
- package/dist/schemas/onchain_operations_repository.schema.json +11 -9
- package/dist/schemas/onchain_operations_reward.schema.json +11 -9
- package/dist/schemas/onchain_operations_service.schema.json +11 -9
- package/dist/schemas/onchain_operations_treasury.schema.json +11 -9
- package/dist/schemas/onchain_table_data.output.json +3 -0
- package/dist/schemas/query_toolkit.schema.json +5 -1
- package/dist/telemetry/index.d.ts +19 -0
- package/dist/telemetry/index.js +112 -0
- package/dist/telemetry/redact.d.ts +2 -0
- package/dist/telemetry/redact.js +23 -0
- package/dist/telemetry/storage.d.ts +8 -0
- package/dist/telemetry/storage.js +80 -0
- package/package.json +6 -3
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"type": {
|
|
17
17
|
"type": "string",
|
|
18
18
|
"const": "submission",
|
|
19
|
-
"description": "
|
|
19
|
+
"description": "Discriminator for this result variant. Constraint: always 'submission'. Example: 'submission'"
|
|
20
20
|
},
|
|
21
21
|
"guard": {
|
|
22
22
|
"type": "array",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"properties": {
|
|
26
26
|
"object": {
|
|
27
27
|
"type": "string",
|
|
28
|
-
"description": "Guard object name or ID."
|
|
28
|
+
"description": "Guard object name or ID to verify against. Example: 'my-delivery-guard' or '0x123...'"
|
|
29
29
|
},
|
|
30
30
|
"impack": {
|
|
31
31
|
"type": "boolean",
|
|
32
|
-
"description": "Whether
|
|
32
|
+
"description": "Whether this Guard's verification result participates in the final logic. Constraint: if false, the Guard is checked but does not block the operation. Example: true"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"required": [
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"impack"
|
|
38
38
|
],
|
|
39
39
|
"additionalProperties": false
|
|
40
|
-
}
|
|
40
|
+
},
|
|
41
|
+
"description": "Array of Guard objects to verify. Relation: each entry corresponds to a Guard bound to the operation."
|
|
41
42
|
},
|
|
42
43
|
"submission": {
|
|
43
44
|
"type": "array",
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
"properties": {
|
|
47
48
|
"guard": {
|
|
48
49
|
"$ref": "#/definitions/onchain_operations/properties/result/anyOf/0/properties/guard/items/properties/object",
|
|
49
|
-
"description": "Guard object name or ID."
|
|
50
|
+
"description": "Guard object name or ID that requires submission data. Example: 'my-delivery-guard'"
|
|
50
51
|
},
|
|
51
52
|
"submission": {
|
|
52
53
|
"type": "array",
|
|
@@ -498,7 +499,7 @@
|
|
|
498
499
|
"additionalProperties": false,
|
|
499
500
|
"description": "Guard table item"
|
|
500
501
|
},
|
|
501
|
-
"description": "User-submitted data required
|
|
502
|
+
"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...'}]"
|
|
502
503
|
}
|
|
503
504
|
},
|
|
504
505
|
"required": [
|
|
@@ -506,8 +507,9 @@
|
|
|
506
507
|
"submission"
|
|
507
508
|
],
|
|
508
509
|
"additionalProperties": false,
|
|
509
|
-
"description": "
|
|
510
|
-
}
|
|
510
|
+
"description": "One Guard's submission data: the Guard to verify plus the user-provided data that satisfies its requirements."
|
|
511
|
+
},
|
|
512
|
+
"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."
|
|
511
513
|
}
|
|
512
514
|
},
|
|
513
515
|
"required": [
|
|
@@ -516,7 +518,7 @@
|
|
|
516
518
|
"submission"
|
|
517
519
|
],
|
|
518
520
|
"additionalProperties": false,
|
|
519
|
-
"description": "Guard verification
|
|
521
|
+
"description": "Guard verification required. The operation was blocked because one or more Guards require user-submitted data. Fill the submission array and resubmit. Semantic status is 'pending_input'."
|
|
520
522
|
},
|
|
521
523
|
{
|
|
522
524
|
"type": "object",
|
|
@@ -1590,7 +1592,8 @@
|
|
|
1590
1592
|
},
|
|
1591
1593
|
"type": {
|
|
1592
1594
|
"type": "string",
|
|
1593
|
-
"const": "transaction"
|
|
1595
|
+
"const": "transaction",
|
|
1596
|
+
"description": "Discriminator for this result variant. Constraint: always 'transaction'. Example: 'transaction'"
|
|
1594
1597
|
}
|
|
1595
1598
|
},
|
|
1596
1599
|
"required": [
|
|
@@ -1606,10 +1609,38 @@
|
|
|
1606
1609
|
"type": {
|
|
1607
1610
|
"type": "string",
|
|
1608
1611
|
"const": "error",
|
|
1609
|
-
"description": "
|
|
1612
|
+
"description": "Discriminator for this result variant. Constraint: always 'error'. Example: 'error'"
|
|
1610
1613
|
},
|
|
1611
1614
|
"error": {
|
|
1612
|
-
"type": "string"
|
|
1615
|
+
"type": "string",
|
|
1616
|
+
"description": "Human-readable error message from the chain or SDK. Relation: enriched via enrichMoveError before classification. Example: 'Insufficient balance for gas'"
|
|
1617
|
+
},
|
|
1618
|
+
"error_code": {
|
|
1619
|
+
"type": "string",
|
|
1620
|
+
"enum": [
|
|
1621
|
+
"invalid_parameter",
|
|
1622
|
+
"guard_rejected",
|
|
1623
|
+
"state_conflict",
|
|
1624
|
+
"insufficient_balance",
|
|
1625
|
+
"object_not_found",
|
|
1626
|
+
"permission_denied",
|
|
1627
|
+
"immutable_violation",
|
|
1628
|
+
"network_error",
|
|
1629
|
+
"unknown"
|
|
1630
|
+
],
|
|
1631
|
+
"description": "Error classification for programmatic recovery. Constraint: enum of 9 values. Relation: drives Recover Loop strategy selection. Example: 'insufficient_balance'"
|
|
1632
|
+
},
|
|
1633
|
+
"retryable": {
|
|
1634
|
+
"type": "boolean",
|
|
1635
|
+
"description": "Whether the same call can be retried as-is. Constraint: true only for network_error and insufficient_balance. Example: true"
|
|
1636
|
+
},
|
|
1637
|
+
"recovery_hint": {
|
|
1638
|
+
"type": "string",
|
|
1639
|
+
"description": "Recovery suggestion for AI or user. Relation: paired with error_code to guide Recover Loop. Example: 'Claim faucet tokens then retry'"
|
|
1640
|
+
},
|
|
1641
|
+
"related_object": {
|
|
1642
|
+
"type": "string",
|
|
1643
|
+
"description": "Object ID related to the error, if any. Example: '0x123...'"
|
|
1613
1644
|
}
|
|
1614
1645
|
},
|
|
1615
1646
|
"required": [
|
|
@@ -1617,14 +1648,15 @@
|
|
|
1617
1648
|
"error"
|
|
1618
1649
|
],
|
|
1619
1650
|
"additionalProperties": false,
|
|
1620
|
-
"description": "
|
|
1651
|
+
"description": "Error result. Contains the raw error message plus structured classification (error_code/retryable/recovery_hint) so AI can choose a recovery strategy without parsing the error string."
|
|
1621
1652
|
},
|
|
1622
1653
|
{
|
|
1623
1654
|
"type": "object",
|
|
1624
1655
|
"properties": {
|
|
1625
1656
|
"type": {
|
|
1626
1657
|
"type": "string",
|
|
1627
|
-
"const": "data"
|
|
1658
|
+
"const": "data",
|
|
1659
|
+
"description": "Discriminator for this result variant. Constraint: always 'data'. Example: 'data'"
|
|
1628
1660
|
},
|
|
1629
1661
|
"data": {
|
|
1630
1662
|
"type": "array",
|
|
@@ -1717,7 +1749,8 @@
|
|
|
1717
1749
|
{
|
|
1718
1750
|
"type": "string"
|
|
1719
1751
|
}
|
|
1720
|
-
]
|
|
1752
|
+
],
|
|
1753
|
+
"description": "What happened to this object in the operation. Constraint: 'created' | 'mutated' | custom string. Example: 'created'"
|
|
1721
1754
|
}
|
|
1722
1755
|
},
|
|
1723
1756
|
"required": [
|
|
@@ -1725,8 +1758,9 @@
|
|
|
1725
1758
|
"change"
|
|
1726
1759
|
],
|
|
1727
1760
|
"additionalProperties": true,
|
|
1728
|
-
"description": "
|
|
1729
|
-
}
|
|
1761
|
+
"description": "One object record in a query result. Contains the object's basic info plus how it changed in this operation."
|
|
1762
|
+
},
|
|
1763
|
+
"description": "Array of object records returned by a query operation. Example: [{id:'0x...', change:'created'}]"
|
|
1730
1764
|
}
|
|
1731
1765
|
},
|
|
1732
1766
|
"required": [
|
|
@@ -1740,7 +1774,8 @@
|
|
|
1740
1774
|
"properties": {
|
|
1741
1775
|
"type": {
|
|
1742
1776
|
"type": "string",
|
|
1743
|
-
"const": "null"
|
|
1777
|
+
"const": "null",
|
|
1778
|
+
"description": "Discriminator for this result variant. Constraint: always 'null'. Example: 'null'"
|
|
1744
1779
|
}
|
|
1745
1780
|
},
|
|
1746
1781
|
"required": [
|
|
@@ -1749,18 +1784,426 @@
|
|
|
1749
1784
|
"additionalProperties": false
|
|
1750
1785
|
}
|
|
1751
1786
|
],
|
|
1752
|
-
"description": "
|
|
1787
|
+
"description": "Discriminated result. Check result.type first: 'transaction'|'submission'|'error'|'data'|'null'. Each variant has different fields."
|
|
1753
1788
|
},
|
|
1754
1789
|
"message": {
|
|
1755
1790
|
"type": "string",
|
|
1756
|
-
"description": "
|
|
1791
|
+
"description": "Human-readable summary or hint. Constraint: always present for error/transaction results; may be omitted for data/null. Example: 'Transaction completed successfully'"
|
|
1792
|
+
},
|
|
1793
|
+
"semantic": {
|
|
1794
|
+
"type": "object",
|
|
1795
|
+
"properties": {
|
|
1796
|
+
"intent": {
|
|
1797
|
+
"type": "string",
|
|
1798
|
+
"description": "Inferred user intent / operation goal. Constraint: snake_case string. Relation: derived from operation_type + data signals. Example: 'publish_service'"
|
|
1799
|
+
},
|
|
1800
|
+
"status": {
|
|
1801
|
+
"type": "string",
|
|
1802
|
+
"enum": [
|
|
1803
|
+
"success",
|
|
1804
|
+
"partial",
|
|
1805
|
+
"failed",
|
|
1806
|
+
"pending_input"
|
|
1807
|
+
],
|
|
1808
|
+
"description": "Business-level status (not raw tx status). 'pending_input' = needs Guard submission. Example: 'success'"
|
|
1809
|
+
},
|
|
1810
|
+
"summary": {
|
|
1811
|
+
"type": "string",
|
|
1812
|
+
"description": "One-sentence human-readable summary of what happened. AI should read this first. Example: 'Successfully published Service my-shop with Machine bound'"
|
|
1813
|
+
},
|
|
1814
|
+
"created": {
|
|
1815
|
+
"type": "array",
|
|
1816
|
+
"items": {
|
|
1817
|
+
"type": "object",
|
|
1818
|
+
"properties": {
|
|
1819
|
+
"id": {
|
|
1820
|
+
"type": "string",
|
|
1821
|
+
"description": "Object ID (64-hex with 0x prefix). Identifies the on-chain object. Example: '0xa1d4...'"
|
|
1822
|
+
},
|
|
1823
|
+
"name": {
|
|
1824
|
+
"type": [
|
|
1825
|
+
"string",
|
|
1826
|
+
"null"
|
|
1827
|
+
],
|
|
1828
|
+
"description": "Local mark name if assigned, else null. Relation: resolved via local_mark_operation. Example: 'my-shop' or null"
|
|
1829
|
+
},
|
|
1830
|
+
"role": {
|
|
1831
|
+
"type": "string",
|
|
1832
|
+
"enum": [
|
|
1833
|
+
"Permission",
|
|
1834
|
+
"Guard",
|
|
1835
|
+
"Machine",
|
|
1836
|
+
"Progress",
|
|
1837
|
+
"Service",
|
|
1838
|
+
"Order",
|
|
1839
|
+
"Allocation",
|
|
1840
|
+
"Arbitration",
|
|
1841
|
+
"ArbCase",
|
|
1842
|
+
"Messenger",
|
|
1843
|
+
"Contact",
|
|
1844
|
+
"Demand",
|
|
1845
|
+
"Reward",
|
|
1846
|
+
"Personal",
|
|
1847
|
+
"Repository",
|
|
1848
|
+
"Treasury",
|
|
1849
|
+
"Discount",
|
|
1850
|
+
"Other"
|
|
1851
|
+
],
|
|
1852
|
+
"description": "Business role of the object in the dependency graph. Constraint: enum of 18 values. Relation: derived from objectType last segment; drives Plan/Verify Loop positioning. Example: 'Service'"
|
|
1853
|
+
},
|
|
1854
|
+
"relation": {
|
|
1855
|
+
"type": "object",
|
|
1856
|
+
"properties": {
|
|
1857
|
+
"parent": {
|
|
1858
|
+
"type": [
|
|
1859
|
+
"string",
|
|
1860
|
+
"null"
|
|
1861
|
+
],
|
|
1862
|
+
"description": "Parent object ID, if this object belongs to another (e.g. Machine belongs to Service). Example: '0x123...' or null"
|
|
1863
|
+
},
|
|
1864
|
+
"relation_type": {
|
|
1865
|
+
"type": "string",
|
|
1866
|
+
"enum": [
|
|
1867
|
+
"machine_of",
|
|
1868
|
+
"guard_of",
|
|
1869
|
+
"allocator_of",
|
|
1870
|
+
"permission_of",
|
|
1871
|
+
"progress_of",
|
|
1872
|
+
"allocation_of",
|
|
1873
|
+
"arb_of",
|
|
1874
|
+
"other"
|
|
1875
|
+
],
|
|
1876
|
+
"description": "How this object relates to its parent. Example: 'machine_of'"
|
|
1877
|
+
}
|
|
1878
|
+
},
|
|
1879
|
+
"additionalProperties": false,
|
|
1880
|
+
"description": "Relationship to another object in the dependency graph"
|
|
1881
|
+
},
|
|
1882
|
+
"immutable": {
|
|
1883
|
+
"type": "boolean",
|
|
1884
|
+
"description": "Whether the object has entered an immutable state (e.g. Service published). Constraint: true after publish. Example: true"
|
|
1885
|
+
}
|
|
1886
|
+
},
|
|
1887
|
+
"required": [
|
|
1888
|
+
"id",
|
|
1889
|
+
"role"
|
|
1890
|
+
],
|
|
1891
|
+
"additionalProperties": false,
|
|
1892
|
+
"description": "An object tagged with its business role and relationship within the object dependency graph"
|
|
1893
|
+
},
|
|
1894
|
+
"description": "Objects newly created in this operation, tagged with roles"
|
|
1895
|
+
},
|
|
1896
|
+
"modified": {
|
|
1897
|
+
"type": "array",
|
|
1898
|
+
"items": {
|
|
1899
|
+
"$ref": "#/definitions/onchain_operations/properties/semantic/properties/created/items"
|
|
1900
|
+
},
|
|
1901
|
+
"description": "Objects mutated in this operation, tagged with roles"
|
|
1902
|
+
},
|
|
1903
|
+
"released": {
|
|
1904
|
+
"type": "array",
|
|
1905
|
+
"items": {
|
|
1906
|
+
"type": "object",
|
|
1907
|
+
"properties": {
|
|
1908
|
+
"amount": {
|
|
1909
|
+
"type": "string",
|
|
1910
|
+
"description": "Amount change as stringified integer (smallest unit). Negative=spend, positive=receive. Example: '-10000000000'"
|
|
1911
|
+
},
|
|
1912
|
+
"coinType": {
|
|
1913
|
+
"type": "string",
|
|
1914
|
+
"description": "Coin type tag (format: {address}::{module}::{struct}). Example: '0x2::wow::WOW'"
|
|
1915
|
+
},
|
|
1916
|
+
"role": {
|
|
1917
|
+
"type": "string",
|
|
1918
|
+
"enum": [
|
|
1919
|
+
"payment",
|
|
1920
|
+
"refund",
|
|
1921
|
+
"change",
|
|
1922
|
+
"compensation",
|
|
1923
|
+
"reward",
|
|
1924
|
+
"gas",
|
|
1925
|
+
"deposit",
|
|
1926
|
+
"release",
|
|
1927
|
+
"other"
|
|
1928
|
+
],
|
|
1929
|
+
"description": "Business role of this fund movement. Constraint: enum of 9 values. Relation: derived from operation context. Example: 'payment'"
|
|
1930
|
+
},
|
|
1931
|
+
"from": {
|
|
1932
|
+
"type": [
|
|
1933
|
+
"string",
|
|
1934
|
+
"null"
|
|
1935
|
+
],
|
|
1936
|
+
"description": "Sender address if known. Example: '0xabc...' or null"
|
|
1937
|
+
},
|
|
1938
|
+
"to": {
|
|
1939
|
+
"type": [
|
|
1940
|
+
"string",
|
|
1941
|
+
"null"
|
|
1942
|
+
],
|
|
1943
|
+
"description": "Recipient address if known. Example: '0xdef...' or null"
|
|
1944
|
+
}
|
|
1945
|
+
},
|
|
1946
|
+
"required": [
|
|
1947
|
+
"amount",
|
|
1948
|
+
"coinType",
|
|
1949
|
+
"role"
|
|
1950
|
+
],
|
|
1951
|
+
"additionalProperties": false,
|
|
1952
|
+
"description": "A fund movement tagged with its business role"
|
|
1953
|
+
},
|
|
1954
|
+
"description": "Fund movements in this operation, tagged with roles"
|
|
1955
|
+
},
|
|
1956
|
+
"events": {
|
|
1957
|
+
"type": "array",
|
|
1958
|
+
"items": {
|
|
1959
|
+
"type": "object",
|
|
1960
|
+
"properties": {
|
|
1961
|
+
"event_type": {
|
|
1962
|
+
"type": "string",
|
|
1963
|
+
"description": "Raw on-chain event type tag. Example: '0x2::service::ServicePublishedEvent'"
|
|
1964
|
+
},
|
|
1965
|
+
"business_meaning": {
|
|
1966
|
+
"type": "string",
|
|
1967
|
+
"description": "Human-readable business meaning. Example: 'Service has been published and is now immutable'"
|
|
1968
|
+
},
|
|
1969
|
+
"category": {
|
|
1970
|
+
"type": "string",
|
|
1971
|
+
"enum": [
|
|
1972
|
+
"lifecycle",
|
|
1973
|
+
"state_change",
|
|
1974
|
+
"fund_flow",
|
|
1975
|
+
"permission",
|
|
1976
|
+
"guard",
|
|
1977
|
+
"other"
|
|
1978
|
+
],
|
|
1979
|
+
"description": "Business category. Constraint: enum of 6 values. Example: 'lifecycle'"
|
|
1980
|
+
},
|
|
1981
|
+
"related_object": {
|
|
1982
|
+
"type": "string",
|
|
1983
|
+
"description": "Object ID the event relates to, if extractable. Example: '0x123...'"
|
|
1984
|
+
},
|
|
1985
|
+
"side_effect": {
|
|
1986
|
+
"type": "string",
|
|
1987
|
+
"description": "Side effect description for AI. Example: 'Customers can now place orders against this Service'"
|
|
1988
|
+
}
|
|
1989
|
+
},
|
|
1990
|
+
"required": [
|
|
1991
|
+
"event_type",
|
|
1992
|
+
"business_meaning",
|
|
1993
|
+
"category"
|
|
1994
|
+
],
|
|
1995
|
+
"additionalProperties": false,
|
|
1996
|
+
"description": "An on-chain event annotated with business semantics"
|
|
1997
|
+
},
|
|
1998
|
+
"description": "On-chain events annotated with business semantics (S-8)"
|
|
1999
|
+
},
|
|
2000
|
+
"next_actions": {
|
|
2001
|
+
"type": "array",
|
|
2002
|
+
"items": {
|
|
2003
|
+
"type": "object",
|
|
2004
|
+
"properties": {
|
|
2005
|
+
"action": {
|
|
2006
|
+
"type": "string",
|
|
2007
|
+
"description": "Recommended next action. Example: 'add sales products'"
|
|
2008
|
+
},
|
|
2009
|
+
"reason": {
|
|
2010
|
+
"type": "string",
|
|
2011
|
+
"description": "Why this action is recommended. Example: 'Service has no products; customers cannot order'"
|
|
2012
|
+
},
|
|
2013
|
+
"tool": {
|
|
2014
|
+
"type": "string",
|
|
2015
|
+
"description": "MCP tool to use, if applicable. Example: 'onchain_operations'"
|
|
2016
|
+
},
|
|
2017
|
+
"prerequisite": {
|
|
2018
|
+
"type": "string",
|
|
2019
|
+
"description": "Condition that must hold before this action. Example: 'Service must be created first'"
|
|
2020
|
+
},
|
|
2021
|
+
"priority": {
|
|
2022
|
+
"type": "string",
|
|
2023
|
+
"enum": [
|
|
2024
|
+
"required",
|
|
2025
|
+
"recommended",
|
|
2026
|
+
"optional"
|
|
2027
|
+
],
|
|
2028
|
+
"description": "Priority. Constraint: enum. Example: 'required'"
|
|
2029
|
+
}
|
|
2030
|
+
},
|
|
2031
|
+
"required": [
|
|
2032
|
+
"action",
|
|
2033
|
+
"reason",
|
|
2034
|
+
"priority"
|
|
2035
|
+
],
|
|
2036
|
+
"additionalProperties": false,
|
|
2037
|
+
"description": "A recommended next action with priority and rationale"
|
|
2038
|
+
},
|
|
2039
|
+
"description": "Recommended next actions to drive the workflow forward"
|
|
2040
|
+
},
|
|
2041
|
+
"warnings": {
|
|
2042
|
+
"type": "array",
|
|
2043
|
+
"items": {
|
|
2044
|
+
"type": "string"
|
|
2045
|
+
},
|
|
2046
|
+
"description": "Business-level warnings. Example: 'order_allocators not configured; order funds cannot be distributed'"
|
|
2047
|
+
}
|
|
2048
|
+
},
|
|
2049
|
+
"required": [
|
|
2050
|
+
"intent",
|
|
2051
|
+
"status",
|
|
2052
|
+
"summary"
|
|
2053
|
+
],
|
|
2054
|
+
"additionalProperties": false,
|
|
2055
|
+
"description": "Business semantic summary. AI should read semantic first; fall back to parsing result only when semantic is absent. Relation: populated by MCP server from operation context; undefined when intent cannot be confidently inferred or for non-transaction tools. Example: {intent:'publish_service', status:'success', summary:'...'}"
|
|
2056
|
+
},
|
|
2057
|
+
"harness_report": {
|
|
2058
|
+
"type": "object",
|
|
2059
|
+
"properties": {
|
|
2060
|
+
"verify": {
|
|
2061
|
+
"type": "object",
|
|
2062
|
+
"properties": {
|
|
2063
|
+
"status": {
|
|
2064
|
+
"type": "string",
|
|
2065
|
+
"enum": [
|
|
2066
|
+
"pass",
|
|
2067
|
+
"warn",
|
|
2068
|
+
"fail"
|
|
2069
|
+
],
|
|
2070
|
+
"description": "Overall verify status. Constraint: 'fail' if any mismatch has severity 'fail'; 'warn' if only warns; 'pass' if no mismatches. Example: 'fail'"
|
|
2071
|
+
},
|
|
2072
|
+
"mismatches": {
|
|
2073
|
+
"type": "array",
|
|
2074
|
+
"items": {
|
|
2075
|
+
"type": "object",
|
|
2076
|
+
"properties": {
|
|
2077
|
+
"dimension": {
|
|
2078
|
+
"type": "string",
|
|
2079
|
+
"enum": [
|
|
2080
|
+
"created",
|
|
2081
|
+
"modified",
|
|
2082
|
+
"released",
|
|
2083
|
+
"state",
|
|
2084
|
+
"event"
|
|
2085
|
+
],
|
|
2086
|
+
"description": "Verify dimension that mismatched. Example: 'created'"
|
|
2087
|
+
},
|
|
2088
|
+
"expected": {
|
|
2089
|
+
"type": "string",
|
|
2090
|
+
"description": "What the Expect Loop declared. Example: 'Service object created'"
|
|
2091
|
+
},
|
|
2092
|
+
"actual": {
|
|
2093
|
+
"type": "string",
|
|
2094
|
+
"description": "What actually happened. Example: 'No object created'"
|
|
2095
|
+
},
|
|
2096
|
+
"severity": {
|
|
2097
|
+
"type": "string",
|
|
2098
|
+
"enum": [
|
|
2099
|
+
"pass",
|
|
2100
|
+
"warn",
|
|
2101
|
+
"fail"
|
|
2102
|
+
],
|
|
2103
|
+
"description": "Severity: 'fail' blocks progress, 'warn' is advisory, 'pass' never appears here. Example: 'fail'"
|
|
2104
|
+
},
|
|
2105
|
+
"detail": {
|
|
2106
|
+
"type": "string",
|
|
2107
|
+
"description": "Human-readable explanation of the mismatch. Example: 'Expected Service creation but transaction succeeded without object change'"
|
|
2108
|
+
}
|
|
2109
|
+
},
|
|
2110
|
+
"required": [
|
|
2111
|
+
"dimension",
|
|
2112
|
+
"expected",
|
|
2113
|
+
"actual",
|
|
2114
|
+
"severity",
|
|
2115
|
+
"detail"
|
|
2116
|
+
],
|
|
2117
|
+
"additionalProperties": false,
|
|
2118
|
+
"description": "One mismatch between expected and actual result. AI should read severity first to decide whether to halt."
|
|
2119
|
+
},
|
|
2120
|
+
"description": "List of mismatches found. Empty array when status is 'pass'. Example: [{dimension:'created', expected:'...', actual:'...', severity:'fail', detail:'...'}]"
|
|
2121
|
+
},
|
|
2122
|
+
"summary": {
|
|
2123
|
+
"type": "string",
|
|
2124
|
+
"description": "Human-readable summary of the verify result. Example: '2 mismatches found: created dimension failed, event dimension warned'"
|
|
2125
|
+
},
|
|
2126
|
+
"timestamp": {
|
|
2127
|
+
"type": "string",
|
|
2128
|
+
"description": "ISO 8601 timestamp when verify ran. Example: '2026-07-14T10:30:00.000Z'"
|
|
2129
|
+
}
|
|
2130
|
+
},
|
|
2131
|
+
"required": [
|
|
2132
|
+
"status",
|
|
2133
|
+
"mismatches",
|
|
2134
|
+
"summary",
|
|
2135
|
+
"timestamp"
|
|
2136
|
+
],
|
|
2137
|
+
"additionalProperties": false,
|
|
2138
|
+
"description": "Verify Loop report comparing expected vs actual."
|
|
2139
|
+
},
|
|
2140
|
+
"recovery": {
|
|
2141
|
+
"type": "object",
|
|
2142
|
+
"properties": {
|
|
2143
|
+
"strategy": {
|
|
2144
|
+
"type": "string",
|
|
2145
|
+
"enum": [
|
|
2146
|
+
"retry",
|
|
2147
|
+
"claim_faucet",
|
|
2148
|
+
"fill_submission",
|
|
2149
|
+
"recreate",
|
|
2150
|
+
"switch_account",
|
|
2151
|
+
"query_and_retry",
|
|
2152
|
+
"adjust_params",
|
|
2153
|
+
"escalate_human",
|
|
2154
|
+
"stop"
|
|
2155
|
+
],
|
|
2156
|
+
"description": "Recovery strategy chosen by the Recover Loop. Constraint: 9 strategies matching error_code table. Example: 'claim_faucet'"
|
|
2157
|
+
},
|
|
2158
|
+
"should_retry": {
|
|
2159
|
+
"type": "boolean",
|
|
2160
|
+
"description": "Whether AI should retry the original operation after applying the strategy. Constraint: false for 'stop' and 'escalate_human'. Example: true"
|
|
2161
|
+
},
|
|
2162
|
+
"adjusted_params": {
|
|
2163
|
+
"type": "object",
|
|
2164
|
+
"additionalProperties": {},
|
|
2165
|
+
"description": "Suggested parameter adjustments for 'adjust_params' strategy. Example: {amount: '100000000'}"
|
|
2166
|
+
},
|
|
2167
|
+
"user_prompt": {
|
|
2168
|
+
"type": "string",
|
|
2169
|
+
"description": "Prompt to show the user when recovery is semi-automatic or manual. Example: 'Please switch to an account with provider permission'"
|
|
2170
|
+
},
|
|
2171
|
+
"max_attempts": {
|
|
2172
|
+
"type": "integer",
|
|
2173
|
+
"description": "Maximum attempts for this error_code type. Example: 3"
|
|
2174
|
+
},
|
|
2175
|
+
"current_attempt": {
|
|
2176
|
+
"type": "integer",
|
|
2177
|
+
"description": "Current attempt count (1-indexed). Example: 1"
|
|
2178
|
+
},
|
|
2179
|
+
"detail": {
|
|
2180
|
+
"type": "string",
|
|
2181
|
+
"description": "Human-readable explanation of the recovery decision. Example: 'Insufficient balance detected; claim faucet tokens then retry'"
|
|
2182
|
+
}
|
|
2183
|
+
},
|
|
2184
|
+
"required": [
|
|
2185
|
+
"strategy",
|
|
2186
|
+
"should_retry",
|
|
2187
|
+
"max_attempts",
|
|
2188
|
+
"current_attempt",
|
|
2189
|
+
"detail"
|
|
2190
|
+
],
|
|
2191
|
+
"additionalProperties": false,
|
|
2192
|
+
"description": "Recover Loop action. Present only when verify.status is 'fail' or 'warn', or when an error occurred."
|
|
2193
|
+
}
|
|
2194
|
+
},
|
|
2195
|
+
"required": [
|
|
2196
|
+
"verify"
|
|
2197
|
+
],
|
|
2198
|
+
"additionalProperties": false,
|
|
2199
|
+
"description": "L4 Harness report (Verify + Recover). Present only when the Harness is injected and an Expected Result was declared for this operation. Relation: produced by handler.ts calling harness.verify() and harness.recover(). Example: {verify:{status:'fail', mismatches:[...]}, recovery:{strategy:'recreate'}}"
|
|
1757
2200
|
}
|
|
1758
2201
|
},
|
|
1759
2202
|
"required": [
|
|
1760
2203
|
"result"
|
|
1761
2204
|
],
|
|
1762
2205
|
"additionalProperties": false,
|
|
1763
|
-
"description": "
|
|
2206
|
+
"description": "Unified MCP tool output. result.type discriminates 5 outcomes: 'transaction' (raw Sui response), 'submission' (needs Guard data), 'error' (failed with error_code), 'data' (query result), 'null' (no-op). When semantic is present, prefer it over raw result parsing. When harness_report is present, check verify.status first and follow recovery.strategy if status is 'fail'."
|
|
1764
2207
|
}
|
|
1765
2208
|
}
|
|
1766
2209
|
}
|