@qlever-llc/trellis 0.10.17 → 0.19.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/esm/auth/mod.d.ts +1 -1
  2. package/esm/auth/mod.d.ts.map +1 -1
  3. package/esm/auth/mod.js +1 -1
  4. package/esm/auth/protocol.d.ts +416 -398
  5. package/esm/auth/protocol.d.ts.map +1 -1
  6. package/esm/auth/protocol.js +35 -33
  7. package/esm/codec.d.ts +1 -0
  8. package/esm/codec.d.ts.map +1 -1
  9. package/esm/codec.js +1 -0
  10. package/esm/contract_support/canonical.d.ts +3 -0
  11. package/esm/contract_support/canonical.d.ts.map +1 -1
  12. package/esm/contract_support/canonical.js +3 -0
  13. package/esm/contract_support/mod.d.ts +28 -4
  14. package/esm/contract_support/mod.d.ts.map +1 -1
  15. package/esm/contract_support/mod.js +85 -4
  16. package/esm/contract_support/protocol.d.ts +92 -7
  17. package/esm/contract_support/protocol.d.ts.map +1 -1
  18. package/esm/contract_support/protocol.js +40 -6
  19. package/esm/errors/index.d.ts +9 -9
  20. package/esm/generated-sdk/auth/api.d.ts +4 -1
  21. package/esm/generated-sdk/auth/api.d.ts.map +1 -1
  22. package/esm/generated-sdk/auth/api.js +6 -1
  23. package/esm/generated-sdk/auth/client.d.ts +47 -32
  24. package/esm/generated-sdk/auth/client.d.ts.map +1 -1
  25. package/esm/generated-sdk/auth/contract.d.ts +1 -1
  26. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  27. package/esm/generated-sdk/auth/contract.js +1570 -1202
  28. package/esm/generated-sdk/auth/schemas.d.ts +1757 -1759
  29. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  30. package/esm/generated-sdk/auth/schemas.js +963 -768
  31. package/esm/generated-sdk/auth/types.d.ts +292 -302
  32. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  33. package/esm/generated-sdk/auth/types.js +1 -1
  34. package/esm/generated-sdk/health/client.d.ts +4 -4
  35. package/esm/generated-sdk/health/client.d.ts.map +1 -1
  36. package/esm/generated-sdk/health/contract.d.ts +1 -1
  37. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  38. package/esm/generated-sdk/health/contract.js +2 -10
  39. package/esm/generated-sdk/health/schemas.d.ts +1 -14
  40. package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
  41. package/esm/generated-sdk/health/schemas.js +1 -9
  42. package/esm/generated-sdk/health/types.d.ts +3 -5
  43. package/esm/generated-sdk/health/types.d.ts.map +1 -1
  44. package/esm/generated-sdk/health/types.js +1 -2
  45. package/esm/generated-sdk/jobs/api.d.ts +13 -0
  46. package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
  47. package/esm/generated-sdk/jobs/client.d.ts +6 -4
  48. package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
  49. package/esm/generated-sdk/jobs/contract.d.ts +14 -1
  50. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  51. package/esm/generated-sdk/jobs/contract.js +268 -1
  52. package/esm/generated-sdk/jobs/owned_api.d.ts +13 -0
  53. package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  54. package/esm/generated-sdk/jobs/owned_api.js +20 -1
  55. package/esm/generated-sdk/jobs/schemas.d.ts +437 -0
  56. package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
  57. package/esm/generated-sdk/jobs/schemas.js +211 -0
  58. package/esm/generated-sdk/jobs/types.d.ts +123 -1
  59. package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
  60. package/esm/generated-sdk/jobs/types.js +1 -1
  61. package/esm/generated-sdk/state/client.d.ts +4 -4
  62. package/esm/generated-sdk/state/client.d.ts.map +1 -1
  63. package/esm/generated-sdk/trellis-core/api.d.ts +4 -1
  64. package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
  65. package/esm/generated-sdk/trellis-core/api.js +6 -1
  66. package/esm/generated-sdk/trellis-core/client.d.ts +28 -3
  67. package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
  68. package/esm/generated-sdk/trellis-core/contract.d.ts +1 -1
  69. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  70. package/esm/generated-sdk/trellis-core/contract.js +91 -1
  71. package/esm/generated-sdk/trellis-core/schemas.d.ts +113 -0
  72. package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  73. package/esm/generated-sdk/trellis-core/schemas.js +81 -0
  74. package/esm/generated-sdk/trellis-core/types.d.ts +23 -1
  75. package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
  76. package/esm/generated-sdk/trellis-core/types.js +1 -1
  77. package/esm/health.d.ts +1 -1
  78. package/esm/health.d.ts.map +1 -1
  79. package/esm/health.js +1 -1
  80. package/esm/index.d.ts +2 -2
  81. package/esm/index.d.ts.map +1 -1
  82. package/esm/index.js +1 -1
  83. package/esm/jobs.d.ts +69 -3
  84. package/esm/jobs.d.ts.map +1 -1
  85. package/esm/jobs.js +92 -3
  86. package/esm/server/health.d.ts +2 -6
  87. package/esm/server/health.d.ts.map +1 -1
  88. package/esm/server/health_schemas.d.ts +0 -8
  89. package/esm/server/health_schemas.d.ts.map +1 -1
  90. package/esm/server/health_schemas.js +0 -5
  91. package/esm/server/internal_jobs/bindings.d.ts +11 -0
  92. package/esm/server/internal_jobs/bindings.d.ts.map +1 -1
  93. package/esm/server/internal_jobs/job-manager.d.ts +44 -1
  94. package/esm/server/internal_jobs/job-manager.d.ts.map +1 -1
  95. package/esm/server/internal_jobs/job-manager.js +361 -51
  96. package/esm/server/internal_jobs/key-coordinator.d.ts +260 -0
  97. package/esm/server/internal_jobs/key-coordinator.d.ts.map +1 -0
  98. package/esm/server/internal_jobs/key-coordinator.js +580 -0
  99. package/esm/server/internal_jobs/projection.d.ts.map +1 -1
  100. package/esm/server/internal_jobs/projection.js +2 -0
  101. package/esm/server/internal_jobs/runtime-worker.d.ts +5 -1
  102. package/esm/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  103. package/esm/server/internal_jobs/runtime-worker.js +14 -2
  104. package/esm/server/internal_jobs/types.d.ts +5 -5
  105. package/esm/server/internal_jobs/types.d.ts.map +1 -1
  106. package/esm/server/internal_jobs/types.js +6 -0
  107. package/esm/server/service.d.ts +8 -3
  108. package/esm/server/service.d.ts.map +1 -1
  109. package/esm/server/service.js +127 -6
  110. package/esm/service/drizzle.d.ts +27 -0
  111. package/esm/service/drizzle.d.ts.map +1 -0
  112. package/esm/service/drizzle.js +84 -0
  113. package/esm/service/mod.d.ts +1 -1
  114. package/esm/service/mod.d.ts.map +1 -1
  115. package/esm/service/mod.js +1 -1
  116. package/esm/service/outbox_inbox.d.ts.map +1 -1
  117. package/esm/service/outbox_inbox.js +13 -2
  118. package/esm/trellis.d.ts +24 -8
  119. package/esm/trellis.d.ts.map +1 -1
  120. package/esm/trellis.js +44 -22
  121. package/package.json +14 -2
  122. package/script/auth/mod.d.ts +1 -1
  123. package/script/auth/mod.d.ts.map +1 -1
  124. package/script/auth/mod.js +22 -6
  125. package/script/auth/protocol.d.ts +416 -398
  126. package/script/auth/protocol.d.ts.map +1 -1
  127. package/script/auth/protocol.js +40 -37
  128. package/script/codec.d.ts +1 -0
  129. package/script/codec.d.ts.map +1 -1
  130. package/script/codec.js +1 -0
  131. package/script/contract_support/canonical.d.ts +3 -0
  132. package/script/contract_support/canonical.d.ts.map +1 -1
  133. package/script/contract_support/canonical.js +3 -0
  134. package/script/contract_support/mod.d.ts +28 -4
  135. package/script/contract_support/mod.d.ts.map +1 -1
  136. package/script/contract_support/mod.js +90 -4
  137. package/script/contract_support/protocol.d.ts +92 -7
  138. package/script/contract_support/protocol.d.ts.map +1 -1
  139. package/script/contract_support/protocol.js +41 -7
  140. package/script/errors/index.d.ts +9 -9
  141. package/script/generated-sdk/auth/api.d.ts +4 -1
  142. package/script/generated-sdk/auth/api.d.ts.map +1 -1
  143. package/script/generated-sdk/auth/api.js +6 -1
  144. package/script/generated-sdk/auth/client.d.ts +47 -32
  145. package/script/generated-sdk/auth/client.d.ts.map +1 -1
  146. package/script/generated-sdk/auth/contract.d.ts +1 -1
  147. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  148. package/script/generated-sdk/auth/contract.js +1570 -1202
  149. package/script/generated-sdk/auth/schemas.d.ts +1757 -1759
  150. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  151. package/script/generated-sdk/auth/schemas.js +963 -768
  152. package/script/generated-sdk/auth/types.d.ts +292 -302
  153. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  154. package/script/generated-sdk/auth/types.js +1 -1
  155. package/script/generated-sdk/health/client.d.ts +4 -4
  156. package/script/generated-sdk/health/client.d.ts.map +1 -1
  157. package/script/generated-sdk/health/contract.d.ts +1 -1
  158. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  159. package/script/generated-sdk/health/contract.js +2 -10
  160. package/script/generated-sdk/health/schemas.d.ts +1 -14
  161. package/script/generated-sdk/health/schemas.d.ts.map +1 -1
  162. package/script/generated-sdk/health/schemas.js +1 -9
  163. package/script/generated-sdk/health/types.d.ts +3 -5
  164. package/script/generated-sdk/health/types.d.ts.map +1 -1
  165. package/script/generated-sdk/health/types.js +1 -2
  166. package/script/generated-sdk/jobs/api.d.ts +13 -0
  167. package/script/generated-sdk/jobs/api.d.ts.map +1 -1
  168. package/script/generated-sdk/jobs/client.d.ts +6 -4
  169. package/script/generated-sdk/jobs/client.d.ts.map +1 -1
  170. package/script/generated-sdk/jobs/contract.d.ts +14 -1
  171. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  172. package/script/generated-sdk/jobs/contract.js +268 -1
  173. package/script/generated-sdk/jobs/owned_api.d.ts +13 -0
  174. package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  175. package/script/generated-sdk/jobs/owned_api.js +19 -0
  176. package/script/generated-sdk/jobs/schemas.d.ts +437 -0
  177. package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
  178. package/script/generated-sdk/jobs/schemas.js +212 -1
  179. package/script/generated-sdk/jobs/types.d.ts +123 -1
  180. package/script/generated-sdk/jobs/types.d.ts.map +1 -1
  181. package/script/generated-sdk/jobs/types.js +1 -1
  182. package/script/generated-sdk/state/client.d.ts +4 -4
  183. package/script/generated-sdk/state/client.d.ts.map +1 -1
  184. package/script/generated-sdk/trellis-core/api.d.ts +4 -1
  185. package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
  186. package/script/generated-sdk/trellis-core/api.js +6 -1
  187. package/script/generated-sdk/trellis-core/client.d.ts +28 -3
  188. package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
  189. package/script/generated-sdk/trellis-core/contract.d.ts +1 -1
  190. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  191. package/script/generated-sdk/trellis-core/contract.js +91 -1
  192. package/script/generated-sdk/trellis-core/schemas.d.ts +113 -0
  193. package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  194. package/script/generated-sdk/trellis-core/schemas.js +81 -0
  195. package/script/generated-sdk/trellis-core/types.d.ts +23 -1
  196. package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
  197. package/script/generated-sdk/trellis-core/types.js +1 -1
  198. package/script/health.d.ts +1 -1
  199. package/script/health.d.ts.map +1 -1
  200. package/script/health.js +1 -2
  201. package/script/index.d.ts +2 -2
  202. package/script/index.d.ts.map +1 -1
  203. package/script/index.js +2 -3
  204. package/script/jobs.d.ts +69 -3
  205. package/script/jobs.d.ts.map +1 -1
  206. package/script/jobs.js +93 -3
  207. package/script/server/health.d.ts +2 -6
  208. package/script/server/health.d.ts.map +1 -1
  209. package/script/server/health_schemas.d.ts +0 -8
  210. package/script/server/health_schemas.d.ts.map +1 -1
  211. package/script/server/health_schemas.js +1 -6
  212. package/script/server/internal_jobs/bindings.d.ts +11 -0
  213. package/script/server/internal_jobs/bindings.d.ts.map +1 -1
  214. package/script/server/internal_jobs/job-manager.d.ts +44 -1
  215. package/script/server/internal_jobs/job-manager.d.ts.map +1 -1
  216. package/script/server/internal_jobs/job-manager.js +361 -51
  217. package/script/server/internal_jobs/key-coordinator.d.ts +260 -0
  218. package/script/server/internal_jobs/key-coordinator.d.ts.map +1 -0
  219. package/script/server/internal_jobs/key-coordinator.js +593 -0
  220. package/script/server/internal_jobs/projection.d.ts.map +1 -1
  221. package/script/server/internal_jobs/projection.js +2 -0
  222. package/script/server/internal_jobs/runtime-worker.d.ts +5 -1
  223. package/script/server/internal_jobs/runtime-worker.d.ts.map +1 -1
  224. package/script/server/internal_jobs/runtime-worker.js +14 -2
  225. package/script/server/internal_jobs/types.d.ts +5 -5
  226. package/script/server/internal_jobs/types.d.ts.map +1 -1
  227. package/script/server/internal_jobs/types.js +6 -0
  228. package/script/server/service.d.ts +8 -3
  229. package/script/server/service.d.ts.map +1 -1
  230. package/script/server/service.js +126 -5
  231. package/script/service/drizzle.d.ts +27 -0
  232. package/script/service/drizzle.d.ts.map +1 -0
  233. package/script/service/drizzle.js +88 -0
  234. package/script/service/mod.d.ts +1 -1
  235. package/script/service/mod.d.ts.map +1 -1
  236. package/script/service/mod.js +1 -2
  237. package/script/service/outbox_inbox.d.ts.map +1 -1
  238. package/script/service/outbox_inbox.js +13 -2
  239. package/script/trellis.d.ts +24 -8
  240. package/script/trellis.d.ts.map +1 -1
  241. package/script/trellis.js +44 -22
  242. package/src/auth/mod.ts +28 -2
  243. package/src/auth/protocol.ts +72 -37
  244. package/src/codec.ts +1 -0
  245. package/src/contract_support/canonical.ts +3 -0
  246. package/src/contract_support/mod.ts +158 -5
  247. package/src/contract_support/protocol.ts +56 -9
  248. package/src/health.ts +0 -1
  249. package/src/index.ts +2 -1
  250. package/src/jobs.ts +138 -1
  251. package/src/sdk/_generated/auth/api.ts +9 -2
  252. package/src/sdk/_generated/auth/client.ts +85 -78
  253. package/src/sdk/_generated/auth/contract.ts +1803 -1435
  254. package/src/sdk/_generated/auth/schemas.ts +1166 -971
  255. package/src/sdk/_generated/auth/types.ts +330 -314
  256. package/src/sdk/_generated/core/api.ts +9 -2
  257. package/src/sdk/_generated/core/client.ts +41 -2
  258. package/src/sdk/_generated/core/contract.ts +91 -1
  259. package/src/sdk/_generated/core/schemas.ts +81 -0
  260. package/src/sdk/_generated/core/types.ts +23 -1
  261. package/src/sdk/_generated/health/client.ts +6 -6
  262. package/src/sdk/_generated/health/contract.ts +2 -10
  263. package/src/sdk/_generated/health/schemas.ts +1 -9
  264. package/src/sdk/_generated/health/types.ts +6 -2
  265. package/src/sdk/_generated/jobs/client.ts +17 -6
  266. package/src/sdk/_generated/jobs/contract.ts +269 -1
  267. package/src/sdk/_generated/jobs/owned_api.ts +21 -0
  268. package/src/sdk/_generated/jobs/schemas.ts +213 -0
  269. package/src/sdk/_generated/jobs/types.ts +116 -1
  270. package/src/sdk/_generated/state/client.ts +6 -6
  271. package/src/server/health.ts +2 -6
  272. package/src/server/health_schemas.ts +0 -6
  273. package/src/server/internal_jobs/bindings.ts +11 -0
  274. package/src/server/internal_jobs/job-manager.ts +436 -16
  275. package/src/server/internal_jobs/key-coordinator.ts +955 -0
  276. package/src/server/internal_jobs/projection.ts +2 -0
  277. package/src/server/internal_jobs/runtime-worker.ts +17 -1
  278. package/src/server/internal_jobs/types.ts +6 -0
  279. package/src/server/service.ts +168 -9
  280. package/src/service/drizzle.ts +125 -0
  281. package/src/service/mod.ts +0 -1
  282. package/src/service/outbox_inbox.ts +16 -6
  283. package/src/trellis.ts +76 -27
