@qlever-llc/trellis 0.10.17 → 0.10.18

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 (65) hide show
  1. package/esm/auth/browser/portal.d.ts.map +1 -1
  2. package/esm/auth/browser/portal.js +2 -0
  3. package/esm/auth/browser.d.ts +2 -0
  4. package/esm/auth/browser.d.ts.map +1 -1
  5. package/esm/auth/browser.js +1 -0
  6. package/esm/auth/browser_recovery.d.ts +22 -0
  7. package/esm/auth/browser_recovery.d.ts.map +1 -0
  8. package/esm/auth/browser_recovery.js +238 -0
  9. package/esm/auth/mod.d.ts +2 -2
  10. package/esm/auth/mod.d.ts.map +1 -1
  11. package/esm/auth/mod.js +2 -2
  12. package/esm/auth/protocol.d.ts +362 -398
  13. package/esm/auth/protocol.d.ts.map +1 -1
  14. package/esm/auth/protocol.js +36 -33
  15. package/esm/browser.d.ts +2 -2
  16. package/esm/browser.d.ts.map +1 -1
  17. package/esm/browser.js +1 -1
  18. package/esm/client_connect.js +1 -1
  19. package/esm/generated-sdk/auth/contract.d.ts +1 -1
  20. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  21. package/esm/generated-sdk/auth/contract.js +1236 -1079
  22. package/esm/generated-sdk/auth/schemas.d.ts +1428 -1578
  23. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  24. package/esm/generated-sdk/auth/schemas.js +725 -669
  25. package/esm/generated-sdk/auth/types.d.ts +239 -281
  26. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  27. package/esm/generated-sdk/auth/types.js +1 -1
  28. package/package.json +2 -2
  29. package/script/auth/browser/portal.d.ts.map +1 -1
  30. package/script/auth/browser/portal.js +2 -0
  31. package/script/auth/browser.d.ts +2 -0
  32. package/script/auth/browser.d.ts.map +1 -1
  33. package/script/auth/browser.js +4 -1
  34. package/script/auth/browser_recovery.d.ts +22 -0
  35. package/script/auth/browser_recovery.d.ts.map +1 -0
  36. package/script/auth/browser_recovery.js +242 -0
  37. package/script/auth/mod.d.ts +2 -2
  38. package/script/auth/mod.d.ts.map +1 -1
  39. package/script/auth/mod.js +17 -6
  40. package/script/auth/protocol.d.ts +362 -398
  41. package/script/auth/protocol.d.ts.map +1 -1
  42. package/script/auth/protocol.js +41 -37
  43. package/script/browser.d.ts +2 -2
  44. package/script/browser.d.ts.map +1 -1
  45. package/script/browser.js +4 -2
  46. package/script/client_connect.js +1 -1
  47. package/script/generated-sdk/auth/contract.d.ts +1 -1
  48. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  49. package/script/generated-sdk/auth/contract.js +1236 -1079
  50. package/script/generated-sdk/auth/schemas.d.ts +1428 -1578
  51. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  52. package/script/generated-sdk/auth/schemas.js +725 -669
  53. package/script/generated-sdk/auth/types.d.ts +239 -281
  54. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  55. package/script/generated-sdk/auth/types.js +1 -1
  56. package/src/auth/browser/portal.ts +1 -0
  57. package/src/auth/browser.ts +8 -0
  58. package/src/auth/browser_recovery.ts +319 -0
  59. package/src/auth/mod.ts +25 -2
  60. package/src/auth/protocol.ts +73 -37
  61. package/src/browser.ts +4 -0
  62. package/src/client_connect.ts +1 -1
  63. package/src/sdk/_generated/auth/contract.ts +1477 -1320
  64. package/src/sdk/_generated/auth/schemas.ts +919 -863
  65. package/src/sdk/_generated/auth/types.ts +242 -304
@@ -4,7 +4,7 @@ exports.use = exports.sdk = exports.CONTRACT = exports.CONTRACT_DIGEST = exports
4
4
  const api_js_1 = require("./api.js");
5
5
  const CONTRACT_MODULE_METADATA = Symbol.for("@qlever-llc/trellis/contracts/contract-module");
6
6
  exports.CONTRACT_ID = "trellis.auth@v1";