@@ -1,7 +1,7 @@
1
1
  import { API } from "./api.js";
2
2
  const CONTRACT_MODULE_METADATA = Symbol.for("@qlever-llc/trellis/contracts/contract-module");
3
3
  export const CONTRACT_ID = "trellis.auth@v1";
4
- export const CONTRACT_DIGEST = "XdqgSxkrIhWOu1ODbOk6-QHLTlI52ZP-6qhYJpIdCMc";
4
+ export const CONTRACT_DIGEST = "OehMFuEyTKjYpQHhyrijgsZZs1YlG2qkxd8bKffgydc";
5
5
  export const CONTRACT = {
6
6
  "capabilities": {
7
7
  "trellis.auth::device.review": {
@@ -1291,29 +1291,14 @@ export const CONTRACT = {
1291
1291
  "type": "object",
1292
1292
  },
1293
1293
  "AuthConnectionsClosedEvent": {
1294
- "allOf": [{
1295
- "properties": {
1296
- "header": {
1297
- "properties": {
1298
- "id": { "type": "string" },
1299
- "time": { "format": "date-time", "type": "string" },
1300
- },
1301
- "required": ["id", "time"],
1302
- "type": "object",
1303
- },
1304
- },
1305
- "required": ["header"],
1306
- "type": "object",
1307
- }, {
1308
- "properties": {
1309
- "id": { "type": "string" },
1310
- "origin": { "type": "string" },
1311
- "sessionKey": { "type": "string" },
1312
- "userNkey": { "type": "string" },
1313
- },
1314
- "required": ["origin", "id", "sessionKey", "userNkey"],
1315
- "type": "object",
1316
- }],
1294
+ "properties": {
1295
+ "id": { "type": "string" },
1296
+ "origin": { "type": "string" },
1297
+ "sessionKey": { "type": "string" },
1298
+ "userNkey": { "type": "string" },
1299
+ },
1300
+ "required": ["origin", "id", "sessionKey", "userNkey"],
1301
+ "type": "object",
1317
1302
  },
1318
1303
  "AuthConnectionsKickRequest": {
1319
1304
  "properties": { "userNkey": { "type": "string" } },
@@ -1326,29 +1311,14 @@ export const CONTRACT = {
1326
1311
  "type": "object",
1327
1312
  },
1328
1313
  "AuthConnectionsKickedEvent": {
1329
- "allOf": [{
1330
- "properties": {
1331
- "header": {
1332
- "properties": {
1333
- "id": { "type": "string" },
1334
- "time": { "format": "date-time", "type": "string" },
1335
- },
1336
- "required": ["id", "time"],
1337
- "type": "object",
1338
- },
1339
- },
1340
- "required": ["header"],
1341
- "type": "object",
1342
- }, {
1343
- "properties": {
1344
- "id": { "type": "string" },
1345
- "kickedBy": { "type": "string" },
1346
- "origin": { "type": "string" },
1347
- "userNkey": { "type": "string" },
1348
- },
1349
- "required": ["origin", "id", "userNkey", "kickedBy"],
1350
- "type": "object",
1351
- }],
1314
+ "properties": {
1315
+ "id": { "type": "string" },
1316
+ "kickedBy": { "type": "string" },
1317
+ "origin": { "type": "string" },
1318
+ "userNkey": { "type": "string" },
1319
+ },
1320
+ "required": ["origin", "id", "userNkey", "kickedBy"],
1321
+ "type": "object",
1352
1322
  },
1353
1323
  "AuthConnectionsListRequest": {
1354
1324
  "properties": {
@@ -1543,29 +1513,14 @@ export const CONTRACT = {
1543
1513
  "type": "object",
1544
1514
  },
1545
1515
  "AuthConnectionsOpenedEvent": {
1546
- "allOf": [{
1547
- "properties": {
1548
- "header": {
1549
- "properties": {
1550
- "id": { "type": "string" },
1551
- "time": { "format": "date-time", "type": "string" },
1552
- },
1553
- "required": ["id", "time"],
1554
- "type": "object",
1555
- },
1556
- },
1557
- "required": ["header"],
1558
- "type": "object",
1559
- }, {
1560
- "properties": {
1561
- "id": { "type": "string" },
1562
- "origin": { "type": "string" },
1563
- "sessionKey": { "type": "string" },
1564
- "userNkey": { "type": "string" },
1565
- },
1566
- "required": ["origin", "id", "sessionKey", "userNkey"],
1567
- "type": "object",
1568
- }],
1516
+ "properties": {
1517
+ "id": { "type": "string" },
1518
+ "origin": { "type": "string" },
1519
+ "sessionKey": { "type": "string" },
1520
+ "userNkey": { "type": "string" },
1521
+ },
1522
+ "required": ["origin", "id", "sessionKey", "userNkey"],
1523
+ "type": "object",
1569
1524
  },
1570
1525
  "AuthDeployment": {
1571
1526
  "anyOf": [{
@@ -1624,83 +1579,87 @@ export const CONTRACT = {
1624
1579
  "type": "array",
1625
1580
  },
1626
1581
  "needs": {
1627
- "items": {
1628
- "anyOf": [{
1582
+ "properties": {
1583
+ "capabilities": {
1584
+ "items": {
1629
1585
  "properties": {
1630
- "contractId": { "minLength": 1, "type": "string" },
1631
- "kind": { "const": "contract", "type": "string" },
1586
+ "capability": { "minLength": 1, "type": "string" },
1632
1587
  "required": { "type": "boolean" },
1633
1588
  },
1634
- "required": ["kind", "contractId", "required"],
1589
+ "required": ["capability", "required"],
1635
1590
  "type": "object",
1636
- }, {
1591
+ },
1592
+ "type": "array",
1593
+ },
1594
+ "contracts": {
1595
+ "items": {
1637
1596
  "properties": {
1638
- "kind": { "const": "surface", "type": "string" },
1597
+ "contractId": { "minLength": 1, "type": "string" },
1639
1598
  "required": { "type": "boolean" },
1640
- "surface": {
1641
- "properties": {
1642
- "action": {
1643
- "anyOf": [
1644
- { "const": "call", "type": "string" },
1645
- { "const": "publish", "type": "string" },
1646
- { "const": "subscribe", "type": "string" },
1647
- { "const": "observe", "type": "string" },
1648
- { "const": "cancel", "type": "string" },
1649
- ],
1650
- },
1651
- "contractId": { "minLength": 1, "type": "string" },
1652
- "kind": {
1653
- "anyOf": [
1654
- { "const": "rpc", "type": "string" },
1655
- { "const": "operation", "type": "string" },
1656
- { "const": "event", "type": "string" },
1657
- { "const": "feed", "type": "string" },
1658
- ],
1659
- },
1660
- "name": { "minLength": 1, "type": "string" },
1661
- },
1662
- "required": ["contractId", "kind", "name"],
1663
- "type": "object",
1664
- },
1665
1599
  },
1666
- "required": ["kind", "surface", "required"],
1600
+ "required": ["contractId", "required"],
1667
1601
  "type": "object",
1668
- }, {
1602
+ },
1603
+ "type": "array",
1604
+ },
1605
+ "resources": {
1606
+ "items": {
1669
1607
  "properties": {
1670
- "capability": { "minLength": 1, "type": "string" },
1671
- "kind": { "const": "capability", "type": "string" },
1608
+ "alias": { "minLength": 1, "type": "string" },
1609
+ "definition": { "type": "object" },
1610
+ "kind": {
1611
+ "anyOf": [
1612
+ { "const": "kv", "type": "string" },
1613
+ { "const": "store", "type": "string" },
1614
+ { "const": "jobs", "type": "string" },
1615
+ { "const": "event-consumer", "type": "string" },
1616
+ { "const": "transfer", "type": "string" },
1617
+ ],
1618
+ },
1672
1619
  "required": { "type": "boolean" },
1673
1620
  },
1674
- "required": ["kind", "capability", "required"],
1621
+ "required": ["kind", "alias", "required"],
1675
1622
  "type": "object",
1676
- }, {
1623
+ },
1624
+ "type": "array",
1625
+ },
1626
+ "surfaces": {
1627
+ "items": {
1677
1628
  "properties": {
1678
- "kind": { "const": "resource", "type": "string" },
1679
- "required": { "type": "boolean" },
1680
- "resource": {
1681
- "properties": {
1682
- "alias": { "minLength": 1, "type": "string" },
1683
- "definition": { "type": "object" },
1684
- "kind": {
1685
- "anyOf": [
1686
- { "const": "kv", "type": "string" },
1687
- { "const": "store", "type": "string" },
1688
- { "const": "jobs", "type": "string" },
1689
- { "const": "event-consumer", "type": "string" },
1690
- { "const": "transfer", "type": "string" },
1691
- ],
1692
- },
1693
- "required": { "type": "boolean" },
1694
- },
1695
- "required": ["kind", "alias", "required"],
1696
- "type": "object",
1629
+ "action": {
1630
+ "anyOf": [
1631
+ { "const": "call", "type": "string" },
1632
+ { "const": "publish", "type": "string" },
1633
+ { "const": "subscribe", "type": "string" },
1634
+ { "const": "observe", "type": "string" },
1635
+ { "const": "cancel", "type": "string" },
1636
+ ],
1637
+ },
1638
+ "contractId": { "minLength": 1, "type": "string" },
1639
+ "kind": {
1640
+ "anyOf": [
1641
+ { "const": "rpc", "type": "string" },
1642
+ { "const": "operation", "type": "string" },
1643
+ { "const": "event", "type": "string" },
1644
+ { "const": "feed", "type": "string" },
1645
+ ],
1697
1646
  },
1647
+ "name": { "minLength": 1, "type": "string" },
1648
+ "required": { "type": "boolean" },
1698
1649
  },
1699
- "required": ["kind", "resource", "required"],
1650
+ "required": ["contractId", "kind", "name", "required"],
1700
1651
  "type": "object",
1701
- }],
1652
+ },
1653
+ "type": "array",
1654
+ },
1702
1655
  },
1703
- "type": "array",
1656
+ "required": [
1657
+ "contracts",
1658
+ "surfaces",
1659
+ "capabilities",
1660
+ "resources",
1661
+ ],
1662
+ "type": "object",
1704
1663
  },
1705
1664
  "resources": {
1706
1665
  "items": {
@@ -1810,83 +1769,87 @@ export const CONTRACT = {
1810
1769
  "type": "array",
1811
1770
  },
1812
1771
  "needs": {
1813
- "items": {
1814
- "anyOf": [{
1772
+ "properties": {
1773
+ "capabilities": {
1774
+ "items": {
1815
1775
  "properties": {
1816
- "contractId": { "minLength": 1, "type": "string" },
1817
- "kind": { "const": "contract", "type": "string" },
1776
+ "capability": { "minLength": 1, "type": "string" },
1818
1777
  "required": { "type": "boolean" },
1819
1778
  },
1820
- "required": ["kind", "contractId", "required"],
1779
+ "required": ["capability", "required"],
1821
1780
  "type": "object",
1822
- }, {
1781
+ },
1782
+ "type": "array",
1783
+ },
1784
+ "contracts": {
1785
+ "items": {
1823
1786
  "properties": {
1824
- "kind": { "const": "surface", "type": "string" },
1787
+ "contractId": { "minLength": 1, "type": "string" },
1825
1788
  "required": { "type": "boolean" },
1826
- "surface": {
1827
- "properties": {
1828
- "action": {
1829
- "anyOf": [
1830
- { "const": "call", "type": "string" },
1831
- { "const": "publish", "type": "string" },
1832
- { "const": "subscribe", "type": "string" },
1833
- { "const": "observe", "type": "string" },
1834
- { "const": "cancel", "type": "string" },
1835
- ],
1836
- },
1837
- "contractId": { "minLength": 1, "type": "string" },
1838
- "kind": {
1839
- "anyOf": [
1840
- { "const": "rpc", "type": "string" },
1841
- { "const": "operation", "type": "string" },
1842
- { "const": "event", "type": "string" },
1843
- { "const": "feed", "type": "string" },
1844
- ],
1845
- },
1846
- "name": { "minLength": 1, "type": "string" },
1847
- },
1848
- "required": ["contractId", "kind", "name"],
1849
- "type": "object",
1850
- },
1851
1789
  },
1852
- "required": ["kind", "surface", "required"],
1790
+ "required": ["contractId", "required"],
1853
1791
  "type": "object",
1854
- }, {
1792
+ },
1793
+ "type": "array",
1794
+ },
1795
+ "resources": {
1796
+ "items": {
1855
1797
  "properties": {
1856
- "capability": { "minLength": 1, "type": "string" },
1857
- "kind": { "const": "capability", "type": "string" },
1798
+ "alias": { "minLength": 1, "type": "string" },
1799
+ "definition": { "type": "object" },
1800
+ "kind": {
1801
+ "anyOf": [
1802
+ { "const": "kv", "type": "string" },
1803
+ { "const": "store", "type": "string" },
1804
+ { "const": "jobs", "type": "string" },
1805
+ { "const": "event-consumer", "type": "string" },
1806
+ { "const": "transfer", "type": "string" },
1807
+ ],
1808
+ },
1858
1809
  "required": { "type": "boolean" },
1859
1810
  },
1860
- "required": ["kind", "capability", "required"],
1811
+ "required": ["kind", "alias", "required"],
1861
1812
  "type": "object",
1862
- }, {
1813
+ },
1814
+ "type": "array",
1815
+ },
1816
+ "surfaces": {
1817
+ "items": {
1863
1818
  "properties": {
1864
- "kind": { "const": "resource", "type": "string" },
1865
- "required": { "type": "boolean" },
1866
- "resource": {
1867
- "properties": {
1868
- "alias": { "minLength": 1, "type": "string" },
1869
- "definition": { "type": "object" },
1870
- "kind": {
1871
- "anyOf": [
1872
- { "const": "kv", "type": "string" },
1873
- { "const": "store", "type": "string" },
1874
- { "const": "jobs", "type": "string" },
1875
- { "const": "event-consumer", "type": "string" },
1876
- { "const": "transfer", "type": "string" },
1877
- ],
1878
- },
1879
- "required": { "type": "boolean" },
1880
- },
1881
- "required": ["kind", "alias", "required"],
1882
- "type": "object",
1819
+ "action": {
1820
+ "anyOf": [
1821
+ { "const": "call", "type": "string" },
1822
+ { "const": "publish", "type": "string" },
1823
+ { "const": "subscribe", "type": "string" },
1824
+ { "const": "observe", "type": "string" },
1825
+ { "const": "cancel", "type": "string" },
1826
+ ],
1827
+ },
1828
+ "contractId": { "minLength": 1, "type": "string" },
1829
+ "kind": {
1830
+ "anyOf": [
1831
+ { "const": "rpc", "type": "string" },
1832
+ { "const": "operation", "type": "string" },
1833
+ { "const": "event", "type": "string" },
1834
+ { "const": "feed", "type": "string" },
1835
+ ],
1883
1836
  },
1837
+ "name": { "minLength": 1, "type": "string" },
1838
+ "required": { "type": "boolean" },
1884
1839
  },
1885
- "required": ["kind", "resource", "required"],
1840
+ "required": ["contractId", "kind", "name", "required"],
1886
1841
  "type": "object",
1887
- }],
1842
+ },
1843
+ "type": "array",
1844
+ },
1888
1845
  },
1889
- "type": "array",
1846
+ "required": [
1847
+ "contracts",
1848
+ "surfaces",
1849
+ "capabilities",
1850
+ "resources",
1851
+ ],
1852
+ "type": "object",
1890
1853
  },
1891
1854
  "resources": {
1892
1855
  "items": {
@@ -2067,40 +2030,19 @@ export const CONTRACT = {
2067
2030
  "desiredVersion": { "minLength": 1, "type": "string" },
2068
2031
  "error": { "minLength": 1, "type": "string" },
2069
2032
  "grants": {
2070
- "items": {
2071
- "anyOf": [{
2033
+ "properties": {
2034
+ "capabilities": {
2035
+ "items": {
2072
2036
  "properties": {
2073
2037
  "capability": { "minLength": 1, "type": "string" },
2074
- "kind": { "const": "capability", "type": "string" },
2075
2038
  },
2076
- "required": ["kind", "capability"],
2039
+ "required": ["capability"],
2077
2040
  "type": "object",
2078
- }, {
2079
- "properties": {
2080
- "action": {
2081
- "anyOf": [
2082
- { "const": "call", "type": "string" },
2083
- { "const": "publish", "type": "string" },
2084
- { "const": "subscribe", "type": "string" },
2085
- { "const": "observe", "type": "string" },
2086
- { "const": "cancel", "type": "string" },
2087
- ],
2088
- },
2089
- "contractId": { "minLength": 1, "type": "string" },
2090
- "kind": { "const": "surface", "type": "string" },
2091
- "name": { "minLength": 1, "type": "string" },
2092
- "surfaceKind": {
2093
- "anyOf": [
2094
- { "const": "rpc", "type": "string" },
2095
- { "const": "operation", "type": "string" },
2096
- { "const": "event", "type": "string" },
2097
- { "const": "feed", "type": "string" },
2098
- ],
2099
- },
2100
- },
2101
- "required": ["kind", "contractId", "surfaceKind", "name"],
2102
- "type": "object",
2103
- }, {
2041
+ },
2042
+ "type": "array",
2043
+ },
2044
+ "nats": {
2045
+ "items": {
2104
2046
  "properties": {
2105
2047
  "direction": {
2106
2048
  "anyOf": [{ "const": "publish", "type": "string" }, {
@@ -2117,7 +2059,6 @@ export const CONTRACT = {
2117
2059
  { "const": "transfer", "type": "string" },
2118
2060
  ],
2119
2061
  },
2120
- "kind": { "const": "nats", "type": "string" },
2121
2062
  "requiredCapabilities": {
2122
2063
  "items": { "minLength": 1, "type": "string" },
2123
2064
  "type": "array",
@@ -2150,16 +2091,46 @@ export const CONTRACT = {
2150
2091
  },
2151
2092
  },
2152
2093
  "required": [
2153
- "kind",
2154
2094
  "direction",
2155
2095
  "subject",
2156
2096
  "requiredCapabilities",
2157
2097
  "grantSource",
2158
2098
  ],
2159
2099
  "type": "object",
2160
- }],
2100
+ },
2101
+ "type": "array",
2102
+ },
2103
+ "surfaces": {
2104
+ "items": {
2105
+ "properties": {
2106
+ "action": {
2107
+ "anyOf": [
2108
+ { "const": "call", "type": "string" },
2109
+ { "const": "publish", "type": "string" },
2110
+ { "const": "subscribe", "type": "string" },
2111
+ { "const": "observe", "type": "string" },
2112
+ { "const": "cancel", "type": "string" },
2113
+ ],
2114
+ },
2115
+ "contractId": { "minLength": 1, "type": "string" },
2116
+ "name": { "minLength": 1, "type": "string" },
2117
+ "surfaceKind": {
2118
+ "anyOf": [
2119
+ { "const": "rpc", "type": "string" },
2120
+ { "const": "operation", "type": "string" },
2121
+ { "const": "event", "type": "string" },
2122
+ { "const": "feed", "type": "string" },
2123
+ ],
2124
+ },
2125
+ },
2126
+ "required": ["contractId", "surfaceKind", "name"],
2127
+ "type": "object",
2128
+ },
2129
+ "type": "array",
2130
+ },
2161
2131
  },
2162
- "type": "array",
2132
+ "required": ["capabilities", "surfaces", "nats"],
2133
+ "type": "object",
2163
2134
  },
2164
2135
  "reconciledAt": {
2165
2136
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -2710,89 +2681,92 @@ export const CONTRACT = {
2710
2681
  "type": "array",
2711
2682
  },
2712
2683
  "needs": {
2713
- "items": {
2714
- "anyOf": [{
2684
+ "properties": {
2685
+ "capabilities": {
2686
+ "items": {
2715
2687
  "properties": {
2716
- "contractId": { "minLength": 1, "type": "string" },
2717
- "kind": { "const": "contract", "type": "string" },
2688
+ "capability": { "minLength": 1, "type": "string" },
2718
2689
  "required": { "type": "boolean" },
2719
2690
  },
2720
- "required": ["kind", "contractId", "required"],
2691
+ "required": ["capability", "required"],
2721
2692
  "type": "object",
2722
- }, {
2693
+ },
2694
+ "type": "array",
2695
+ },
2696
+ "contracts": {
2697
+ "items": {
2723
2698
  "properties": {
2724
- "kind": { "const": "surface", "type": "string" },
2699
+ "contractId": { "minLength": 1, "type": "string" },
2725
2700
  "required": { "type": "boolean" },
2726
- "surface": {
2727
- "properties": {
2728
- "action": {
2729
- "anyOf": [
2730
- { "const": "call", "type": "string" },
2731
- { "const": "publish", "type": "string" },
2732
- { "const": "subscribe", "type": "string" },
2733
- { "const": "observe", "type": "string" },
2734
- { "const": "cancel", "type": "string" },
2735
- ],
2736
- },
2737
- "contractId": {
2738
- "minLength": 1,
2739
- "type": "string",
2740
- },
2741
- "kind": {
2742
- "anyOf": [
2743
- { "const": "rpc", "type": "string" },
2744
- { "const": "operation", "type": "string" },
2745
- { "const": "event", "type": "string" },
2746
- { "const": "feed", "type": "string" },
2747
- ],
2748
- },
2749
- "name": { "minLength": 1, "type": "string" },
2750
- },
2751
- "required": ["contractId", "kind", "name"],
2752
- "type": "object",
2753
- },
2754
2701
  },
2755
- "required": ["kind", "surface", "required"],
2702
+ "required": ["contractId", "required"],
2756
2703
  "type": "object",
2757
- }, {
2704
+ },
2705
+ "type": "array",
2706
+ },
2707
+ "resources": {
2708
+ "items": {
2758
2709
  "properties": {
2759
- "capability": { "minLength": 1, "type": "string" },
2760
- "kind": { "const": "capability", "type": "string" },
2710
+ "alias": { "minLength": 1, "type": "string" },
2711
+ "definition": { "type": "object" },
2712
+ "kind": {
2713
+ "anyOf": [
2714
+ { "const": "kv", "type": "string" },
2715
+ { "const": "store", "type": "string" },
2716
+ { "const": "jobs", "type": "string" },
2717
+ { "const": "event-consumer", "type": "string" },
2718
+ { "const": "transfer", "type": "string" },
2719
+ ],
2720
+ },
2761
2721
  "required": { "type": "boolean" },
2762
2722
  },
2763
- "required": ["kind", "capability", "required"],
2723
+ "required": ["kind", "alias", "required"],
2764
2724
  "type": "object",
2765
- }, {
2725
+ },
2726
+ "type": "array",
2727
+ },
2728
+ "surfaces": {
2729
+ "items": {
2766
2730
  "properties": {
2767
- "kind": { "const": "resource", "type": "string" },
2768
- "required": { "type": "boolean" },
2769
- "resource": {
2770
- "properties": {
2771
- "alias": { "minLength": 1, "type": "string" },
2772
- "definition": { "type": "object" },
2773
- "kind": {
2774
- "anyOf": [
2775
- { "const": "kv", "type": "string" },
2776
- { "const": "store", "type": "string" },
2777
- { "const": "jobs", "type": "string" },
2778
- {
2779
- "const": "event-consumer",
2780
- "type": "string",
2781
- },
2782
- { "const": "transfer", "type": "string" },
2783
- ],
2784
- },
2785
- "required": { "type": "boolean" },
2786
- },
2787
- "required": ["kind", "alias", "required"],
2788
- "type": "object",
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": { "minLength": 1, "type": "string" },
2741
+ "kind": {
2742
+ "anyOf": [
2743
+ { "const": "rpc", "type": "string" },
2744
+ { "const": "operation", "type": "string" },
2745
+ { "const": "event", "type": "string" },
2746
+ { "const": "feed", "type": "string" },
2747
+ ],
2789
2748
  },
2749
+ "name": { "minLength": 1, "type": "string" },
2750
+ "required": { "type": "boolean" },
2790
2751
  },
2791
- "required": ["kind", "resource", "required"],
2752
+ "required": [
2753
+ "contractId",
2754
+ "kind",
2755
+ "name",
2756
+ "required",
2757
+ ],
2792
2758
  "type": "object",
2793
- }],
2759
+ },
2760
+ "type": "array",
2761
+ },
2794
2762
  },
2795
- "type": "array",
2763
+ "required": [
2764
+ "contracts",
2765
+ "surfaces",
2766
+ "capabilities",
2767
+ "resources",
2768
+ ],
2769
+ "type": "object",
2796
2770
  },
2797
2771
  "resources": {
2798
2772
  "items": {
@@ -2957,89 +2931,92 @@ export const CONTRACT = {
2957
2931
  "type": "array",
2958
2932
  },
2959
2933
  "requestedNeeds": {
2960
- "items": {
2961
- "anyOf": [{
2934
+ "properties": {
2935
+ "capabilities": {
2936
+ "items": {
2962
2937
  "properties": {
2963
- "contractId": { "minLength": 1, "type": "string" },
2964
- "kind": { "const": "contract", "type": "string" },
2938
+ "capability": { "minLength": 1, "type": "string" },
2965
2939
  "required": { "type": "boolean" },
2966
2940
  },
2967
- "required": ["kind", "contractId", "required"],
2941
+ "required": ["capability", "required"],
2968
2942
  "type": "object",
2969
- }, {
2943
+ },
2944
+ "type": "array",
2945
+ },
2946
+ "contracts": {
2947
+ "items": {
2970
2948
  "properties": {
2971
- "kind": { "const": "surface", "type": "string" },
2949
+ "contractId": { "minLength": 1, "type": "string" },
2972
2950
  "required": { "type": "boolean" },
2973
- "surface": {
2974
- "properties": {
2975
- "action": {
2976
- "anyOf": [
2977
- { "const": "call", "type": "string" },
2978
- { "const": "publish", "type": "string" },
2979
- { "const": "subscribe", "type": "string" },
2980
- { "const": "observe", "type": "string" },
2981
- { "const": "cancel", "type": "string" },
2982
- ],
2983
- },
2984
- "contractId": {
2985
- "minLength": 1,
2986
- "type": "string",
2987
- },
2988
- "kind": {
2989
- "anyOf": [
2990
- { "const": "rpc", "type": "string" },
2991
- { "const": "operation", "type": "string" },
2992
- { "const": "event", "type": "string" },
2993
- { "const": "feed", "type": "string" },
2994
- ],
2995
- },
2996
- "name": { "minLength": 1, "type": "string" },
2997
- },
2998
- "required": ["contractId", "kind", "name"],
2999
- "type": "object",
3000
- },
3001
2951
  },
3002
- "required": ["kind", "surface", "required"],
2952
+ "required": ["contractId", "required"],
3003
2953
  "type": "object",
3004
- }, {
2954
+ },
2955
+ "type": "array",
2956
+ },
2957
+ "resources": {
2958
+ "items": {
3005
2959
  "properties": {
3006
- "capability": { "minLength": 1, "type": "string" },
3007
- "kind": { "const": "capability", "type": "string" },
2960
+ "alias": { "minLength": 1, "type": "string" },
2961
+ "definition": { "type": "object" },
2962
+ "kind": {
2963
+ "anyOf": [
2964
+ { "const": "kv", "type": "string" },
2965
+ { "const": "store", "type": "string" },
2966
+ { "const": "jobs", "type": "string" },
2967
+ { "const": "event-consumer", "type": "string" },
2968
+ { "const": "transfer", "type": "string" },
2969
+ ],
2970
+ },
3008
2971
  "required": { "type": "boolean" },
3009
2972
  },
3010
- "required": ["kind", "capability", "required"],
2973
+ "required": ["kind", "alias", "required"],
3011
2974
  "type": "object",
3012
- }, {
2975
+ },
2976
+ "type": "array",
2977
+ },
2978
+ "surfaces": {
2979
+ "items": {
3013
2980
  "properties": {
3014
- "kind": { "const": "resource", "type": "string" },
3015
- "required": { "type": "boolean" },
3016
- "resource": {
3017
- "properties": {
3018
- "alias": { "minLength": 1, "type": "string" },
3019
- "definition": { "type": "object" },
3020
- "kind": {
3021
- "anyOf": [
3022
- { "const": "kv", "type": "string" },
3023
- { "const": "store", "type": "string" },
3024
- { "const": "jobs", "type": "string" },
3025
- {
3026
- "const": "event-consumer",
3027
- "type": "string",
3028
- },
3029
- { "const": "transfer", "type": "string" },
3030
- ],
3031
- },
3032
- "required": { "type": "boolean" },
3033
- },
3034
- "required": ["kind", "alias", "required"],
3035
- "type": "object",
2981
+ "action": {
2982
+ "anyOf": [
2983
+ { "const": "call", "type": "string" },
2984
+ { "const": "publish", "type": "string" },
2985
+ { "const": "subscribe", "type": "string" },
2986
+ { "const": "observe", "type": "string" },
2987
+ { "const": "cancel", "type": "string" },
2988
+ ],
2989
+ },
2990
+ "contractId": { "minLength": 1, "type": "string" },
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
+ ],
3036
2998
  },
2999
+ "name": { "minLength": 1, "type": "string" },
3000
+ "required": { "type": "boolean" },
3037
3001
  },
3038
- "required": ["kind", "resource", "required"],
3002
+ "required": [
3003
+ "contractId",
3004
+ "kind",
3005
+ "name",
3006
+ "required",
3007
+ ],
3039
3008
  "type": "object",
3040
- }],
3009
+ },
3010
+ "type": "array",
3011
+ },
3041
3012
  },
3042
- "type": "array",
3013
+ "required": [
3014
+ "contracts",
3015
+ "surfaces",
3016
+ "capabilities",
3017
+ "resources",
3018
+ ],
3019
+ "type": "object",
3043
3020
  },
3044
3021
  "summary": { "type": "object" },
3045
3022
  },
@@ -3141,89 +3118,92 @@ export const CONTRACT = {
3141
3118
  "type": "array",
3142
3119
  },
3143
3120
  "requestedNeeds": {
3144
- "items": {
3145
- "anyOf": [{
3146
- "properties": {
3147
- "contractId": { "minLength": 1, "type": "string" },
3148
- "kind": { "const": "contract", "type": "string" },
3149
- "required": { "type": "boolean" },
3150
- },
3151
- "required": ["kind", "contractId", "required"],
3152
- "type": "object",
3153
- }, {
3121
+ "properties": {
3122
+ "capabilities": {
3123
+ "items": {
3154
3124
  "properties": {
3155
- "kind": { "const": "surface", "type": "string" },
3125
+ "capability": { "minLength": 1, "type": "string" },
3156
3126
  "required": { "type": "boolean" },
3157
- "surface": {
3158
- "properties": {
3159
- "action": {
3160
- "anyOf": [
3161
- { "const": "call", "type": "string" },
3162
- { "const": "publish", "type": "string" },
3163
- { "const": "subscribe", "type": "string" },
3164
- { "const": "observe", "type": "string" },
3165
- { "const": "cancel", "type": "string" },
3166
- ],
3167
- },
3168
- "contractId": {
3169
- "minLength": 1,
3170
- "type": "string",
3171
- },
3172
- "kind": {
3173
- "anyOf": [
3174
- { "const": "rpc", "type": "string" },
3175
- { "const": "operation", "type": "string" },
3176
- { "const": "event", "type": "string" },
3177
- { "const": "feed", "type": "string" },
3178
- ],
3179
- },
3180
- "name": { "minLength": 1, "type": "string" },
3181
- },
3182
- "required": ["contractId", "kind", "name"],
3183
- "type": "object",
3184
- },
3185
3127
  },
3186
- "required": ["kind", "surface", "required"],
3128
+ "required": ["capability", "required"],
3187
3129
  "type": "object",
3188
- }, {
3130
+ },
3131
+ "type": "array",
3132
+ },
3133
+ "contracts": {
3134
+ "items": {
3189
3135
  "properties": {
3190
- "capability": { "minLength": 1, "type": "string" },
3191
- "kind": { "const": "capability", "type": "string" },
3136
+ "contractId": { "minLength": 1, "type": "string" },
3192
3137
  "required": { "type": "boolean" },
3193
3138
  },
3194
- "required": ["kind", "capability", "required"],
3139
+ "required": ["contractId", "required"],
3195
3140
  "type": "object",
3196
- }, {
3141
+ },
3142
+ "type": "array",
3143
+ },
3144
+ "resources": {
3145
+ "items": {
3197
3146
  "properties": {
3198
- "kind": { "const": "resource", "type": "string" },
3199
- "required": { "type": "boolean" },
3200
- "resource": {
3201
- "properties": {
3202
- "alias": { "minLength": 1, "type": "string" },
3203
- "definition": { "type": "object" },
3204
- "kind": {
3205
- "anyOf": [
3206
- { "const": "kv", "type": "string" },
3207
- { "const": "store", "type": "string" },
3208
- { "const": "jobs", "type": "string" },
3209
- {
3210
- "const": "event-consumer",
3211
- "type": "string",
3212
- },
3213
- { "const": "transfer", "type": "string" },
3214
- ],
3215
- },
3216
- "required": { "type": "boolean" },
3217
- },
3218
- "required": ["kind", "alias", "required"],
3219
- "type": "object",
3147
+ "alias": { "minLength": 1, "type": "string" },
3148
+ "definition": { "type": "object" },
3149
+ "kind": {
3150
+ "anyOf": [
3151
+ { "const": "kv", "type": "string" },
3152
+ { "const": "store", "type": "string" },
3153
+ { "const": "jobs", "type": "string" },
3154
+ { "const": "event-consumer", "type": "string" },
3155
+ { "const": "transfer", "type": "string" },
3156
+ ],
3220
3157
  },
3158
+ "required": { "type": "boolean" },
3221
3159
  },
3222
- "required": ["kind", "resource", "required"],
3160
+ "required": ["kind", "alias", "required"],
3223
3161
  "type": "object",
3224
- }],
3162
+ },
3163
+ "type": "array",
3164
+ },
3165
+ "surfaces": {
3166
+ "items": {
3167
+ "properties": {
3168
+ "action": {
3169
+ "anyOf": [
3170
+ { "const": "call", "type": "string" },
3171
+ { "const": "publish", "type": "string" },
3172
+ { "const": "subscribe", "type": "string" },
3173
+ { "const": "observe", "type": "string" },
3174
+ { "const": "cancel", "type": "string" },
3175
+ ],
3176
+ },
3177
+ "contractId": { "minLength": 1, "type": "string" },
3178
+ "kind": {
3179
+ "anyOf": [
3180
+ { "const": "rpc", "type": "string" },
3181
+ { "const": "operation", "type": "string" },
3182
+ { "const": "event", "type": "string" },
3183
+ { "const": "feed", "type": "string" },
3184
+ ],
3185
+ },
3186
+ "name": { "minLength": 1, "type": "string" },
3187
+ "required": { "type": "boolean" },
3188
+ },
3189
+ "required": [
3190
+ "contractId",
3191
+ "kind",
3192
+ "name",
3193
+ "required",
3194
+ ],
3195
+ "type": "object",
3196
+ },
3197
+ "type": "array",
3198
+ },
3225
3199
  },
3226
- "type": "array",
3200
+ "required": [
3201
+ "contracts",
3202
+ "surfaces",
3203
+ "capabilities",
3204
+ "resources",
3205
+ ],
3206
+ "type": "object",
3227
3207
  },
3228
3208
  "summary": { "type": "object" },
3229
3209
  },
@@ -3339,89 +3319,92 @@ export const CONTRACT = {
3339
3319
  "type": "array",
3340
3320
  },
3341
3321
  "requestedNeeds": {
3342
- "items": {
3343
- "anyOf": [{
3322
+ "properties": {
3323
+ "capabilities": {
3324
+ "items": {
3344
3325
  "properties": {
3345
- "contractId": { "minLength": 1, "type": "string" },
3346
- "kind": { "const": "contract", "type": "string" },
3326
+ "capability": { "minLength": 1, "type": "string" },
3347
3327
  "required": { "type": "boolean" },
3348
3328
  },
3349
- "required": ["kind", "contractId", "required"],
3329
+ "required": ["capability", "required"],
3350
3330
  "type": "object",
3351
- }, {
3331
+ },
3332
+ "type": "array",
3333
+ },
3334
+ "contracts": {
3335
+ "items": {
3352
3336
  "properties": {
3353
- "kind": { "const": "surface", "type": "string" },
3337
+ "contractId": { "minLength": 1, "type": "string" },
3354
3338
  "required": { "type": "boolean" },
3355
- "surface": {
3356
- "properties": {
3357
- "action": {
3358
- "anyOf": [
3359
- { "const": "call", "type": "string" },
3360
- { "const": "publish", "type": "string" },
3361
- { "const": "subscribe", "type": "string" },
3362
- { "const": "observe", "type": "string" },
3363
- { "const": "cancel", "type": "string" },
3364
- ],
3365
- },
3366
- "contractId": {
3367
- "minLength": 1,
3368
- "type": "string",
3369
- },
3370
- "kind": {
3371
- "anyOf": [
3372
- { "const": "rpc", "type": "string" },
3373
- { "const": "operation", "type": "string" },
3374
- { "const": "event", "type": "string" },
3375
- { "const": "feed", "type": "string" },
3376
- ],
3377
- },
3378
- "name": { "minLength": 1, "type": "string" },
3379
- },
3380
- "required": ["contractId", "kind", "name"],
3381
- "type": "object",
3382
- },
3383
3339
  },
3384
- "required": ["kind", "surface", "required"],
3340
+ "required": ["contractId", "required"],
3385
3341
  "type": "object",
3386
- }, {
3342
+ },
3343
+ "type": "array",
3344
+ },
3345
+ "resources": {
3346
+ "items": {
3387
3347
  "properties": {
3388
- "capability": { "minLength": 1, "type": "string" },
3389
- "kind": { "const": "capability", "type": "string" },
3348
+ "alias": { "minLength": 1, "type": "string" },
3349
+ "definition": { "type": "object" },
3350
+ "kind": {
3351
+ "anyOf": [
3352
+ { "const": "kv", "type": "string" },
3353
+ { "const": "store", "type": "string" },
3354
+ { "const": "jobs", "type": "string" },
3355
+ { "const": "event-consumer", "type": "string" },
3356
+ { "const": "transfer", "type": "string" },
3357
+ ],
3358
+ },
3390
3359
  "required": { "type": "boolean" },
3391
3360
  },
3392
- "required": ["kind", "capability", "required"],
3361
+ "required": ["kind", "alias", "required"],
3393
3362
  "type": "object",
3394
- }, {
3363
+ },
3364
+ "type": "array",
3365
+ },
3366
+ "surfaces": {
3367
+ "items": {
3395
3368
  "properties": {
3396
- "kind": { "const": "resource", "type": "string" },
3397
- "required": { "type": "boolean" },
3398
- "resource": {
3399
- "properties": {
3400
- "alias": { "minLength": 1, "type": "string" },
3401
- "definition": { "type": "object" },
3402
- "kind": {
3403
- "anyOf": [
3404
- { "const": "kv", "type": "string" },
3405
- { "const": "store", "type": "string" },
3406
- { "const": "jobs", "type": "string" },
3407
- {
3408
- "const": "event-consumer",
3409
- "type": "string",
3410
- },
3411
- { "const": "transfer", "type": "string" },
3412
- ],
3413
- },
3414
- "required": { "type": "boolean" },
3415
- },
3416
- "required": ["kind", "alias", "required"],
3417
- "type": "object",
3369
+ "action": {
3370
+ "anyOf": [
3371
+ { "const": "call", "type": "string" },
3372
+ { "const": "publish", "type": "string" },
3373
+ { "const": "subscribe", "type": "string" },
3374
+ { "const": "observe", "type": "string" },
3375
+ { "const": "cancel", "type": "string" },
3376
+ ],
3377
+ },
3378
+ "contractId": { "minLength": 1, "type": "string" },
3379
+ "kind": {
3380
+ "anyOf": [
3381
+ { "const": "rpc", "type": "string" },
3382
+ { "const": "operation", "type": "string" },
3383
+ { "const": "event", "type": "string" },
3384
+ { "const": "feed", "type": "string" },
3385
+ ],
3418
3386
  },
3387
+ "name": { "minLength": 1, "type": "string" },
3388
+ "required": { "type": "boolean" },
3419
3389
  },
3420
- "required": ["kind", "resource", "required"],
3390
+ "required": [
3391
+ "contractId",
3392
+ "kind",
3393
+ "name",
3394
+ "required",
3395
+ ],
3421
3396
  "type": "object",
3422
- }],
3397
+ },
3398
+ "type": "array",
3399
+ },
3423
3400
  },
3424
- "type": "array",
3401
+ "required": [
3402
+ "contracts",
3403
+ "surfaces",
3404
+ "capabilities",
3405
+ "resources",
3406
+ ],
3407
+ "type": "object",
3425
3408
  },
3426
3409
  "summary": { "type": "object" },
3427
3410
  },
@@ -3523,89 +3506,92 @@ export const CONTRACT = {
3523
3506
  "type": "array",
3524
3507
  },
3525
3508
  "requestedNeeds": {
3526
- "items": {
3527
- "anyOf": [{
3509
+ "properties": {
3510
+ "capabilities": {
3511
+ "items": {
3528
3512
  "properties": {
3529
- "contractId": { "minLength": 1, "type": "string" },
3530
- "kind": { "const": "contract", "type": "string" },
3513
+ "capability": { "minLength": 1, "type": "string" },
3531
3514
  "required": { "type": "boolean" },
3532
3515
  },
3533
- "required": ["kind", "contractId", "required"],
3516
+ "required": ["capability", "required"],
3534
3517
  "type": "object",
3535
- }, {
3518
+ },
3519
+ "type": "array",
3520
+ },
3521
+ "contracts": {
3522
+ "items": {
3536
3523
  "properties": {
3537
- "kind": { "const": "surface", "type": "string" },
3524
+ "contractId": { "minLength": 1, "type": "string" },
3538
3525
  "required": { "type": "boolean" },
3539
- "surface": {
3540
- "properties": {
3541
- "action": {
3542
- "anyOf": [
3543
- { "const": "call", "type": "string" },
3544
- { "const": "publish", "type": "string" },
3545
- { "const": "subscribe", "type": "string" },
3546
- { "const": "observe", "type": "string" },
3547
- { "const": "cancel", "type": "string" },
3548
- ],
3549
- },
3550
- "contractId": {
3551
- "minLength": 1,
3552
- "type": "string",
3553
- },
3554
- "kind": {
3555
- "anyOf": [
3556
- { "const": "rpc", "type": "string" },
3557
- { "const": "operation", "type": "string" },
3558
- { "const": "event", "type": "string" },
3559
- { "const": "feed", "type": "string" },
3560
- ],
3561
- },
3562
- "name": { "minLength": 1, "type": "string" },
3563
- },
3564
- "required": ["contractId", "kind", "name"],
3565
- "type": "object",
3566
- },
3567
3526
  },
3568
- "required": ["kind", "surface", "required"],
3527
+ "required": ["contractId", "required"],
3569
3528
  "type": "object",
3570
- }, {
3529
+ },
3530
+ "type": "array",
3531
+ },
3532
+ "resources": {
3533
+ "items": {
3571
3534
  "properties": {
3572
- "capability": { "minLength": 1, "type": "string" },
3573
- "kind": { "const": "capability", "type": "string" },
3535
+ "alias": { "minLength": 1, "type": "string" },
3536
+ "definition": { "type": "object" },
3537
+ "kind": {
3538
+ "anyOf": [
3539
+ { "const": "kv", "type": "string" },
3540
+ { "const": "store", "type": "string" },
3541
+ { "const": "jobs", "type": "string" },
3542
+ { "const": "event-consumer", "type": "string" },
3543
+ { "const": "transfer", "type": "string" },
3544
+ ],
3545
+ },
3574
3546
  "required": { "type": "boolean" },
3575
3547
  },
3576
- "required": ["kind", "capability", "required"],
3548
+ "required": ["kind", "alias", "required"],
3577
3549
  "type": "object",
3578
- }, {
3550
+ },
3551
+ "type": "array",
3552
+ },
3553
+ "surfaces": {
3554
+ "items": {
3579
3555
  "properties": {
3580
- "kind": { "const": "resource", "type": "string" },
3581
- "required": { "type": "boolean" },
3582
- "resource": {
3583
- "properties": {
3584
- "alias": { "minLength": 1, "type": "string" },
3585
- "definition": { "type": "object" },
3586
- "kind": {
3587
- "anyOf": [
3588
- { "const": "kv", "type": "string" },
3589
- { "const": "store", "type": "string" },
3590
- { "const": "jobs", "type": "string" },
3591
- {
3592
- "const": "event-consumer",
3593
- "type": "string",
3594
- },
3595
- { "const": "transfer", "type": "string" },
3596
- ],
3597
- },
3598
- "required": { "type": "boolean" },
3599
- },
3600
- "required": ["kind", "alias", "required"],
3601
- "type": "object",
3556
+ "action": {
3557
+ "anyOf": [
3558
+ { "const": "call", "type": "string" },
3559
+ { "const": "publish", "type": "string" },
3560
+ { "const": "subscribe", "type": "string" },
3561
+ { "const": "observe", "type": "string" },
3562
+ { "const": "cancel", "type": "string" },
3563
+ ],
3564
+ },
3565
+ "contractId": { "minLength": 1, "type": "string" },
3566
+ "kind": {
3567
+ "anyOf": [
3568
+ { "const": "rpc", "type": "string" },
3569
+ { "const": "operation", "type": "string" },
3570
+ { "const": "event", "type": "string" },
3571
+ { "const": "feed", "type": "string" },
3572
+ ],
3602
3573
  },
3574
+ "name": { "minLength": 1, "type": "string" },
3575
+ "required": { "type": "boolean" },
3603
3576
  },
3604
- "required": ["kind", "resource", "required"],
3577
+ "required": [
3578
+ "contractId",
3579
+ "kind",
3580
+ "name",
3581
+ "required",
3582
+ ],
3605
3583
  "type": "object",
3606
- }],
3584
+ },
3585
+ "type": "array",
3586
+ },
3607
3587
  },
3608
- "type": "array",
3588
+ "required": [
3589
+ "contracts",
3590
+ "surfaces",
3591
+ "capabilities",
3592
+ "resources",
3593
+ ],
3594
+ "type": "object",
3609
3595
  },
3610
3596
  "summary": { "type": "object" },
3611
3597
  },
@@ -3752,106 +3738,121 @@ export const CONTRACT = {
3752
3738
  "type": "array",
3753
3739
  },
3754
3740
  "requestedNeeds": {
3755
- "items": {
3756
- "anyOf": [{
3741
+ "properties": {
3742
+ "capabilities": {
3743
+ "items": {
3757
3744
  "properties": {
3758
- "contractId": { "minLength": 1, "type": "string" },
3759
- "kind": { "const": "contract", "type": "string" },
3745
+ "capability": {
3746
+ "minLength": 1,
3747
+ "type": "string",
3748
+ },
3760
3749
  "required": { "type": "boolean" },
3761
3750
  },
3762
- "required": ["kind", "contractId", "required"],
3751
+ "required": ["capability", "required"],
3763
3752
  "type": "object",
3764
- }, {
3753
+ },
3754
+ "type": "array",
3755
+ },
3756
+ "contracts": {
3757
+ "items": {
3765
3758
  "properties": {
3766
- "kind": { "const": "surface", "type": "string" },
3767
- "required": { "type": "boolean" },
3768
- "surface": {
3769
- "properties": {
3770
- "action": {
3771
- "anyOf": [
3772
- { "const": "call", "type": "string" },
3773
- { "const": "publish", "type": "string" },
3774
- { "const": "subscribe", "type": "string" },
3775
- { "const": "observe", "type": "string" },
3776
- { "const": "cancel", "type": "string" },
3777
- ],
3778
- },
3779
- "contractId": {
3780
- "minLength": 1,
3781
- "type": "string",
3782
- },
3783
- "kind": {
3784
- "anyOf": [
3785
- { "const": "rpc", "type": "string" },
3786
- { "const": "operation", "type": "string" },
3787
- { "const": "event", "type": "string" },
3788
- { "const": "feed", "type": "string" },
3789
- ],
3790
- },
3791
- "name": { "minLength": 1, "type": "string" },
3792
- },
3793
- "required": ["contractId", "kind", "name"],
3794
- "type": "object",
3759
+ "contractId": {
3760
+ "minLength": 1,
3761
+ "type": "string",
3795
3762
  },
3796
- },
3797
- "required": ["kind", "surface", "required"],
3798
- "type": "object",
3799
- }, {
3800
- "properties": {
3801
- "capability": { "minLength": 1, "type": "string" },
3802
- "kind": { "const": "capability", "type": "string" },
3803
3763
  "required": { "type": "boolean" },
3804
3764
  },
3805
- "required": ["kind", "capability", "required"],
3765
+ "required": ["contractId", "required"],
3806
3766
  "type": "object",
3807
- }, {
3767
+ },
3768
+ "type": "array",
3769
+ },
3770
+ "resources": {
3771
+ "items": {
3808
3772
  "properties": {
3809
- "kind": { "const": "resource", "type": "string" },
3810
- "required": { "type": "boolean" },
3811
- "resource": {
3812
- "properties": {
3813
- "alias": { "minLength": 1, "type": "string" },
3814
- "definition": { "type": "object" },
3815
- "kind": {
3816
- "anyOf": [
3817
- { "const": "kv", "type": "string" },
3818
- { "const": "store", "type": "string" },
3819
- { "const": "jobs", "type": "string" },
3820
- {
3821
- "const": "event-consumer",
3822
- "type": "string",
3823
- },
3824
- { "const": "transfer", "type": "string" },
3825
- ],
3773
+ "alias": { "minLength": 1, "type": "string" },
3774
+ "definition": { "type": "object" },
3775
+ "kind": {
3776
+ "anyOf": [
3777
+ { "const": "kv", "type": "string" },
3778
+ { "const": "store", "type": "string" },
3779
+ { "const": "jobs", "type": "string" },
3780
+ {
3781
+ "const": "event-consumer",
3782
+ "type": "string",
3826
3783
  },
3827
- "required": { "type": "boolean" },
3828
- },
3829
- "required": ["kind", "alias", "required"],
3830
- "type": "object",
3784
+ { "const": "transfer", "type": "string" },
3785
+ ],
3831
3786
  },
3787
+ "required": { "type": "boolean" },
3832
3788
  },
3833
- "required": ["kind", "resource", "required"],
3789
+ "required": ["kind", "alias", "required"],
3834
3790
  "type": "object",
3835
- }],
3836
- },
3837
- "type": "array",
3838
- },
3839
- "summary": { "type": "object" },
3840
- },
3841
- "required": [
3842
- "deploymentId",
3843
- "contractId",
3844
- "contractDigest",
3845
- "requestedNeeds",
3846
- "providedSurfaces",
3847
- ],
3848
- "type": "object",
3849
- },
3850
- "state": {
3851
- "anyOf": [
3852
- { "const": "pending", "type": "string" },
3853
- { "const": "accepted", "type": "string" },
3854
- { "const": "rejected", "type": "string" },
3791
+ },
3792
+ "type": "array",
3793
+ },
3794
+ "surfaces": {
3795
+ "items": {
3796
+ "properties": {
3797
+ "action": {
3798
+ "anyOf": [
3799
+ { "const": "call", "type": "string" },
3800
+ { "const": "publish", "type": "string" },
3801
+ { "const": "subscribe", "type": "string" },
3802
+ { "const": "observe", "type": "string" },
3803
+ { "const": "cancel", "type": "string" },
3804
+ ],
3805
+ },
3806
+ "contractId": {
3807
+ "minLength": 1,
3808
+ "type": "string",
3809
+ },
3810
+ "kind": {
3811
+ "anyOf": [
3812
+ { "const": "rpc", "type": "string" },
3813
+ { "const": "operation", "type": "string" },
3814
+ { "const": "event", "type": "string" },
3815
+ { "const": "feed", "type": "string" },
3816
+ ],
3817
+ },
3818
+ "name": { "minLength": 1, "type": "string" },
3819
+ "required": { "type": "boolean" },
3820
+ },
3821
+ "required": [
3822
+ "contractId",
3823
+ "kind",
3824
+ "name",
3825
+ "required",
3826
+ ],
3827
+ "type": "object",
3828
+ },
3829
+ "type": "array",
3830
+ },
3831
+ },
3832
+ "required": [
3833
+ "contracts",
3834
+ "surfaces",
3835
+ "capabilities",
3836
+ "resources",
3837
+ ],
3838
+ "type": "object",
3839
+ },
3840
+ "summary": { "type": "object" },
3841
+ },
3842
+ "required": [
3843
+ "deploymentId",
3844
+ "contractId",
3845
+ "contractDigest",
3846
+ "requestedNeeds",
3847
+ "providedSurfaces",
3848
+ ],
3849
+ "type": "object",
3850
+ },
3851
+ "state": {
3852
+ "anyOf": [
3853
+ { "const": "pending", "type": "string" },
3854
+ { "const": "accepted", "type": "string" },
3855
+ { "const": "rejected", "type": "string" },
3855
3856
  { "const": "expired", "type": "string" },
3856
3857
  ],
3857
3858
  },
@@ -3936,89 +3937,104 @@ export const CONTRACT = {
3936
3937
  "type": "array",
3937
3938
  },
3938
3939
  "requestedNeeds": {
3939
- "items": {
3940
- "anyOf": [{
3940
+ "properties": {
3941
+ "capabilities": {
3942
+ "items": {
3941
3943
  "properties": {
3942
- "contractId": { "minLength": 1, "type": "string" },
3943
- "kind": { "const": "contract", "type": "string" },
3944
+ "capability": {
3945
+ "minLength": 1,
3946
+ "type": "string",
3947
+ },
3944
3948
  "required": { "type": "boolean" },
3945
3949
  },
3946
- "required": ["kind", "contractId", "required"],
3950
+ "required": ["capability", "required"],
3947
3951
  "type": "object",
3948
- }, {
3952
+ },
3953
+ "type": "array",
3954
+ },
3955
+ "contracts": {
3956
+ "items": {
3949
3957
  "properties": {
3950
- "kind": { "const": "surface", "type": "string" },
3951
- "required": { "type": "boolean" },
3952
- "surface": {
3953
- "properties": {
3954
- "action": {
3955
- "anyOf": [
3956
- { "const": "call", "type": "string" },
3957
- { "const": "publish", "type": "string" },
3958
- { "const": "subscribe", "type": "string" },
3959
- { "const": "observe", "type": "string" },
3960
- { "const": "cancel", "type": "string" },
3961
- ],
3962
- },
3963
- "contractId": {
3964
- "minLength": 1,
3965
- "type": "string",
3966
- },
3967
- "kind": {
3968
- "anyOf": [
3969
- { "const": "rpc", "type": "string" },
3970
- { "const": "operation", "type": "string" },
3971
- { "const": "event", "type": "string" },
3972
- { "const": "feed", "type": "string" },
3973
- ],
3974
- },
3975
- "name": { "minLength": 1, "type": "string" },
3976
- },
3977
- "required": ["contractId", "kind", "name"],
3978
- "type": "object",
3958
+ "contractId": {
3959
+ "minLength": 1,
3960
+ "type": "string",
3979
3961
  },
3962
+ "required": { "type": "boolean" },
3980
3963
  },
3981
- "required": ["kind", "surface", "required"],
3964
+ "required": ["contractId", "required"],
3982
3965
  "type": "object",
3983
- }, {
3966
+ },
3967
+ "type": "array",
3968
+ },
3969
+ "resources": {
3970
+ "items": {
3984
3971
  "properties": {
3985
- "capability": { "minLength": 1, "type": "string" },
3986
- "kind": { "const": "capability", "type": "string" },
3972
+ "alias": { "minLength": 1, "type": "string" },
3973
+ "definition": { "type": "object" },
3974
+ "kind": {
3975
+ "anyOf": [
3976
+ { "const": "kv", "type": "string" },
3977
+ { "const": "store", "type": "string" },
3978
+ { "const": "jobs", "type": "string" },
3979
+ {
3980
+ "const": "event-consumer",
3981
+ "type": "string",
3982
+ },
3983
+ { "const": "transfer", "type": "string" },
3984
+ ],
3985
+ },
3987
3986
  "required": { "type": "boolean" },
3988
3987
  },
3989
- "required": ["kind", "capability", "required"],
3988
+ "required": ["kind", "alias", "required"],
3990
3989
  "type": "object",
3991
- }, {
3990
+ },
3991
+ "type": "array",
3992
+ },
3993
+ "surfaces": {
3994
+ "items": {
3992
3995
  "properties": {
3993
- "kind": { "const": "resource", "type": "string" },
3994
- "required": { "type": "boolean" },
3995
- "resource": {
3996
- "properties": {
3997
- "alias": { "minLength": 1, "type": "string" },
3998
- "definition": { "type": "object" },
3999
- "kind": {
4000
- "anyOf": [
4001
- { "const": "kv", "type": "string" },
4002
- { "const": "store", "type": "string" },
4003
- { "const": "jobs", "type": "string" },
4004
- {
4005
- "const": "event-consumer",
4006
- "type": "string",
4007
- },
4008
- { "const": "transfer", "type": "string" },
4009
- ],
4010
- },
4011
- "required": { "type": "boolean" },
4012
- },
4013
- "required": ["kind", "alias", "required"],
4014
- "type": "object",
3996
+ "action": {
3997
+ "anyOf": [
3998
+ { "const": "call", "type": "string" },
3999
+ { "const": "publish", "type": "string" },
4000
+ { "const": "subscribe", "type": "string" },
4001
+ { "const": "observe", "type": "string" },
4002
+ { "const": "cancel", "type": "string" },
4003
+ ],
4004
+ },
4005
+ "contractId": {
4006
+ "minLength": 1,
4007
+ "type": "string",
4008
+ },
4009
+ "kind": {
4010
+ "anyOf": [
4011
+ { "const": "rpc", "type": "string" },
4012
+ { "const": "operation", "type": "string" },
4013
+ { "const": "event", "type": "string" },
4014
+ { "const": "feed", "type": "string" },
4015
+ ],
4015
4016
  },
4017
+ "name": { "minLength": 1, "type": "string" },
4018
+ "required": { "type": "boolean" },
4016
4019
  },
4017
- "required": ["kind", "resource", "required"],
4020
+ "required": [
4021
+ "contractId",
4022
+ "kind",
4023
+ "name",
4024
+ "required",
4025
+ ],
4018
4026
  "type": "object",
4019
- }],
4027
+ },
4028
+ "type": "array",
4029
+ },
4020
4030
  },
4021
- "type": "array",
4031
+ "required": [
4032
+ "contracts",
4033
+ "surfaces",
4034
+ "capabilities",
4035
+ "resources",
4036
+ ],
4037
+ "type": "object",
4022
4038
  },
4023
4039
  "summary": { "type": "object" },
4024
4040
  },
@@ -4088,83 +4104,87 @@ export const CONTRACT = {
4088
4104
  "type": "array",
4089
4105
  },
4090
4106
  "needs": {
4091
- "items": {
4092
- "anyOf": [{
4107
+ "properties": {
4108
+ "capabilities": {
4109
+ "items": {
4093
4110
  "properties": {
4094
- "contractId": { "minLength": 1, "type": "string" },
4095
- "kind": { "const": "contract", "type": "string" },
4111
+ "capability": { "minLength": 1, "type": "string" },
4096
4112
  "required": { "type": "boolean" },
4097
4113
  },
4098
- "required": ["kind", "contractId", "required"],
4114
+ "required": ["capability", "required"],
4099
4115
  "type": "object",
4100
- }, {
4116
+ },
4117
+ "type": "array",
4118
+ },
4119
+ "contracts": {
4120
+ "items": {
4101
4121
  "properties": {
4102
- "kind": { "const": "surface", "type": "string" },
4122
+ "contractId": { "minLength": 1, "type": "string" },
4103
4123
  "required": { "type": "boolean" },
4104
- "surface": {
4105
- "properties": {
4106
- "action": {
4107
- "anyOf": [
4108
- { "const": "call", "type": "string" },
4109
- { "const": "publish", "type": "string" },
4110
- { "const": "subscribe", "type": "string" },
4111
- { "const": "observe", "type": "string" },
4112
- { "const": "cancel", "type": "string" },
4113
- ],
4114
- },
4115
- "contractId": { "minLength": 1, "type": "string" },
4116
- "kind": {
4117
- "anyOf": [
4118
- { "const": "rpc", "type": "string" },
4119
- { "const": "operation", "type": "string" },
4120
- { "const": "event", "type": "string" },
4121
- { "const": "feed", "type": "string" },
4122
- ],
4123
- },
4124
- "name": { "minLength": 1, "type": "string" },
4125
- },
4126
- "required": ["contractId", "kind", "name"],
4127
- "type": "object",
4128
- },
4129
4124
  },
4130
- "required": ["kind", "surface", "required"],
4125
+ "required": ["contractId", "required"],
4131
4126
  "type": "object",
4132
- }, {
4127
+ },
4128
+ "type": "array",
4129
+ },
4130
+ "resources": {
4131
+ "items": {
4133
4132
  "properties": {
4134
- "capability": { "minLength": 1, "type": "string" },
4135
- "kind": { "const": "capability", "type": "string" },
4133
+ "alias": { "minLength": 1, "type": "string" },
4134
+ "definition": { "type": "object" },
4135
+ "kind": {
4136
+ "anyOf": [
4137
+ { "const": "kv", "type": "string" },
4138
+ { "const": "store", "type": "string" },
4139
+ { "const": "jobs", "type": "string" },
4140
+ { "const": "event-consumer", "type": "string" },
4141
+ { "const": "transfer", "type": "string" },
4142
+ ],
4143
+ },
4136
4144
  "required": { "type": "boolean" },
4137
4145
  },
4138
- "required": ["kind", "capability", "required"],
4146
+ "required": ["kind", "alias", "required"],
4139
4147
  "type": "object",
4140
- }, {
4148
+ },
4149
+ "type": "array",
4150
+ },
4151
+ "surfaces": {
4152
+ "items": {
4141
4153
  "properties": {
4142
- "kind": { "const": "resource", "type": "string" },
4143
- "required": { "type": "boolean" },
4144
- "resource": {
4145
- "properties": {
4146
- "alias": { "minLength": 1, "type": "string" },
4147
- "definition": { "type": "object" },
4148
- "kind": {
4149
- "anyOf": [
4150
- { "const": "kv", "type": "string" },
4151
- { "const": "store", "type": "string" },
4152
- { "const": "jobs", "type": "string" },
4153
- { "const": "event-consumer", "type": "string" },
4154
- { "const": "transfer", "type": "string" },
4155
- ],
4156
- },
4157
- "required": { "type": "boolean" },
4158
- },
4159
- "required": ["kind", "alias", "required"],
4160
- "type": "object",
4154
+ "action": {
4155
+ "anyOf": [
4156
+ { "const": "call", "type": "string" },
4157
+ { "const": "publish", "type": "string" },
4158
+ { "const": "subscribe", "type": "string" },
4159
+ { "const": "observe", "type": "string" },
4160
+ { "const": "cancel", "type": "string" },
4161
+ ],
4162
+ },
4163
+ "contractId": { "minLength": 1, "type": "string" },
4164
+ "kind": {
4165
+ "anyOf": [
4166
+ { "const": "rpc", "type": "string" },
4167
+ { "const": "operation", "type": "string" },
4168
+ { "const": "event", "type": "string" },
4169
+ { "const": "feed", "type": "string" },
4170
+ ],
4161
4171
  },
4172
+ "name": { "minLength": 1, "type": "string" },
4173
+ "required": { "type": "boolean" },
4162
4174
  },
4163
- "required": ["kind", "resource", "required"],
4175
+ "required": ["contractId", "kind", "name", "required"],
4164
4176
  "type": "object",
4165
- }],
4177
+ },
4178
+ "type": "array",
4179
+ },
4166
4180
  },
4167
- "type": "array",
4181
+ "required": [
4182
+ "contracts",
4183
+ "surfaces",
4184
+ "capabilities",
4185
+ "resources",
4186
+ ],
4187
+ "type": "object",
4168
4188
  },
4169
4189
  "resources": {
4170
4190
  "items": {
@@ -4250,48 +4270,27 @@ export const CONTRACT = {
4250
4270
  "desiredVersion": { "minLength": 1, "type": "string" },
4251
4271
  "error": { "minLength": 1, "type": "string" },
4252
4272
  "grants": {
4253
- "items": {
4254
- "anyOf": [{
4273
+ "properties": {
4274
+ "capabilities": {
4275
+ "items": {
4255
4276
  "properties": {
4256
4277
  "capability": { "minLength": 1, "type": "string" },
4257
- "kind": { "const": "capability", "type": "string" },
4258
4278
  },
4259
- "required": ["kind", "capability"],
4279
+ "required": ["capability"],
4260
4280
  "type": "object",
4261
- }, {
4281
+ },
4282
+ "type": "array",
4283
+ },
4284
+ "nats": {
4285
+ "items": {
4262
4286
  "properties": {
4263
- "action": {
4264
- "anyOf": [
4265
- { "const": "call", "type": "string" },
4266
- { "const": "publish", "type": "string" },
4267
- { "const": "subscribe", "type": "string" },
4268
- { "const": "observe", "type": "string" },
4269
- { "const": "cancel", "type": "string" },
4270
- ],
4287
+ "direction": {
4288
+ "anyOf": [{ "const": "publish", "type": "string" }, {
4289
+ "const": "subscribe",
4290
+ "type": "string",
4291
+ }],
4271
4292
  },
4272
- "contractId": { "minLength": 1, "type": "string" },
4273
- "kind": { "const": "surface", "type": "string" },
4274
- "name": { "minLength": 1, "type": "string" },
4275
- "surfaceKind": {
4276
- "anyOf": [
4277
- { "const": "rpc", "type": "string" },
4278
- { "const": "operation", "type": "string" },
4279
- { "const": "event", "type": "string" },
4280
- { "const": "feed", "type": "string" },
4281
- ],
4282
- },
4283
- },
4284
- "required": ["kind", "contractId", "surfaceKind", "name"],
4285
- "type": "object",
4286
- }, {
4287
- "properties": {
4288
- "direction": {
4289
- "anyOf": [{ "const": "publish", "type": "string" }, {
4290
- "const": "subscribe",
4291
- "type": "string",
4292
- }],
4293
- },
4294
- "grantSource": {
4293
+ "grantSource": {
4295
4294
  "anyOf": [
4296
4295
  { "const": "owned-surface", "type": "string" },
4297
4296
  { "const": "used-surface", "type": "string" },
@@ -4300,7 +4299,6 @@ export const CONTRACT = {
4300
4299
  { "const": "transfer", "type": "string" },
4301
4300
  ],
4302
4301
  },
4303
- "kind": { "const": "nats", "type": "string" },
4304
4302
  "requiredCapabilities": {
4305
4303
  "items": { "minLength": 1, "type": "string" },
4306
4304
  "type": "array",
@@ -4333,16 +4331,46 @@ export const CONTRACT = {
4333
4331
  },
4334
4332
  },
4335
4333
  "required": [
4336
- "kind",
4337
4334
  "direction",
4338
4335
  "subject",
4339
4336
  "requiredCapabilities",
4340
4337
  "grantSource",
4341
4338
  ],
4342
4339
  "type": "object",
4343
- }],
4340
+ },
4341
+ "type": "array",
4342
+ },
4343
+ "surfaces": {
4344
+ "items": {
4345
+ "properties": {
4346
+ "action": {
4347
+ "anyOf": [
4348
+ { "const": "call", "type": "string" },
4349
+ { "const": "publish", "type": "string" },
4350
+ { "const": "subscribe", "type": "string" },
4351
+ { "const": "observe", "type": "string" },
4352
+ { "const": "cancel", "type": "string" },
4353
+ ],
4354
+ },
4355
+ "contractId": { "minLength": 1, "type": "string" },
4356
+ "name": { "minLength": 1, "type": "string" },
4357
+ "surfaceKind": {
4358
+ "anyOf": [
4359
+ { "const": "rpc", "type": "string" },
4360
+ { "const": "operation", "type": "string" },
4361
+ { "const": "event", "type": "string" },
4362
+ { "const": "feed", "type": "string" },
4363
+ ],
4364
+ },
4365
+ },
4366
+ "required": ["contractId", "surfaceKind", "name"],
4367
+ "type": "object",
4368
+ },
4369
+ "type": "array",
4370
+ },
4344
4371
  },
4345
- "type": "array",
4372
+ "required": ["capabilities", "surfaces", "nats"],
4373
+ "type": "object",
4346
4374
  },
4347
4375
  "reconciledAt": {
4348
4376
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -6374,6 +6402,41 @@ export const CONTRACT = {
6374
6402
  "type": "integer",
6375
6403
  },
6376
6404
  "dlq": { "type": "boolean" },
6405
+ "keyConcurrency": {
6406
+ "properties": {
6407
+ "heartbeatIntervalMs": {
6408
+ "minimum": 1,
6409
+ "type": "integer",
6410
+ },
6411
+ "heartbeatTtlMs": {
6412
+ "minimum": 1,
6413
+ "type": "integer",
6414
+ },
6415
+ "key": {
6416
+ "items": { "minLength": 1, "type": "string" },
6417
+ "minItems": 1,
6418
+ "type": "array",
6419
+ },
6420
+ "maxActive": {
6421
+ "minimum": 1,
6422
+ "type": "integer",
6423
+ },
6424
+ "stalePolicy": {
6425
+ "anyOf": [{
6426
+ "const": "fail-stale",
6427
+ "type": "string",
6428
+ }, { "const": "block", "type": "string" }],
6429
+ },
6430
+ },
6431
+ "required": [
6432
+ "key",
6433
+ "maxActive",
6434
+ "heartbeatIntervalMs",
6435
+ "heartbeatTtlMs",
6436
+ "stalePolicy",
6437
+ ],
6438
+ "type": "object",
6439
+ },
6377
6440
  "logs": { "type": "boolean" },
6378
6441
  "maxDeliver": { "minimum": 1, "type": "integer" },
6379
6442
  "payload": {
@@ -6388,6 +6451,26 @@ export const CONTRACT = {
6388
6451
  "minLength": 1,
6389
6452
  "type": "string",
6390
6453
  },
6454
+ "queue": {
6455
+ "properties": {
6456
+ "maxQueuedPerKey": {
6457
+ "minimum": 0,
6458
+ "type": "integer",
6459
+ },
6460
+ "whenFull": {
6461
+ "anyOf": [
6462
+ { "const": "reject", "type": "string" },
6463
+ { "const": "coalesce", "type": "string" },
6464
+ {
6465
+ "const": "replace-oldest",
6466
+ "type": "string",
6467
+ },
6468
+ ],
6469
+ },
6470
+ },
6471
+ "required": ["maxQueuedPerKey", "whenFull"],
6472
+ "type": "object",
6473
+ },
6391
6474
  "queueType": { "minLength": 1, "type": "string" },
6392
6475
  "result": {
6393
6476
  "properties": {
@@ -6550,6 +6633,41 @@ export const CONTRACT = {
6550
6633
  "type": "integer",
6551
6634
  },
6552
6635
  "dlq": { "type": "boolean" },
6636
+ "keyConcurrency": {
6637
+ "properties": {
6638
+ "heartbeatIntervalMs": {
6639
+ "minimum": 1,
6640
+ "type": "integer",
6641
+ },
6642
+ "heartbeatTtlMs": {
6643
+ "minimum": 1,
6644
+ "type": "integer",
6645
+ },
6646
+ "key": {
6647
+ "items": { "minLength": 1, "type": "string" },
6648
+ "minItems": 1,
6649
+ "type": "array",
6650
+ },
6651
+ "maxActive": {
6652
+ "minimum": 1,
6653
+ "type": "integer",
6654
+ },
6655
+ "stalePolicy": {
6656
+ "anyOf": [{
6657
+ "const": "fail-stale",
6658
+ "type": "string",
6659
+ }, { "const": "block", "type": "string" }],
6660
+ },
6661
+ },
6662
+ "required": [
6663
+ "key",
6664
+ "maxActive",
6665
+ "heartbeatIntervalMs",
6666
+ "heartbeatTtlMs",
6667
+ "stalePolicy",
6668
+ ],
6669
+ "type": "object",
6670
+ },
6553
6671
  "logs": { "type": "boolean" },
6554
6672
  "maxDeliver": { "minimum": 1, "type": "integer" },
6555
6673
  "payload": {
@@ -6564,6 +6682,26 @@ export const CONTRACT = {
6564
6682
  "minLength": 1,
6565
6683
  "type": "string",
6566
6684
  },
6685
+ "queue": {
6686
+ "properties": {
6687
+ "maxQueuedPerKey": {
6688
+ "minimum": 0,
6689
+ "type": "integer",
6690
+ },
6691
+ "whenFull": {
6692
+ "anyOf": [
6693
+ { "const": "reject", "type": "string" },
6694
+ { "const": "coalesce", "type": "string" },
6695
+ {
6696
+ "const": "replace-oldest",
6697
+ "type": "string",
6698
+ },
6699
+ ],
6700
+ },
6701
+ },
6702
+ "required": ["maxQueuedPerKey", "whenFull"],
6703
+ "type": "object",
6704
+ },
6567
6705
  "queueType": { "minLength": 1, "type": "string" },
6568
6706
  "result": {
6569
6707
  "properties": {
@@ -6740,6 +6878,44 @@ export const CONTRACT = {
6740
6878
  "type": "integer",
6741
6879
  },
6742
6880
  "dlq": { "type": "boolean" },
6881
+ "keyConcurrency": {
6882
+ "properties": {
6883
+ "heartbeatIntervalMs": {
6884
+ "minimum": 1,
6885
+ "type": "integer",
6886
+ },
6887
+ "heartbeatTtlMs": {
6888
+ "minimum": 1,
6889
+ "type": "integer",
6890
+ },
6891
+ "key": {
6892
+ "items": {
6893
+ "minLength": 1,
6894
+ "type": "string",
6895
+ },
6896
+ "minItems": 1,
6897
+ "type": "array",
6898
+ },
6899
+ "maxActive": {
6900
+ "minimum": 1,
6901
+ "type": "integer",
6902
+ },
6903
+ "stalePolicy": {
6904
+ "anyOf": [{
6905
+ "const": "fail-stale",
6906
+ "type": "string",
6907
+ }, { "const": "block", "type": "string" }],
6908
+ },
6909
+ },
6910
+ "required": [
6911
+ "key",
6912
+ "maxActive",
6913
+ "heartbeatIntervalMs",
6914
+ "heartbeatTtlMs",
6915
+ "stalePolicy",
6916
+ ],
6917
+ "type": "object",
6918
+ },
6743
6919
  "logs": { "type": "boolean" },
6744
6920
  "maxDeliver": { "minimum": 1, "type": "integer" },
6745
6921
  "payload": {
@@ -6757,6 +6933,28 @@ export const CONTRACT = {
6757
6933
  "minLength": 1,
6758
6934
  "type": "string",
6759
6935
  },
6936
+ "queue": {
6937
+ "properties": {
6938
+ "maxQueuedPerKey": {
6939
+ "minimum": 0,
6940
+ "type": "integer",
6941
+ },
6942
+ "whenFull": {
6943
+ "anyOf": [{
6944
+ "const": "reject",
6945
+ "type": "string",
6946
+ }, {
6947
+ "const": "coalesce",
6948
+ "type": "string",
6949
+ }, {
6950
+ "const": "replace-oldest",
6951
+ "type": "string",
6952
+ }],
6953
+ },
6954
+ },
6955
+ "required": ["maxQueuedPerKey", "whenFull"],
6956
+ "type": "object",
6957
+ },
6760
6958
  "queueType": { "minLength": 1, "type": "string" },
6761
6959
  "result": {
6762
6960
  "properties": {
@@ -6933,6 +7131,41 @@ export const CONTRACT = {
6933
7131
  "type": "integer",
6934
7132
  },
6935
7133
  "dlq": { "type": "boolean" },
7134
+ "keyConcurrency": {
7135
+ "properties": {
7136
+ "heartbeatIntervalMs": {
7137
+ "minimum": 1,
7138
+ "type": "integer",
7139
+ },
7140
+ "heartbeatTtlMs": {
7141
+ "minimum": 1,
7142
+ "type": "integer",
7143
+ },
7144
+ "key": {
7145
+ "items": { "minLength": 1, "type": "string" },
7146
+ "minItems": 1,
7147
+ "type": "array",
7148
+ },
7149
+ "maxActive": {
7150
+ "minimum": 1,
7151
+ "type": "integer",
7152
+ },
7153
+ "stalePolicy": {
7154
+ "anyOf": [{
7155
+ "const": "fail-stale",
7156
+ "type": "string",
7157
+ }, { "const": "block", "type": "string" }],
7158
+ },
7159
+ },
7160
+ "required": [
7161
+ "key",
7162
+ "maxActive",
7163
+ "heartbeatIntervalMs",
7164
+ "heartbeatTtlMs",
7165
+ "stalePolicy",
7166
+ ],
7167
+ "type": "object",
7168
+ },
6936
7169
  "logs": { "type": "boolean" },
6937
7170
  "maxDeliver": { "minimum": 1, "type": "integer" },
6938
7171
  "payload": {
@@ -6947,6 +7180,26 @@ export const CONTRACT = {
6947
7180
  "minLength": 1,
6948
7181
  "type": "string",
6949
7182
  },
7183
+ "queue": {
7184
+ "properties": {
7185
+ "maxQueuedPerKey": {
7186
+ "minimum": 0,
7187
+ "type": "integer",
7188
+ },
7189
+ "whenFull": {
7190
+ "anyOf": [
7191
+ { "const": "reject", "type": "string" },
7192
+ { "const": "coalesce", "type": "string" },
7193
+ {
7194
+ "const": "replace-oldest",
7195
+ "type": "string",
7196
+ },
7197
+ ],
7198
+ },
7199
+ },
7200
+ "required": ["maxQueuedPerKey", "whenFull"],
7201
+ "type": "object",
7202
+ },
6950
7203
  "queueType": { "minLength": 1, "type": "string" },
6951
7204
  "result": {
6952
7205
  "properties": {
@@ -7326,29 +7579,14 @@ export const CONTRACT = {
7326
7579
  "type": "object",
7327
7580
  },
7328
7581
  "AuthSessionsRevokedEvent": {
7329
- "allOf": [{
7330
- "properties": {
7331
- "header": {
7332
- "properties": {
7333
- "id": { "type": "string" },
7334
- "time": { "format": "date-time", "type": "string" },
7335
- },
7336
- "required": ["id", "time"],
7337
- "type": "object",
7338
- },
7339
- },
7340
- "required": ["header"],
7341
- "type": "object",
7342
- }, {
7343
- "properties": {
7344
- "id": { "type": "string" },
7345
- "origin": { "type": "string" },
7346
- "revokedBy": { "type": "string" },
7347
- "sessionKey": { "type": "string" },
7348
- },
7349
- "required": ["origin", "id", "sessionKey", "revokedBy"],
7350
- "type": "object",
7351
- }],
7582
+ "properties": {
7583
+ "id": { "type": "string" },
7584
+ "origin": { "type": "string" },
7585
+ "revokedBy": { "type": "string" },
7586
+ "sessionKey": { "type": "string" },
7587
+ },
7588
+ "required": ["origin", "id", "sessionKey", "revokedBy"],
7589
+ "type": "object",
7352
7590
  },
7353
7591
  "AuthUserIdentitiesListRequest": {
7354
7592
  "properties": {
@@ -7726,99 +7964,103 @@ export const CONTRACT = {
7726
7964
  "type": "array",
7727
7965
  },
7728
7966
  "needs": {
7729
- "items": {
7730
- "anyOf": [{
7731
- "properties": {
7732
- "contractId": { "minLength": 1, "type": "string" },
7733
- "kind": { "const": "contract", "type": "string" },
7734
- "required": { "type": "boolean" },
7735
- },
7736
- "required": ["kind", "contractId", "required"],
7737
- "type": "object",
7738
- }, {
7967
+ "properties": {
7968
+ "capabilities": {
7969
+ "items": {
7739
7970
  "properties": {
7740
- "kind": { "const": "surface", "type": "string" },
7971
+ "capability": { "minLength": 1, "type": "string" },
7741
7972
  "required": { "type": "boolean" },
7742
- "surface": {
7743
- "properties": {
7744
- "action": {
7745
- "anyOf": [
7746
- { "const": "call", "type": "string" },
7747
- { "const": "publish", "type": "string" },
7748
- { "const": "subscribe", "type": "string" },
7749
- { "const": "observe", "type": "string" },
7750
- { "const": "cancel", "type": "string" },
7751
- ],
7752
- },
7753
- "contractId": { "minLength": 1, "type": "string" },
7754
- "kind": {
7755
- "anyOf": [
7756
- { "const": "rpc", "type": "string" },
7757
- { "const": "operation", "type": "string" },
7758
- { "const": "event", "type": "string" },
7759
- { "const": "feed", "type": "string" },
7760
- ],
7761
- },
7762
- "name": { "minLength": 1, "type": "string" },
7763
- },
7764
- "required": ["contractId", "kind", "name"],
7765
- "type": "object",
7766
- },
7767
7973
  },
7768
- "required": ["kind", "surface", "required"],
7974
+ "required": ["capability", "required"],
7769
7975
  "type": "object",
7770
- }, {
7976
+ },
7977
+ "type": "array",
7978
+ },
7979
+ "contracts": {
7980
+ "items": {
7771
7981
  "properties": {
7772
- "capability": { "minLength": 1, "type": "string" },
7773
- "kind": { "const": "capability", "type": "string" },
7982
+ "contractId": { "minLength": 1, "type": "string" },
7774
7983
  "required": { "type": "boolean" },
7775
7984
  },
7776
- "required": ["kind", "capability", "required"],
7985
+ "required": ["contractId", "required"],
7777
7986
  "type": "object",
7778
- }, {
7987
+ },
7988
+ "type": "array",
7989
+ },
7990
+ "resources": {
7991
+ "items": {
7779
7992
  "properties": {
7780
- "kind": { "const": "resource", "type": "string" },
7781
- "required": { "type": "boolean" },
7782
- "resource": {
7783
- "properties": {
7784
- "alias": { "minLength": 1, "type": "string" },
7785
- "definition": { "type": "object" },
7786
- "kind": {
7787
- "anyOf": [
7788
- { "const": "kv", "type": "string" },
7789
- { "const": "store", "type": "string" },
7790
- { "const": "jobs", "type": "string" },
7791
- { "const": "event-consumer", "type": "string" },
7792
- { "const": "transfer", "type": "string" },
7793
- ],
7794
- },
7795
- "required": { "type": "boolean" },
7796
- },
7797
- "required": ["kind", "alias", "required"],
7798
- "type": "object",
7993
+ "alias": { "minLength": 1, "type": "string" },
7994
+ "definition": { "type": "object" },
7995
+ "kind": {
7996
+ "anyOf": [
7997
+ { "const": "kv", "type": "string" },
7998
+ { "const": "store", "type": "string" },
7999
+ { "const": "jobs", "type": "string" },
8000
+ { "const": "event-consumer", "type": "string" },
8001
+ { "const": "transfer", "type": "string" },
8002
+ ],
7799
8003
  },
8004
+ "required": { "type": "boolean" },
7800
8005
  },
7801
- "required": ["kind", "resource", "required"],
8006
+ "required": ["kind", "alias", "required"],
7802
8007
  "type": "object",
7803
- }],
7804
- },
7805
- "type": "array",
7806
- },
7807
- "resources": {
7808
- "items": {
7809
- "properties": {
7810
- "alias": { "minLength": 1, "type": "string" },
7811
- "definition": { "type": "object" },
7812
- "kind": {
7813
- "anyOf": [
7814
- { "const": "kv", "type": "string" },
7815
- { "const": "store", "type": "string" },
7816
- { "const": "jobs", "type": "string" },
7817
- { "const": "event-consumer", "type": "string" },
7818
- { "const": "transfer", "type": "string" },
7819
- ],
7820
8008
  },
7821
- "required": { "type": "boolean" },
8009
+ "type": "array",
8010
+ },
8011
+ "surfaces": {
8012
+ "items": {
8013
+ "properties": {
8014
+ "action": {
8015
+ "anyOf": [
8016
+ { "const": "call", "type": "string" },
8017
+ { "const": "publish", "type": "string" },
8018
+ { "const": "subscribe", "type": "string" },
8019
+ { "const": "observe", "type": "string" },
8020
+ { "const": "cancel", "type": "string" },
8021
+ ],
8022
+ },
8023
+ "contractId": { "minLength": 1, "type": "string" },
8024
+ "kind": {
8025
+ "anyOf": [
8026
+ { "const": "rpc", "type": "string" },
8027
+ { "const": "operation", "type": "string" },
8028
+ { "const": "event", "type": "string" },
8029
+ { "const": "feed", "type": "string" },
8030
+ ],
8031
+ },
8032
+ "name": { "minLength": 1, "type": "string" },
8033
+ "required": { "type": "boolean" },
8034
+ },
8035
+ "required": ["contractId", "kind", "name", "required"],
8036
+ "type": "object",
8037
+ },
8038
+ "type": "array",
8039
+ },
8040
+ },
8041
+ "required": [
8042
+ "contracts",
8043
+ "surfaces",
8044
+ "capabilities",
8045
+ "resources",
8046
+ ],
8047
+ "type": "object",
8048
+ },
8049
+ "resources": {
8050
+ "items": {
8051
+ "properties": {
8052
+ "alias": { "minLength": 1, "type": "string" },
8053
+ "definition": { "type": "object" },
8054
+ "kind": {
8055
+ "anyOf": [
8056
+ { "const": "kv", "type": "string" },
8057
+ { "const": "store", "type": "string" },
8058
+ { "const": "jobs", "type": "string" },
8059
+ { "const": "event-consumer", "type": "string" },
8060
+ { "const": "transfer", "type": "string" },
8061
+ ],
8062
+ },
8063
+ "required": { "type": "boolean" },
7822
8064
  },
7823
8065
  "required": ["kind", "alias", "required"],
7824
8066
  "type": "object",
@@ -7882,6 +8124,22 @@ export const CONTRACT = {
7882
8124
  ],
7883
8125
  "type": "object",
7884
8126
  },
8127
+ "DeploymentAuthorityCapabilityNeed": {
8128
+ "properties": {
8129
+ "capability": { "minLength": 1, "type": "string" },
8130
+ "required": { "type": "boolean" },
8131
+ },
8132
+ "required": ["capability", "required"],
8133
+ "type": "object",
8134
+ },
8135
+ "DeploymentAuthorityContractNeed": {
8136
+ "properties": {
8137
+ "contractId": { "minLength": 1, "type": "string" },
8138
+ "required": { "type": "boolean" },
8139
+ },
8140
+ "required": ["contractId", "required"],
8141
+ "type": "object",
8142
+ },
7885
8143
  "DeploymentAuthorityGrantOverride": {
7886
8144
  "anyOf": [{
7887
8145
  "properties": {
@@ -7979,40 +8237,19 @@ export const CONTRACT = {
7979
8237
  "desiredVersion": { "minLength": 1, "type": "string" },
7980
8238
  "error": { "minLength": 1, "type": "string" },
7981
8239
  "grants": {
7982
- "items": {
7983
- "anyOf": [{
8240
+ "properties": {
8241
+ "capabilities": {
8242
+ "items": {
7984
8243
  "properties": {
7985
8244
  "capability": { "minLength": 1, "type": "string" },
7986
- "kind": { "const": "capability", "type": "string" },
7987
8245
  },
7988
- "required": ["kind", "capability"],
8246
+ "required": ["capability"],
7989
8247
  "type": "object",
7990
- }, {
7991
- "properties": {
7992
- "action": {
7993
- "anyOf": [
7994
- { "const": "call", "type": "string" },
7995
- { "const": "publish", "type": "string" },
7996
- { "const": "subscribe", "type": "string" },
7997
- { "const": "observe", "type": "string" },
7998
- { "const": "cancel", "type": "string" },
7999
- ],
8000
- },
8001
- "contractId": { "minLength": 1, "type": "string" },
8002
- "kind": { "const": "surface", "type": "string" },
8003
- "name": { "minLength": 1, "type": "string" },
8004
- "surfaceKind": {
8005
- "anyOf": [
8006
- { "const": "rpc", "type": "string" },
8007
- { "const": "operation", "type": "string" },
8008
- { "const": "event", "type": "string" },
8009
- { "const": "feed", "type": "string" },
8010
- ],
8011
- },
8012
- },
8013
- "required": ["kind", "contractId", "surfaceKind", "name"],
8014
- "type": "object",
8015
- }, {
8248
+ },
8249
+ "type": "array",
8250
+ },
8251
+ "nats": {
8252
+ "items": {
8016
8253
  "properties": {
8017
8254
  "direction": {
8018
8255
  "anyOf": [{ "const": "publish", "type": "string" }, {
@@ -8029,7 +8266,6 @@ export const CONTRACT = {
8029
8266
  { "const": "transfer", "type": "string" },
8030
8267
  ],
8031
8268
  },
8032
- "kind": { "const": "nats", "type": "string" },
8033
8269
  "requiredCapabilities": {
8034
8270
  "items": { "minLength": 1, "type": "string" },
8035
8271
  "type": "array",
@@ -8062,16 +8298,46 @@ export const CONTRACT = {
8062
8298
  },
8063
8299
  },
8064
8300
  "required": [
8065
- "kind",
8066
8301
  "direction",
8067
8302
  "subject",
8068
8303
  "requiredCapabilities",
8069
8304
  "grantSource",
8070
8305
  ],
8071
8306
  "type": "object",
8072
- }],
8307
+ },
8308
+ "type": "array",
8309
+ },
8310
+ "surfaces": {
8311
+ "items": {
8312
+ "properties": {
8313
+ "action": {
8314
+ "anyOf": [
8315
+ { "const": "call", "type": "string" },
8316
+ { "const": "publish", "type": "string" },
8317
+ { "const": "subscribe", "type": "string" },
8318
+ { "const": "observe", "type": "string" },
8319
+ { "const": "cancel", "type": "string" },
8320
+ ],
8321
+ },
8322
+ "contractId": { "minLength": 1, "type": "string" },
8323
+ "name": { "minLength": 1, "type": "string" },
8324
+ "surfaceKind": {
8325
+ "anyOf": [
8326
+ { "const": "rpc", "type": "string" },
8327
+ { "const": "operation", "type": "string" },
8328
+ { "const": "event", "type": "string" },
8329
+ { "const": "feed", "type": "string" },
8330
+ ],
8331
+ },
8332
+ },
8333
+ "required": ["contractId", "surfaceKind", "name"],
8334
+ "type": "object",
8335
+ },
8336
+ "type": "array",
8337
+ },
8073
8338
  },
8074
- "type": "array",
8339
+ "required": ["capabilities", "surfaces", "nats"],
8340
+ "type": "object",
8075
8341
  },
8076
8342
  "reconciledAt": {
8077
8343
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -8197,83 +8463,87 @@ export const CONTRACT = {
8197
8463
  "type": "array",
8198
8464
  },
8199
8465
  "requestedNeeds": {
8200
- "items": {
8201
- "anyOf": [{
8466
+ "properties": {
8467
+ "capabilities": {
8468
+ "items": {
8202
8469
  "properties": {
8203
- "contractId": { "minLength": 1, "type": "string" },
8204
- "kind": { "const": "contract", "type": "string" },
8470
+ "capability": { "minLength": 1, "type": "string" },
8205
8471
  "required": { "type": "boolean" },
8206
8472
  },
8207
- "required": ["kind", "contractId", "required"],
8473
+ "required": ["capability", "required"],
8208
8474
  "type": "object",
8209
- }, {
8475
+ },
8476
+ "type": "array",
8477
+ },
8478
+ "contracts": {
8479
+ "items": {
8210
8480
  "properties": {
8211
- "kind": { "const": "surface", "type": "string" },
8481
+ "contractId": { "minLength": 1, "type": "string" },
8212
8482
  "required": { "type": "boolean" },
8213
- "surface": {
8214
- "properties": {
8215
- "action": {
8216
- "anyOf": [
8217
- { "const": "call", "type": "string" },
8218
- { "const": "publish", "type": "string" },
8219
- { "const": "subscribe", "type": "string" },
8220
- { "const": "observe", "type": "string" },
8221
- { "const": "cancel", "type": "string" },
8222
- ],
8223
- },
8224
- "contractId": { "minLength": 1, "type": "string" },
8225
- "kind": {
8226
- "anyOf": [
8227
- { "const": "rpc", "type": "string" },
8228
- { "const": "operation", "type": "string" },
8229
- { "const": "event", "type": "string" },
8230
- { "const": "feed", "type": "string" },
8231
- ],
8232
- },
8233
- "name": { "minLength": 1, "type": "string" },
8234
- },
8235
- "required": ["contractId", "kind", "name"],
8236
- "type": "object",
8237
- },
8238
8483
  },
8239
- "required": ["kind", "surface", "required"],
8484
+ "required": ["contractId", "required"],
8240
8485
  "type": "object",
8241
- }, {
8486
+ },
8487
+ "type": "array",
8488
+ },
8489
+ "resources": {
8490
+ "items": {
8242
8491
  "properties": {
8243
- "capability": { "minLength": 1, "type": "string" },
8244
- "kind": { "const": "capability", "type": "string" },
8492
+ "alias": { "minLength": 1, "type": "string" },
8493
+ "definition": { "type": "object" },
8494
+ "kind": {
8495
+ "anyOf": [
8496
+ { "const": "kv", "type": "string" },
8497
+ { "const": "store", "type": "string" },
8498
+ { "const": "jobs", "type": "string" },
8499
+ { "const": "event-consumer", "type": "string" },
8500
+ { "const": "transfer", "type": "string" },
8501
+ ],
8502
+ },
8245
8503
  "required": { "type": "boolean" },
8246
8504
  },
8247
- "required": ["kind", "capability", "required"],
8505
+ "required": ["kind", "alias", "required"],
8248
8506
  "type": "object",
8249
- }, {
8507
+ },
8508
+ "type": "array",
8509
+ },
8510
+ "surfaces": {
8511
+ "items": {
8250
8512
  "properties": {
8251
- "kind": { "const": "resource", "type": "string" },
8252
- "required": { "type": "boolean" },
8253
- "resource": {
8254
- "properties": {
8255
- "alias": { "minLength": 1, "type": "string" },
8256
- "definition": { "type": "object" },
8257
- "kind": {
8258
- "anyOf": [
8259
- { "const": "kv", "type": "string" },
8260
- { "const": "store", "type": "string" },
8261
- { "const": "jobs", "type": "string" },
8262
- { "const": "event-consumer", "type": "string" },
8263
- { "const": "transfer", "type": "string" },
8264
- ],
8265
- },
8266
- "required": { "type": "boolean" },
8267
- },
8268
- "required": ["kind", "alias", "required"],
8269
- "type": "object",
8513
+ "action": {
8514
+ "anyOf": [
8515
+ { "const": "call", "type": "string" },
8516
+ { "const": "publish", "type": "string" },
8517
+ { "const": "subscribe", "type": "string" },
8518
+ { "const": "observe", "type": "string" },
8519
+ { "const": "cancel", "type": "string" },
8520
+ ],
8521
+ },
8522
+ "contractId": { "minLength": 1, "type": "string" },
8523
+ "kind": {
8524
+ "anyOf": [
8525
+ { "const": "rpc", "type": "string" },
8526
+ { "const": "operation", "type": "string" },
8527
+ { "const": "event", "type": "string" },
8528
+ { "const": "feed", "type": "string" },
8529
+ ],
8270
8530
  },
8531
+ "name": { "minLength": 1, "type": "string" },
8532
+ "required": { "type": "boolean" },
8271
8533
  },
8272
- "required": ["kind", "resource", "required"],
8534
+ "required": ["contractId", "kind", "name", "required"],
8273
8535
  "type": "object",
8274
- }],
8536
+ },
8537
+ "type": "array",
8538
+ },
8275
8539
  },
8276
- "type": "array",
8540
+ "required": [
8541
+ "contracts",
8542
+ "surfaces",
8543
+ "capabilities",
8544
+ "resources",
8545
+ ],
8546
+ "type": "object",
8277
8547
  },
8278
8548
  "summary": { "type": "object" },
8279
8549
  },
@@ -8312,81 +8582,83 @@ export const CONTRACT = {
8312
8582
  ],
8313
8583
  "type": "object",
8314
8584
  },
8315
- "DeploymentAuthorityNeed": {
8316
- "anyOf": [{
8317
- "properties": {
8318
- "contractId": { "minLength": 1, "type": "string" },
8319
- "kind": { "const": "contract", "type": "string" },
8320
- "required": { "type": "boolean" },
8585
+ "DeploymentAuthorityNeeds": {
8586
+ "properties": {
8587
+ "capabilities": {
8588
+ "items": {
8589
+ "properties": {
8590
+ "capability": { "minLength": 1, "type": "string" },
8591
+ "required": { "type": "boolean" },
8592
+ },
8593
+ "required": ["capability", "required"],
8594
+ "type": "object",
8321
8595
  },
8322
- "required": ["kind", "contractId", "required"],
8323
- "type": "object",
8324
- }, {
8325
- "properties": {
8326
- "kind": { "const": "surface", "type": "string" },
8327
- "required": { "type": "boolean" },
8328
- "surface": {
8329
- "properties": {
8330
- "action": {
8331
- "anyOf": [
8332
- { "const": "call", "type": "string" },
8333
- { "const": "publish", "type": "string" },
8334
- { "const": "subscribe", "type": "string" },
8335
- { "const": "observe", "type": "string" },
8336
- { "const": "cancel", "type": "string" },
8337
- ],
8338
- },
8339
- "contractId": { "minLength": 1, "type": "string" },
8340
- "kind": {
8341
- "anyOf": [
8342
- { "const": "rpc", "type": "string" },
8343
- { "const": "operation", "type": "string" },
8344
- { "const": "event", "type": "string" },
8345
- { "const": "feed", "type": "string" },
8346
- ],
8347
- },
8348
- "name": { "minLength": 1, "type": "string" },
8349
- },
8350
- "required": ["contractId", "kind", "name"],
8351
- "type": "object",
8596
+ "type": "array",
8597
+ },
8598
+ "contracts": {
8599
+ "items": {
8600
+ "properties": {
8601
+ "contractId": { "minLength": 1, "type": "string" },
8602
+ "required": { "type": "boolean" },
8352
8603
  },
8604
+ "required": ["contractId", "required"],
8605
+ "type": "object",
8353
8606
  },
8354
- "required": ["kind", "surface", "required"],
8355
- "type": "object",
8356
- }, {
8357
- "properties": {
8358
- "capability": { "minLength": 1, "type": "string" },
8359
- "kind": { "const": "capability", "type": "string" },
8360
- "required": { "type": "boolean" },
8607
+ "type": "array",
8608
+ },
8609
+ "resources": {
8610
+ "items": {
8611
+ "properties": {
8612
+ "alias": { "minLength": 1, "type": "string" },
8613
+ "definition": { "type": "object" },
8614
+ "kind": {
8615
+ "anyOf": [
8616
+ { "const": "kv", "type": "string" },
8617
+ { "const": "store", "type": "string" },
8618
+ { "const": "jobs", "type": "string" },
8619
+ { "const": "event-consumer", "type": "string" },
8620
+ { "const": "transfer", "type": "string" },
8621
+ ],
8622
+ },
8623
+ "required": { "type": "boolean" },
8624
+ },
8625
+ "required": ["kind", "alias", "required"],
8626
+ "type": "object",
8361
8627
  },
8362
- "required": ["kind", "capability", "required"],
8363
- "type": "object",
8364
- }, {
8365
- "properties": {
8366
- "kind": { "const": "resource", "type": "string" },
8367
- "required": { "type": "boolean" },
8368
- "resource": {
8369
- "properties": {
8370
- "alias": { "minLength": 1, "type": "string" },
8371
- "definition": { "type": "object" },
8372
- "kind": {
8373
- "anyOf": [
8374
- { "const": "kv", "type": "string" },
8375
- { "const": "store", "type": "string" },
8376
- { "const": "jobs", "type": "string" },
8377
- { "const": "event-consumer", "type": "string" },
8378
- { "const": "transfer", "type": "string" },
8379
- ],
8380
- },
8381
- "required": { "type": "boolean" },
8628
+ "type": "array",
8629
+ },
8630
+ "surfaces": {
8631
+ "items": {
8632
+ "properties": {
8633
+ "action": {
8634
+ "anyOf": [
8635
+ { "const": "call", "type": "string" },
8636
+ { "const": "publish", "type": "string" },
8637
+ { "const": "subscribe", "type": "string" },
8638
+ { "const": "observe", "type": "string" },
8639
+ { "const": "cancel", "type": "string" },
8640
+ ],
8382
8641
  },
8383
- "required": ["kind", "alias", "required"],
8384
- "type": "object",
8642
+ "contractId": { "minLength": 1, "type": "string" },
8643
+ "kind": {
8644
+ "anyOf": [
8645
+ { "const": "rpc", "type": "string" },
8646
+ { "const": "operation", "type": "string" },
8647
+ { "const": "event", "type": "string" },
8648
+ { "const": "feed", "type": "string" },
8649
+ ],
8650
+ },
8651
+ "name": { "minLength": 1, "type": "string" },
8652
+ "required": { "type": "boolean" },
8385
8653
  },
8654
+ "required": ["contractId", "kind", "name", "required"],
8655
+ "type": "object",
8386
8656
  },
8387
- "required": ["kind", "resource", "required"],
8388
- "type": "object",
8389
- }],
8657
+ "type": "array",
8658
+ },
8659
+ },
8660
+ "required": ["contracts", "surfaces", "capabilities", "resources"],
8661
+ "type": "object",
8390
8662
  },
8391
8663
  "DeploymentAuthorityProposal": {
8392
8664
  "properties": {
@@ -8422,85 +8694,84 @@ export const CONTRACT = {
8422
8694
  "type": "object",
8423
8695
  },
8424
8696
  "type": "array",
8425
- },
8426
- "requestedNeeds": {
8427
- "items": {
8428
- "anyOf": [{
8429
- "properties": {
8430
- "contractId": { "minLength": 1, "type": "string" },
8431
- "kind": { "const": "contract", "type": "string" },
8432
- "required": { "type": "boolean" },
8433
- },
8434
- "required": ["kind", "contractId", "required"],
8435
- "type": "object",
8436
- }, {
8437
- "properties": {
8438
- "kind": { "const": "surface", "type": "string" },
8439
- "required": { "type": "boolean" },
8440
- "surface": {
8441
- "properties": {
8442
- "action": {
8443
- "anyOf": [
8444
- { "const": "call", "type": "string" },
8445
- { "const": "publish", "type": "string" },
8446
- { "const": "subscribe", "type": "string" },
8447
- { "const": "observe", "type": "string" },
8448
- { "const": "cancel", "type": "string" },
8449
- ],
8450
- },
8451
- "contractId": { "minLength": 1, "type": "string" },
8452
- "kind": {
8453
- "anyOf": [
8454
- { "const": "rpc", "type": "string" },
8455
- { "const": "operation", "type": "string" },
8456
- { "const": "event", "type": "string" },
8457
- { "const": "feed", "type": "string" },
8458
- ],
8459
- },
8460
- "name": { "minLength": 1, "type": "string" },
8461
- },
8462
- "required": ["contractId", "kind", "name"],
8463
- "type": "object",
8464
- },
8697
+ },
8698
+ "requestedNeeds": {
8699
+ "properties": {
8700
+ "capabilities": {
8701
+ "items": {
8702
+ "properties": {
8703
+ "capability": { "minLength": 1, "type": "string" },
8704
+ "required": { "type": "boolean" },
8465
8705
  },
8466
- "required": ["kind", "surface", "required"],
8706
+ "required": ["capability", "required"],
8467
8707
  "type": "object",
8468
- }, {
8708
+ },
8709
+ "type": "array",
8710
+ },
8711
+ "contracts": {
8712
+ "items": {
8469
8713
  "properties": {
8470
- "capability": { "minLength": 1, "type": "string" },
8471
- "kind": { "const": "capability", "type": "string" },
8714
+ "contractId": { "minLength": 1, "type": "string" },
8472
8715
  "required": { "type": "boolean" },
8473
8716
  },
8474
- "required": ["kind", "capability", "required"],
8717
+ "required": ["contractId", "required"],
8475
8718
  "type": "object",
8476
- }, {
8719
+ },
8720
+ "type": "array",
8721
+ },
8722
+ "resources": {
8723
+ "items": {
8477
8724
  "properties": {
8478
- "kind": { "const": "resource", "type": "string" },
8725
+ "alias": { "minLength": 1, "type": "string" },
8726
+ "definition": { "type": "object" },
8727
+ "kind": {
8728
+ "anyOf": [
8729
+ { "const": "kv", "type": "string" },
8730
+ { "const": "store", "type": "string" },
8731
+ { "const": "jobs", "type": "string" },
8732
+ { "const": "event-consumer", "type": "string" },
8733
+ { "const": "transfer", "type": "string" },
8734
+ ],
8735
+ },
8479
8736
  "required": { "type": "boolean" },
8480
- "resource": {
8481
- "properties": {
8482
- "alias": { "minLength": 1, "type": "string" },
8483
- "definition": { "type": "object" },
8484
- "kind": {
8485
- "anyOf": [
8486
- { "const": "kv", "type": "string" },
8487
- { "const": "store", "type": "string" },
8488
- { "const": "jobs", "type": "string" },
8489
- { "const": "event-consumer", "type": "string" },
8490
- { "const": "transfer", "type": "string" },
8491
- ],
8492
- },
8493
- "required": { "type": "boolean" },
8494
- },
8495
- "required": ["kind", "alias", "required"],
8496
- "type": "object",
8737
+ },
8738
+ "required": ["kind", "alias", "required"],
8739
+ "type": "object",
8740
+ },
8741
+ "type": "array",
8742
+ },
8743
+ "surfaces": {
8744
+ "items": {
8745
+ "properties": {
8746
+ "action": {
8747
+ "anyOf": [
8748
+ { "const": "call", "type": "string" },
8749
+ { "const": "publish", "type": "string" },
8750
+ { "const": "subscribe", "type": "string" },
8751
+ { "const": "observe", "type": "string" },
8752
+ { "const": "cancel", "type": "string" },
8753
+ ],
8754
+ },
8755
+ "contractId": { "minLength": 1, "type": "string" },
8756
+ "kind": {
8757
+ "anyOf": [
8758
+ { "const": "rpc", "type": "string" },
8759
+ { "const": "operation", "type": "string" },
8760
+ { "const": "event", "type": "string" },
8761
+ { "const": "feed", "type": "string" },
8762
+ ],
8497
8763
  },
8764
+ "name": { "minLength": 1, "type": "string" },
8765
+ "required": { "type": "boolean" },
8498
8766
  },
8499
- "required": ["kind", "resource", "required"],
8767
+ "required": ["contractId", "kind", "name", "required"],
8500
8768
  "type": "object",
8501
- }],
8769
+ },
8770
+ "type": "array",
8771
+ },
8502
8772
  },
8503
- "type": "array",
8773
+ "required": ["contracts", "surfaces", "capabilities", "resources"],
8774
+ "type": "object",
8504
8775
  },
8505
8776
  "summary": { "type": "object" },
8506
8777
  },
@@ -8564,6 +8835,24 @@ export const CONTRACT = {
8564
8835
  "required": ["kind", "alias", "required"],
8565
8836
  "type": "object",
8566
8837
  },
8838
+ "DeploymentAuthorityResourceNeed": {
8839
+ "properties": {
8840
+ "alias": { "minLength": 1, "type": "string" },
8841
+ "definition": { "type": "object" },
8842
+ "kind": {
8843
+ "anyOf": [
8844
+ { "const": "kv", "type": "string" },
8845
+ { "const": "store", "type": "string" },
8846
+ { "const": "jobs", "type": "string" },
8847
+ { "const": "event-consumer", "type": "string" },
8848
+ { "const": "transfer", "type": "string" },
8849
+ ],
8850
+ },
8851
+ "required": { "type": "boolean" },
8852
+ },
8853
+ "required": ["kind", "alias", "required"],
8854
+ "type": "object",
8855
+ },
8567
8856
  "DeploymentAuthoritySurface": {
8568
8857
  "properties": {
8569
8858
  "action": {
@@ -8589,6 +8878,32 @@ export const CONTRACT = {
8589
8878
  "required": ["contractId", "kind", "name"],
8590
8879
  "type": "object",
8591
8880
  },
8881
+ "DeploymentAuthoritySurfaceNeed": {
8882
+ "properties": {
8883
+ "action": {
8884
+ "anyOf": [
8885
+ { "const": "call", "type": "string" },
8886
+ { "const": "publish", "type": "string" },
8887
+ { "const": "subscribe", "type": "string" },
8888
+ { "const": "observe", "type": "string" },
8889
+ { "const": "cancel", "type": "string" },
8890
+ ],
8891
+ },
8892
+ "contractId": { "minLength": 1, "type": "string" },
8893
+ "kind": {
8894
+ "anyOf": [
8895
+ { "const": "rpc", "type": "string" },
8896
+ { "const": "operation", "type": "string" },
8897
+ { "const": "event", "type": "string" },
8898
+ { "const": "feed", "type": "string" },
8899
+ ],
8900
+ },
8901
+ "name": { "minLength": 1, "type": "string" },
8902
+ "required": { "type": "boolean" },
8903
+ },
8904
+ "required": ["contractId", "kind", "name", "required"],
8905
+ "type": "object",
8906
+ },
8592
8907
  "DeploymentAuthorityUpdate": {
8593
8908
  "properties": {
8594
8909
  "classification": { "const": "update", "type": "string" },
@@ -8650,83 +8965,87 @@ export const CONTRACT = {
8650
8965
  "type": "array",
8651
8966
  },
8652
8967
  "requestedNeeds": {
8653
- "items": {
8654
- "anyOf": [{
8968
+ "properties": {
8969
+ "capabilities": {
8970
+ "items": {
8655
8971
  "properties": {
8656
- "contractId": { "minLength": 1, "type": "string" },
8657
- "kind": { "const": "contract", "type": "string" },
8972
+ "capability": { "minLength": 1, "type": "string" },
8658
8973
  "required": { "type": "boolean" },
8659
8974
  },
8660
- "required": ["kind", "contractId", "required"],
8975
+ "required": ["capability", "required"],
8661
8976
  "type": "object",
8662
- }, {
8977
+ },
8978
+ "type": "array",
8979
+ },
8980
+ "contracts": {
8981
+ "items": {
8663
8982
  "properties": {
8664
- "kind": { "const": "surface", "type": "string" },
8983
+ "contractId": { "minLength": 1, "type": "string" },
8665
8984
  "required": { "type": "boolean" },
8666
- "surface": {
8667
- "properties": {
8668
- "action": {
8669
- "anyOf": [
8670
- { "const": "call", "type": "string" },
8671
- { "const": "publish", "type": "string" },
8672
- { "const": "subscribe", "type": "string" },
8673
- { "const": "observe", "type": "string" },
8674
- { "const": "cancel", "type": "string" },
8675
- ],
8676
- },
8677
- "contractId": { "minLength": 1, "type": "string" },
8678
- "kind": {
8679
- "anyOf": [
8680
- { "const": "rpc", "type": "string" },
8681
- { "const": "operation", "type": "string" },
8682
- { "const": "event", "type": "string" },
8683
- { "const": "feed", "type": "string" },
8684
- ],
8685
- },
8686
- "name": { "minLength": 1, "type": "string" },
8687
- },
8688
- "required": ["contractId", "kind", "name"],
8689
- "type": "object",
8690
- },
8691
8985
  },
8692
- "required": ["kind", "surface", "required"],
8986
+ "required": ["contractId", "required"],
8693
8987
  "type": "object",
8694
- }, {
8988
+ },
8989
+ "type": "array",
8990
+ },
8991
+ "resources": {
8992
+ "items": {
8695
8993
  "properties": {
8696
- "capability": { "minLength": 1, "type": "string" },
8697
- "kind": { "const": "capability", "type": "string" },
8994
+ "alias": { "minLength": 1, "type": "string" },
8995
+ "definition": { "type": "object" },
8996
+ "kind": {
8997
+ "anyOf": [
8998
+ { "const": "kv", "type": "string" },
8999
+ { "const": "store", "type": "string" },
9000
+ { "const": "jobs", "type": "string" },
9001
+ { "const": "event-consumer", "type": "string" },
9002
+ { "const": "transfer", "type": "string" },
9003
+ ],
9004
+ },
8698
9005
  "required": { "type": "boolean" },
8699
9006
  },
8700
- "required": ["kind", "capability", "required"],
9007
+ "required": ["kind", "alias", "required"],
8701
9008
  "type": "object",
8702
- }, {
9009
+ },
9010
+ "type": "array",
9011
+ },
9012
+ "surfaces": {
9013
+ "items": {
8703
9014
  "properties": {
8704
- "kind": { "const": "resource", "type": "string" },
8705
- "required": { "type": "boolean" },
8706
- "resource": {
8707
- "properties": {
8708
- "alias": { "minLength": 1, "type": "string" },
8709
- "definition": { "type": "object" },
8710
- "kind": {
8711
- "anyOf": [
8712
- { "const": "kv", "type": "string" },
8713
- { "const": "store", "type": "string" },
8714
- { "const": "jobs", "type": "string" },
8715
- { "const": "event-consumer", "type": "string" },
8716
- { "const": "transfer", "type": "string" },
8717
- ],
8718
- },
8719
- "required": { "type": "boolean" },
8720
- },
8721
- "required": ["kind", "alias", "required"],
8722
- "type": "object",
9015
+ "action": {
9016
+ "anyOf": [
9017
+ { "const": "call", "type": "string" },
9018
+ { "const": "publish", "type": "string" },
9019
+ { "const": "subscribe", "type": "string" },
9020
+ { "const": "observe", "type": "string" },
9021
+ { "const": "cancel", "type": "string" },
9022
+ ],
9023
+ },
9024
+ "contractId": { "minLength": 1, "type": "string" },
9025
+ "kind": {
9026
+ "anyOf": [
9027
+ { "const": "rpc", "type": "string" },
9028
+ { "const": "operation", "type": "string" },
9029
+ { "const": "event", "type": "string" },
9030
+ { "const": "feed", "type": "string" },
9031
+ ],
8723
9032
  },
9033
+ "name": { "minLength": 1, "type": "string" },
9034
+ "required": { "type": "boolean" },
8724
9035
  },
8725
- "required": ["kind", "resource", "required"],
9036
+ "required": ["contractId", "kind", "name", "required"],
8726
9037
  "type": "object",
8727
- }],
9038
+ },
9039
+ "type": "array",
9040
+ },
8728
9041
  },
8729
- "type": "array",
9042
+ "required": [
9043
+ "contracts",
9044
+ "surfaces",
9045
+ "capabilities",
9046
+ "resources",
9047
+ ],
9048
+ "type": "object",
8730
9049
  },
8731
9050
  "summary": { "type": "object" },
8732
9051
  },
@@ -9479,6 +9798,38 @@ export const CONTRACT = {
9479
9798
  "type": "integer",
9480
9799
  },
9481
9800
  "dlq": { "type": "boolean" },
9801
+ "keyConcurrency": {
9802
+ "properties": {
9803
+ "heartbeatIntervalMs": {
9804
+ "minimum": 1,
9805
+ "type": "integer",
9806
+ },
9807
+ "heartbeatTtlMs": {
9808
+ "minimum": 1,
9809
+ "type": "integer",
9810
+ },
9811
+ "key": {
9812
+ "items": { "minLength": 1, "type": "string" },
9813
+ "minItems": 1,
9814
+ "type": "array",
9815
+ },
9816
+ "maxActive": { "minimum": 1, "type": "integer" },
9817
+ "stalePolicy": {
9818
+ "anyOf": [{
9819
+ "const": "fail-stale",
9820
+ "type": "string",
9821
+ }, { "const": "block", "type": "string" }],
9822
+ },
9823
+ },
9824
+ "required": [
9825
+ "key",
9826
+ "maxActive",
9827
+ "heartbeatIntervalMs",
9828
+ "heartbeatTtlMs",
9829
+ "stalePolicy",
9830
+ ],
9831
+ "type": "object",
9832
+ },
9482
9833
  "logs": { "type": "boolean" },
9483
9834
  "maxDeliver": { "minimum": 1, "type": "integer" },
9484
9835
  "payload": {
@@ -9490,6 +9841,23 @@ export const CONTRACT = {
9490
9841
  },
9491
9842
  "progress": { "type": "boolean" },
9492
9843
  "publishPrefix": { "minLength": 1, "type": "string" },
9844
+ "queue": {
9845
+ "properties": {
9846
+ "maxQueuedPerKey": {
9847
+ "minimum": 0,
9848
+ "type": "integer",
9849
+ },
9850
+ "whenFull": {
9851
+ "anyOf": [
9852
+ { "const": "reject", "type": "string" },
9853
+ { "const": "coalesce", "type": "string" },
9854
+ { "const": "replace-oldest", "type": "string" },
9855
+ ],
9856
+ },
9857
+ },
9858
+ "required": ["maxQueuedPerKey", "whenFull"],
9859
+ "type": "object",
9860
+ },
9493
9861
  "queueType": { "minLength": 1, "type": "string" },
9494
9862
  "result": {
9495
9863
  "properties": {