7
- exports.CONTRACT_DIGEST = "XdqgSxkrIhWOu1ODbOk6-QHLTlI52ZP-6qhYJpIdCMc";
7
+ exports.CONTRACT_DIGEST = "U-Y6P1smzJB4MeG6NdhDuZ0CTT2BWOud9iL1zIQktMM";
8
8
  exports.CONTRACT = {
9
9
  "capabilities": {
10
10
  "trellis.auth::device.review": {
@@ -1627,83 +1627,87 @@ exports.CONTRACT = {
1627
1627
  "type": "array",
1628
1628
  },
1629
1629
  "needs": {
1630
- "items": {
1631
- "anyOf": [{
1630
+ "properties": {
1631
+ "capabilities": {
1632
+ "items": {
1632
1633
  "properties": {
1633
- "contractId": { "minLength": 1, "type": "string" },
1634
- "kind": { "const": "contract", "type": "string" },
1634
+ "capability": { "minLength": 1, "type": "string" },
1635
1635
  "required": { "type": "boolean" },
1636
1636
  },
1637
- "required": ["kind", "contractId", "required"],
1637
+ "required": ["capability", "required"],
1638
1638
  "type": "object",
1639
- }, {
1639
+ },
1640
+ "type": "array",
1641
+ },
1642
+ "contracts": {
1643
+ "items": {
1640
1644
  "properties": {
1641
- "kind": { "const": "surface", "type": "string" },
1645
+ "contractId": { "minLength": 1, "type": "string" },
1642
1646
  "required": { "type": "boolean" },
1643
- "surface": {
1644
- "properties": {
1645
- "action": {
1646
- "anyOf": [
1647
- { "const": "call", "type": "string" },
1648
- { "const": "publish", "type": "string" },
1649
- { "const": "subscribe", "type": "string" },
1650
- { "const": "observe", "type": "string" },
1651
- { "const": "cancel", "type": "string" },
1652
- ],
1653
- },
1654
- "contractId": { "minLength": 1, "type": "string" },
1655
- "kind": {
1656
- "anyOf": [
1657
- { "const": "rpc", "type": "string" },
1658
- { "const": "operation", "type": "string" },
1659
- { "const": "event", "type": "string" },
1660
- { "const": "feed", "type": "string" },
1661
- ],
1662
- },
1663
- "name": { "minLength": 1, "type": "string" },
1664
- },
1665
- "required": ["contractId", "kind", "name"],
1666
- "type": "object",
1667
- },
1668
1647
  },
1669
- "required": ["kind", "surface", "required"],
1648
+ "required": ["contractId", "required"],
1670
1649
  "type": "object",
1671
- }, {
1650
+ },
1651
+ "type": "array",
1652
+ },
1653
+ "resources": {
1654
+ "items": {
1672
1655
  "properties": {
1673
- "capability": { "minLength": 1, "type": "string" },
1674
- "kind": { "const": "capability", "type": "string" },
1656
+ "alias": { "minLength": 1, "type": "string" },
1657
+ "definition": { "type": "object" },
1658
+ "kind": {
1659
+ "anyOf": [
1660
+ { "const": "kv", "type": "string" },
1661
+ { "const": "store", "type": "string" },
1662
+ { "const": "jobs", "type": "string" },
1663
+ { "const": "event-consumer", "type": "string" },
1664
+ { "const": "transfer", "type": "string" },
1665
+ ],
1666
+ },
1675
1667
  "required": { "type": "boolean" },
1676
1668
  },
1677
- "required": ["kind", "capability", "required"],
1669
+ "required": ["kind", "alias", "required"],
1678
1670
  "type": "object",
1679
- }, {
1671
+ },
1672
+ "type": "array",
1673
+ },
1674
+ "surfaces": {
1675
+ "items": {
1680
1676
  "properties": {
1681
- "kind": { "const": "resource", "type": "string" },
1682
- "required": { "type": "boolean" },
1683
- "resource": {
1684
- "properties": {
1685
- "alias": { "minLength": 1, "type": "string" },
1686
- "definition": { "type": "object" },
1687
- "kind": {
1688
- "anyOf": [
1689
- { "const": "kv", "type": "string" },
1690
- { "const": "store", "type": "string" },
1691
- { "const": "jobs", "type": "string" },
1692
- { "const": "event-consumer", "type": "string" },
1693
- { "const": "transfer", "type": "string" },
1694
- ],
1695
- },
1696
- "required": { "type": "boolean" },
1697
- },
1698
- "required": ["kind", "alias", "required"],
1699
- "type": "object",
1677
+ "action": {
1678
+ "anyOf": [
1679
+ { "const": "call", "type": "string" },
1680
+ { "const": "publish", "type": "string" },
1681
+ { "const": "subscribe", "type": "string" },
1682
+ { "const": "observe", "type": "string" },
1683
+ { "const": "cancel", "type": "string" },
1684
+ ],
1685
+ },
1686
+ "contractId": { "minLength": 1, "type": "string" },
1687
+ "kind": {
1688
+ "anyOf": [
1689
+ { "const": "rpc", "type": "string" },
1690
+ { "const": "operation", "type": "string" },
1691
+ { "const": "event", "type": "string" },
1692
+ { "const": "feed", "type": "string" },
1693
+ ],
1700
1694
  },
1695
+ "name": { "minLength": 1, "type": "string" },
1696
+ "required": { "type": "boolean" },
1701
1697
  },
1702
- "required": ["kind", "resource", "required"],
1698
+ "required": ["contractId", "kind", "name", "required"],
1703
1699
  "type": "object",
1704
- }],
1700
+ },
1701
+ "type": "array",
1702
+ },
1705
1703
  },
1706
- "type": "array",
1704
+ "required": [
1705
+ "contracts",
1706
+ "surfaces",
1707
+ "capabilities",
1708
+ "resources",
1709
+ ],
1710
+ "type": "object",
1707
1711
  },
1708
1712
  "resources": {
1709
1713
  "items": {
@@ -1813,83 +1817,87 @@ exports.CONTRACT = {
1813
1817
  "type": "array",
1814
1818
  },
1815
1819
  "needs": {
1816
- "items": {
1817
- "anyOf": [{
1820
+ "properties": {
1821
+ "capabilities": {
1822
+ "items": {
1818
1823
  "properties": {
1819
- "contractId": { "minLength": 1, "type": "string" },
1820
- "kind": { "const": "contract", "type": "string" },
1824
+ "capability": { "minLength": 1, "type": "string" },
1821
1825
  "required": { "type": "boolean" },
1822
1826
  },
1823
- "required": ["kind", "contractId", "required"],
1827
+ "required": ["capability", "required"],
1824
1828
  "type": "object",
1825
- }, {
1829
+ },
1830
+ "type": "array",
1831
+ },
1832
+ "contracts": {
1833
+ "items": {
1826
1834
  "properties": {
1827
- "kind": { "const": "surface", "type": "string" },
1835
+ "contractId": { "minLength": 1, "type": "string" },
1828
1836
  "required": { "type": "boolean" },
1829
- "surface": {
1830
- "properties": {
1831
- "action": {
1832
- "anyOf": [
1833
- { "const": "call", "type": "string" },
1834
- { "const": "publish", "type": "string" },
1835
- { "const": "subscribe", "type": "string" },
1836
- { "const": "observe", "type": "string" },
1837
- { "const": "cancel", "type": "string" },
1838
- ],
1839
- },
1840
- "contractId": { "minLength": 1, "type": "string" },
1841
- "kind": {
1842
- "anyOf": [
1843
- { "const": "rpc", "type": "string" },
1844
- { "const": "operation", "type": "string" },
1845
- { "const": "event", "type": "string" },
1846
- { "const": "feed", "type": "string" },
1847
- ],
1848
- },
1849
- "name": { "minLength": 1, "type": "string" },
1850
- },
1851
- "required": ["contractId", "kind", "name"],
1852
- "type": "object",
1853
- },
1854
1837
  },
1855
- "required": ["kind", "surface", "required"],
1838
+ "required": ["contractId", "required"],
1856
1839
  "type": "object",
1857
- }, {
1840
+ },
1841
+ "type": "array",
1842
+ },
1843
+ "resources": {
1844
+ "items": {
1858
1845
  "properties": {
1859
- "capability": { "minLength": 1, "type": "string" },
1860
- "kind": { "const": "capability", "type": "string" },
1846
+ "alias": { "minLength": 1, "type": "string" },
1847
+ "definition": { "type": "object" },
1848
+ "kind": {
1849
+ "anyOf": [
1850
+ { "const": "kv", "type": "string" },
1851
+ { "const": "store", "type": "string" },
1852
+ { "const": "jobs", "type": "string" },
1853
+ { "const": "event-consumer", "type": "string" },
1854
+ { "const": "transfer", "type": "string" },
1855
+ ],
1856
+ },
1861
1857
  "required": { "type": "boolean" },
1862
1858
  },
1863
- "required": ["kind", "capability", "required"],
1859
+ "required": ["kind", "alias", "required"],
1864
1860
  "type": "object",
1865
- }, {
1861
+ },
1862
+ "type": "array",
1863
+ },
1864
+ "surfaces": {
1865
+ "items": {
1866
1866
  "properties": {
1867
- "kind": { "const": "resource", "type": "string" },
1868
- "required": { "type": "boolean" },
1869
- "resource": {
1870
- "properties": {
1871
- "alias": { "minLength": 1, "type": "string" },
1872
- "definition": { "type": "object" },
1873
- "kind": {
1874
- "anyOf": [
1875
- { "const": "kv", "type": "string" },
1876
- { "const": "store", "type": "string" },
1877
- { "const": "jobs", "type": "string" },
1878
- { "const": "event-consumer", "type": "string" },
1879
- { "const": "transfer", "type": "string" },
1880
- ],
1881
- },
1882
- "required": { "type": "boolean" },
1883
- },
1884
- "required": ["kind", "alias", "required"],
1885
- "type": "object",
1867
+ "action": {
1868
+ "anyOf": [
1869
+ { "const": "call", "type": "string" },
1870
+ { "const": "publish", "type": "string" },
1871
+ { "const": "subscribe", "type": "string" },
1872
+ { "const": "observe", "type": "string" },
1873
+ { "const": "cancel", "type": "string" },
1874
+ ],
1875
+ },
1876
+ "contractId": { "minLength": 1, "type": "string" },
1877
+ "kind": {
1878
+ "anyOf": [
1879
+ { "const": "rpc", "type": "string" },
1880
+ { "const": "operation", "type": "string" },
1881
+ { "const": "event", "type": "string" },
1882
+ { "const": "feed", "type": "string" },
1883
+ ],
1886
1884
  },
1885
+ "name": { "minLength": 1, "type": "string" },
1886
+ "required": { "type": "boolean" },
1887
1887
  },
1888
- "required": ["kind", "resource", "required"],
1888
+ "required": ["contractId", "kind", "name", "required"],
1889
1889
  "type": "object",
1890
- }],
1890
+ },
1891
+ "type": "array",
1892
+ },
1891
1893
  },
1892
- "type": "array",
1894
+ "required": [
1895
+ "contracts",
1896
+ "surfaces",
1897
+ "capabilities",
1898
+ "resources",
1899
+ ],
1900
+ "type": "object",
1893
1901
  },
1894
1902
  "resources": {
1895
1903
  "items": {
@@ -2070,40 +2078,19 @@ exports.CONTRACT = {
2070
2078
  "desiredVersion": { "minLength": 1, "type": "string" },
2071
2079
  "error": { "minLength": 1, "type": "string" },
2072
2080
  "grants": {
2073
- "items": {
2074
- "anyOf": [{
2081
+ "properties": {
2082
+ "capabilities": {
2083
+ "items": {
2075
2084
  "properties": {
2076
2085
  "capability": { "minLength": 1, "type": "string" },
2077
- "kind": { "const": "capability", "type": "string" },
2078
- },
2079
- "required": ["kind", "capability"],
2080
- "type": "object",
2081
- }, {
2082
- "properties": {
2083
- "action": {
2084
- "anyOf": [
2085
- { "const": "call", "type": "string" },
2086
- { "const": "publish", "type": "string" },
2087
- { "const": "subscribe", "type": "string" },
2088
- { "const": "observe", "type": "string" },
2089
- { "const": "cancel", "type": "string" },
2090
- ],
2091
- },
2092
- "contractId": { "minLength": 1, "type": "string" },
2093
- "kind": { "const": "surface", "type": "string" },
2094
- "name": { "minLength": 1, "type": "string" },
2095
- "surfaceKind": {
2096
- "anyOf": [
2097
- { "const": "rpc", "type": "string" },
2098
- { "const": "operation", "type": "string" },
2099
- { "const": "event", "type": "string" },
2100
- { "const": "feed", "type": "string" },
2101
- ],
2102
- },
2103
2086
  },
2104
- "required": ["kind", "contractId", "surfaceKind", "name"],
2087
+ "required": ["capability"],
2105
2088
  "type": "object",
2106
- }, {
2089
+ },
2090
+ "type": "array",
2091
+ },
2092
+ "nats": {
2093
+ "items": {
2107
2094
  "properties": {
2108
2095
  "direction": {
2109
2096
  "anyOf": [{ "const": "publish", "type": "string" }, {
@@ -2120,7 +2107,6 @@ exports.CONTRACT = {
2120
2107
  { "const": "transfer", "type": "string" },
2121
2108
  ],
2122
2109
  },
2123
- "kind": { "const": "nats", "type": "string" },
2124
2110
  "requiredCapabilities": {
2125
2111
  "items": { "minLength": 1, "type": "string" },
2126
2112
  "type": "array",
@@ -2153,38 +2139,68 @@ exports.CONTRACT = {
2153
2139
  },
2154
2140
  },
2155
2141
  "required": [
2156
- "kind",
2157
2142
  "direction",
2158
2143
  "subject",
2159
2144
  "requiredCapabilities",
2160
2145
  "grantSource",
2161
2146
  ],
2162
2147
  "type": "object",
2163
- }],
2164
- },
2165
- "type": "array",
2166
- },
2167
- "reconciledAt": {
2168
- "anyOf": [{ "format": "date-time", "type": "string" }, {
2169
- "type": "null",
2170
- }],
2171
- },
2172
- "resourceBindings": {
2173
- "items": {
2174
- "properties": {
2175
- "alias": { "minLength": 1, "type": "string" },
2176
- "binding": {
2177
- "patternProperties": { "^.*$": {} },
2178
- "type": "object",
2179
2148
  },
2180
- "createdAt": { "format": "date-time", "type": "string" },
2181
- "deploymentId": { "minLength": 1, "type": "string" },
2182
- "kind": {
2183
- "anyOf": [
2184
- { "const": "kv", "type": "string" },
2185
- { "const": "store", "type": "string" },
2186
- { "const": "jobs", "type": "string" },
2187
- { "const": "event-consumer", "type": "string" },
2149
+ "type": "array",
2150
+ },
2151
+ "surfaces": {
2152
+ "items": {
2153
+ "properties": {
2154
+ "action": {
2155
+ "anyOf": [
2156
+ { "const": "call", "type": "string" },
2157
+ { "const": "publish", "type": "string" },
2158
+ { "const": "subscribe", "type": "string" },
2159
+ { "const": "observe", "type": "string" },
2160
+ { "const": "cancel", "type": "string" },
2161
+ ],
2162
+ },
2163
+ "contractId": { "minLength": 1, "type": "string" },
2164
+ "name": { "minLength": 1, "type": "string" },
2165
+ "surfaceKind": {
2166
+ "anyOf": [
2167
+ { "const": "rpc", "type": "string" },
2168
+ { "const": "operation", "type": "string" },
2169
+ { "const": "event", "type": "string" },
2170
+ { "const": "feed", "type": "string" },
2171
+ ],
2172
+ },
2173
+ },
2174
+ "required": ["contractId", "surfaceKind", "name"],
2175
+ "type": "object",
2176
+ },
2177
+ "type": "array",
2178
+ },
2179
+ },
2180
+ "required": ["capabilities", "surfaces", "nats"],
2181
+ "type": "object",
2182
+ },
2183
+ "reconciledAt": {
2184
+ "anyOf": [{ "format": "date-time", "type": "string" }, {
2185
+ "type": "null",
2186
+ }],
2187
+ },
2188
+ "resourceBindings": {
2189
+ "items": {
2190
+ "properties": {
2191
+ "alias": { "minLength": 1, "type": "string" },
2192
+ "binding": {
2193
+ "patternProperties": { "^.*$": {} },
2194
+ "type": "object",
2195
+ },
2196
+ "createdAt": { "format": "date-time", "type": "string" },
2197
+ "deploymentId": { "minLength": 1, "type": "string" },
2198
+ "kind": {
2199
+ "anyOf": [
2200
+ { "const": "kv", "type": "string" },
2201
+ { "const": "store", "type": "string" },
2202
+ { "const": "jobs", "type": "string" },
2203
+ { "const": "event-consumer", "type": "string" },
2188
2204
  { "const": "transfer", "type": "string" },
2189
2205
  ],
2190
2206
  },
@@ -2713,89 +2729,92 @@ exports.CONTRACT = {
2713
2729
  "type": "array",
2714
2730
  },
2715
2731
  "needs": {
2716
- "items": {
2717
- "anyOf": [{
2732
+ "properties": {
2733
+ "capabilities": {
2734
+ "items": {
2718
2735
  "properties": {
2719
- "contractId": { "minLength": 1, "type": "string" },
2720
- "kind": { "const": "contract", "type": "string" },
2736
+ "capability": { "minLength": 1, "type": "string" },
2721
2737
  "required": { "type": "boolean" },
2722
2738
  },
2723
- "required": ["kind", "contractId", "required"],
2739
+ "required": ["capability", "required"],
2724
2740
  "type": "object",
2725
- }, {
2741
+ },
2742
+ "type": "array",
2743
+ },
2744
+ "contracts": {
2745
+ "items": {
2726
2746
  "properties": {
2727
- "kind": { "const": "surface", "type": "string" },
2747
+ "contractId": { "minLength": 1, "type": "string" },
2728
2748
  "required": { "type": "boolean" },
2729
- "surface": {
2730
- "properties": {
2731
- "action": {
2732
- "anyOf": [
2733
- { "const": "call", "type": "string" },
2734
- { "const": "publish", "type": "string" },
2735
- { "const": "subscribe", "type": "string" },
2736
- { "const": "observe", "type": "string" },
2737
- { "const": "cancel", "type": "string" },
2738
- ],
2739
- },
2740
- "contractId": {
2741
- "minLength": 1,
2742
- "type": "string",
2743
- },
2744
- "kind": {
2745
- "anyOf": [
2746
- { "const": "rpc", "type": "string" },
2747
- { "const": "operation", "type": "string" },
2748
- { "const": "event", "type": "string" },
2749
- { "const": "feed", "type": "string" },
2750
- ],
2751
- },
2752
- "name": { "minLength": 1, "type": "string" },
2753
- },
2754
- "required": ["contractId", "kind", "name"],
2755
- "type": "object",
2756
- },
2757
2749
  },
2758
- "required": ["kind", "surface", "required"],
2750
+ "required": ["contractId", "required"],
2759
2751
  "type": "object",
2760
- }, {
2752
+ },
2753
+ "type": "array",
2754
+ },
2755
+ "resources": {
2756
+ "items": {
2761
2757
  "properties": {
2762
- "capability": { "minLength": 1, "type": "string" },
2763
- "kind": { "const": "capability", "type": "string" },
2758
+ "alias": { "minLength": 1, "type": "string" },
2759
+ "definition": { "type": "object" },
2760
+ "kind": {
2761
+ "anyOf": [
2762
+ { "const": "kv", "type": "string" },
2763
+ { "const": "store", "type": "string" },
2764
+ { "const": "jobs", "type": "string" },
2765
+ { "const": "event-consumer", "type": "string" },
2766
+ { "const": "transfer", "type": "string" },
2767
+ ],
2768
+ },
2764
2769
  "required": { "type": "boolean" },
2765
2770
  },
2766
- "required": ["kind", "capability", "required"],
2771
+ "required": ["kind", "alias", "required"],
2767
2772
  "type": "object",
2768
- }, {
2773
+ },
2774
+ "type": "array",
2775
+ },
2776
+ "surfaces": {
2777
+ "items": {
2769
2778
  "properties": {
2770
- "kind": { "const": "resource", "type": "string" },
2771
- "required": { "type": "boolean" },
2772
- "resource": {
2773
- "properties": {
2774
- "alias": { "minLength": 1, "type": "string" },
2775
- "definition": { "type": "object" },
2776
- "kind": {
2777
- "anyOf": [
2778
- { "const": "kv", "type": "string" },
2779
- { "const": "store", "type": "string" },
2780
- { "const": "jobs", "type": "string" },
2781
- {
2782
- "const": "event-consumer",
2783
- "type": "string",
2784
- },
2785
- { "const": "transfer", "type": "string" },
2786
- ],
2787
- },
2788
- "required": { "type": "boolean" },
2789
- },
2790
- "required": ["kind", "alias", "required"],
2791
- "type": "object",
2779
+ "action": {
2780
+ "anyOf": [
2781
+ { "const": "call", "type": "string" },
2782
+ { "const": "publish", "type": "string" },
2783
+ { "const": "subscribe", "type": "string" },
2784
+ { "const": "observe", "type": "string" },
2785
+ { "const": "cancel", "type": "string" },
2786
+ ],
2787
+ },
2788
+ "contractId": { "minLength": 1, "type": "string" },
2789
+ "kind": {
2790
+ "anyOf": [
2791
+ { "const": "rpc", "type": "string" },
2792
+ { "const": "operation", "type": "string" },
2793
+ { "const": "event", "type": "string" },
2794
+ { "const": "feed", "type": "string" },
2795
+ ],
2792
2796
  },
2797
+ "name": { "minLength": 1, "type": "string" },
2798
+ "required": { "type": "boolean" },
2793
2799
  },
2794
- "required": ["kind", "resource", "required"],
2800
+ "required": [
2801
+ "contractId",
2802
+ "kind",
2803
+ "name",
2804
+ "required",
2805
+ ],
2795
2806
  "type": "object",
2796
- }],
2807
+ },
2808
+ "type": "array",
2809
+ },
2797
2810
  },
2798
- "type": "array",
2811
+ "required": [
2812
+ "contracts",
2813
+ "surfaces",
2814
+ "capabilities",
2815
+ "resources",
2816
+ ],
2817
+ "type": "object",
2799
2818
  },
2800
2819
  "resources": {
2801
2820
  "items": {
@@ -2960,89 +2979,92 @@ exports.CONTRACT = {
2960
2979
  "type": "array",
2961
2980
  },
2962
2981
  "requestedNeeds": {
2963
- "items": {
2964
- "anyOf": [{
2982
+ "properties": {
2983
+ "capabilities": {
2984
+ "items": {
2965
2985
  "properties": {
2966
- "contractId": { "minLength": 1, "type": "string" },
2967
- "kind": { "const": "contract", "type": "string" },
2986
+ "capability": { "minLength": 1, "type": "string" },
2968
2987
  "required": { "type": "boolean" },
2969
2988
  },
2970
- "required": ["kind", "contractId", "required"],
2989
+ "required": ["capability", "required"],
2971
2990
  "type": "object",
2972
- }, {
2991
+ },
2992
+ "type": "array",
2993
+ },
2994
+ "contracts": {
2995
+ "items": {
2973
2996
  "properties": {
2974
- "kind": { "const": "surface", "type": "string" },
2997
+ "contractId": { "minLength": 1, "type": "string" },
2975
2998
  "required": { "type": "boolean" },
2976
- "surface": {
2977
- "properties": {
2978
- "action": {
2979
- "anyOf": [
2980
- { "const": "call", "type": "string" },
2981
- { "const": "publish", "type": "string" },
2982
- { "const": "subscribe", "type": "string" },
2983
- { "const": "observe", "type": "string" },
2984
- { "const": "cancel", "type": "string" },
2985
- ],
2986
- },
2987
- "contractId": {
2988
- "minLength": 1,
2989
- "type": "string",
2990
- },
2991
- "kind": {
2992
- "anyOf": [
2993
- { "const": "rpc", "type": "string" },
2994
- { "const": "operation", "type": "string" },
2995
- { "const": "event", "type": "string" },
2996
- { "const": "feed", "type": "string" },
2997
- ],
2998
- },
2999
- "name": { "minLength": 1, "type": "string" },
3000
- },
3001
- "required": ["contractId", "kind", "name"],
3002
- "type": "object",
3003
- },
3004
2999
  },
3005
- "required": ["kind", "surface", "required"],
3000
+ "required": ["contractId", "required"],
3006
3001
  "type": "object",
3007
- }, {
3002
+ },
3003
+ "type": "array",
3004
+ },
3005
+ "resources": {
3006
+ "items": {
3008
3007
  "properties": {
3009
- "capability": { "minLength": 1, "type": "string" },
3010
- "kind": { "const": "capability", "type": "string" },
3008
+ "alias": { "minLength": 1, "type": "string" },
3009
+ "definition": { "type": "object" },
3010
+ "kind": {
3011
+ "anyOf": [
3012
+ { "const": "kv", "type": "string" },
3013
+ { "const": "store", "type": "string" },
3014
+ { "const": "jobs", "type": "string" },
3015
+ { "const": "event-consumer", "type": "string" },
3016
+ { "const": "transfer", "type": "string" },
3017
+ ],
3018
+ },
3011
3019
  "required": { "type": "boolean" },
3012
3020
  },
3013
- "required": ["kind", "capability", "required"],
3021
+ "required": ["kind", "alias", "required"],
3014
3022
  "type": "object",
3015
- }, {
3023
+ },
3024
+ "type": "array",
3025
+ },
3026
+ "surfaces": {
3027
+ "items": {
3016
3028
  "properties": {
3017
- "kind": { "const": "resource", "type": "string" },
3018
- "required": { "type": "boolean" },
3019
- "resource": {
3020
- "properties": {
3021
- "alias": { "minLength": 1, "type": "string" },
3022
- "definition": { "type": "object" },
3023
- "kind": {
3024
- "anyOf": [
3025
- { "const": "kv", "type": "string" },
3026
- { "const": "store", "type": "string" },
3027
- { "const": "jobs", "type": "string" },
3028
- {
3029
- "const": "event-consumer",
3030
- "type": "string",
3031
- },
3032
- { "const": "transfer", "type": "string" },
3033
- ],
3034
- },
3035
- "required": { "type": "boolean" },
3036
- },
3037
- "required": ["kind", "alias", "required"],
3038
- "type": "object",
3029
+ "action": {
3030
+ "anyOf": [
3031
+ { "const": "call", "type": "string" },
3032
+ { "const": "publish", "type": "string" },
3033
+ { "const": "subscribe", "type": "string" },
3034
+ { "const": "observe", "type": "string" },
3035
+ { "const": "cancel", "type": "string" },
3036
+ ],
3037
+ },
3038
+ "contractId": { "minLength": 1, "type": "string" },
3039
+ "kind": {
3040
+ "anyOf": [
3041
+ { "const": "rpc", "type": "string" },
3042
+ { "const": "operation", "type": "string" },
3043
+ { "const": "event", "type": "string" },
3044
+ { "const": "feed", "type": "string" },
3045
+ ],
3039
3046
  },
3047
+ "name": { "minLength": 1, "type": "string" },
3048
+ "required": { "type": "boolean" },
3040
3049
  },
3041
- "required": ["kind", "resource", "required"],
3050
+ "required": [
3051
+ "contractId",
3052
+ "kind",
3053
+ "name",
3054
+ "required",
3055
+ ],
3042
3056
  "type": "object",
3043
- }],
3057
+ },
3058
+ "type": "array",
3059
+ },
3044
3060
  },
3045
- "type": "array",
3061
+ "required": [
3062
+ "contracts",
3063
+ "surfaces",
3064
+ "capabilities",
3065
+ "resources",
3066
+ ],
3067
+ "type": "object",
3046
3068
  },
3047
3069
  "summary": { "type": "object" },
3048
3070
  },
@@ -3144,89 +3166,92 @@ exports.CONTRACT = {
3144
3166
  "type": "array",
3145
3167
  },
3146
3168
  "requestedNeeds": {
3147
- "items": {
3148
- "anyOf": [{
3169
+ "properties": {
3170
+ "capabilities": {
3171
+ "items": {
3149
3172
  "properties": {
3150
- "contractId": { "minLength": 1, "type": "string" },
3151
- "kind": { "const": "contract", "type": "string" },
3173
+ "capability": { "minLength": 1, "type": "string" },
3152
3174
  "required": { "type": "boolean" },
3153
3175
  },
3154
- "required": ["kind", "contractId", "required"],
3176
+ "required": ["capability", "required"],
3155
3177
  "type": "object",
3156
- }, {
3178
+ },
3179
+ "type": "array",
3180
+ },
3181
+ "contracts": {
3182
+ "items": {
3157
3183
  "properties": {
3158
- "kind": { "const": "surface", "type": "string" },
3184
+ "contractId": { "minLength": 1, "type": "string" },
3159
3185
  "required": { "type": "boolean" },
3160
- "surface": {
3161
- "properties": {
3162
- "action": {
3163
- "anyOf": [
3164
- { "const": "call", "type": "string" },
3165
- { "const": "publish", "type": "string" },
3166
- { "const": "subscribe", "type": "string" },
3167
- { "const": "observe", "type": "string" },
3168
- { "const": "cancel", "type": "string" },
3169
- ],
3170
- },
3171
- "contractId": {
3172
- "minLength": 1,
3173
- "type": "string",
3174
- },
3175
- "kind": {
3176
- "anyOf": [
3177
- { "const": "rpc", "type": "string" },
3178
- { "const": "operation", "type": "string" },
3179
- { "const": "event", "type": "string" },
3180
- { "const": "feed", "type": "string" },
3181
- ],
3182
- },
3183
- "name": { "minLength": 1, "type": "string" },
3184
- },
3185
- "required": ["contractId", "kind", "name"],
3186
- "type": "object",
3187
- },
3188
3186
  },
3189
- "required": ["kind", "surface", "required"],
3187
+ "required": ["contractId", "required"],
3190
3188
  "type": "object",
3191
- }, {
3189
+ },
3190
+ "type": "array",
3191
+ },
3192
+ "resources": {
3193
+ "items": {
3192
3194
  "properties": {
3193
- "capability": { "minLength": 1, "type": "string" },
3194
- "kind": { "const": "capability", "type": "string" },
3195
+ "alias": { "minLength": 1, "type": "string" },
3196
+ "definition": { "type": "object" },
3197
+ "kind": {
3198
+ "anyOf": [
3199
+ { "const": "kv", "type": "string" },
3200
+ { "const": "store", "type": "string" },
3201
+ { "const": "jobs", "type": "string" },
3202
+ { "const": "event-consumer", "type": "string" },
3203
+ { "const": "transfer", "type": "string" },
3204
+ ],
3205
+ },
3195
3206
  "required": { "type": "boolean" },
3196
3207
  },
3197
- "required": ["kind", "capability", "required"],
3208
+ "required": ["kind", "alias", "required"],
3198
3209
  "type": "object",
3199
- }, {
3200
- "properties": {
3201
- "kind": { "const": "resource", "type": "string" },
3202
- "required": { "type": "boolean" },
3203
- "resource": {
3204
- "properties": {
3205
- "alias": { "minLength": 1, "type": "string" },
3206
- "definition": { "type": "object" },
3207
- "kind": {
3208
- "anyOf": [
3209
- { "const": "kv", "type": "string" },
3210
- { "const": "store", "type": "string" },
3211
- { "const": "jobs", "type": "string" },
3212
- {
3213
- "const": "event-consumer",
3214
- "type": "string",
3215
- },
3216
- { "const": "transfer", "type": "string" },
3217
- ],
3218
- },
3219
- "required": { "type": "boolean" },
3220
- },
3221
- "required": ["kind", "alias", "required"],
3222
- "type": "object",
3210
+ },
3211
+ "type": "array",
3212
+ },
3213
+ "surfaces": {
3214
+ "items": {
3215
+ "properties": {
3216
+ "action": {
3217
+ "anyOf": [
3218
+ { "const": "call", "type": "string" },
3219
+ { "const": "publish", "type": "string" },
3220
+ { "const": "subscribe", "type": "string" },
3221
+ { "const": "observe", "type": "string" },
3222
+ { "const": "cancel", "type": "string" },
3223
+ ],
3224
+ },
3225
+ "contractId": { "minLength": 1, "type": "string" },
3226
+ "kind": {
3227
+ "anyOf": [
3228
+ { "const": "rpc", "type": "string" },
3229
+ { "const": "operation", "type": "string" },
3230
+ { "const": "event", "type": "string" },
3231
+ { "const": "feed", "type": "string" },
3232
+ ],
3223
3233
  },
3234
+ "name": { "minLength": 1, "type": "string" },
3235
+ "required": { "type": "boolean" },
3224
3236
  },
3225
- "required": ["kind", "resource", "required"],
3237
+ "required": [
3238
+ "contractId",
3239
+ "kind",
3240
+ "name",
3241
+ "required",
3242
+ ],
3226
3243
  "type": "object",
3227
- }],
3244
+ },
3245
+ "type": "array",
3246
+ },
3228
3247
  },
3229
- "type": "array",
3248
+ "required": [
3249
+ "contracts",
3250
+ "surfaces",
3251
+ "capabilities",
3252
+ "resources",
3253
+ ],
3254
+ "type": "object",
3230
3255
  },
3231
3256
  "summary": { "type": "object" },
3232
3257
  },
@@ -3342,89 +3367,92 @@ exports.CONTRACT = {
3342
3367
  "type": "array",
3343
3368
  },
3344
3369
  "requestedNeeds": {
3345
- "items": {
3346
- "anyOf": [{
3370
+ "properties": {
3371
+ "capabilities": {
3372
+ "items": {
3347
3373
  "properties": {
3348
- "contractId": { "minLength": 1, "type": "string" },
3349
- "kind": { "const": "contract", "type": "string" },
3374
+ "capability": { "minLength": 1, "type": "string" },
3350
3375
  "required": { "type": "boolean" },
3351
3376
  },
3352
- "required": ["kind", "contractId", "required"],
3377
+ "required": ["capability", "required"],
3353
3378
  "type": "object",
3354
- }, {
3379
+ },
3380
+ "type": "array",
3381
+ },
3382
+ "contracts": {
3383
+ "items": {
3355
3384
  "properties": {
3356
- "kind": { "const": "surface", "type": "string" },
3385
+ "contractId": { "minLength": 1, "type": "string" },
3357
3386
  "required": { "type": "boolean" },
3358
- "surface": {
3359
- "properties": {
3360
- "action": {
3361
- "anyOf": [
3362
- { "const": "call", "type": "string" },
3363
- { "const": "publish", "type": "string" },
3364
- { "const": "subscribe", "type": "string" },
3365
- { "const": "observe", "type": "string" },
3366
- { "const": "cancel", "type": "string" },
3367
- ],
3368
- },
3369
- "contractId": {
3370
- "minLength": 1,
3371
- "type": "string",
3372
- },
3373
- "kind": {
3374
- "anyOf": [
3375
- { "const": "rpc", "type": "string" },
3376
- { "const": "operation", "type": "string" },
3377
- { "const": "event", "type": "string" },
3378
- { "const": "feed", "type": "string" },
3379
- ],
3380
- },
3381
- "name": { "minLength": 1, "type": "string" },
3382
- },
3383
- "required": ["contractId", "kind", "name"],
3384
- "type": "object",
3385
- },
3386
3387
  },
3387
- "required": ["kind", "surface", "required"],
3388
+ "required": ["contractId", "required"],
3388
3389
  "type": "object",
3389
- }, {
3390
+ },
3391
+ "type": "array",
3392
+ },
3393
+ "resources": {
3394
+ "items": {
3390
3395
  "properties": {
3391
- "capability": { "minLength": 1, "type": "string" },
3392
- "kind": { "const": "capability", "type": "string" },
3396
+ "alias": { "minLength": 1, "type": "string" },
3397
+ "definition": { "type": "object" },
3398
+ "kind": {
3399
+ "anyOf": [
3400
+ { "const": "kv", "type": "string" },
3401
+ { "const": "store", "type": "string" },
3402
+ { "const": "jobs", "type": "string" },
3403
+ { "const": "event-consumer", "type": "string" },
3404
+ { "const": "transfer", "type": "string" },
3405
+ ],
3406
+ },
3393
3407
  "required": { "type": "boolean" },
3394
3408
  },
3395
- "required": ["kind", "capability", "required"],
3409
+ "required": ["kind", "alias", "required"],
3396
3410
  "type": "object",
3397
- }, {
3411
+ },
3412
+ "type": "array",
3413
+ },
3414
+ "surfaces": {
3415
+ "items": {
3398
3416
  "properties": {
3399
- "kind": { "const": "resource", "type": "string" },
3400
- "required": { "type": "boolean" },
3401
- "resource": {
3402
- "properties": {
3403
- "alias": { "minLength": 1, "type": "string" },
3404
- "definition": { "type": "object" },
3405
- "kind": {
3406
- "anyOf": [
3407
- { "const": "kv", "type": "string" },
3408
- { "const": "store", "type": "string" },
3409
- { "const": "jobs", "type": "string" },
3410
- {
3411
- "const": "event-consumer",
3412
- "type": "string",
3413
- },
3414
- { "const": "transfer", "type": "string" },
3415
- ],
3416
- },
3417
- "required": { "type": "boolean" },
3418
- },
3419
- "required": ["kind", "alias", "required"],
3420
- "type": "object",
3417
+ "action": {
3418
+ "anyOf": [
3419
+ { "const": "call", "type": "string" },
3420
+ { "const": "publish", "type": "string" },
3421
+ { "const": "subscribe", "type": "string" },
3422
+ { "const": "observe", "type": "string" },
3423
+ { "const": "cancel", "type": "string" },
3424
+ ],
3425
+ },
3426
+ "contractId": { "minLength": 1, "type": "string" },
3427
+ "kind": {
3428
+ "anyOf": [
3429
+ { "const": "rpc", "type": "string" },
3430
+ { "const": "operation", "type": "string" },
3431
+ { "const": "event", "type": "string" },
3432
+ { "const": "feed", "type": "string" },
3433
+ ],
3421
3434
  },
3435
+ "name": { "minLength": 1, "type": "string" },
3436
+ "required": { "type": "boolean" },
3422
3437
  },
3423
- "required": ["kind", "resource", "required"],
3438
+ "required": [
3439
+ "contractId",
3440
+ "kind",
3441
+ "name",
3442
+ "required",
3443
+ ],
3424
3444
  "type": "object",
3425
- }],
3445
+ },
3446
+ "type": "array",
3447
+ },
3426
3448
  },
3427
- "type": "array",
3449
+ "required": [
3450
+ "contracts",
3451
+ "surfaces",
3452
+ "capabilities",
3453
+ "resources",
3454
+ ],
3455
+ "type": "object",
3428
3456
  },
3429
3457
  "summary": { "type": "object" },
3430
3458
  },
@@ -3526,89 +3554,92 @@ exports.CONTRACT = {
3526
3554
  "type": "array",
3527
3555
  },
3528
3556
  "requestedNeeds": {
3529
- "items": {
3530
- "anyOf": [{
3557
+ "properties": {
3558
+ "capabilities": {
3559
+ "items": {
3531
3560
  "properties": {
3532
- "contractId": { "minLength": 1, "type": "string" },
3533
- "kind": { "const": "contract", "type": "string" },
3561
+ "capability": { "minLength": 1, "type": "string" },
3534
3562
  "required": { "type": "boolean" },
3535
3563
  },
3536
- "required": ["kind", "contractId", "required"],
3564
+ "required": ["capability", "required"],
3537
3565
  "type": "object",
3538
- }, {
3566
+ },
3567
+ "type": "array",
3568
+ },
3569
+ "contracts": {
3570
+ "items": {
3539
3571
  "properties": {
3540
- "kind": { "const": "surface", "type": "string" },
3572
+ "contractId": { "minLength": 1, "type": "string" },
3541
3573
  "required": { "type": "boolean" },
3542
- "surface": {
3543
- "properties": {
3544
- "action": {
3545
- "anyOf": [
3546
- { "const": "call", "type": "string" },
3547
- { "const": "publish", "type": "string" },
3548
- { "const": "subscribe", "type": "string" },
3549
- { "const": "observe", "type": "string" },
3550
- { "const": "cancel", "type": "string" },
3551
- ],
3552
- },
3553
- "contractId": {
3554
- "minLength": 1,
3555
- "type": "string",
3556
- },
3557
- "kind": {
3558
- "anyOf": [
3559
- { "const": "rpc", "type": "string" },
3560
- { "const": "operation", "type": "string" },
3561
- { "const": "event", "type": "string" },
3562
- { "const": "feed", "type": "string" },
3563
- ],
3564
- },
3565
- "name": { "minLength": 1, "type": "string" },
3566
- },
3567
- "required": ["contractId", "kind", "name"],
3568
- "type": "object",
3569
- },
3570
3574
  },
3571
- "required": ["kind", "surface", "required"],
3575
+ "required": ["contractId", "required"],
3572
3576
  "type": "object",
3573
- }, {
3577
+ },
3578
+ "type": "array",
3579
+ },
3580
+ "resources": {
3581
+ "items": {
3574
3582
  "properties": {
3575
- "capability": { "minLength": 1, "type": "string" },
3576
- "kind": { "const": "capability", "type": "string" },
3583
+ "alias": { "minLength": 1, "type": "string" },
3584
+ "definition": { "type": "object" },
3585
+ "kind": {
3586
+ "anyOf": [
3587
+ { "const": "kv", "type": "string" },
3588
+ { "const": "store", "type": "string" },
3589
+ { "const": "jobs", "type": "string" },
3590
+ { "const": "event-consumer", "type": "string" },
3591
+ { "const": "transfer", "type": "string" },
3592
+ ],
3593
+ },
3577
3594
  "required": { "type": "boolean" },
3578
3595
  },
3579
- "required": ["kind", "capability", "required"],
3596
+ "required": ["kind", "alias", "required"],
3580
3597
  "type": "object",
3581
- }, {
3598
+ },
3599
+ "type": "array",
3600
+ },
3601
+ "surfaces": {
3602
+ "items": {
3582
3603
  "properties": {
3583
- "kind": { "const": "resource", "type": "string" },
3584
- "required": { "type": "boolean" },
3585
- "resource": {
3586
- "properties": {
3587
- "alias": { "minLength": 1, "type": "string" },
3588
- "definition": { "type": "object" },
3589
- "kind": {
3590
- "anyOf": [
3591
- { "const": "kv", "type": "string" },
3592
- { "const": "store", "type": "string" },
3593
- { "const": "jobs", "type": "string" },
3594
- {
3595
- "const": "event-consumer",
3596
- "type": "string",
3597
- },
3598
- { "const": "transfer", "type": "string" },
3599
- ],
3600
- },
3601
- "required": { "type": "boolean" },
3602
- },
3603
- "required": ["kind", "alias", "required"],
3604
- "type": "object",
3604
+ "action": {
3605
+ "anyOf": [
3606
+ { "const": "call", "type": "string" },
3607
+ { "const": "publish", "type": "string" },
3608
+ { "const": "subscribe", "type": "string" },
3609
+ { "const": "observe", "type": "string" },
3610
+ { "const": "cancel", "type": "string" },
3611
+ ],
3612
+ },
3613
+ "contractId": { "minLength": 1, "type": "string" },
3614
+ "kind": {
3615
+ "anyOf": [
3616
+ { "const": "rpc", "type": "string" },
3617
+ { "const": "operation", "type": "string" },
3618
+ { "const": "event", "type": "string" },
3619
+ { "const": "feed", "type": "string" },
3620
+ ],
3605
3621
  },
3622
+ "name": { "minLength": 1, "type": "string" },
3623
+ "required": { "type": "boolean" },
3606
3624
  },
3607
- "required": ["kind", "resource", "required"],
3625
+ "required": [
3626
+ "contractId",
3627
+ "kind",
3628
+ "name",
3629
+ "required",
3630
+ ],
3608
3631
  "type": "object",
3609
- }],
3632
+ },
3633
+ "type": "array",
3634
+ },
3610
3635
  },
3611
- "type": "array",
3636
+ "required": [
3637
+ "contracts",
3638
+ "surfaces",
3639
+ "capabilities",
3640
+ "resources",
3641
+ ],
3642
+ "type": "object",
3612
3643
  },
3613
3644
  "summary": { "type": "object" },
3614
3645
  },
@@ -3755,89 +3786,104 @@ exports.CONTRACT = {
3755
3786
  "type": "array",
3756
3787
  },
3757
3788
  "requestedNeeds": {
3758
- "items": {
3759
- "anyOf": [{
3789
+ "properties": {
3790
+ "capabilities": {
3791
+ "items": {
3760
3792
  "properties": {
3761
- "contractId": { "minLength": 1, "type": "string" },
3762
- "kind": { "const": "contract", "type": "string" },
3793
+ "capability": {
3794
+ "minLength": 1,
3795
+ "type": "string",
3796
+ },
3763
3797
  "required": { "type": "boolean" },
3764
3798
  },
3765
- "required": ["kind", "contractId", "required"],
3799
+ "required": ["capability", "required"],
3766
3800
  "type": "object",
3767
- }, {
3801
+ },
3802
+ "type": "array",
3803
+ },
3804
+ "contracts": {
3805
+ "items": {
3768
3806
  "properties": {
3769
- "kind": { "const": "surface", "type": "string" },
3770
- "required": { "type": "boolean" },
3771
- "surface": {
3772
- "properties": {
3773
- "action": {
3774
- "anyOf": [
3775
- { "const": "call", "type": "string" },
3776
- { "const": "publish", "type": "string" },
3777
- { "const": "subscribe", "type": "string" },
3778
- { "const": "observe", "type": "string" },
3779
- { "const": "cancel", "type": "string" },
3780
- ],
3781
- },
3782
- "contractId": {
3783
- "minLength": 1,
3784
- "type": "string",
3785
- },
3786
- "kind": {
3787
- "anyOf": [
3788
- { "const": "rpc", "type": "string" },
3789
- { "const": "operation", "type": "string" },
3790
- { "const": "event", "type": "string" },
3791
- { "const": "feed", "type": "string" },
3792
- ],
3793
- },
3794
- "name": { "minLength": 1, "type": "string" },
3795
- },
3796
- "required": ["contractId", "kind", "name"],
3797
- "type": "object",
3807
+ "contractId": {
3808
+ "minLength": 1,
3809
+ "type": "string",
3798
3810
  },
3811
+ "required": { "type": "boolean" },
3799
3812
  },
3800
- "required": ["kind", "surface", "required"],
3813
+ "required": ["contractId", "required"],
3801
3814
  "type": "object",
3802
- }, {
3815
+ },
3816
+ "type": "array",
3817
+ },
3818
+ "resources": {
3819
+ "items": {
3803
3820
  "properties": {
3804
- "capability": { "minLength": 1, "type": "string" },
3805
- "kind": { "const": "capability", "type": "string" },
3821
+ "alias": { "minLength": 1, "type": "string" },
3822
+ "definition": { "type": "object" },
3823
+ "kind": {
3824
+ "anyOf": [
3825
+ { "const": "kv", "type": "string" },
3826
+ { "const": "store", "type": "string" },
3827
+ { "const": "jobs", "type": "string" },
3828
+ {
3829
+ "const": "event-consumer",
3830
+ "type": "string",
3831
+ },
3832
+ { "const": "transfer", "type": "string" },
3833
+ ],
3834
+ },
3806
3835
  "required": { "type": "boolean" },
3807
3836
  },
3808
- "required": ["kind", "capability", "required"],
3837
+ "required": ["kind", "alias", "required"],
3809
3838
  "type": "object",
3810
- }, {
3839
+ },
3840
+ "type": "array",
3841
+ },
3842
+ "surfaces": {
3843
+ "items": {
3811
3844
  "properties": {
3812
- "kind": { "const": "resource", "type": "string" },
3813
- "required": { "type": "boolean" },
3814
- "resource": {
3815
- "properties": {
3816
- "alias": { "minLength": 1, "type": "string" },
3817
- "definition": { "type": "object" },
3818
- "kind": {
3819
- "anyOf": [
3820
- { "const": "kv", "type": "string" },
3821
- { "const": "store", "type": "string" },
3822
- { "const": "jobs", "type": "string" },
3823
- {
3824
- "const": "event-consumer",
3825
- "type": "string",
3826
- },
3827
- { "const": "transfer", "type": "string" },
3828
- ],
3829
- },
3830
- "required": { "type": "boolean" },
3831
- },
3832
- "required": ["kind", "alias", "required"],
3833
- "type": "object",
3845
+ "action": {
3846
+ "anyOf": [
3847
+ { "const": "call", "type": "string" },
3848
+ { "const": "publish", "type": "string" },
3849
+ { "const": "subscribe", "type": "string" },
3850
+ { "const": "observe", "type": "string" },
3851
+ { "const": "cancel", "type": "string" },
3852
+ ],
3853
+ },
3854
+ "contractId": {
3855
+ "minLength": 1,
3856
+ "type": "string",
3857
+ },
3858
+ "kind": {
3859
+ "anyOf": [
3860
+ { "const": "rpc", "type": "string" },
3861
+ { "const": "operation", "type": "string" },
3862
+ { "const": "event", "type": "string" },
3863
+ { "const": "feed", "type": "string" },
3864
+ ],
3834
3865
  },
3866
+ "name": { "minLength": 1, "type": "string" },
3867
+ "required": { "type": "boolean" },
3835
3868
  },
3836
- "required": ["kind", "resource", "required"],
3869
+ "required": [
3870
+ "contractId",
3871
+ "kind",
3872
+ "name",
3873
+ "required",
3874
+ ],
3837
3875
  "type": "object",
3838
- }],
3876
+ },
3877
+ "type": "array",
3878
+ },
3839
3879
  },
3840
- "type": "array",
3880
+ "required": [
3881
+ "contracts",
3882
+ "surfaces",
3883
+ "capabilities",
3884
+ "resources",
3885
+ ],
3886
+ "type": "object",
3841
3887
  },
3842
3888
  "summary": { "type": "object" },
3843
3889
  },
@@ -3939,89 +3985,104 @@ exports.CONTRACT = {
3939
3985
  "type": "array",
3940
3986
  },
3941
3987
  "requestedNeeds": {
3942
- "items": {
3943
- "anyOf": [{
3988
+ "properties": {
3989
+ "capabilities": {
3990
+ "items": {
3944
3991
  "properties": {
3945
- "contractId": { "minLength": 1, "type": "string" },
3946
- "kind": { "const": "contract", "type": "string" },
3947
- "required": { "type": "boolean" },
3992
+ "capability": {
3993
+ "minLength": 1,
3994
+ "type": "string",
3995
+ },
3996
+ "required": { "type": "boolean" },
3948
3997
  },
3949
- "required": ["kind", "contractId", "required"],
3998
+ "required": ["capability", "required"],
3950
3999
  "type": "object",
3951
- }, {
4000
+ },
4001
+ "type": "array",
4002
+ },
4003
+ "contracts": {
4004
+ "items": {
3952
4005
  "properties": {
3953
- "kind": { "const": "surface", "type": "string" },
3954
- "required": { "type": "boolean" },
3955
- "surface": {
3956
- "properties": {
3957
- "action": {
3958
- "anyOf": [
3959
- { "const": "call", "type": "string" },
3960
- { "const": "publish", "type": "string" },
3961
- { "const": "subscribe", "type": "string" },
3962
- { "const": "observe", "type": "string" },
3963
- { "const": "cancel", "type": "string" },
3964
- ],
3965
- },
3966
- "contractId": {
3967
- "minLength": 1,
3968
- "type": "string",
3969
- },
3970
- "kind": {
3971
- "anyOf": [
3972
- { "const": "rpc", "type": "string" },
3973
- { "const": "operation", "type": "string" },
3974
- { "const": "event", "type": "string" },
3975
- { "const": "feed", "type": "string" },
3976
- ],
3977
- },
3978
- "name": { "minLength": 1, "type": "string" },
3979
- },
3980
- "required": ["contractId", "kind", "name"],
3981
- "type": "object",
4006
+ "contractId": {
4007
+ "minLength": 1,
4008
+ "type": "string",
3982
4009
  },
4010
+ "required": { "type": "boolean" },
3983
4011
  },
3984
- "required": ["kind", "surface", "required"],
4012
+ "required": ["contractId", "required"],
3985
4013
  "type": "object",
3986
- }, {
4014
+ },
4015
+ "type": "array",
4016
+ },
4017
+ "resources": {
4018
+ "items": {
3987
4019
  "properties": {
3988
- "capability": { "minLength": 1, "type": "string" },
3989
- "kind": { "const": "capability", "type": "string" },
4020
+ "alias": { "minLength": 1, "type": "string" },
4021
+ "definition": { "type": "object" },
4022
+ "kind": {
4023
+ "anyOf": [
4024
+ { "const": "kv", "type": "string" },
4025
+ { "const": "store", "type": "string" },
4026
+ { "const": "jobs", "type": "string" },
4027
+ {
4028
+ "const": "event-consumer",
4029
+ "type": "string",
4030
+ },
4031
+ { "const": "transfer", "type": "string" },
4032
+ ],
4033
+ },
3990
4034
  "required": { "type": "boolean" },
3991
4035
  },
3992
- "required": ["kind", "capability", "required"],
4036
+ "required": ["kind", "alias", "required"],
3993
4037
  "type": "object",
3994
- }, {
4038
+ },
4039
+ "type": "array",
4040
+ },
4041
+ "surfaces": {
4042
+ "items": {
3995
4043
  "properties": {
3996
- "kind": { "const": "resource", "type": "string" },
3997
- "required": { "type": "boolean" },
3998
- "resource": {
3999
- "properties": {
4000
- "alias": { "minLength": 1, "type": "string" },
4001
- "definition": { "type": "object" },
4002
- "kind": {
4003
- "anyOf": [
4004
- { "const": "kv", "type": "string" },
4005
- { "const": "store", "type": "string" },
4006
- { "const": "jobs", "type": "string" },
4007
- {
4008
- "const": "event-consumer",
4009
- "type": "string",
4010
- },
4011
- { "const": "transfer", "type": "string" },
4012
- ],
4013
- },
4014
- "required": { "type": "boolean" },
4015
- },
4016
- "required": ["kind", "alias", "required"],
4017
- "type": "object",
4044
+ "action": {
4045
+ "anyOf": [
4046
+ { "const": "call", "type": "string" },
4047
+ { "const": "publish", "type": "string" },
4048
+ { "const": "subscribe", "type": "string" },
4049
+ { "const": "observe", "type": "string" },
4050
+ { "const": "cancel", "type": "string" },
4051
+ ],
4052
+ },
4053
+ "contractId": {
4054
+ "minLength": 1,
4055
+ "type": "string",
4056
+ },
4057
+ "kind": {
4058
+ "anyOf": [
4059
+ { "const": "rpc", "type": "string" },
4060
+ { "const": "operation", "type": "string" },
4061
+ { "const": "event", "type": "string" },
4062
+ { "const": "feed", "type": "string" },
4063
+ ],
4018
4064
  },
4065
+ "name": { "minLength": 1, "type": "string" },
4066
+ "required": { "type": "boolean" },
4019
4067
  },
4020
- "required": ["kind", "resource", "required"],
4068
+ "required": [
4069
+ "contractId",
4070
+ "kind",
4071
+ "name",
4072
+ "required",
4073
+ ],
4021
4074
  "type": "object",
4022
- }],
4075
+ },
4076
+ "type": "array",
4077
+ },
4023
4078
  },
4024
- "type": "array",
4079
+ "required": [
4080
+ "contracts",
4081
+ "surfaces",
4082
+ "capabilities",
4083
+ "resources",
4084
+ ],
4085
+ "type": "object",
4025
4086
  },
4026
4087
  "summary": { "type": "object" },
4027
4088
  },
@@ -4091,83 +4152,87 @@ exports.CONTRACT = {
4091
4152
  "type": "array",
4092
4153
  },
4093
4154
  "needs": {
4094
- "items": {
4095
- "anyOf": [{
4155
+ "properties": {
4156
+ "capabilities": {
4157
+ "items": {
4096
4158
  "properties": {
4097
- "contractId": { "minLength": 1, "type": "string" },
4098
- "kind": { "const": "contract", "type": "string" },
4159
+ "capability": { "minLength": 1, "type": "string" },
4099
4160
  "required": { "type": "boolean" },
4100
4161
  },
4101
- "required": ["kind", "contractId", "required"],
4162
+ "required": ["capability", "required"],
4102
4163
  "type": "object",
4103
- }, {
4164
+ },
4165
+ "type": "array",
4166
+ },
4167
+ "contracts": {
4168
+ "items": {
4104
4169
  "properties": {
4105
- "kind": { "const": "surface", "type": "string" },
4170
+ "contractId": { "minLength": 1, "type": "string" },
4106
4171
  "required": { "type": "boolean" },
4107
- "surface": {
4108
- "properties": {
4109
- "action": {
4110
- "anyOf": [
4111
- { "const": "call", "type": "string" },
4112
- { "const": "publish", "type": "string" },
4113
- { "const": "subscribe", "type": "string" },
4114
- { "const": "observe", "type": "string" },
4115
- { "const": "cancel", "type": "string" },
4116
- ],
4117
- },
4118
- "contractId": { "minLength": 1, "type": "string" },
4119
- "kind": {
4120
- "anyOf": [
4121
- { "const": "rpc", "type": "string" },
4122
- { "const": "operation", "type": "string" },
4123
- { "const": "event", "type": "string" },
4124
- { "const": "feed", "type": "string" },
4125
- ],
4126
- },
4127
- "name": { "minLength": 1, "type": "string" },
4128
- },
4129
- "required": ["contractId", "kind", "name"],
4130
- "type": "object",
4131
- },
4132
4172
  },
4133
- "required": ["kind", "surface", "required"],
4173
+ "required": ["contractId", "required"],
4134
4174
  "type": "object",
4135
- }, {
4175
+ },
4176
+ "type": "array",
4177
+ },
4178
+ "resources": {
4179
+ "items": {
4136
4180
  "properties": {
4137
- "capability": { "minLength": 1, "type": "string" },
4138
- "kind": { "const": "capability", "type": "string" },
4181
+ "alias": { "minLength": 1, "type": "string" },
4182
+ "definition": { "type": "object" },
4183
+ "kind": {
4184
+ "anyOf": [
4185
+ { "const": "kv", "type": "string" },
4186
+ { "const": "store", "type": "string" },
4187
+ { "const": "jobs", "type": "string" },
4188
+ { "const": "event-consumer", "type": "string" },
4189
+ { "const": "transfer", "type": "string" },
4190
+ ],
4191
+ },
4139
4192
  "required": { "type": "boolean" },
4140
4193
  },
4141
- "required": ["kind", "capability", "required"],
4194
+ "required": ["kind", "alias", "required"],
4142
4195
  "type": "object",
4143
- }, {
4196
+ },
4197
+ "type": "array",
4198
+ },
4199
+ "surfaces": {
4200
+ "items": {
4144
4201
  "properties": {
4145
- "kind": { "const": "resource", "type": "string" },
4146
- "required": { "type": "boolean" },
4147
- "resource": {
4148
- "properties": {
4149
- "alias": { "minLength": 1, "type": "string" },
4150
- "definition": { "type": "object" },
4151
- "kind": {
4152
- "anyOf": [
4153
- { "const": "kv", "type": "string" },
4154
- { "const": "store", "type": "string" },
4155
- { "const": "jobs", "type": "string" },
4156
- { "const": "event-consumer", "type": "string" },
4157
- { "const": "transfer", "type": "string" },
4158
- ],
4159
- },
4160
- "required": { "type": "boolean" },
4161
- },
4162
- "required": ["kind", "alias", "required"],
4163
- "type": "object",
4202
+ "action": {
4203
+ "anyOf": [
4204
+ { "const": "call", "type": "string" },
4205
+ { "const": "publish", "type": "string" },
4206
+ { "const": "subscribe", "type": "string" },
4207
+ { "const": "observe", "type": "string" },
4208
+ { "const": "cancel", "type": "string" },
4209
+ ],
4210
+ },
4211
+ "contractId": { "minLength": 1, "type": "string" },
4212
+ "kind": {
4213
+ "anyOf": [
4214
+ { "const": "rpc", "type": "string" },
4215
+ { "const": "operation", "type": "string" },
4216
+ { "const": "event", "type": "string" },
4217
+ { "const": "feed", "type": "string" },
4218
+ ],
4164
4219
  },
4220
+ "name": { "minLength": 1, "type": "string" },
4221
+ "required": { "type": "boolean" },
4165
4222
  },
4166
- "required": ["kind", "resource", "required"],
4223
+ "required": ["contractId", "kind", "name", "required"],
4167
4224
  "type": "object",
4168
- }],
4225
+ },
4226
+ "type": "array",
4227
+ },
4169
4228
  },
4170
- "type": "array",
4229
+ "required": [
4230
+ "contracts",
4231
+ "surfaces",
4232
+ "capabilities",
4233
+ "resources",
4234
+ ],
4235
+ "type": "object",
4171
4236
  },
4172
4237
  "resources": {
4173
4238
  "items": {
@@ -4253,40 +4318,19 @@ exports.CONTRACT = {
4253
4318
  "desiredVersion": { "minLength": 1, "type": "string" },
4254
4319
  "error": { "minLength": 1, "type": "string" },
4255
4320
  "grants": {
4256
- "items": {
4257
- "anyOf": [{
4321
+ "properties": {
4322
+ "capabilities": {
4323
+ "items": {
4258
4324
  "properties": {
4259
4325
  "capability": { "minLength": 1, "type": "string" },
4260
- "kind": { "const": "capability", "type": "string" },
4261
- },
4262
- "required": ["kind", "capability"],
4263
- "type": "object",
4264
- }, {
4265
- "properties": {
4266
- "action": {
4267
- "anyOf": [
4268
- { "const": "call", "type": "string" },
4269
- { "const": "publish", "type": "string" },
4270
- { "const": "subscribe", "type": "string" },
4271
- { "const": "observe", "type": "string" },
4272
- { "const": "cancel", "type": "string" },
4273
- ],
4274
- },
4275
- "contractId": { "minLength": 1, "type": "string" },
4276
- "kind": { "const": "surface", "type": "string" },
4277
- "name": { "minLength": 1, "type": "string" },
4278
- "surfaceKind": {
4279
- "anyOf": [
4280
- { "const": "rpc", "type": "string" },
4281
- { "const": "operation", "type": "string" },
4282
- { "const": "event", "type": "string" },
4283
- { "const": "feed", "type": "string" },
4284
- ],
4285
- },
4286
4326
  },
4287
- "required": ["kind", "contractId", "surfaceKind", "name"],
4327
+ "required": ["capability"],
4288
4328
  "type": "object",
4289
- }, {
4329
+ },
4330
+ "type": "array",
4331
+ },
4332
+ "nats": {
4333
+ "items": {
4290
4334
  "properties": {
4291
4335
  "direction": {
4292
4336
  "anyOf": [{ "const": "publish", "type": "string" }, {
@@ -4303,7 +4347,6 @@ exports.CONTRACT = {
4303
4347
  { "const": "transfer", "type": "string" },
4304
4348
  ],
4305
4349
  },
4306
- "kind": { "const": "nats", "type": "string" },
4307
4350
  "requiredCapabilities": {
4308
4351
  "items": { "minLength": 1, "type": "string" },
4309
4352
  "type": "array",
@@ -4336,16 +4379,46 @@ exports.CONTRACT = {
4336
4379
  },
4337
4380
  },
4338
4381
  "required": [
4339
- "kind",
4340
4382
  "direction",
4341
4383
  "subject",
4342
4384
  "requiredCapabilities",
4343
4385
  "grantSource",
4344
4386
  ],
4345
4387
  "type": "object",
4346
- }],
4388
+ },
4389
+ "type": "array",
4390
+ },
4391
+ "surfaces": {
4392
+ "items": {
4393
+ "properties": {
4394
+ "action": {
4395
+ "anyOf": [
4396
+ { "const": "call", "type": "string" },
4397
+ { "const": "publish", "type": "string" },
4398
+ { "const": "subscribe", "type": "string" },
4399
+ { "const": "observe", "type": "string" },
4400
+ { "const": "cancel", "type": "string" },
4401
+ ],
4402
+ },
4403
+ "contractId": { "minLength": 1, "type": "string" },
4404
+ "name": { "minLength": 1, "type": "string" },
4405
+ "surfaceKind": {
4406
+ "anyOf": [
4407
+ { "const": "rpc", "type": "string" },
4408
+ { "const": "operation", "type": "string" },
4409
+ { "const": "event", "type": "string" },
4410
+ { "const": "feed", "type": "string" },
4411
+ ],
4412
+ },
4413
+ },
4414
+ "required": ["contractId", "surfaceKind", "name"],
4415
+ "type": "object",
4416
+ },
4417
+ "type": "array",
4418
+ },
4347
4419
  },
4348
- "type": "array",
4420
+ "required": ["capabilities", "surfaces", "nats"],
4421
+ "type": "object",
4349
4422
  },
4350
4423
  "reconciledAt": {
4351
4424
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -7729,83 +7802,87 @@ exports.CONTRACT = {
7729
7802
  "type": "array",
7730
7803
  },
7731
7804
  "needs": {
7732
- "items": {
7733
- "anyOf": [{
7805
+ "properties": {
7806
+ "capabilities": {
7807
+ "items": {
7734
7808
  "properties": {
7735
- "contractId": { "minLength": 1, "type": "string" },
7736
- "kind": { "const": "contract", "type": "string" },
7809
+ "capability": { "minLength": 1, "type": "string" },
7737
7810
  "required": { "type": "boolean" },
7738
7811
  },
7739
- "required": ["kind", "contractId", "required"],
7812
+ "required": ["capability", "required"],
7740
7813
  "type": "object",
7741
- }, {
7814
+ },
7815
+ "type": "array",
7816
+ },
7817
+ "contracts": {
7818
+ "items": {
7742
7819
  "properties": {
7743
- "kind": { "const": "surface", "type": "string" },
7820
+ "contractId": { "minLength": 1, "type": "string" },
7744
7821
  "required": { "type": "boolean" },
7745
- "surface": {
7746
- "properties": {
7747
- "action": {
7748
- "anyOf": [
7749
- { "const": "call", "type": "string" },
7750
- { "const": "publish", "type": "string" },
7751
- { "const": "subscribe", "type": "string" },
7752
- { "const": "observe", "type": "string" },
7753
- { "const": "cancel", "type": "string" },
7754
- ],
7755
- },
7756
- "contractId": { "minLength": 1, "type": "string" },
7757
- "kind": {
7758
- "anyOf": [
7759
- { "const": "rpc", "type": "string" },
7760
- { "const": "operation", "type": "string" },
7761
- { "const": "event", "type": "string" },
7762
- { "const": "feed", "type": "string" },
7763
- ],
7764
- },
7765
- "name": { "minLength": 1, "type": "string" },
7766
- },
7767
- "required": ["contractId", "kind", "name"],
7768
- "type": "object",
7769
- },
7770
7822
  },
7771
- "required": ["kind", "surface", "required"],
7823
+ "required": ["contractId", "required"],
7772
7824
  "type": "object",
7773
- }, {
7825
+ },
7826
+ "type": "array",
7827
+ },
7828
+ "resources": {
7829
+ "items": {
7774
7830
  "properties": {
7775
- "capability": { "minLength": 1, "type": "string" },
7776
- "kind": { "const": "capability", "type": "string" },
7831
+ "alias": { "minLength": 1, "type": "string" },
7832
+ "definition": { "type": "object" },
7833
+ "kind": {
7834
+ "anyOf": [
7835
+ { "const": "kv", "type": "string" },
7836
+ { "const": "store", "type": "string" },
7837
+ { "const": "jobs", "type": "string" },
7838
+ { "const": "event-consumer", "type": "string" },
7839
+ { "const": "transfer", "type": "string" },
7840
+ ],
7841
+ },
7777
7842
  "required": { "type": "boolean" },
7778
7843
  },
7779
- "required": ["kind", "capability", "required"],
7844
+ "required": ["kind", "alias", "required"],
7780
7845
  "type": "object",
7781
- }, {
7846
+ },
7847
+ "type": "array",
7848
+ },
7849
+ "surfaces": {
7850
+ "items": {
7782
7851
  "properties": {
7783
- "kind": { "const": "resource", "type": "string" },
7784
- "required": { "type": "boolean" },
7785
- "resource": {
7786
- "properties": {
7787
- "alias": { "minLength": 1, "type": "string" },
7788
- "definition": { "type": "object" },
7789
- "kind": {
7790
- "anyOf": [
7791
- { "const": "kv", "type": "string" },
7792
- { "const": "store", "type": "string" },
7793
- { "const": "jobs", "type": "string" },
7794
- { "const": "event-consumer", "type": "string" },
7795
- { "const": "transfer", "type": "string" },
7796
- ],
7797
- },
7798
- "required": { "type": "boolean" },
7799
- },
7800
- "required": ["kind", "alias", "required"],
7801
- "type": "object",
7852
+ "action": {
7853
+ "anyOf": [
7854
+ { "const": "call", "type": "string" },
7855
+ { "const": "publish", "type": "string" },
7856
+ { "const": "subscribe", "type": "string" },
7857
+ { "const": "observe", "type": "string" },
7858
+ { "const": "cancel", "type": "string" },
7859
+ ],
7860
+ },
7861
+ "contractId": { "minLength": 1, "type": "string" },
7862
+ "kind": {
7863
+ "anyOf": [
7864
+ { "const": "rpc", "type": "string" },
7865
+ { "const": "operation", "type": "string" },
7866
+ { "const": "event", "type": "string" },
7867
+ { "const": "feed", "type": "string" },
7868
+ ],
7802
7869
  },
7870
+ "name": { "minLength": 1, "type": "string" },
7871
+ "required": { "type": "boolean" },
7803
7872
  },
7804
- "required": ["kind", "resource", "required"],
7873
+ "required": ["contractId", "kind", "name", "required"],
7805
7874
  "type": "object",
7806
- }],
7875
+ },
7876
+ "type": "array",
7877
+ },
7807
7878
  },
7808
- "type": "array",
7879
+ "required": [
7880
+ "contracts",
7881
+ "surfaces",
7882
+ "capabilities",
7883
+ "resources",
7884
+ ],
7885
+ "type": "object",
7809
7886
  },
7810
7887
  "resources": {
7811
7888
  "items": {
@@ -7885,6 +7962,22 @@ exports.CONTRACT = {
7885
7962
  ],
7886
7963
  "type": "object",
7887
7964
  },
7965
+ "DeploymentAuthorityCapabilityNeed": {
7966
+ "properties": {
7967
+ "capability": { "minLength": 1, "type": "string" },
7968
+ "required": { "type": "boolean" },
7969
+ },
7970
+ "required": ["capability", "required"],
7971
+ "type": "object",
7972
+ },
7973
+ "DeploymentAuthorityContractNeed": {
7974
+ "properties": {
7975
+ "contractId": { "minLength": 1, "type": "string" },
7976
+ "required": { "type": "boolean" },
7977
+ },
7978
+ "required": ["contractId", "required"],
7979
+ "type": "object",
7980
+ },
7888
7981
  "DeploymentAuthorityGrantOverride": {
7889
7982
  "anyOf": [{
7890
7983
  "properties": {
@@ -7982,40 +8075,19 @@ exports.CONTRACT = {
7982
8075
  "desiredVersion": { "minLength": 1, "type": "string" },
7983
8076
  "error": { "minLength": 1, "type": "string" },
7984
8077
  "grants": {
7985
- "items": {
7986
- "anyOf": [{
8078
+ "properties": {
8079
+ "capabilities": {
8080
+ "items": {
7987
8081
  "properties": {
7988
8082
  "capability": { "minLength": 1, "type": "string" },
7989
- "kind": { "const": "capability", "type": "string" },
7990
- },
7991
- "required": ["kind", "capability"],
7992
- "type": "object",
7993
- }, {
7994
- "properties": {
7995
- "action": {
7996
- "anyOf": [
7997
- { "const": "call", "type": "string" },
7998
- { "const": "publish", "type": "string" },
7999
- { "const": "subscribe", "type": "string" },
8000
- { "const": "observe", "type": "string" },
8001
- { "const": "cancel", "type": "string" },
8002
- ],
8003
- },
8004
- "contractId": { "minLength": 1, "type": "string" },
8005
- "kind": { "const": "surface", "type": "string" },
8006
- "name": { "minLength": 1, "type": "string" },
8007
- "surfaceKind": {
8008
- "anyOf": [
8009
- { "const": "rpc", "type": "string" },
8010
- { "const": "operation", "type": "string" },
8011
- { "const": "event", "type": "string" },
8012
- { "const": "feed", "type": "string" },
8013
- ],
8014
- },
8015
8083
  },
8016
- "required": ["kind", "contractId", "surfaceKind", "name"],
8084
+ "required": ["capability"],
8017
8085
  "type": "object",
8018
- }, {
8086
+ },
8087
+ "type": "array",
8088
+ },
8089
+ "nats": {
8090
+ "items": {
8019
8091
  "properties": {
8020
8092
  "direction": {
8021
8093
  "anyOf": [{ "const": "publish", "type": "string" }, {
@@ -8032,7 +8104,6 @@ exports.CONTRACT = {
8032
8104
  { "const": "transfer", "type": "string" },
8033
8105
  ],
8034
8106
  },
8035
- "kind": { "const": "nats", "type": "string" },
8036
8107
  "requiredCapabilities": {
8037
8108
  "items": { "minLength": 1, "type": "string" },
8038
8109
  "type": "array",
@@ -8065,16 +8136,46 @@ exports.CONTRACT = {
8065
8136
  },
8066
8137
  },
8067
8138
  "required": [
8068
- "kind",
8069
8139
  "direction",
8070
8140
  "subject",
8071
8141
  "requiredCapabilities",
8072
8142
  "grantSource",
8073
8143
  ],
8074
8144
  "type": "object",
8075
- }],
8145
+ },
8146
+ "type": "array",
8147
+ },
8148
+ "surfaces": {
8149
+ "items": {
8150
+ "properties": {
8151
+ "action": {
8152
+ "anyOf": [
8153
+ { "const": "call", "type": "string" },
8154
+ { "const": "publish", "type": "string" },
8155
+ { "const": "subscribe", "type": "string" },
8156
+ { "const": "observe", "type": "string" },
8157
+ { "const": "cancel", "type": "string" },
8158
+ ],
8159
+ },
8160
+ "contractId": { "minLength": 1, "type": "string" },
8161
+ "name": { "minLength": 1, "type": "string" },
8162
+ "surfaceKind": {
8163
+ "anyOf": [
8164
+ { "const": "rpc", "type": "string" },
8165
+ { "const": "operation", "type": "string" },
8166
+ { "const": "event", "type": "string" },
8167
+ { "const": "feed", "type": "string" },
8168
+ ],
8169
+ },
8170
+ },
8171
+ "required": ["contractId", "surfaceKind", "name"],
8172
+ "type": "object",
8173
+ },
8174
+ "type": "array",
8175
+ },
8076
8176
  },
8077
- "type": "array",
8177
+ "required": ["capabilities", "surfaces", "nats"],
8178
+ "type": "object",
8078
8179
  },
8079
8180
  "reconciledAt": {
8080
8181
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -8200,83 +8301,87 @@ exports.CONTRACT = {
8200
8301
  "type": "array",
8201
8302
  },
8202
8303
  "requestedNeeds": {
8203
- "items": {
8204
- "anyOf": [{
8304
+ "properties": {
8305
+ "capabilities": {
8306
+ "items": {
8205
8307
  "properties": {
8206
- "contractId": { "minLength": 1, "type": "string" },
8207
- "kind": { "const": "contract", "type": "string" },
8308
+ "capability": { "minLength": 1, "type": "string" },
8208
8309
  "required": { "type": "boolean" },
8209
8310
  },
8210
- "required": ["kind", "contractId", "required"],
8311
+ "required": ["capability", "required"],
8211
8312
  "type": "object",
8212
- }, {
8313
+ },
8314
+ "type": "array",
8315
+ },
8316
+ "contracts": {
8317
+ "items": {
8213
8318
  "properties": {
8214
- "kind": { "const": "surface", "type": "string" },
8319
+ "contractId": { "minLength": 1, "type": "string" },
8215
8320
  "required": { "type": "boolean" },
8216
- "surface": {
8217
- "properties": {
8218
- "action": {
8219
- "anyOf": [
8220
- { "const": "call", "type": "string" },
8221
- { "const": "publish", "type": "string" },
8222
- { "const": "subscribe", "type": "string" },
8223
- { "const": "observe", "type": "string" },
8224
- { "const": "cancel", "type": "string" },
8225
- ],
8226
- },
8227
- "contractId": { "minLength": 1, "type": "string" },
8228
- "kind": {
8229
- "anyOf": [
8230
- { "const": "rpc", "type": "string" },
8231
- { "const": "operation", "type": "string" },
8232
- { "const": "event", "type": "string" },
8233
- { "const": "feed", "type": "string" },
8234
- ],
8235
- },
8236
- "name": { "minLength": 1, "type": "string" },
8237
- },
8238
- "required": ["contractId", "kind", "name"],
8239
- "type": "object",
8240
- },
8241
8321
  },
8242
- "required": ["kind", "surface", "required"],
8322
+ "required": ["contractId", "required"],
8243
8323
  "type": "object",
8244
- }, {
8324
+ },
8325
+ "type": "array",
8326
+ },
8327
+ "resources": {
8328
+ "items": {
8245
8329
  "properties": {
8246
- "capability": { "minLength": 1, "type": "string" },
8247
- "kind": { "const": "capability", "type": "string" },
8330
+ "alias": { "minLength": 1, "type": "string" },
8331
+ "definition": { "type": "object" },
8332
+ "kind": {
8333
+ "anyOf": [
8334
+ { "const": "kv", "type": "string" },
8335
+ { "const": "store", "type": "string" },
8336
+ { "const": "jobs", "type": "string" },
8337
+ { "const": "event-consumer", "type": "string" },
8338
+ { "const": "transfer", "type": "string" },
8339
+ ],
8340
+ },
8248
8341
  "required": { "type": "boolean" },
8249
8342
  },
8250
- "required": ["kind", "capability", "required"],
8343
+ "required": ["kind", "alias", "required"],
8251
8344
  "type": "object",
8252
- }, {
8345
+ },
8346
+ "type": "array",
8347
+ },
8348
+ "surfaces": {
8349
+ "items": {
8253
8350
  "properties": {
8254
- "kind": { "const": "resource", "type": "string" },
8255
- "required": { "type": "boolean" },
8256
- "resource": {
8257
- "properties": {
8258
- "alias": { "minLength": 1, "type": "string" },
8259
- "definition": { "type": "object" },
8260
- "kind": {
8261
- "anyOf": [
8262
- { "const": "kv", "type": "string" },
8263
- { "const": "store", "type": "string" },
8264
- { "const": "jobs", "type": "string" },
8265
- { "const": "event-consumer", "type": "string" },
8266
- { "const": "transfer", "type": "string" },
8267
- ],
8268
- },
8269
- "required": { "type": "boolean" },
8270
- },
8271
- "required": ["kind", "alias", "required"],
8272
- "type": "object",
8351
+ "action": {
8352
+ "anyOf": [
8353
+ { "const": "call", "type": "string" },
8354
+ { "const": "publish", "type": "string" },
8355
+ { "const": "subscribe", "type": "string" },
8356
+ { "const": "observe", "type": "string" },
8357
+ { "const": "cancel", "type": "string" },
8358
+ ],
8273
8359
  },
8360
+ "contractId": { "minLength": 1, "type": "string" },
8361
+ "kind": {
8362
+ "anyOf": [
8363
+ { "const": "rpc", "type": "string" },
8364
+ { "const": "operation", "type": "string" },
8365
+ { "const": "event", "type": "string" },
8366
+ { "const": "feed", "type": "string" },
8367
+ ],
8368
+ },
8369
+ "name": { "minLength": 1, "type": "string" },
8370
+ "required": { "type": "boolean" },
8274
8371
  },
8275
- "required": ["kind", "resource", "required"],
8372
+ "required": ["contractId", "kind", "name", "required"],
8276
8373
  "type": "object",
8277
- }],
8374
+ },
8375
+ "type": "array",
8376
+ },
8278
8377
  },
8279
- "type": "array",
8378
+ "required": [
8379
+ "contracts",
8380
+ "surfaces",
8381
+ "capabilities",
8382
+ "resources",
8383
+ ],
8384
+ "type": "object",
8280
8385
  },
8281
8386
  "summary": { "type": "object" },
8282
8387
  },
@@ -8315,81 +8420,83 @@ exports.CONTRACT = {
8315
8420
  ],
8316
8421
  "type": "object",
8317
8422
  },
8318
- "DeploymentAuthorityNeed": {
8319
- "anyOf": [{
8320
- "properties": {
8321
- "contractId": { "minLength": 1, "type": "string" },
8322
- "kind": { "const": "contract", "type": "string" },
8323
- "required": { "type": "boolean" },
8423
+ "DeploymentAuthorityNeeds": {
8424
+ "properties": {
8425
+ "capabilities": {
8426
+ "items": {
8427
+ "properties": {
8428
+ "capability": { "minLength": 1, "type": "string" },
8429
+ "required": { "type": "boolean" },
8430
+ },
8431
+ "required": ["capability", "required"],
8432
+ "type": "object",
8324
8433
  },
8325
- "required": ["kind", "contractId", "required"],
8326
- "type": "object",
8327
- }, {
8328
- "properties": {
8329
- "kind": { "const": "surface", "type": "string" },
8330
- "required": { "type": "boolean" },
8331
- "surface": {
8332
- "properties": {
8333
- "action": {
8334
- "anyOf": [
8335
- { "const": "call", "type": "string" },
8336
- { "const": "publish", "type": "string" },
8337
- { "const": "subscribe", "type": "string" },
8338
- { "const": "observe", "type": "string" },
8339
- { "const": "cancel", "type": "string" },
8340
- ],
8341
- },
8342
- "contractId": { "minLength": 1, "type": "string" },
8343
- "kind": {
8344
- "anyOf": [
8345
- { "const": "rpc", "type": "string" },
8346
- { "const": "operation", "type": "string" },
8347
- { "const": "event", "type": "string" },
8348
- { "const": "feed", "type": "string" },
8349
- ],
8350
- },
8351
- "name": { "minLength": 1, "type": "string" },
8352
- },
8353
- "required": ["contractId", "kind", "name"],
8354
- "type": "object",
8434
+ "type": "array",
8435
+ },
8436
+ "contracts": {
8437
+ "items": {
8438
+ "properties": {
8439
+ "contractId": { "minLength": 1, "type": "string" },
8440
+ "required": { "type": "boolean" },
8355
8441
  },
8442
+ "required": ["contractId", "required"],
8443
+ "type": "object",
8356
8444
  },
8357
- "required": ["kind", "surface", "required"],
8358
- "type": "object",
8359
- }, {
8360
- "properties": {
8361
- "capability": { "minLength": 1, "type": "string" },
8362
- "kind": { "const": "capability", "type": "string" },
8363
- "required": { "type": "boolean" },
8445
+ "type": "array",
8446
+ },
8447
+ "resources": {
8448
+ "items": {
8449
+ "properties": {
8450
+ "alias": { "minLength": 1, "type": "string" },
8451
+ "definition": { "type": "object" },
8452
+ "kind": {
8453
+ "anyOf": [
8454
+ { "const": "kv", "type": "string" },
8455
+ { "const": "store", "type": "string" },
8456
+ { "const": "jobs", "type": "string" },
8457
+ { "const": "event-consumer", "type": "string" },
8458
+ { "const": "transfer", "type": "string" },
8459
+ ],
8460
+ },
8461
+ "required": { "type": "boolean" },
8462
+ },
8463
+ "required": ["kind", "alias", "required"],
8464
+ "type": "object",
8364
8465
  },
8365
- "required": ["kind", "capability", "required"],
8366
- "type": "object",
8367
- }, {
8368
- "properties": {
8369
- "kind": { "const": "resource", "type": "string" },
8370
- "required": { "type": "boolean" },
8371
- "resource": {
8372
- "properties": {
8373
- "alias": { "minLength": 1, "type": "string" },
8374
- "definition": { "type": "object" },
8375
- "kind": {
8376
- "anyOf": [
8377
- { "const": "kv", "type": "string" },
8378
- { "const": "store", "type": "string" },
8379
- { "const": "jobs", "type": "string" },
8380
- { "const": "event-consumer", "type": "string" },
8381
- { "const": "transfer", "type": "string" },
8382
- ],
8383
- },
8384
- "required": { "type": "boolean" },
8466
+ "type": "array",
8467
+ },
8468
+ "surfaces": {
8469
+ "items": {
8470
+ "properties": {
8471
+ "action": {
8472
+ "anyOf": [
8473
+ { "const": "call", "type": "string" },
8474
+ { "const": "publish", "type": "string" },
8475
+ { "const": "subscribe", "type": "string" },
8476
+ { "const": "observe", "type": "string" },
8477
+ { "const": "cancel", "type": "string" },
8478
+ ],
8385
8479
  },
8386
- "required": ["kind", "alias", "required"],
8387
- "type": "object",
8480
+ "contractId": { "minLength": 1, "type": "string" },
8481
+ "kind": {
8482
+ "anyOf": [
8483
+ { "const": "rpc", "type": "string" },
8484
+ { "const": "operation", "type": "string" },
8485
+ { "const": "event", "type": "string" },
8486
+ { "const": "feed", "type": "string" },
8487
+ ],
8488
+ },
8489
+ "name": { "minLength": 1, "type": "string" },
8490
+ "required": { "type": "boolean" },
8388
8491
  },
8492
+ "required": ["contractId", "kind", "name", "required"],
8493
+ "type": "object",
8389
8494
  },
8390
- "required": ["kind", "resource", "required"],
8391
- "type": "object",
8392
- }],
8495
+ "type": "array",
8496
+ },
8497
+ },
8498
+ "required": ["contracts", "surfaces", "capabilities", "resources"],
8499
+ "type": "object",
8393
8500
  },
8394
8501
  "DeploymentAuthorityProposal": {
8395
8502
  "properties": {
@@ -8426,84 +8533,83 @@ exports.CONTRACT = {
8426
8533
  },
8427
8534
  "type": "array",
8428
8535
  },
8429
- "requestedNeeds": {
8430
- "items": {
8431
- "anyOf": [{
8536
+ "requestedNeeds": {
8537
+ "properties": {
8538
+ "capabilities": {
8539
+ "items": {
8432
8540
  "properties": {
8433
- "contractId": { "minLength": 1, "type": "string" },
8434
- "kind": { "const": "contract", "type": "string" },
8541
+ "capability": { "minLength": 1, "type": "string" },
8435
8542
  "required": { "type": "boolean" },
8436
8543
  },
8437
- "required": ["kind", "contractId", "required"],
8544
+ "required": ["capability", "required"],
8438
8545
  "type": "object",
8439
- }, {
8546
+ },
8547
+ "type": "array",
8548
+ },
8549
+ "contracts": {
8550
+ "items": {
8440
8551
  "properties": {
8441
- "kind": { "const": "surface", "type": "string" },
8552
+ "contractId": { "minLength": 1, "type": "string" },
8442
8553
  "required": { "type": "boolean" },
8443
- "surface": {
8444
- "properties": {
8445
- "action": {
8446
- "anyOf": [
8447
- { "const": "call", "type": "string" },
8448
- { "const": "publish", "type": "string" },
8449
- { "const": "subscribe", "type": "string" },
8450
- { "const": "observe", "type": "string" },
8451
- { "const": "cancel", "type": "string" },
8452
- ],
8453
- },
8454
- "contractId": { "minLength": 1, "type": "string" },
8455
- "kind": {
8456
- "anyOf": [
8457
- { "const": "rpc", "type": "string" },
8458
- { "const": "operation", "type": "string" },
8459
- { "const": "event", "type": "string" },
8460
- { "const": "feed", "type": "string" },
8461
- ],
8462
- },
8463
- "name": { "minLength": 1, "type": "string" },
8464
- },
8465
- "required": ["contractId", "kind", "name"],
8466
- "type": "object",
8467
- },
8468
8554
  },
8469
- "required": ["kind", "surface", "required"],
8555
+ "required": ["contractId", "required"],
8470
8556
  "type": "object",
8471
- }, {
8557
+ },
8558
+ "type": "array",
8559
+ },
8560
+ "resources": {
8561
+ "items": {
8472
8562
  "properties": {
8473
- "capability": { "minLength": 1, "type": "string" },
8474
- "kind": { "const": "capability", "type": "string" },
8563
+ "alias": { "minLength": 1, "type": "string" },
8564
+ "definition": { "type": "object" },
8565
+ "kind": {
8566
+ "anyOf": [
8567
+ { "const": "kv", "type": "string" },
8568
+ { "const": "store", "type": "string" },
8569
+ { "const": "jobs", "type": "string" },
8570
+ { "const": "event-consumer", "type": "string" },
8571
+ { "const": "transfer", "type": "string" },
8572
+ ],
8573
+ },
8475
8574
  "required": { "type": "boolean" },
8476
8575
  },
8477
- "required": ["kind", "capability", "required"],
8576
+ "required": ["kind", "alias", "required"],
8478
8577
  "type": "object",
8479
- }, {
8578
+ },
8579
+ "type": "array",
8580
+ },
8581
+ "surfaces": {
8582
+ "items": {
8480
8583
  "properties": {
8481
- "kind": { "const": "resource", "type": "string" },
8482
- "required": { "type": "boolean" },
8483
- "resource": {
8484
- "properties": {
8485
- "alias": { "minLength": 1, "type": "string" },
8486
- "definition": { "type": "object" },
8487
- "kind": {
8488
- "anyOf": [
8489
- { "const": "kv", "type": "string" },
8490
- { "const": "store", "type": "string" },
8491
- { "const": "jobs", "type": "string" },
8492
- { "const": "event-consumer", "type": "string" },
8493
- { "const": "transfer", "type": "string" },
8494
- ],
8495
- },
8496
- "required": { "type": "boolean" },
8497
- },
8498
- "required": ["kind", "alias", "required"],
8499
- "type": "object",
8584
+ "action": {
8585
+ "anyOf": [
8586
+ { "const": "call", "type": "string" },
8587
+ { "const": "publish", "type": "string" },
8588
+ { "const": "subscribe", "type": "string" },
8589
+ { "const": "observe", "type": "string" },
8590
+ { "const": "cancel", "type": "string" },
8591
+ ],
8592
+ },
8593
+ "contractId": { "minLength": 1, "type": "string" },
8594
+ "kind": {
8595
+ "anyOf": [
8596
+ { "const": "rpc", "type": "string" },
8597
+ { "const": "operation", "type": "string" },
8598
+ { "const": "event", "type": "string" },
8599
+ { "const": "feed", "type": "string" },
8600
+ ],
8500
8601
  },
8602
+ "name": { "minLength": 1, "type": "string" },
8603
+ "required": { "type": "boolean" },
8501
8604
  },
8502
- "required": ["kind", "resource", "required"],
8605
+ "required": ["contractId", "kind", "name", "required"],
8503
8606
  "type": "object",
8504
- }],
8607
+ },
8608
+ "type": "array",
8609
+ },
8505
8610
  },
8506
- "type": "array",
8611
+ "required": ["contracts", "surfaces", "capabilities", "resources"],
8612
+ "type": "object",
8507
8613
  },
8508
8614
  "summary": { "type": "object" },
8509
8615
  },
@@ -8567,6 +8673,24 @@ exports.CONTRACT = {
8567
8673
  "required": ["kind", "alias", "required"],
8568
8674
  "type": "object",
8569
8675
  },
8676
+ "DeploymentAuthorityResourceNeed": {
8677
+ "properties": {
8678
+ "alias": { "minLength": 1, "type": "string" },
8679
+ "definition": { "type": "object" },
8680
+ "kind": {
8681
+ "anyOf": [
8682
+ { "const": "kv", "type": "string" },
8683
+ { "const": "store", "type": "string" },
8684
+ { "const": "jobs", "type": "string" },
8685
+ { "const": "event-consumer", "type": "string" },
8686
+ { "const": "transfer", "type": "string" },
8687
+ ],
8688
+ },
8689
+ "required": { "type": "boolean" },
8690
+ },
8691
+ "required": ["kind", "alias", "required"],
8692
+ "type": "object",
8693
+ },
8570
8694
  "DeploymentAuthoritySurface": {
8571
8695
  "properties": {
8572
8696
  "action": {
@@ -8592,6 +8716,32 @@ exports.CONTRACT = {
8592
8716
  "required": ["contractId", "kind", "name"],
8593
8717
  "type": "object",
8594
8718
  },
8719
+ "DeploymentAuthoritySurfaceNeed": {
8720
+ "properties": {
8721
+ "action": {
8722
+ "anyOf": [
8723
+ { "const": "call", "type": "string" },
8724
+ { "const": "publish", "type": "string" },
8725
+ { "const": "subscribe", "type": "string" },
8726
+ { "const": "observe", "type": "string" },
8727
+ { "const": "cancel", "type": "string" },
8728
+ ],
8729
+ },
8730
+ "contractId": { "minLength": 1, "type": "string" },
8731
+ "kind": {
8732
+ "anyOf": [
8733
+ { "const": "rpc", "type": "string" },
8734
+ { "const": "operation", "type": "string" },
8735
+ { "const": "event", "type": "string" },
8736
+ { "const": "feed", "type": "string" },
8737
+ ],
8738
+ },
8739
+ "name": { "minLength": 1, "type": "string" },
8740
+ "required": { "type": "boolean" },
8741
+ },
8742
+ "required": ["contractId", "kind", "name", "required"],
8743
+ "type": "object",
8744
+ },
8595
8745
  "DeploymentAuthorityUpdate": {
8596
8746
  "properties": {
8597
8747
  "classification": { "const": "update", "type": "string" },
@@ -8653,83 +8803,87 @@ exports.CONTRACT = {
8653
8803
  "type": "array",
8654
8804
  },
8655
8805
  "requestedNeeds": {
8656
- "items": {
8657
- "anyOf": [{
8806
+ "properties": {
8807
+ "capabilities": {
8808
+ "items": {
8658
8809
  "properties": {
8659
- "contractId": { "minLength": 1, "type": "string" },
8660
- "kind": { "const": "contract", "type": "string" },
8810
+ "capability": { "minLength": 1, "type": "string" },
8661
8811
  "required": { "type": "boolean" },
8662
8812
  },
8663
- "required": ["kind", "contractId", "required"],
8813
+ "required": ["capability", "required"],
8664
8814
  "type": "object",
8665
- }, {
8815
+ },
8816
+ "type": "array",
8817
+ },
8818
+ "contracts": {
8819
+ "items": {
8666
8820
  "properties": {
8667
- "kind": { "const": "surface", "type": "string" },
8821
+ "contractId": { "minLength": 1, "type": "string" },
8668
8822
  "required": { "type": "boolean" },
8669
- "surface": {
8670
- "properties": {
8671
- "action": {
8672
- "anyOf": [
8673
- { "const": "call", "type": "string" },
8674
- { "const": "publish", "type": "string" },
8675
- { "const": "subscribe", "type": "string" },
8676
- { "const": "observe", "type": "string" },
8677
- { "const": "cancel", "type": "string" },
8678
- ],
8679
- },
8680
- "contractId": { "minLength": 1, "type": "string" },
8681
- "kind": {
8682
- "anyOf": [
8683
- { "const": "rpc", "type": "string" },
8684
- { "const": "operation", "type": "string" },
8685
- { "const": "event", "type": "string" },
8686
- { "const": "feed", "type": "string" },
8687
- ],
8688
- },
8689
- "name": { "minLength": 1, "type": "string" },
8690
- },
8691
- "required": ["contractId", "kind", "name"],
8692
- "type": "object",
8693
- },
8694
8823
  },
8695
- "required": ["kind", "surface", "required"],
8824
+ "required": ["contractId", "required"],
8696
8825
  "type": "object",
8697
- }, {
8826
+ },
8827
+ "type": "array",
8828
+ },
8829
+ "resources": {
8830
+ "items": {
8698
8831
  "properties": {
8699
- "capability": { "minLength": 1, "type": "string" },
8700
- "kind": { "const": "capability", "type": "string" },
8832
+ "alias": { "minLength": 1, "type": "string" },
8833
+ "definition": { "type": "object" },
8834
+ "kind": {
8835
+ "anyOf": [
8836
+ { "const": "kv", "type": "string" },
8837
+ { "const": "store", "type": "string" },
8838
+ { "const": "jobs", "type": "string" },
8839
+ { "const": "event-consumer", "type": "string" },
8840
+ { "const": "transfer", "type": "string" },
8841
+ ],
8842
+ },
8701
8843
  "required": { "type": "boolean" },
8702
8844
  },
8703
- "required": ["kind", "capability", "required"],
8845
+ "required": ["kind", "alias", "required"],
8704
8846
  "type": "object",
8705
- }, {
8847
+ },
8848
+ "type": "array",
8849
+ },
8850
+ "surfaces": {
8851
+ "items": {
8706
8852
  "properties": {
8707
- "kind": { "const": "resource", "type": "string" },
8708
- "required": { "type": "boolean" },
8709
- "resource": {
8710
- "properties": {
8711
- "alias": { "minLength": 1, "type": "string" },
8712
- "definition": { "type": "object" },
8713
- "kind": {
8714
- "anyOf": [
8715
- { "const": "kv", "type": "string" },
8716
- { "const": "store", "type": "string" },
8717
- { "const": "jobs", "type": "string" },
8718
- { "const": "event-consumer", "type": "string" },
8719
- { "const": "transfer", "type": "string" },
8720
- ],
8721
- },
8722
- "required": { "type": "boolean" },
8723
- },
8724
- "required": ["kind", "alias", "required"],
8725
- "type": "object",
8853
+ "action": {
8854
+ "anyOf": [
8855
+ { "const": "call", "type": "string" },
8856
+ { "const": "publish", "type": "string" },
8857
+ { "const": "subscribe", "type": "string" },
8858
+ { "const": "observe", "type": "string" },
8859
+ { "const": "cancel", "type": "string" },
8860
+ ],
8861
+ },
8862
+ "contractId": { "minLength": 1, "type": "string" },
8863
+ "kind": {
8864
+ "anyOf": [
8865
+ { "const": "rpc", "type": "string" },
8866
+ { "const": "operation", "type": "string" },
8867
+ { "const": "event", "type": "string" },
8868
+ { "const": "feed", "type": "string" },
8869
+ ],
8726
8870
  },
8871
+ "name": { "minLength": 1, "type": "string" },
8872
+ "required": { "type": "boolean" },
8727
8873
  },
8728
- "required": ["kind", "resource", "required"],
8874
+ "required": ["contractId", "kind", "name", "required"],
8729
8875
  "type": "object",
8730
- }],
8876
+ },
8877
+ "type": "array",
8878
+ },
8731
8879
  },
8732
- "type": "array",
8880
+ "required": [
8881
+ "contracts",
8882
+ "surfaces",
8883
+ "capabilities",
8884
+ "resources",
8885
+ ],
8886
+ "type": "object",
8733
8887
  },
8734
8888
  "summary": { "type": "object" },
8735
8889
  },
@@ -9389,7 +9543,10 @@ exports.CONTRACT = {
9389
9543
  "required": ["status", "location"],
9390
9544
  "type": "object",
9391
9545
  }, {
9392
- "properties": { "status": { "const": "expired", "type": "string" } },
9546
+ "properties": {
9547
+ "returnLocation": { "minLength": 1, "type": "string" },
9548
+ "status": { "const": "expired", "type": "string" },
9549
+ },
9393
9550
  "required": ["status"],
9394
9551
  "type": "object",
9395
9552
  }],