@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
@@ -13,7 +13,7 @@ const CONTRACT_MODULE_METADATA = Symbol.for(
13
13
 
14
14
  export const CONTRACT_ID = "trellis.auth@v1" as const;
15
15
  export const CONTRACT_DIGEST =
16
- "XdqgSxkrIhWOu1ODbOk6-QHLTlI52ZP-6qhYJpIdCMc" as const;
16
+ "OehMFuEyTKjYpQHhyrijgsZZs1YlG2qkxd8bKffgydc" as const;
17
17
  export const CONTRACT = {
18
18
  "capabilities": {
19
19
  "trellis.auth::device.review": {
@@ -1326,29 +1326,14 @@ export const CONTRACT = {
1326
1326
  "type": "object",
1327
1327
  },
1328
1328
  "AuthConnectionsClosedEvent": {
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
- "origin": { "type": "string" },
1346
- "sessionKey": { "type": "string" },
1347
- "userNkey": { "type": "string" },
1348
- },
1349
- "required": ["origin", "id", "sessionKey", "userNkey"],
1350
- "type": "object",
1351
- }],
1329
+ "properties": {
1330
+ "id": { "type": "string" },
1331
+ "origin": { "type": "string" },
1332
+ "sessionKey": { "type": "string" },
1333
+ "userNkey": { "type": "string" },
1334
+ },
1335
+ "required": ["origin", "id", "sessionKey", "userNkey"],
1336
+ "type": "object",
1352
1337
  },
1353
1338
  "AuthConnectionsKickRequest": {
1354
1339
  "properties": { "userNkey": { "type": "string" } },
@@ -1361,29 +1346,14 @@ export const CONTRACT = {
1361
1346
  "type": "object",
1362
1347
  },
1363
1348
  "AuthConnectionsKickedEvent": {
1364
- "allOf": [{
1365
- "properties": {
1366
- "header": {
1367
- "properties": {
1368
- "id": { "type": "string" },
1369
- "time": { "format": "date-time", "type": "string" },
1370
- },
1371
- "required": ["id", "time"],
1372
- "type": "object",
1373
- },
1374
- },
1375
- "required": ["header"],
1376
- "type": "object",
1377
- }, {
1378
- "properties": {
1379
- "id": { "type": "string" },
1380
- "kickedBy": { "type": "string" },
1381
- "origin": { "type": "string" },
1382
- "userNkey": { "type": "string" },
1383
- },
1384
- "required": ["origin", "id", "userNkey", "kickedBy"],
1385
- "type": "object",
1386
- }],
1349
+ "properties": {
1350
+ "id": { "type": "string" },
1351
+ "kickedBy": { "type": "string" },
1352
+ "origin": { "type": "string" },
1353
+ "userNkey": { "type": "string" },
1354
+ },
1355
+ "required": ["origin", "id", "userNkey", "kickedBy"],
1356
+ "type": "object",
1387
1357
  },
1388
1358
  "AuthConnectionsListRequest": {
1389
1359
  "properties": {
@@ -1578,29 +1548,14 @@ export const CONTRACT = {
1578
1548
  "type": "object",
1579
1549
  },
1580
1550
  "AuthConnectionsOpenedEvent": {
1581
- "allOf": [{
1582
- "properties": {
1583
- "header": {
1584
- "properties": {
1585
- "id": { "type": "string" },
1586
- "time": { "format": "date-time", "type": "string" },
1587
- },
1588
- "required": ["id", "time"],
1589
- "type": "object",
1590
- },
1591
- },
1592
- "required": ["header"],
1593
- "type": "object",
1594
- }, {
1595
- "properties": {
1596
- "id": { "type": "string" },
1597
- "origin": { "type": "string" },
1598
- "sessionKey": { "type": "string" },
1599
- "userNkey": { "type": "string" },
1600
- },
1601
- "required": ["origin", "id", "sessionKey", "userNkey"],
1602
- "type": "object",
1603
- }],
1551
+ "properties": {
1552
+ "id": { "type": "string" },
1553
+ "origin": { "type": "string" },
1554
+ "sessionKey": { "type": "string" },
1555
+ "userNkey": { "type": "string" },
1556
+ },
1557
+ "required": ["origin", "id", "sessionKey", "userNkey"],
1558
+ "type": "object",
1604
1559
  },
1605
1560
  "AuthDeployment": {
1606
1561
  "anyOf": [{
@@ -1659,83 +1614,87 @@ export const CONTRACT = {
1659
1614
  "type": "array",
1660
1615
  },
1661
1616
  "needs": {
1662
- "items": {
1663
- "anyOf": [{
1664
- "properties": {
1665
- "contractId": { "minLength": 1, "type": "string" },
1666
- "kind": { "const": "contract", "type": "string" },
1667
- "required": { "type": "boolean" },
1617
+ "properties": {
1618
+ "capabilities": {
1619
+ "items": {
1620
+ "properties": {
1621
+ "capability": { "minLength": 1, "type": "string" },
1622
+ "required": { "type": "boolean" },
1623
+ },
1624
+ "required": ["capability", "required"],
1625
+ "type": "object",
1668
1626
  },
1669
- "required": ["kind", "contractId", "required"],
1670
- "type": "object",
1671
- }, {
1672
- "properties": {
1673
- "kind": { "const": "surface", "type": "string" },
1674
- "required": { "type": "boolean" },
1675
- "surface": {
1676
- "properties": {
1677
- "action": {
1678
- "anyOf": [
1679
- { "const": "call", "type": "string" },
1680
- { "const": "publish", "type": "string" },
1681
- { "const": "subscribe", "type": "string" },
1682
- { "const": "observe", "type": "string" },
1683
- { "const": "cancel", "type": "string" },
1684
- ],
1685
- },
1686
- "contractId": { "minLength": 1, "type": "string" },
1687
- "kind": {
1688
- "anyOf": [
1689
- { "const": "rpc", "type": "string" },
1690
- { "const": "operation", "type": "string" },
1691
- { "const": "event", "type": "string" },
1692
- { "const": "feed", "type": "string" },
1693
- ],
1694
- },
1695
- "name": { "minLength": 1, "type": "string" },
1696
- },
1697
- "required": ["contractId", "kind", "name"],
1698
- "type": "object",
1627
+ "type": "array",
1628
+ },
1629
+ "contracts": {
1630
+ "items": {
1631
+ "properties": {
1632
+ "contractId": { "minLength": 1, "type": "string" },
1633
+ "required": { "type": "boolean" },
1699
1634
  },
1635
+ "required": ["contractId", "required"],
1636
+ "type": "object",
1700
1637
  },
1701
- "required": ["kind", "surface", "required"],
1702
- "type": "object",
1703
- }, {
1704
- "properties": {
1705
- "capability": { "minLength": 1, "type": "string" },
1706
- "kind": { "const": "capability", "type": "string" },
1707
- "required": { "type": "boolean" },
1638
+ "type": "array",
1639
+ },
1640
+ "resources": {
1641
+ "items": {
1642
+ "properties": {
1643
+ "alias": { "minLength": 1, "type": "string" },
1644
+ "definition": { "type": "object" },
1645
+ "kind": {
1646
+ "anyOf": [
1647
+ { "const": "kv", "type": "string" },
1648
+ { "const": "store", "type": "string" },
1649
+ { "const": "jobs", "type": "string" },
1650
+ { "const": "event-consumer", "type": "string" },
1651
+ { "const": "transfer", "type": "string" },
1652
+ ],
1653
+ },
1654
+ "required": { "type": "boolean" },
1655
+ },
1656
+ "required": ["kind", "alias", "required"],
1657
+ "type": "object",
1708
1658
  },
1709
- "required": ["kind", "capability", "required"],
1710
- "type": "object",
1711
- }, {
1712
- "properties": {
1713
- "kind": { "const": "resource", "type": "string" },
1714
- "required": { "type": "boolean" },
1715
- "resource": {
1716
- "properties": {
1717
- "alias": { "minLength": 1, "type": "string" },
1718
- "definition": { "type": "object" },
1719
- "kind": {
1720
- "anyOf": [
1721
- { "const": "kv", "type": "string" },
1722
- { "const": "store", "type": "string" },
1723
- { "const": "jobs", "type": "string" },
1724
- { "const": "event-consumer", "type": "string" },
1725
- { "const": "transfer", "type": "string" },
1726
- ],
1727
- },
1728
- "required": { "type": "boolean" },
1659
+ "type": "array",
1660
+ },
1661
+ "surfaces": {
1662
+ "items": {
1663
+ "properties": {
1664
+ "action": {
1665
+ "anyOf": [
1666
+ { "const": "call", "type": "string" },
1667
+ { "const": "publish", "type": "string" },
1668
+ { "const": "subscribe", "type": "string" },
1669
+ { "const": "observe", "type": "string" },
1670
+ { "const": "cancel", "type": "string" },
1671
+ ],
1729
1672
  },
1730
- "required": ["kind", "alias", "required"],
1731
- "type": "object",
1673
+ "contractId": { "minLength": 1, "type": "string" },
1674
+ "kind": {
1675
+ "anyOf": [
1676
+ { "const": "rpc", "type": "string" },
1677
+ { "const": "operation", "type": "string" },
1678
+ { "const": "event", "type": "string" },
1679
+ { "const": "feed", "type": "string" },
1680
+ ],
1681
+ },
1682
+ "name": { "minLength": 1, "type": "string" },
1683
+ "required": { "type": "boolean" },
1732
1684
  },
1685
+ "required": ["contractId", "kind", "name", "required"],
1686
+ "type": "object",
1733
1687
  },
1734
- "required": ["kind", "resource", "required"],
1735
- "type": "object",
1736
- }],
1688
+ "type": "array",
1689
+ },
1737
1690
  },
1738
- "type": "array",
1691
+ "required": [
1692
+ "contracts",
1693
+ "surfaces",
1694
+ "capabilities",
1695
+ "resources",
1696
+ ],
1697
+ "type": "object",
1739
1698
  },
1740
1699
  "resources": {
1741
1700
  "items": {
@@ -1845,96 +1804,100 @@ export const CONTRACT = {
1845
1804
  "type": "array",
1846
1805
  },
1847
1806
  "needs": {
1848
- "items": {
1849
- "anyOf": [{
1850
- "properties": {
1851
- "contractId": { "minLength": 1, "type": "string" },
1852
- "kind": { "const": "contract", "type": "string" },
1853
- "required": { "type": "boolean" },
1854
- },
1855
- "required": ["kind", "contractId", "required"],
1856
- "type": "object",
1857
- }, {
1858
- "properties": {
1859
- "kind": { "const": "surface", "type": "string" },
1860
- "required": { "type": "boolean" },
1861
- "surface": {
1862
- "properties": {
1863
- "action": {
1864
- "anyOf": [
1865
- { "const": "call", "type": "string" },
1866
- { "const": "publish", "type": "string" },
1867
- { "const": "subscribe", "type": "string" },
1868
- { "const": "observe", "type": "string" },
1869
- { "const": "cancel", "type": "string" },
1870
- ],
1871
- },
1872
- "contractId": { "minLength": 1, "type": "string" },
1873
- "kind": {
1874
- "anyOf": [
1875
- { "const": "rpc", "type": "string" },
1876
- { "const": "operation", "type": "string" },
1877
- { "const": "event", "type": "string" },
1878
- { "const": "feed", "type": "string" },
1879
- ],
1880
- },
1881
- "name": { "minLength": 1, "type": "string" },
1882
- },
1883
- "required": ["contractId", "kind", "name"],
1884
- "type": "object",
1807
+ "properties": {
1808
+ "capabilities": {
1809
+ "items": {
1810
+ "properties": {
1811
+ "capability": { "minLength": 1, "type": "string" },
1812
+ "required": { "type": "boolean" },
1885
1813
  },
1814
+ "required": ["capability", "required"],
1815
+ "type": "object",
1886
1816
  },
1887
- "required": ["kind", "surface", "required"],
1888
- "type": "object",
1889
- }, {
1890
- "properties": {
1891
- "capability": { "minLength": 1, "type": "string" },
1892
- "kind": { "const": "capability", "type": "string" },
1893
- "required": { "type": "boolean" },
1817
+ "type": "array",
1818
+ },
1819
+ "contracts": {
1820
+ "items": {
1821
+ "properties": {
1822
+ "contractId": { "minLength": 1, "type": "string" },
1823
+ "required": { "type": "boolean" },
1824
+ },
1825
+ "required": ["contractId", "required"],
1826
+ "type": "object",
1894
1827
  },
1895
- "required": ["kind", "capability", "required"],
1896
- "type": "object",
1897
- }, {
1898
- "properties": {
1899
- "kind": { "const": "resource", "type": "string" },
1900
- "required": { "type": "boolean" },
1901
- "resource": {
1902
- "properties": {
1903
- "alias": { "minLength": 1, "type": "string" },
1904
- "definition": { "type": "object" },
1905
- "kind": {
1906
- "anyOf": [
1907
- { "const": "kv", "type": "string" },
1908
- { "const": "store", "type": "string" },
1909
- { "const": "jobs", "type": "string" },
1910
- { "const": "event-consumer", "type": "string" },
1911
- { "const": "transfer", "type": "string" },
1912
- ],
1913
- },
1914
- "required": { "type": "boolean" },
1828
+ "type": "array",
1829
+ },
1830
+ "resources": {
1831
+ "items": {
1832
+ "properties": {
1833
+ "alias": { "minLength": 1, "type": "string" },
1834
+ "definition": { "type": "object" },
1835
+ "kind": {
1836
+ "anyOf": [
1837
+ { "const": "kv", "type": "string" },
1838
+ { "const": "store", "type": "string" },
1839
+ { "const": "jobs", "type": "string" },
1840
+ { "const": "event-consumer", "type": "string" },
1841
+ { "const": "transfer", "type": "string" },
1842
+ ],
1915
1843
  },
1916
- "required": ["kind", "alias", "required"],
1917
- "type": "object",
1844
+ "required": { "type": "boolean" },
1918
1845
  },
1846
+ "required": ["kind", "alias", "required"],
1847
+ "type": "object",
1919
1848
  },
1920
- "required": ["kind", "resource", "required"],
1921
- "type": "object",
1922
- }],
1923
- },
1924
- "type": "array",
1925
- },
1926
- "resources": {
1927
- "items": {
1928
- "properties": {
1929
- "alias": { "minLength": 1, "type": "string" },
1930
- "definition": { "type": "object" },
1931
- "kind": {
1932
- "anyOf": [
1933
- { "const": "kv", "type": "string" },
1934
- { "const": "store", "type": "string" },
1935
- { "const": "jobs", "type": "string" },
1936
- { "const": "event-consumer", "type": "string" },
1937
- { "const": "transfer", "type": "string" },
1849
+ "type": "array",
1850
+ },
1851
+ "surfaces": {
1852
+ "items": {
1853
+ "properties": {
1854
+ "action": {
1855
+ "anyOf": [
1856
+ { "const": "call", "type": "string" },
1857
+ { "const": "publish", "type": "string" },
1858
+ { "const": "subscribe", "type": "string" },
1859
+ { "const": "observe", "type": "string" },
1860
+ { "const": "cancel", "type": "string" },
1861
+ ],
1862
+ },
1863
+ "contractId": { "minLength": 1, "type": "string" },
1864
+ "kind": {
1865
+ "anyOf": [
1866
+ { "const": "rpc", "type": "string" },
1867
+ { "const": "operation", "type": "string" },
1868
+ { "const": "event", "type": "string" },
1869
+ { "const": "feed", "type": "string" },
1870
+ ],
1871
+ },
1872
+ "name": { "minLength": 1, "type": "string" },
1873
+ "required": { "type": "boolean" },
1874
+ },
1875
+ "required": ["contractId", "kind", "name", "required"],
1876
+ "type": "object",
1877
+ },
1878
+ "type": "array",
1879
+ },
1880
+ },
1881
+ "required": [
1882
+ "contracts",
1883
+ "surfaces",
1884
+ "capabilities",
1885
+ "resources",
1886
+ ],
1887
+ "type": "object",
1888
+ },
1889
+ "resources": {
1890
+ "items": {
1891
+ "properties": {
1892
+ "alias": { "minLength": 1, "type": "string" },
1893
+ "definition": { "type": "object" },
1894
+ "kind": {
1895
+ "anyOf": [
1896
+ { "const": "kv", "type": "string" },
1897
+ { "const": "store", "type": "string" },
1898
+ { "const": "jobs", "type": "string" },
1899
+ { "const": "event-consumer", "type": "string" },
1900
+ { "const": "transfer", "type": "string" },
1938
1901
  ],
1939
1902
  },
1940
1903
  "required": { "type": "boolean" },
@@ -2102,99 +2065,107 @@ export const CONTRACT = {
2102
2065
  "desiredVersion": { "minLength": 1, "type": "string" },
2103
2066
  "error": { "minLength": 1, "type": "string" },
2104
2067
  "grants": {
2105
- "items": {
2106
- "anyOf": [{
2107
- "properties": {
2108
- "capability": { "minLength": 1, "type": "string" },
2109
- "kind": { "const": "capability", "type": "string" },
2110
- },
2111
- "required": ["kind", "capability"],
2112
- "type": "object",
2113
- }, {
2114
- "properties": {
2115
- "action": {
2116
- "anyOf": [
2117
- { "const": "call", "type": "string" },
2118
- { "const": "publish", "type": "string" },
2119
- { "const": "subscribe", "type": "string" },
2120
- { "const": "observe", "type": "string" },
2121
- { "const": "cancel", "type": "string" },
2122
- ],
2123
- },
2124
- "contractId": { "minLength": 1, "type": "string" },
2125
- "kind": { "const": "surface", "type": "string" },
2126
- "name": { "minLength": 1, "type": "string" },
2127
- "surfaceKind": {
2128
- "anyOf": [
2129
- { "const": "rpc", "type": "string" },
2130
- { "const": "operation", "type": "string" },
2131
- { "const": "event", "type": "string" },
2132
- { "const": "feed", "type": "string" },
2133
- ],
2068
+ "properties": {
2069
+ "capabilities": {
2070
+ "items": {
2071
+ "properties": {
2072
+ "capability": { "minLength": 1, "type": "string" },
2134
2073
  },
2074
+ "required": ["capability"],
2075
+ "type": "object",
2135
2076
  },
2136
- "required": ["kind", "contractId", "surfaceKind", "name"],
2137
- "type": "object",
2138
- }, {
2139
- "properties": {
2140
- "direction": {
2141
- "anyOf": [{ "const": "publish", "type": "string" }, {
2142
- "const": "subscribe",
2143
- "type": "string",
2144
- }],
2145
- },
2146
- "grantSource": {
2147
- "anyOf": [
2148
- { "const": "owned-surface", "type": "string" },
2149
- { "const": "used-surface", "type": "string" },
2150
- { "const": "resource-binding", "type": "string" },
2151
- { "const": "platform-service", "type": "string" },
2152
- { "const": "transfer", "type": "string" },
2153
- ],
2154
- },
2155
- "kind": { "const": "nats", "type": "string" },
2156
- "requiredCapabilities": {
2157
- "items": { "minLength": 1, "type": "string" },
2158
- "type": "array",
2159
- },
2160
- "subject": { "minLength": 1, "type": "string" },
2161
- "surface": {
2162
- "properties": {
2163
- "action": {
2164
- "anyOf": [
2165
- { "const": "call", "type": "string" },
2166
- { "const": "publish", "type": "string" },
2167
- { "const": "subscribe", "type": "string" },
2168
- { "const": "observe", "type": "string" },
2169
- { "const": "cancel", "type": "string" },
2170
- ],
2171
- },
2172
- "contractId": { "minLength": 1, "type": "string" },
2173
- "kind": {
2174
- "anyOf": [
2175
- { "const": "rpc", "type": "string" },
2176
- { "const": "operation", "type": "string" },
2177
- { "const": "event", "type": "string" },
2178
- { "const": "feed", "type": "string" },
2179
- ],
2077
+ "type": "array",
2078
+ },
2079
+ "nats": {
2080
+ "items": {
2081
+ "properties": {
2082
+ "direction": {
2083
+ "anyOf": [{ "const": "publish", "type": "string" }, {
2084
+ "const": "subscribe",
2085
+ "type": "string",
2086
+ }],
2087
+ },
2088
+ "grantSource": {
2089
+ "anyOf": [
2090
+ { "const": "owned-surface", "type": "string" },
2091
+ { "const": "used-surface", "type": "string" },
2092
+ { "const": "resource-binding", "type": "string" },
2093
+ { "const": "platform-service", "type": "string" },
2094
+ { "const": "transfer", "type": "string" },
2095
+ ],
2096
+ },
2097
+ "requiredCapabilities": {
2098
+ "items": { "minLength": 1, "type": "string" },
2099
+ "type": "array",
2100
+ },
2101
+ "subject": { "minLength": 1, "type": "string" },
2102
+ "surface": {
2103
+ "properties": {
2104
+ "action": {
2105
+ "anyOf": [
2106
+ { "const": "call", "type": "string" },
2107
+ { "const": "publish", "type": "string" },
2108
+ { "const": "subscribe", "type": "string" },
2109
+ { "const": "observe", "type": "string" },
2110
+ { "const": "cancel", "type": "string" },
2111
+ ],
2112
+ },
2113
+ "contractId": { "minLength": 1, "type": "string" },
2114
+ "kind": {
2115
+ "anyOf": [
2116
+ { "const": "rpc", "type": "string" },
2117
+ { "const": "operation", "type": "string" },
2118
+ { "const": "event", "type": "string" },
2119
+ { "const": "feed", "type": "string" },
2120
+ ],
2121
+ },
2122
+ "name": { "minLength": 1, "type": "string" },
2180
2123
  },
2181
- "name": { "minLength": 1, "type": "string" },
2124
+ "required": ["contractId", "kind", "name"],
2125
+ "type": "object",
2182
2126
  },
2183
- "required": ["contractId", "kind", "name"],
2184
- "type": "object",
2185
2127
  },
2128
+ "required": [
2129
+ "direction",
2130
+ "subject",
2131
+ "requiredCapabilities",
2132
+ "grantSource",
2133
+ ],
2134
+ "type": "object",
2186
2135
  },
2187
- "required": [
2188
- "kind",
2189
- "direction",
2190
- "subject",
2191
- "requiredCapabilities",
2192
- "grantSource",
2193
- ],
2194
- "type": "object",
2195
- }],
2136
+ "type": "array",
2137
+ },
2138
+ "surfaces": {
2139
+ "items": {
2140
+ "properties": {
2141
+ "action": {
2142
+ "anyOf": [
2143
+ { "const": "call", "type": "string" },
2144
+ { "const": "publish", "type": "string" },
2145
+ { "const": "subscribe", "type": "string" },
2146
+ { "const": "observe", "type": "string" },
2147
+ { "const": "cancel", "type": "string" },
2148
+ ],
2149
+ },
2150
+ "contractId": { "minLength": 1, "type": "string" },
2151
+ "name": { "minLength": 1, "type": "string" },
2152
+ "surfaceKind": {
2153
+ "anyOf": [
2154
+ { "const": "rpc", "type": "string" },
2155
+ { "const": "operation", "type": "string" },
2156
+ { "const": "event", "type": "string" },
2157
+ { "const": "feed", "type": "string" },
2158
+ ],
2159
+ },
2160
+ },
2161
+ "required": ["contractId", "surfaceKind", "name"],
2162
+ "type": "object",
2163
+ },
2164
+ "type": "array",
2165
+ },
2196
2166
  },
2197
- "type": "array",
2167
+ "required": ["capabilities", "surfaces", "nats"],
2168
+ "type": "object",
2198
2169
  },
2199
2170
  "reconciledAt": {
2200
2171
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -2745,89 +2716,92 @@ export const CONTRACT = {
2745
2716
  "type": "array",
2746
2717
  },
2747
2718
  "needs": {
2748
- "items": {
2749
- "anyOf": [{
2750
- "properties": {
2751
- "contractId": { "minLength": 1, "type": "string" },
2752
- "kind": { "const": "contract", "type": "string" },
2753
- "required": { "type": "boolean" },
2754
- },
2755
- "required": ["kind", "contractId", "required"],
2756
- "type": "object",
2757
- }, {
2758
- "properties": {
2759
- "kind": { "const": "surface", "type": "string" },
2760
- "required": { "type": "boolean" },
2761
- "surface": {
2762
- "properties": {
2763
- "action": {
2764
- "anyOf": [
2765
- { "const": "call", "type": "string" },
2766
- { "const": "publish", "type": "string" },
2767
- { "const": "subscribe", "type": "string" },
2768
- { "const": "observe", "type": "string" },
2769
- { "const": "cancel", "type": "string" },
2770
- ],
2771
- },
2772
- "contractId": {
2773
- "minLength": 1,
2774
- "type": "string",
2775
- },
2776
- "kind": {
2777
- "anyOf": [
2778
- { "const": "rpc", "type": "string" },
2779
- { "const": "operation", "type": "string" },
2780
- { "const": "event", "type": "string" },
2781
- { "const": "feed", "type": "string" },
2782
- ],
2783
- },
2784
- "name": { "minLength": 1, "type": "string" },
2785
- },
2786
- "required": ["contractId", "kind", "name"],
2787
- "type": "object",
2719
+ "properties": {
2720
+ "capabilities": {
2721
+ "items": {
2722
+ "properties": {
2723
+ "capability": { "minLength": 1, "type": "string" },
2724
+ "required": { "type": "boolean" },
2788
2725
  },
2726
+ "required": ["capability", "required"],
2727
+ "type": "object",
2789
2728
  },
2790
- "required": ["kind", "surface", "required"],
2791
- "type": "object",
2792
- }, {
2793
- "properties": {
2794
- "capability": { "minLength": 1, "type": "string" },
2795
- "kind": { "const": "capability", "type": "string" },
2796
- "required": { "type": "boolean" },
2729
+ "type": "array",
2730
+ },
2731
+ "contracts": {
2732
+ "items": {
2733
+ "properties": {
2734
+ "contractId": { "minLength": 1, "type": "string" },
2735
+ "required": { "type": "boolean" },
2736
+ },
2737
+ "required": ["contractId", "required"],
2738
+ "type": "object",
2797
2739
  },
2798
- "required": ["kind", "capability", "required"],
2799
- "type": "object",
2800
- }, {
2801
- "properties": {
2802
- "kind": { "const": "resource", "type": "string" },
2803
- "required": { "type": "boolean" },
2804
- "resource": {
2805
- "properties": {
2806
- "alias": { "minLength": 1, "type": "string" },
2807
- "definition": { "type": "object" },
2808
- "kind": {
2809
- "anyOf": [
2810
- { "const": "kv", "type": "string" },
2811
- { "const": "store", "type": "string" },
2812
- { "const": "jobs", "type": "string" },
2813
- {
2814
- "const": "event-consumer",
2815
- "type": "string",
2816
- },
2817
- { "const": "transfer", "type": "string" },
2818
- ],
2819
- },
2820
- "required": { "type": "boolean" },
2740
+ "type": "array",
2741
+ },
2742
+ "resources": {
2743
+ "items": {
2744
+ "properties": {
2745
+ "alias": { "minLength": 1, "type": "string" },
2746
+ "definition": { "type": "object" },
2747
+ "kind": {
2748
+ "anyOf": [
2749
+ { "const": "kv", "type": "string" },
2750
+ { "const": "store", "type": "string" },
2751
+ { "const": "jobs", "type": "string" },
2752
+ { "const": "event-consumer", "type": "string" },
2753
+ { "const": "transfer", "type": "string" },
2754
+ ],
2821
2755
  },
2822
- "required": ["kind", "alias", "required"],
2823
- "type": "object",
2756
+ "required": { "type": "boolean" },
2824
2757
  },
2758
+ "required": ["kind", "alias", "required"],
2759
+ "type": "object",
2825
2760
  },
2826
- "required": ["kind", "resource", "required"],
2827
- "type": "object",
2828
- }],
2761
+ "type": "array",
2762
+ },
2763
+ "surfaces": {
2764
+ "items": {
2765
+ "properties": {
2766
+ "action": {
2767
+ "anyOf": [
2768
+ { "const": "call", "type": "string" },
2769
+ { "const": "publish", "type": "string" },
2770
+ { "const": "subscribe", "type": "string" },
2771
+ { "const": "observe", "type": "string" },
2772
+ { "const": "cancel", "type": "string" },
2773
+ ],
2774
+ },
2775
+ "contractId": { "minLength": 1, "type": "string" },
2776
+ "kind": {
2777
+ "anyOf": [
2778
+ { "const": "rpc", "type": "string" },
2779
+ { "const": "operation", "type": "string" },
2780
+ { "const": "event", "type": "string" },
2781
+ { "const": "feed", "type": "string" },
2782
+ ],
2783
+ },
2784
+ "name": { "minLength": 1, "type": "string" },
2785
+ "required": { "type": "boolean" },
2786
+ },
2787
+ "required": [
2788
+ "contractId",
2789
+ "kind",
2790
+ "name",
2791
+ "required",
2792
+ ],
2793
+ "type": "object",
2794
+ },
2795
+ "type": "array",
2796
+ },
2829
2797
  },
2830
- "type": "array",
2798
+ "required": [
2799
+ "contracts",
2800
+ "surfaces",
2801
+ "capabilities",
2802
+ "resources",
2803
+ ],
2804
+ "type": "object",
2831
2805
  },
2832
2806
  "resources": {
2833
2807
  "items": {
@@ -2992,89 +2966,92 @@ export const CONTRACT = {
2992
2966
  "type": "array",
2993
2967
  },
2994
2968
  "requestedNeeds": {
2995
- "items": {
2996
- "anyOf": [{
2997
- "properties": {
2998
- "contractId": { "minLength": 1, "type": "string" },
2999
- "kind": { "const": "contract", "type": "string" },
3000
- "required": { "type": "boolean" },
2969
+ "properties": {
2970
+ "capabilities": {
2971
+ "items": {
2972
+ "properties": {
2973
+ "capability": { "minLength": 1, "type": "string" },
2974
+ "required": { "type": "boolean" },
2975
+ },
2976
+ "required": ["capability", "required"],
2977
+ "type": "object",
3001
2978
  },
3002
- "required": ["kind", "contractId", "required"],
3003
- "type": "object",
3004
- }, {
3005
- "properties": {
3006
- "kind": { "const": "surface", "type": "string" },
3007
- "required": { "type": "boolean" },
3008
- "surface": {
3009
- "properties": {
3010
- "action": {
3011
- "anyOf": [
3012
- { "const": "call", "type": "string" },
3013
- { "const": "publish", "type": "string" },
3014
- { "const": "subscribe", "type": "string" },
3015
- { "const": "observe", "type": "string" },
3016
- { "const": "cancel", "type": "string" },
3017
- ],
3018
- },
3019
- "contractId": {
3020
- "minLength": 1,
3021
- "type": "string",
3022
- },
3023
- "kind": {
3024
- "anyOf": [
3025
- { "const": "rpc", "type": "string" },
3026
- { "const": "operation", "type": "string" },
3027
- { "const": "event", "type": "string" },
3028
- { "const": "feed", "type": "string" },
3029
- ],
3030
- },
3031
- "name": { "minLength": 1, "type": "string" },
3032
- },
3033
- "required": ["contractId", "kind", "name"],
3034
- "type": "object",
2979
+ "type": "array",
2980
+ },
2981
+ "contracts": {
2982
+ "items": {
2983
+ "properties": {
2984
+ "contractId": { "minLength": 1, "type": "string" },
2985
+ "required": { "type": "boolean" },
3035
2986
  },
2987
+ "required": ["contractId", "required"],
2988
+ "type": "object",
3036
2989
  },
3037
- "required": ["kind", "surface", "required"],
3038
- "type": "object",
3039
- }, {
3040
- "properties": {
3041
- "capability": { "minLength": 1, "type": "string" },
3042
- "kind": { "const": "capability", "type": "string" },
3043
- "required": { "type": "boolean" },
2990
+ "type": "array",
2991
+ },
2992
+ "resources": {
2993
+ "items": {
2994
+ "properties": {
2995
+ "alias": { "minLength": 1, "type": "string" },
2996
+ "definition": { "type": "object" },
2997
+ "kind": {
2998
+ "anyOf": [
2999
+ { "const": "kv", "type": "string" },
3000
+ { "const": "store", "type": "string" },
3001
+ { "const": "jobs", "type": "string" },
3002
+ { "const": "event-consumer", "type": "string" },
3003
+ { "const": "transfer", "type": "string" },
3004
+ ],
3005
+ },
3006
+ "required": { "type": "boolean" },
3007
+ },
3008
+ "required": ["kind", "alias", "required"],
3009
+ "type": "object",
3044
3010
  },
3045
- "required": ["kind", "capability", "required"],
3046
- "type": "object",
3047
- }, {
3048
- "properties": {
3049
- "kind": { "const": "resource", "type": "string" },
3050
- "required": { "type": "boolean" },
3051
- "resource": {
3052
- "properties": {
3053
- "alias": { "minLength": 1, "type": "string" },
3054
- "definition": { "type": "object" },
3055
- "kind": {
3056
- "anyOf": [
3057
- { "const": "kv", "type": "string" },
3058
- { "const": "store", "type": "string" },
3059
- { "const": "jobs", "type": "string" },
3060
- {
3061
- "const": "event-consumer",
3062
- "type": "string",
3063
- },
3064
- { "const": "transfer", "type": "string" },
3065
- ],
3066
- },
3067
- "required": { "type": "boolean" },
3011
+ "type": "array",
3012
+ },
3013
+ "surfaces": {
3014
+ "items": {
3015
+ "properties": {
3016
+ "action": {
3017
+ "anyOf": [
3018
+ { "const": "call", "type": "string" },
3019
+ { "const": "publish", "type": "string" },
3020
+ { "const": "subscribe", "type": "string" },
3021
+ { "const": "observe", "type": "string" },
3022
+ { "const": "cancel", "type": "string" },
3023
+ ],
3068
3024
  },
3069
- "required": ["kind", "alias", "required"],
3070
- "type": "object",
3025
+ "contractId": { "minLength": 1, "type": "string" },
3026
+ "kind": {
3027
+ "anyOf": [
3028
+ { "const": "rpc", "type": "string" },
3029
+ { "const": "operation", "type": "string" },
3030
+ { "const": "event", "type": "string" },
3031
+ { "const": "feed", "type": "string" },
3032
+ ],
3033
+ },
3034
+ "name": { "minLength": 1, "type": "string" },
3035
+ "required": { "type": "boolean" },
3071
3036
  },
3037
+ "required": [
3038
+ "contractId",
3039
+ "kind",
3040
+ "name",
3041
+ "required",
3042
+ ],
3043
+ "type": "object",
3072
3044
  },
3073
- "required": ["kind", "resource", "required"],
3074
- "type": "object",
3075
- }],
3045
+ "type": "array",
3046
+ },
3076
3047
  },
3077
- "type": "array",
3048
+ "required": [
3049
+ "contracts",
3050
+ "surfaces",
3051
+ "capabilities",
3052
+ "resources",
3053
+ ],
3054
+ "type": "object",
3078
3055
  },
3079
3056
  "summary": { "type": "object" },
3080
3057
  },
@@ -3176,89 +3153,92 @@ export const CONTRACT = {
3176
3153
  "type": "array",
3177
3154
  },
3178
3155
  "requestedNeeds": {
3179
- "items": {
3180
- "anyOf": [{
3181
- "properties": {
3182
- "contractId": { "minLength": 1, "type": "string" },
3183
- "kind": { "const": "contract", "type": "string" },
3184
- "required": { "type": "boolean" },
3156
+ "properties": {
3157
+ "capabilities": {
3158
+ "items": {
3159
+ "properties": {
3160
+ "capability": { "minLength": 1, "type": "string" },
3161
+ "required": { "type": "boolean" },
3162
+ },
3163
+ "required": ["capability", "required"],
3164
+ "type": "object",
3185
3165
  },
3186
- "required": ["kind", "contractId", "required"],
3187
- "type": "object",
3188
- }, {
3189
- "properties": {
3190
- "kind": { "const": "surface", "type": "string" },
3191
- "required": { "type": "boolean" },
3192
- "surface": {
3193
- "properties": {
3194
- "action": {
3195
- "anyOf": [
3196
- { "const": "call", "type": "string" },
3197
- { "const": "publish", "type": "string" },
3198
- { "const": "subscribe", "type": "string" },
3199
- { "const": "observe", "type": "string" },
3200
- { "const": "cancel", "type": "string" },
3201
- ],
3202
- },
3203
- "contractId": {
3204
- "minLength": 1,
3205
- "type": "string",
3206
- },
3207
- "kind": {
3208
- "anyOf": [
3209
- { "const": "rpc", "type": "string" },
3210
- { "const": "operation", "type": "string" },
3211
- { "const": "event", "type": "string" },
3212
- { "const": "feed", "type": "string" },
3213
- ],
3214
- },
3215
- "name": { "minLength": 1, "type": "string" },
3216
- },
3217
- "required": ["contractId", "kind", "name"],
3218
- "type": "object",
3166
+ "type": "array",
3167
+ },
3168
+ "contracts": {
3169
+ "items": {
3170
+ "properties": {
3171
+ "contractId": { "minLength": 1, "type": "string" },
3172
+ "required": { "type": "boolean" },
3219
3173
  },
3174
+ "required": ["contractId", "required"],
3175
+ "type": "object",
3220
3176
  },
3221
- "required": ["kind", "surface", "required"],
3222
- "type": "object",
3223
- }, {
3224
- "properties": {
3225
- "capability": { "minLength": 1, "type": "string" },
3226
- "kind": { "const": "capability", "type": "string" },
3227
- "required": { "type": "boolean" },
3177
+ "type": "array",
3178
+ },
3179
+ "resources": {
3180
+ "items": {
3181
+ "properties": {
3182
+ "alias": { "minLength": 1, "type": "string" },
3183
+ "definition": { "type": "object" },
3184
+ "kind": {
3185
+ "anyOf": [
3186
+ { "const": "kv", "type": "string" },
3187
+ { "const": "store", "type": "string" },
3188
+ { "const": "jobs", "type": "string" },
3189
+ { "const": "event-consumer", "type": "string" },
3190
+ { "const": "transfer", "type": "string" },
3191
+ ],
3192
+ },
3193
+ "required": { "type": "boolean" },
3194
+ },
3195
+ "required": ["kind", "alias", "required"],
3196
+ "type": "object",
3228
3197
  },
3229
- "required": ["kind", "capability", "required"],
3230
- "type": "object",
3231
- }, {
3232
- "properties": {
3233
- "kind": { "const": "resource", "type": "string" },
3234
- "required": { "type": "boolean" },
3235
- "resource": {
3236
- "properties": {
3237
- "alias": { "minLength": 1, "type": "string" },
3238
- "definition": { "type": "object" },
3239
- "kind": {
3240
- "anyOf": [
3241
- { "const": "kv", "type": "string" },
3242
- { "const": "store", "type": "string" },
3243
- { "const": "jobs", "type": "string" },
3244
- {
3245
- "const": "event-consumer",
3246
- "type": "string",
3247
- },
3248
- { "const": "transfer", "type": "string" },
3249
- ],
3250
- },
3251
- "required": { "type": "boolean" },
3198
+ "type": "array",
3199
+ },
3200
+ "surfaces": {
3201
+ "items": {
3202
+ "properties": {
3203
+ "action": {
3204
+ "anyOf": [
3205
+ { "const": "call", "type": "string" },
3206
+ { "const": "publish", "type": "string" },
3207
+ { "const": "subscribe", "type": "string" },
3208
+ { "const": "observe", "type": "string" },
3209
+ { "const": "cancel", "type": "string" },
3210
+ ],
3252
3211
  },
3253
- "required": ["kind", "alias", "required"],
3254
- "type": "object",
3212
+ "contractId": { "minLength": 1, "type": "string" },
3213
+ "kind": {
3214
+ "anyOf": [
3215
+ { "const": "rpc", "type": "string" },
3216
+ { "const": "operation", "type": "string" },
3217
+ { "const": "event", "type": "string" },
3218
+ { "const": "feed", "type": "string" },
3219
+ ],
3220
+ },
3221
+ "name": { "minLength": 1, "type": "string" },
3222
+ "required": { "type": "boolean" },
3255
3223
  },
3224
+ "required": [
3225
+ "contractId",
3226
+ "kind",
3227
+ "name",
3228
+ "required",
3229
+ ],
3230
+ "type": "object",
3256
3231
  },
3257
- "required": ["kind", "resource", "required"],
3258
- "type": "object",
3259
- }],
3232
+ "type": "array",
3233
+ },
3260
3234
  },
3261
- "type": "array",
3235
+ "required": [
3236
+ "contracts",
3237
+ "surfaces",
3238
+ "capabilities",
3239
+ "resources",
3240
+ ],
3241
+ "type": "object",
3262
3242
  },
3263
3243
  "summary": { "type": "object" },
3264
3244
  },
@@ -3374,89 +3354,92 @@ export const CONTRACT = {
3374
3354
  "type": "array",
3375
3355
  },
3376
3356
  "requestedNeeds": {
3377
- "items": {
3378
- "anyOf": [{
3379
- "properties": {
3380
- "contractId": { "minLength": 1, "type": "string" },
3381
- "kind": { "const": "contract", "type": "string" },
3382
- "required": { "type": "boolean" },
3357
+ "properties": {
3358
+ "capabilities": {
3359
+ "items": {
3360
+ "properties": {
3361
+ "capability": { "minLength": 1, "type": "string" },
3362
+ "required": { "type": "boolean" },
3363
+ },
3364
+ "required": ["capability", "required"],
3365
+ "type": "object",
3383
3366
  },
3384
- "required": ["kind", "contractId", "required"],
3385
- "type": "object",
3386
- }, {
3387
- "properties": {
3388
- "kind": { "const": "surface", "type": "string" },
3389
- "required": { "type": "boolean" },
3390
- "surface": {
3391
- "properties": {
3392
- "action": {
3393
- "anyOf": [
3394
- { "const": "call", "type": "string" },
3395
- { "const": "publish", "type": "string" },
3396
- { "const": "subscribe", "type": "string" },
3397
- { "const": "observe", "type": "string" },
3398
- { "const": "cancel", "type": "string" },
3399
- ],
3400
- },
3401
- "contractId": {
3402
- "minLength": 1,
3403
- "type": "string",
3404
- },
3405
- "kind": {
3406
- "anyOf": [
3407
- { "const": "rpc", "type": "string" },
3408
- { "const": "operation", "type": "string" },
3409
- { "const": "event", "type": "string" },
3410
- { "const": "feed", "type": "string" },
3411
- ],
3412
- },
3413
- "name": { "minLength": 1, "type": "string" },
3414
- },
3415
- "required": ["contractId", "kind", "name"],
3416
- "type": "object",
3367
+ "type": "array",
3368
+ },
3369
+ "contracts": {
3370
+ "items": {
3371
+ "properties": {
3372
+ "contractId": { "minLength": 1, "type": "string" },
3373
+ "required": { "type": "boolean" },
3417
3374
  },
3375
+ "required": ["contractId", "required"],
3376
+ "type": "object",
3418
3377
  },
3419
- "required": ["kind", "surface", "required"],
3420
- "type": "object",
3421
- }, {
3422
- "properties": {
3423
- "capability": { "minLength": 1, "type": "string" },
3424
- "kind": { "const": "capability", "type": "string" },
3425
- "required": { "type": "boolean" },
3378
+ "type": "array",
3379
+ },
3380
+ "resources": {
3381
+ "items": {
3382
+ "properties": {
3383
+ "alias": { "minLength": 1, "type": "string" },
3384
+ "definition": { "type": "object" },
3385
+ "kind": {
3386
+ "anyOf": [
3387
+ { "const": "kv", "type": "string" },
3388
+ { "const": "store", "type": "string" },
3389
+ { "const": "jobs", "type": "string" },
3390
+ { "const": "event-consumer", "type": "string" },
3391
+ { "const": "transfer", "type": "string" },
3392
+ ],
3393
+ },
3394
+ "required": { "type": "boolean" },
3395
+ },
3396
+ "required": ["kind", "alias", "required"],
3397
+ "type": "object",
3426
3398
  },
3427
- "required": ["kind", "capability", "required"],
3428
- "type": "object",
3429
- }, {
3430
- "properties": {
3431
- "kind": { "const": "resource", "type": "string" },
3432
- "required": { "type": "boolean" },
3433
- "resource": {
3434
- "properties": {
3435
- "alias": { "minLength": 1, "type": "string" },
3436
- "definition": { "type": "object" },
3437
- "kind": {
3438
- "anyOf": [
3439
- { "const": "kv", "type": "string" },
3440
- { "const": "store", "type": "string" },
3441
- { "const": "jobs", "type": "string" },
3442
- {
3443
- "const": "event-consumer",
3444
- "type": "string",
3445
- },
3446
- { "const": "transfer", "type": "string" },
3447
- ],
3448
- },
3449
- "required": { "type": "boolean" },
3399
+ "type": "array",
3400
+ },
3401
+ "surfaces": {
3402
+ "items": {
3403
+ "properties": {
3404
+ "action": {
3405
+ "anyOf": [
3406
+ { "const": "call", "type": "string" },
3407
+ { "const": "publish", "type": "string" },
3408
+ { "const": "subscribe", "type": "string" },
3409
+ { "const": "observe", "type": "string" },
3410
+ { "const": "cancel", "type": "string" },
3411
+ ],
3450
3412
  },
3451
- "required": ["kind", "alias", "required"],
3452
- "type": "object",
3413
+ "contractId": { "minLength": 1, "type": "string" },
3414
+ "kind": {
3415
+ "anyOf": [
3416
+ { "const": "rpc", "type": "string" },
3417
+ { "const": "operation", "type": "string" },
3418
+ { "const": "event", "type": "string" },
3419
+ { "const": "feed", "type": "string" },
3420
+ ],
3421
+ },
3422
+ "name": { "minLength": 1, "type": "string" },
3423
+ "required": { "type": "boolean" },
3453
3424
  },
3425
+ "required": [
3426
+ "contractId",
3427
+ "kind",
3428
+ "name",
3429
+ "required",
3430
+ ],
3431
+ "type": "object",
3454
3432
  },
3455
- "required": ["kind", "resource", "required"],
3456
- "type": "object",
3457
- }],
3433
+ "type": "array",
3434
+ },
3458
3435
  },
3459
- "type": "array",
3436
+ "required": [
3437
+ "contracts",
3438
+ "surfaces",
3439
+ "capabilities",
3440
+ "resources",
3441
+ ],
3442
+ "type": "object",
3460
3443
  },
3461
3444
  "summary": { "type": "object" },
3462
3445
  },
@@ -3558,96 +3541,99 @@ export const CONTRACT = {
3558
3541
  "type": "array",
3559
3542
  },
3560
3543
  "requestedNeeds": {
3561
- "items": {
3562
- "anyOf": [{
3563
- "properties": {
3564
- "contractId": { "minLength": 1, "type": "string" },
3565
- "kind": { "const": "contract", "type": "string" },
3566
- "required": { "type": "boolean" },
3567
- },
3568
- "required": ["kind", "contractId", "required"],
3569
- "type": "object",
3570
- }, {
3571
- "properties": {
3572
- "kind": { "const": "surface", "type": "string" },
3573
- "required": { "type": "boolean" },
3574
- "surface": {
3575
- "properties": {
3576
- "action": {
3577
- "anyOf": [
3578
- { "const": "call", "type": "string" },
3579
- { "const": "publish", "type": "string" },
3580
- { "const": "subscribe", "type": "string" },
3581
- { "const": "observe", "type": "string" },
3582
- { "const": "cancel", "type": "string" },
3583
- ],
3584
- },
3585
- "contractId": {
3586
- "minLength": 1,
3587
- "type": "string",
3588
- },
3589
- "kind": {
3590
- "anyOf": [
3591
- { "const": "rpc", "type": "string" },
3592
- { "const": "operation", "type": "string" },
3593
- { "const": "event", "type": "string" },
3594
- { "const": "feed", "type": "string" },
3595
- ],
3596
- },
3597
- "name": { "minLength": 1, "type": "string" },
3598
- },
3599
- "required": ["contractId", "kind", "name"],
3600
- "type": "object",
3544
+ "properties": {
3545
+ "capabilities": {
3546
+ "items": {
3547
+ "properties": {
3548
+ "capability": { "minLength": 1, "type": "string" },
3549
+ "required": { "type": "boolean" },
3601
3550
  },
3551
+ "required": ["capability", "required"],
3552
+ "type": "object",
3602
3553
  },
3603
- "required": ["kind", "surface", "required"],
3604
- "type": "object",
3605
- }, {
3606
- "properties": {
3607
- "capability": { "minLength": 1, "type": "string" },
3608
- "kind": { "const": "capability", "type": "string" },
3609
- "required": { "type": "boolean" },
3610
- },
3611
- "required": ["kind", "capability", "required"],
3612
- "type": "object",
3613
- }, {
3614
- "properties": {
3615
- "kind": { "const": "resource", "type": "string" },
3616
- "required": { "type": "boolean" },
3617
- "resource": {
3618
- "properties": {
3619
- "alias": { "minLength": 1, "type": "string" },
3620
- "definition": { "type": "object" },
3621
- "kind": {
3622
- "anyOf": [
3623
- { "const": "kv", "type": "string" },
3624
- { "const": "store", "type": "string" },
3625
- { "const": "jobs", "type": "string" },
3626
- {
3627
- "const": "event-consumer",
3628
- "type": "string",
3629
- },
3630
- { "const": "transfer", "type": "string" },
3631
- ],
3632
- },
3633
- "required": { "type": "boolean" },
3634
- },
3635
- "required": ["kind", "alias", "required"],
3636
- "type": "object",
3554
+ "type": "array",
3555
+ },
3556
+ "contracts": {
3557
+ "items": {
3558
+ "properties": {
3559
+ "contractId": { "minLength": 1, "type": "string" },
3560
+ "required": { "type": "boolean" },
3637
3561
  },
3562
+ "required": ["contractId", "required"],
3563
+ "type": "object",
3638
3564
  },
3639
- "required": ["kind", "resource", "required"],
3640
- "type": "object",
3641
- }],
3642
- },
3643
- "type": "array",
3644
- },
3645
- "summary": { "type": "object" },
3646
- },
3647
- "required": [
3648
- "deploymentId",
3649
- "contractId",
3650
- "contractDigest",
3565
+ "type": "array",
3566
+ },
3567
+ "resources": {
3568
+ "items": {
3569
+ "properties": {
3570
+ "alias": { "minLength": 1, "type": "string" },
3571
+ "definition": { "type": "object" },
3572
+ "kind": {
3573
+ "anyOf": [
3574
+ { "const": "kv", "type": "string" },
3575
+ { "const": "store", "type": "string" },
3576
+ { "const": "jobs", "type": "string" },
3577
+ { "const": "event-consumer", "type": "string" },
3578
+ { "const": "transfer", "type": "string" },
3579
+ ],
3580
+ },
3581
+ "required": { "type": "boolean" },
3582
+ },
3583
+ "required": ["kind", "alias", "required"],
3584
+ "type": "object",
3585
+ },
3586
+ "type": "array",
3587
+ },
3588
+ "surfaces": {
3589
+ "items": {
3590
+ "properties": {
3591
+ "action": {
3592
+ "anyOf": [
3593
+ { "const": "call", "type": "string" },
3594
+ { "const": "publish", "type": "string" },
3595
+ { "const": "subscribe", "type": "string" },
3596
+ { "const": "observe", "type": "string" },
3597
+ { "const": "cancel", "type": "string" },
3598
+ ],
3599
+ },
3600
+ "contractId": { "minLength": 1, "type": "string" },
3601
+ "kind": {
3602
+ "anyOf": [
3603
+ { "const": "rpc", "type": "string" },
3604
+ { "const": "operation", "type": "string" },
3605
+ { "const": "event", "type": "string" },
3606
+ { "const": "feed", "type": "string" },
3607
+ ],
3608
+ },
3609
+ "name": { "minLength": 1, "type": "string" },
3610
+ "required": { "type": "boolean" },
3611
+ },
3612
+ "required": [
3613
+ "contractId",
3614
+ "kind",
3615
+ "name",
3616
+ "required",
3617
+ ],
3618
+ "type": "object",
3619
+ },
3620
+ "type": "array",
3621
+ },
3622
+ },
3623
+ "required": [
3624
+ "contracts",
3625
+ "surfaces",
3626
+ "capabilities",
3627
+ "resources",
3628
+ ],
3629
+ "type": "object",
3630
+ },
3631
+ "summary": { "type": "object" },
3632
+ },
3633
+ "required": [
3634
+ "deploymentId",
3635
+ "contractId",
3636
+ "contractDigest",
3651
3637
  "requestedNeeds",
3652
3638
  "providedSurfaces",
3653
3639
  ],
@@ -3787,89 +3773,104 @@ export const CONTRACT = {
3787
3773
  "type": "array",
3788
3774
  },
3789
3775
  "requestedNeeds": {
3790
- "items": {
3791
- "anyOf": [{
3792
- "properties": {
3793
- "contractId": { "minLength": 1, "type": "string" },
3794
- "kind": { "const": "contract", "type": "string" },
3795
- "required": { "type": "boolean" },
3776
+ "properties": {
3777
+ "capabilities": {
3778
+ "items": {
3779
+ "properties": {
3780
+ "capability": {
3781
+ "minLength": 1,
3782
+ "type": "string",
3783
+ },
3784
+ "required": { "type": "boolean" },
3785
+ },
3786
+ "required": ["capability", "required"],
3787
+ "type": "object",
3796
3788
  },
3797
- "required": ["kind", "contractId", "required"],
3798
- "type": "object",
3799
- }, {
3800
- "properties": {
3801
- "kind": { "const": "surface", "type": "string" },
3802
- "required": { "type": "boolean" },
3803
- "surface": {
3804
- "properties": {
3805
- "action": {
3806
- "anyOf": [
3807
- { "const": "call", "type": "string" },
3808
- { "const": "publish", "type": "string" },
3809
- { "const": "subscribe", "type": "string" },
3810
- { "const": "observe", "type": "string" },
3811
- { "const": "cancel", "type": "string" },
3812
- ],
3813
- },
3814
- "contractId": {
3815
- "minLength": 1,
3816
- "type": "string",
3817
- },
3818
- "kind": {
3819
- "anyOf": [
3820
- { "const": "rpc", "type": "string" },
3821
- { "const": "operation", "type": "string" },
3822
- { "const": "event", "type": "string" },
3823
- { "const": "feed", "type": "string" },
3824
- ],
3825
- },
3826
- "name": { "minLength": 1, "type": "string" },
3789
+ "type": "array",
3790
+ },
3791
+ "contracts": {
3792
+ "items": {
3793
+ "properties": {
3794
+ "contractId": {
3795
+ "minLength": 1,
3796
+ "type": "string",
3827
3797
  },
3828
- "required": ["contractId", "kind", "name"],
3829
- "type": "object",
3798
+ "required": { "type": "boolean" },
3830
3799
  },
3800
+ "required": ["contractId", "required"],
3801
+ "type": "object",
3831
3802
  },
3832
- "required": ["kind", "surface", "required"],
3833
- "type": "object",
3834
- }, {
3835
- "properties": {
3836
- "capability": { "minLength": 1, "type": "string" },
3837
- "kind": { "const": "capability", "type": "string" },
3838
- "required": { "type": "boolean" },
3803
+ "type": "array",
3804
+ },
3805
+ "resources": {
3806
+ "items": {
3807
+ "properties": {
3808
+ "alias": { "minLength": 1, "type": "string" },
3809
+ "definition": { "type": "object" },
3810
+ "kind": {
3811
+ "anyOf": [
3812
+ { "const": "kv", "type": "string" },
3813
+ { "const": "store", "type": "string" },
3814
+ { "const": "jobs", "type": "string" },
3815
+ {
3816
+ "const": "event-consumer",
3817
+ "type": "string",
3818
+ },
3819
+ { "const": "transfer", "type": "string" },
3820
+ ],
3821
+ },
3822
+ "required": { "type": "boolean" },
3823
+ },
3824
+ "required": ["kind", "alias", "required"],
3825
+ "type": "object",
3839
3826
  },
3840
- "required": ["kind", "capability", "required"],
3841
- "type": "object",
3842
- }, {
3843
- "properties": {
3844
- "kind": { "const": "resource", "type": "string" },
3845
- "required": { "type": "boolean" },
3846
- "resource": {
3847
- "properties": {
3848
- "alias": { "minLength": 1, "type": "string" },
3849
- "definition": { "type": "object" },
3850
- "kind": {
3851
- "anyOf": [
3852
- { "const": "kv", "type": "string" },
3853
- { "const": "store", "type": "string" },
3854
- { "const": "jobs", "type": "string" },
3855
- {
3856
- "const": "event-consumer",
3857
- "type": "string",
3858
- },
3859
- { "const": "transfer", "type": "string" },
3860
- ],
3861
- },
3862
- "required": { "type": "boolean" },
3827
+ "type": "array",
3828
+ },
3829
+ "surfaces": {
3830
+ "items": {
3831
+ "properties": {
3832
+ "action": {
3833
+ "anyOf": [
3834
+ { "const": "call", "type": "string" },
3835
+ { "const": "publish", "type": "string" },
3836
+ { "const": "subscribe", "type": "string" },
3837
+ { "const": "observe", "type": "string" },
3838
+ { "const": "cancel", "type": "string" },
3839
+ ],
3863
3840
  },
3864
- "required": ["kind", "alias", "required"],
3865
- "type": "object",
3841
+ "contractId": {
3842
+ "minLength": 1,
3843
+ "type": "string",
3844
+ },
3845
+ "kind": {
3846
+ "anyOf": [
3847
+ { "const": "rpc", "type": "string" },
3848
+ { "const": "operation", "type": "string" },
3849
+ { "const": "event", "type": "string" },
3850
+ { "const": "feed", "type": "string" },
3851
+ ],
3852
+ },
3853
+ "name": { "minLength": 1, "type": "string" },
3854
+ "required": { "type": "boolean" },
3866
3855
  },
3856
+ "required": [
3857
+ "contractId",
3858
+ "kind",
3859
+ "name",
3860
+ "required",
3861
+ ],
3862
+ "type": "object",
3867
3863
  },
3868
- "required": ["kind", "resource", "required"],
3869
- "type": "object",
3870
- }],
3864
+ "type": "array",
3865
+ },
3871
3866
  },
3872
- "type": "array",
3867
+ "required": [
3868
+ "contracts",
3869
+ "surfaces",
3870
+ "capabilities",
3871
+ "resources",
3872
+ ],
3873
+ "type": "object",
3873
3874
  },
3874
3875
  "summary": { "type": "object" },
3875
3876
  },
@@ -3971,89 +3972,104 @@ export const CONTRACT = {
3971
3972
  "type": "array",
3972
3973
  },
3973
3974
  "requestedNeeds": {
3974
- "items": {
3975
- "anyOf": [{
3976
- "properties": {
3977
- "contractId": { "minLength": 1, "type": "string" },
3978
- "kind": { "const": "contract", "type": "string" },
3979
- "required": { "type": "boolean" },
3975
+ "properties": {
3976
+ "capabilities": {
3977
+ "items": {
3978
+ "properties": {
3979
+ "capability": {
3980
+ "minLength": 1,
3981
+ "type": "string",
3982
+ },
3983
+ "required": { "type": "boolean" },
3984
+ },
3985
+ "required": ["capability", "required"],
3986
+ "type": "object",
3980
3987
  },
3981
- "required": ["kind", "contractId", "required"],
3982
- "type": "object",
3983
- }, {
3984
- "properties": {
3985
- "kind": { "const": "surface", "type": "string" },
3986
- "required": { "type": "boolean" },
3987
- "surface": {
3988
- "properties": {
3989
- "action": {
3990
- "anyOf": [
3991
- { "const": "call", "type": "string" },
3992
- { "const": "publish", "type": "string" },
3993
- { "const": "subscribe", "type": "string" },
3994
- { "const": "observe", "type": "string" },
3995
- { "const": "cancel", "type": "string" },
3996
- ],
3997
- },
3998
- "contractId": {
3999
- "minLength": 1,
4000
- "type": "string",
4001
- },
4002
- "kind": {
4003
- "anyOf": [
4004
- { "const": "rpc", "type": "string" },
4005
- { "const": "operation", "type": "string" },
4006
- { "const": "event", "type": "string" },
4007
- { "const": "feed", "type": "string" },
4008
- ],
4009
- },
4010
- "name": { "minLength": 1, "type": "string" },
3988
+ "type": "array",
3989
+ },
3990
+ "contracts": {
3991
+ "items": {
3992
+ "properties": {
3993
+ "contractId": {
3994
+ "minLength": 1,
3995
+ "type": "string",
4011
3996
  },
4012
- "required": ["contractId", "kind", "name"],
4013
- "type": "object",
3997
+ "required": { "type": "boolean" },
4014
3998
  },
3999
+ "required": ["contractId", "required"],
4000
+ "type": "object",
4015
4001
  },
4016
- "required": ["kind", "surface", "required"],
4017
- "type": "object",
4018
- }, {
4019
- "properties": {
4020
- "capability": { "minLength": 1, "type": "string" },
4021
- "kind": { "const": "capability", "type": "string" },
4022
- "required": { "type": "boolean" },
4002
+ "type": "array",
4003
+ },
4004
+ "resources": {
4005
+ "items": {
4006
+ "properties": {
4007
+ "alias": { "minLength": 1, "type": "string" },
4008
+ "definition": { "type": "object" },
4009
+ "kind": {
4010
+ "anyOf": [
4011
+ { "const": "kv", "type": "string" },
4012
+ { "const": "store", "type": "string" },
4013
+ { "const": "jobs", "type": "string" },
4014
+ {
4015
+ "const": "event-consumer",
4016
+ "type": "string",
4017
+ },
4018
+ { "const": "transfer", "type": "string" },
4019
+ ],
4020
+ },
4021
+ "required": { "type": "boolean" },
4022
+ },
4023
+ "required": ["kind", "alias", "required"],
4024
+ "type": "object",
4023
4025
  },
4024
- "required": ["kind", "capability", "required"],
4025
- "type": "object",
4026
- }, {
4027
- "properties": {
4028
- "kind": { "const": "resource", "type": "string" },
4029
- "required": { "type": "boolean" },
4030
- "resource": {
4031
- "properties": {
4032
- "alias": { "minLength": 1, "type": "string" },
4033
- "definition": { "type": "object" },
4034
- "kind": {
4035
- "anyOf": [
4036
- { "const": "kv", "type": "string" },
4037
- { "const": "store", "type": "string" },
4038
- { "const": "jobs", "type": "string" },
4039
- {
4040
- "const": "event-consumer",
4041
- "type": "string",
4042
- },
4043
- { "const": "transfer", "type": "string" },
4044
- ],
4045
- },
4046
- "required": { "type": "boolean" },
4026
+ "type": "array",
4027
+ },
4028
+ "surfaces": {
4029
+ "items": {
4030
+ "properties": {
4031
+ "action": {
4032
+ "anyOf": [
4033
+ { "const": "call", "type": "string" },
4034
+ { "const": "publish", "type": "string" },
4035
+ { "const": "subscribe", "type": "string" },
4036
+ { "const": "observe", "type": "string" },
4037
+ { "const": "cancel", "type": "string" },
4038
+ ],
4047
4039
  },
4048
- "required": ["kind", "alias", "required"],
4049
- "type": "object",
4040
+ "contractId": {
4041
+ "minLength": 1,
4042
+ "type": "string",
4043
+ },
4044
+ "kind": {
4045
+ "anyOf": [
4046
+ { "const": "rpc", "type": "string" },
4047
+ { "const": "operation", "type": "string" },
4048
+ { "const": "event", "type": "string" },
4049
+ { "const": "feed", "type": "string" },
4050
+ ],
4051
+ },
4052
+ "name": { "minLength": 1, "type": "string" },
4053
+ "required": { "type": "boolean" },
4050
4054
  },
4055
+ "required": [
4056
+ "contractId",
4057
+ "kind",
4058
+ "name",
4059
+ "required",
4060
+ ],
4061
+ "type": "object",
4051
4062
  },
4052
- "required": ["kind", "resource", "required"],
4053
- "type": "object",
4054
- }],
4063
+ "type": "array",
4064
+ },
4055
4065
  },
4056
- "type": "array",
4066
+ "required": [
4067
+ "contracts",
4068
+ "surfaces",
4069
+ "capabilities",
4070
+ "resources",
4071
+ ],
4072
+ "type": "object",
4057
4073
  },
4058
4074
  "summary": { "type": "object" },
4059
4075
  },
@@ -4123,83 +4139,87 @@ export const CONTRACT = {
4123
4139
  "type": "array",
4124
4140
  },
4125
4141
  "needs": {
4126
- "items": {
4127
- "anyOf": [{
4128
- "properties": {
4129
- "contractId": { "minLength": 1, "type": "string" },
4130
- "kind": { "const": "contract", "type": "string" },
4131
- "required": { "type": "boolean" },
4132
- },
4133
- "required": ["kind", "contractId", "required"],
4134
- "type": "object",
4135
- }, {
4136
- "properties": {
4137
- "kind": { "const": "surface", "type": "string" },
4138
- "required": { "type": "boolean" },
4139
- "surface": {
4140
- "properties": {
4141
- "action": {
4142
- "anyOf": [
4143
- { "const": "call", "type": "string" },
4144
- { "const": "publish", "type": "string" },
4145
- { "const": "subscribe", "type": "string" },
4146
- { "const": "observe", "type": "string" },
4147
- { "const": "cancel", "type": "string" },
4148
- ],
4149
- },
4150
- "contractId": { "minLength": 1, "type": "string" },
4151
- "kind": {
4152
- "anyOf": [
4153
- { "const": "rpc", "type": "string" },
4154
- { "const": "operation", "type": "string" },
4155
- { "const": "event", "type": "string" },
4156
- { "const": "feed", "type": "string" },
4157
- ],
4158
- },
4159
- "name": { "minLength": 1, "type": "string" },
4160
- },
4161
- "required": ["contractId", "kind", "name"],
4162
- "type": "object",
4142
+ "properties": {
4143
+ "capabilities": {
4144
+ "items": {
4145
+ "properties": {
4146
+ "capability": { "minLength": 1, "type": "string" },
4147
+ "required": { "type": "boolean" },
4163
4148
  },
4149
+ "required": ["capability", "required"],
4150
+ "type": "object",
4164
4151
  },
4165
- "required": ["kind", "surface", "required"],
4166
- "type": "object",
4167
- }, {
4168
- "properties": {
4169
- "capability": { "minLength": 1, "type": "string" },
4170
- "kind": { "const": "capability", "type": "string" },
4171
- "required": { "type": "boolean" },
4152
+ "type": "array",
4153
+ },
4154
+ "contracts": {
4155
+ "items": {
4156
+ "properties": {
4157
+ "contractId": { "minLength": 1, "type": "string" },
4158
+ "required": { "type": "boolean" },
4159
+ },
4160
+ "required": ["contractId", "required"],
4161
+ "type": "object",
4172
4162
  },
4173
- "required": ["kind", "capability", "required"],
4174
- "type": "object",
4175
- }, {
4176
- "properties": {
4177
- "kind": { "const": "resource", "type": "string" },
4178
- "required": { "type": "boolean" },
4179
- "resource": {
4180
- "properties": {
4181
- "alias": { "minLength": 1, "type": "string" },
4182
- "definition": { "type": "object" },
4183
- "kind": {
4184
- "anyOf": [
4185
- { "const": "kv", "type": "string" },
4186
- { "const": "store", "type": "string" },
4187
- { "const": "jobs", "type": "string" },
4188
- { "const": "event-consumer", "type": "string" },
4189
- { "const": "transfer", "type": "string" },
4190
- ],
4191
- },
4192
- "required": { "type": "boolean" },
4163
+ "type": "array",
4164
+ },
4165
+ "resources": {
4166
+ "items": {
4167
+ "properties": {
4168
+ "alias": { "minLength": 1, "type": "string" },
4169
+ "definition": { "type": "object" },
4170
+ "kind": {
4171
+ "anyOf": [
4172
+ { "const": "kv", "type": "string" },
4173
+ { "const": "store", "type": "string" },
4174
+ { "const": "jobs", "type": "string" },
4175
+ { "const": "event-consumer", "type": "string" },
4176
+ { "const": "transfer", "type": "string" },
4177
+ ],
4193
4178
  },
4194
- "required": ["kind", "alias", "required"],
4195
- "type": "object",
4179
+ "required": { "type": "boolean" },
4196
4180
  },
4181
+ "required": ["kind", "alias", "required"],
4182
+ "type": "object",
4197
4183
  },
4198
- "required": ["kind", "resource", "required"],
4199
- "type": "object",
4200
- }],
4184
+ "type": "array",
4185
+ },
4186
+ "surfaces": {
4187
+ "items": {
4188
+ "properties": {
4189
+ "action": {
4190
+ "anyOf": [
4191
+ { "const": "call", "type": "string" },
4192
+ { "const": "publish", "type": "string" },
4193
+ { "const": "subscribe", "type": "string" },
4194
+ { "const": "observe", "type": "string" },
4195
+ { "const": "cancel", "type": "string" },
4196
+ ],
4197
+ },
4198
+ "contractId": { "minLength": 1, "type": "string" },
4199
+ "kind": {
4200
+ "anyOf": [
4201
+ { "const": "rpc", "type": "string" },
4202
+ { "const": "operation", "type": "string" },
4203
+ { "const": "event", "type": "string" },
4204
+ { "const": "feed", "type": "string" },
4205
+ ],
4206
+ },
4207
+ "name": { "minLength": 1, "type": "string" },
4208
+ "required": { "type": "boolean" },
4209
+ },
4210
+ "required": ["contractId", "kind", "name", "required"],
4211
+ "type": "object",
4212
+ },
4213
+ "type": "array",
4214
+ },
4201
4215
  },
4202
- "type": "array",
4216
+ "required": [
4217
+ "contracts",
4218
+ "surfaces",
4219
+ "capabilities",
4220
+ "resources",
4221
+ ],
4222
+ "type": "object",
4203
4223
  },
4204
4224
  "resources": {
4205
4225
  "items": {
@@ -4285,99 +4305,107 @@ export const CONTRACT = {
4285
4305
  "desiredVersion": { "minLength": 1, "type": "string" },
4286
4306
  "error": { "minLength": 1, "type": "string" },
4287
4307
  "grants": {
4288
- "items": {
4289
- "anyOf": [{
4290
- "properties": {
4291
- "capability": { "minLength": 1, "type": "string" },
4292
- "kind": { "const": "capability", "type": "string" },
4293
- },
4294
- "required": ["kind", "capability"],
4295
- "type": "object",
4296
- }, {
4297
- "properties": {
4298
- "action": {
4299
- "anyOf": [
4300
- { "const": "call", "type": "string" },
4301
- { "const": "publish", "type": "string" },
4302
- { "const": "subscribe", "type": "string" },
4303
- { "const": "observe", "type": "string" },
4304
- { "const": "cancel", "type": "string" },
4305
- ],
4306
- },
4307
- "contractId": { "minLength": 1, "type": "string" },
4308
- "kind": { "const": "surface", "type": "string" },
4309
- "name": { "minLength": 1, "type": "string" },
4310
- "surfaceKind": {
4311
- "anyOf": [
4312
- { "const": "rpc", "type": "string" },
4313
- { "const": "operation", "type": "string" },
4314
- { "const": "event", "type": "string" },
4315
- { "const": "feed", "type": "string" },
4316
- ],
4308
+ "properties": {
4309
+ "capabilities": {
4310
+ "items": {
4311
+ "properties": {
4312
+ "capability": { "minLength": 1, "type": "string" },
4317
4313
  },
4314
+ "required": ["capability"],
4315
+ "type": "object",
4318
4316
  },
4319
- "required": ["kind", "contractId", "surfaceKind", "name"],
4320
- "type": "object",
4321
- }, {
4322
- "properties": {
4323
- "direction": {
4324
- "anyOf": [{ "const": "publish", "type": "string" }, {
4325
- "const": "subscribe",
4326
- "type": "string",
4327
- }],
4328
- },
4329
- "grantSource": {
4330
- "anyOf": [
4331
- { "const": "owned-surface", "type": "string" },
4332
- { "const": "used-surface", "type": "string" },
4333
- { "const": "resource-binding", "type": "string" },
4334
- { "const": "platform-service", "type": "string" },
4335
- { "const": "transfer", "type": "string" },
4336
- ],
4337
- },
4338
- "kind": { "const": "nats", "type": "string" },
4339
- "requiredCapabilities": {
4340
- "items": { "minLength": 1, "type": "string" },
4341
- "type": "array",
4342
- },
4343
- "subject": { "minLength": 1, "type": "string" },
4344
- "surface": {
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
- "kind": {
4357
- "anyOf": [
4358
- { "const": "rpc", "type": "string" },
4359
- { "const": "operation", "type": "string" },
4360
- { "const": "event", "type": "string" },
4361
- { "const": "feed", "type": "string" },
4362
- ],
4317
+ "type": "array",
4318
+ },
4319
+ "nats": {
4320
+ "items": {
4321
+ "properties": {
4322
+ "direction": {
4323
+ "anyOf": [{ "const": "publish", "type": "string" }, {
4324
+ "const": "subscribe",
4325
+ "type": "string",
4326
+ }],
4327
+ },
4328
+ "grantSource": {
4329
+ "anyOf": [
4330
+ { "const": "owned-surface", "type": "string" },
4331
+ { "const": "used-surface", "type": "string" },
4332
+ { "const": "resource-binding", "type": "string" },
4333
+ { "const": "platform-service", "type": "string" },
4334
+ { "const": "transfer", "type": "string" },
4335
+ ],
4336
+ },
4337
+ "requiredCapabilities": {
4338
+ "items": { "minLength": 1, "type": "string" },
4339
+ "type": "array",
4340
+ },
4341
+ "subject": { "minLength": 1, "type": "string" },
4342
+ "surface": {
4343
+ "properties": {
4344
+ "action": {
4345
+ "anyOf": [
4346
+ { "const": "call", "type": "string" },
4347
+ { "const": "publish", "type": "string" },
4348
+ { "const": "subscribe", "type": "string" },
4349
+ { "const": "observe", "type": "string" },
4350
+ { "const": "cancel", "type": "string" },
4351
+ ],
4352
+ },
4353
+ "contractId": { "minLength": 1, "type": "string" },
4354
+ "kind": {
4355
+ "anyOf": [
4356
+ { "const": "rpc", "type": "string" },
4357
+ { "const": "operation", "type": "string" },
4358
+ { "const": "event", "type": "string" },
4359
+ { "const": "feed", "type": "string" },
4360
+ ],
4361
+ },
4362
+ "name": { "minLength": 1, "type": "string" },
4363
4363
  },
4364
- "name": { "minLength": 1, "type": "string" },
4364
+ "required": ["contractId", "kind", "name"],
4365
+ "type": "object",
4365
4366
  },
4366
- "required": ["contractId", "kind", "name"],
4367
- "type": "object",
4368
4367
  },
4368
+ "required": [
4369
+ "direction",
4370
+ "subject",
4371
+ "requiredCapabilities",
4372
+ "grantSource",
4373
+ ],
4374
+ "type": "object",
4369
4375
  },
4370
- "required": [
4371
- "kind",
4372
- "direction",
4373
- "subject",
4374
- "requiredCapabilities",
4375
- "grantSource",
4376
- ],
4377
- "type": "object",
4378
- }],
4376
+ "type": "array",
4377
+ },
4378
+ "surfaces": {
4379
+ "items": {
4380
+ "properties": {
4381
+ "action": {
4382
+ "anyOf": [
4383
+ { "const": "call", "type": "string" },
4384
+ { "const": "publish", "type": "string" },
4385
+ { "const": "subscribe", "type": "string" },
4386
+ { "const": "observe", "type": "string" },
4387
+ { "const": "cancel", "type": "string" },
4388
+ ],
4389
+ },
4390
+ "contractId": { "minLength": 1, "type": "string" },
4391
+ "name": { "minLength": 1, "type": "string" },
4392
+ "surfaceKind": {
4393
+ "anyOf": [
4394
+ { "const": "rpc", "type": "string" },
4395
+ { "const": "operation", "type": "string" },
4396
+ { "const": "event", "type": "string" },
4397
+ { "const": "feed", "type": "string" },
4398
+ ],
4399
+ },
4400
+ },
4401
+ "required": ["contractId", "surfaceKind", "name"],
4402
+ "type": "object",
4403
+ },
4404
+ "type": "array",
4405
+ },
4379
4406
  },
4380
- "type": "array",
4407
+ "required": ["capabilities", "surfaces", "nats"],
4408
+ "type": "object",
4381
4409
  },
4382
4410
  "reconciledAt": {
4383
4411
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -6409,6 +6437,41 @@ export const CONTRACT = {
6409
6437
  "type": "integer",
6410
6438
  },
6411
6439
  "dlq": { "type": "boolean" },
6440
+ "keyConcurrency": {
6441
+ "properties": {
6442
+ "heartbeatIntervalMs": {
6443
+ "minimum": 1,
6444
+ "type": "integer",
6445
+ },
6446
+ "heartbeatTtlMs": {
6447
+ "minimum": 1,
6448
+ "type": "integer",
6449
+ },
6450
+ "key": {
6451
+ "items": { "minLength": 1, "type": "string" },
6452
+ "minItems": 1,
6453
+ "type": "array",
6454
+ },
6455
+ "maxActive": {
6456
+ "minimum": 1,
6457
+ "type": "integer",
6458
+ },
6459
+ "stalePolicy": {
6460
+ "anyOf": [{
6461
+ "const": "fail-stale",
6462
+ "type": "string",
6463
+ }, { "const": "block", "type": "string" }],
6464
+ },
6465
+ },
6466
+ "required": [
6467
+ "key",
6468
+ "maxActive",
6469
+ "heartbeatIntervalMs",
6470
+ "heartbeatTtlMs",
6471
+ "stalePolicy",
6472
+ ],
6473
+ "type": "object",
6474
+ },
6412
6475
  "logs": { "type": "boolean" },
6413
6476
  "maxDeliver": { "minimum": 1, "type": "integer" },
6414
6477
  "payload": {
@@ -6423,6 +6486,26 @@ export const CONTRACT = {
6423
6486
  "minLength": 1,
6424
6487
  "type": "string",
6425
6488
  },
6489
+ "queue": {
6490
+ "properties": {
6491
+ "maxQueuedPerKey": {
6492
+ "minimum": 0,
6493
+ "type": "integer",
6494
+ },
6495
+ "whenFull": {
6496
+ "anyOf": [
6497
+ { "const": "reject", "type": "string" },
6498
+ { "const": "coalesce", "type": "string" },
6499
+ {
6500
+ "const": "replace-oldest",
6501
+ "type": "string",
6502
+ },
6503
+ ],
6504
+ },
6505
+ },
6506
+ "required": ["maxQueuedPerKey", "whenFull"],
6507
+ "type": "object",
6508
+ },
6426
6509
  "queueType": { "minLength": 1, "type": "string" },
6427
6510
  "result": {
6428
6511
  "properties": {
@@ -6585,6 +6668,41 @@ export const CONTRACT = {
6585
6668
  "type": "integer",
6586
6669
  },
6587
6670
  "dlq": { "type": "boolean" },
6671
+ "keyConcurrency": {
6672
+ "properties": {
6673
+ "heartbeatIntervalMs": {
6674
+ "minimum": 1,
6675
+ "type": "integer",
6676
+ },
6677
+ "heartbeatTtlMs": {
6678
+ "minimum": 1,
6679
+ "type": "integer",
6680
+ },
6681
+ "key": {
6682
+ "items": { "minLength": 1, "type": "string" },
6683
+ "minItems": 1,
6684
+ "type": "array",
6685
+ },
6686
+ "maxActive": {
6687
+ "minimum": 1,
6688
+ "type": "integer",
6689
+ },
6690
+ "stalePolicy": {
6691
+ "anyOf": [{
6692
+ "const": "fail-stale",
6693
+ "type": "string",
6694
+ }, { "const": "block", "type": "string" }],
6695
+ },
6696
+ },
6697
+ "required": [
6698
+ "key",
6699
+ "maxActive",
6700
+ "heartbeatIntervalMs",
6701
+ "heartbeatTtlMs",
6702
+ "stalePolicy",
6703
+ ],
6704
+ "type": "object",
6705
+ },
6588
6706
  "logs": { "type": "boolean" },
6589
6707
  "maxDeliver": { "minimum": 1, "type": "integer" },
6590
6708
  "payload": {
@@ -6599,6 +6717,26 @@ export const CONTRACT = {
6599
6717
  "minLength": 1,
6600
6718
  "type": "string",
6601
6719
  },
6720
+ "queue": {
6721
+ "properties": {
6722
+ "maxQueuedPerKey": {
6723
+ "minimum": 0,
6724
+ "type": "integer",
6725
+ },
6726
+ "whenFull": {
6727
+ "anyOf": [
6728
+ { "const": "reject", "type": "string" },
6729
+ { "const": "coalesce", "type": "string" },
6730
+ {
6731
+ "const": "replace-oldest",
6732
+ "type": "string",
6733
+ },
6734
+ ],
6735
+ },
6736
+ },
6737
+ "required": ["maxQueuedPerKey", "whenFull"],
6738
+ "type": "object",
6739
+ },
6602
6740
  "queueType": { "minLength": 1, "type": "string" },
6603
6741
  "result": {
6604
6742
  "properties": {
@@ -6775,6 +6913,44 @@ export const CONTRACT = {
6775
6913
  "type": "integer",
6776
6914
  },
6777
6915
  "dlq": { "type": "boolean" },
6916
+ "keyConcurrency": {
6917
+ "properties": {
6918
+ "heartbeatIntervalMs": {
6919
+ "minimum": 1,
6920
+ "type": "integer",
6921
+ },
6922
+ "heartbeatTtlMs": {
6923
+ "minimum": 1,
6924
+ "type": "integer",
6925
+ },
6926
+ "key": {
6927
+ "items": {
6928
+ "minLength": 1,
6929
+ "type": "string",
6930
+ },
6931
+ "minItems": 1,
6932
+ "type": "array",
6933
+ },
6934
+ "maxActive": {
6935
+ "minimum": 1,
6936
+ "type": "integer",
6937
+ },
6938
+ "stalePolicy": {
6939
+ "anyOf": [{
6940
+ "const": "fail-stale",
6941
+ "type": "string",
6942
+ }, { "const": "block", "type": "string" }],
6943
+ },
6944
+ },
6945
+ "required": [
6946
+ "key",
6947
+ "maxActive",
6948
+ "heartbeatIntervalMs",
6949
+ "heartbeatTtlMs",
6950
+ "stalePolicy",
6951
+ ],
6952
+ "type": "object",
6953
+ },
6778
6954
  "logs": { "type": "boolean" },
6779
6955
  "maxDeliver": { "minimum": 1, "type": "integer" },
6780
6956
  "payload": {
@@ -6792,6 +6968,28 @@ export const CONTRACT = {
6792
6968
  "minLength": 1,
6793
6969
  "type": "string",
6794
6970
  },
6971
+ "queue": {
6972
+ "properties": {
6973
+ "maxQueuedPerKey": {
6974
+ "minimum": 0,
6975
+ "type": "integer",
6976
+ },
6977
+ "whenFull": {
6978
+ "anyOf": [{
6979
+ "const": "reject",
6980
+ "type": "string",
6981
+ }, {
6982
+ "const": "coalesce",
6983
+ "type": "string",
6984
+ }, {
6985
+ "const": "replace-oldest",
6986
+ "type": "string",
6987
+ }],
6988
+ },
6989
+ },
6990
+ "required": ["maxQueuedPerKey", "whenFull"],
6991
+ "type": "object",
6992
+ },
6795
6993
  "queueType": { "minLength": 1, "type": "string" },
6796
6994
  "result": {
6797
6995
  "properties": {
@@ -6967,7 +7165,42 @@ export const CONTRACT = {
6967
7165
  "minimum": 1,
6968
7166
  "type": "integer",
6969
7167
  },
6970
- "dlq": { "type": "boolean" },
7168
+ "dlq": { "type": "boolean" },
7169
+ "keyConcurrency": {
7170
+ "properties": {
7171
+ "heartbeatIntervalMs": {
7172
+ "minimum": 1,
7173
+ "type": "integer",
7174
+ },
7175
+ "heartbeatTtlMs": {
7176
+ "minimum": 1,
7177
+ "type": "integer",
7178
+ },
7179
+ "key": {
7180
+ "items": { "minLength": 1, "type": "string" },
7181
+ "minItems": 1,
7182
+ "type": "array",
7183
+ },
7184
+ "maxActive": {
7185
+ "minimum": 1,
7186
+ "type": "integer",
7187
+ },
7188
+ "stalePolicy": {
7189
+ "anyOf": [{
7190
+ "const": "fail-stale",
7191
+ "type": "string",
7192
+ }, { "const": "block", "type": "string" }],
7193
+ },
7194
+ },
7195
+ "required": [
7196
+ "key",
7197
+ "maxActive",
7198
+ "heartbeatIntervalMs",
7199
+ "heartbeatTtlMs",
7200
+ "stalePolicy",
7201
+ ],
7202
+ "type": "object",
7203
+ },
6971
7204
  "logs": { "type": "boolean" },
6972
7205
  "maxDeliver": { "minimum": 1, "type": "integer" },
6973
7206
  "payload": {
@@ -6982,6 +7215,26 @@ export const CONTRACT = {
6982
7215
  "minLength": 1,
6983
7216
  "type": "string",
6984
7217
  },
7218
+ "queue": {
7219
+ "properties": {
7220
+ "maxQueuedPerKey": {
7221
+ "minimum": 0,
7222
+ "type": "integer",
7223
+ },
7224
+ "whenFull": {
7225
+ "anyOf": [
7226
+ { "const": "reject", "type": "string" },
7227
+ { "const": "coalesce", "type": "string" },
7228
+ {
7229
+ "const": "replace-oldest",
7230
+ "type": "string",
7231
+ },
7232
+ ],
7233
+ },
7234
+ },
7235
+ "required": ["maxQueuedPerKey", "whenFull"],
7236
+ "type": "object",
7237
+ },
6985
7238
  "queueType": { "minLength": 1, "type": "string" },
6986
7239
  "result": {
6987
7240
  "properties": {
@@ -7361,29 +7614,14 @@ export const CONTRACT = {
7361
7614
  "type": "object",
7362
7615
  },
7363
7616
  "AuthSessionsRevokedEvent": {
7364
- "allOf": [{
7365
- "properties": {
7366
- "header": {
7367
- "properties": {
7368
- "id": { "type": "string" },
7369
- "time": { "format": "date-time", "type": "string" },
7370
- },
7371
- "required": ["id", "time"],
7372
- "type": "object",
7373
- },
7374
- },
7375
- "required": ["header"],
7376
- "type": "object",
7377
- }, {
7378
- "properties": {
7379
- "id": { "type": "string" },
7380
- "origin": { "type": "string" },
7381
- "revokedBy": { "type": "string" },
7382
- "sessionKey": { "type": "string" },
7383
- },
7384
- "required": ["origin", "id", "sessionKey", "revokedBy"],
7385
- "type": "object",
7386
- }],
7617
+ "properties": {
7618
+ "id": { "type": "string" },
7619
+ "origin": { "type": "string" },
7620
+ "revokedBy": { "type": "string" },
7621
+ "sessionKey": { "type": "string" },
7622
+ },
7623
+ "required": ["origin", "id", "sessionKey", "revokedBy"],
7624
+ "type": "object",
7387
7625
  },
7388
7626
  "AuthUserIdentitiesListRequest": {
7389
7627
  "properties": {
@@ -7761,83 +7999,87 @@ export const CONTRACT = {
7761
7999
  "type": "array",
7762
8000
  },
7763
8001
  "needs": {
7764
- "items": {
7765
- "anyOf": [{
7766
- "properties": {
7767
- "contractId": { "minLength": 1, "type": "string" },
7768
- "kind": { "const": "contract", "type": "string" },
7769
- "required": { "type": "boolean" },
8002
+ "properties": {
8003
+ "capabilities": {
8004
+ "items": {
8005
+ "properties": {
8006
+ "capability": { "minLength": 1, "type": "string" },
8007
+ "required": { "type": "boolean" },
8008
+ },
8009
+ "required": ["capability", "required"],
8010
+ "type": "object",
7770
8011
  },
7771
- "required": ["kind", "contractId", "required"],
7772
- "type": "object",
7773
- }, {
7774
- "properties": {
7775
- "kind": { "const": "surface", "type": "string" },
7776
- "required": { "type": "boolean" },
7777
- "surface": {
7778
- "properties": {
7779
- "action": {
7780
- "anyOf": [
7781
- { "const": "call", "type": "string" },
7782
- { "const": "publish", "type": "string" },
7783
- { "const": "subscribe", "type": "string" },
7784
- { "const": "observe", "type": "string" },
7785
- { "const": "cancel", "type": "string" },
7786
- ],
7787
- },
7788
- "contractId": { "minLength": 1, "type": "string" },
7789
- "kind": {
7790
- "anyOf": [
7791
- { "const": "rpc", "type": "string" },
7792
- { "const": "operation", "type": "string" },
7793
- { "const": "event", "type": "string" },
7794
- { "const": "feed", "type": "string" },
7795
- ],
7796
- },
7797
- "name": { "minLength": 1, "type": "string" },
7798
- },
7799
- "required": ["contractId", "kind", "name"],
7800
- "type": "object",
8012
+ "type": "array",
8013
+ },
8014
+ "contracts": {
8015
+ "items": {
8016
+ "properties": {
8017
+ "contractId": { "minLength": 1, "type": "string" },
8018
+ "required": { "type": "boolean" },
7801
8019
  },
8020
+ "required": ["contractId", "required"],
8021
+ "type": "object",
7802
8022
  },
7803
- "required": ["kind", "surface", "required"],
7804
- "type": "object",
7805
- }, {
7806
- "properties": {
7807
- "capability": { "minLength": 1, "type": "string" },
7808
- "kind": { "const": "capability", "type": "string" },
7809
- "required": { "type": "boolean" },
8023
+ "type": "array",
8024
+ },
8025
+ "resources": {
8026
+ "items": {
8027
+ "properties": {
8028
+ "alias": { "minLength": 1, "type": "string" },
8029
+ "definition": { "type": "object" },
8030
+ "kind": {
8031
+ "anyOf": [
8032
+ { "const": "kv", "type": "string" },
8033
+ { "const": "store", "type": "string" },
8034
+ { "const": "jobs", "type": "string" },
8035
+ { "const": "event-consumer", "type": "string" },
8036
+ { "const": "transfer", "type": "string" },
8037
+ ],
8038
+ },
8039
+ "required": { "type": "boolean" },
8040
+ },
8041
+ "required": ["kind", "alias", "required"],
8042
+ "type": "object",
7810
8043
  },
7811
- "required": ["kind", "capability", "required"],
7812
- "type": "object",
7813
- }, {
7814
- "properties": {
7815
- "kind": { "const": "resource", "type": "string" },
7816
- "required": { "type": "boolean" },
7817
- "resource": {
7818
- "properties": {
7819
- "alias": { "minLength": 1, "type": "string" },
7820
- "definition": { "type": "object" },
7821
- "kind": {
7822
- "anyOf": [
7823
- { "const": "kv", "type": "string" },
7824
- { "const": "store", "type": "string" },
7825
- { "const": "jobs", "type": "string" },
7826
- { "const": "event-consumer", "type": "string" },
7827
- { "const": "transfer", "type": "string" },
7828
- ],
7829
- },
7830
- "required": { "type": "boolean" },
8044
+ "type": "array",
8045
+ },
8046
+ "surfaces": {
8047
+ "items": {
8048
+ "properties": {
8049
+ "action": {
8050
+ "anyOf": [
8051
+ { "const": "call", "type": "string" },
8052
+ { "const": "publish", "type": "string" },
8053
+ { "const": "subscribe", "type": "string" },
8054
+ { "const": "observe", "type": "string" },
8055
+ { "const": "cancel", "type": "string" },
8056
+ ],
7831
8057
  },
7832
- "required": ["kind", "alias", "required"],
7833
- "type": "object",
8058
+ "contractId": { "minLength": 1, "type": "string" },
8059
+ "kind": {
8060
+ "anyOf": [
8061
+ { "const": "rpc", "type": "string" },
8062
+ { "const": "operation", "type": "string" },
8063
+ { "const": "event", "type": "string" },
8064
+ { "const": "feed", "type": "string" },
8065
+ ],
8066
+ },
8067
+ "name": { "minLength": 1, "type": "string" },
8068
+ "required": { "type": "boolean" },
7834
8069
  },
8070
+ "required": ["contractId", "kind", "name", "required"],
8071
+ "type": "object",
7835
8072
  },
7836
- "required": ["kind", "resource", "required"],
7837
- "type": "object",
7838
- }],
8073
+ "type": "array",
8074
+ },
7839
8075
  },
7840
- "type": "array",
8076
+ "required": [
8077
+ "contracts",
8078
+ "surfaces",
8079
+ "capabilities",
8080
+ "resources",
8081
+ ],
8082
+ "type": "object",
7841
8083
  },
7842
8084
  "resources": {
7843
8085
  "items": {
@@ -7917,6 +8159,22 @@ export const CONTRACT = {
7917
8159
  ],
7918
8160
  "type": "object",
7919
8161
  },
8162
+ "DeploymentAuthorityCapabilityNeed": {
8163
+ "properties": {
8164
+ "capability": { "minLength": 1, "type": "string" },
8165
+ "required": { "type": "boolean" },
8166
+ },
8167
+ "required": ["capability", "required"],
8168
+ "type": "object",
8169
+ },
8170
+ "DeploymentAuthorityContractNeed": {
8171
+ "properties": {
8172
+ "contractId": { "minLength": 1, "type": "string" },
8173
+ "required": { "type": "boolean" },
8174
+ },
8175
+ "required": ["contractId", "required"],
8176
+ "type": "object",
8177
+ },
7920
8178
  "DeploymentAuthorityGrantOverride": {
7921
8179
  "anyOf": [{
7922
8180
  "properties": {
@@ -8014,99 +8272,107 @@ export const CONTRACT = {
8014
8272
  "desiredVersion": { "minLength": 1, "type": "string" },
8015
8273
  "error": { "minLength": 1, "type": "string" },
8016
8274
  "grants": {
8017
- "items": {
8018
- "anyOf": [{
8019
- "properties": {
8020
- "capability": { "minLength": 1, "type": "string" },
8021
- "kind": { "const": "capability", "type": "string" },
8022
- },
8023
- "required": ["kind", "capability"],
8024
- "type": "object",
8025
- }, {
8026
- "properties": {
8027
- "action": {
8028
- "anyOf": [
8029
- { "const": "call", "type": "string" },
8030
- { "const": "publish", "type": "string" },
8031
- { "const": "subscribe", "type": "string" },
8032
- { "const": "observe", "type": "string" },
8033
- { "const": "cancel", "type": "string" },
8034
- ],
8035
- },
8036
- "contractId": { "minLength": 1, "type": "string" },
8037
- "kind": { "const": "surface", "type": "string" },
8038
- "name": { "minLength": 1, "type": "string" },
8039
- "surfaceKind": {
8040
- "anyOf": [
8041
- { "const": "rpc", "type": "string" },
8042
- { "const": "operation", "type": "string" },
8043
- { "const": "event", "type": "string" },
8044
- { "const": "feed", "type": "string" },
8045
- ],
8275
+ "properties": {
8276
+ "capabilities": {
8277
+ "items": {
8278
+ "properties": {
8279
+ "capability": { "minLength": 1, "type": "string" },
8046
8280
  },
8281
+ "required": ["capability"],
8282
+ "type": "object",
8047
8283
  },
8048
- "required": ["kind", "contractId", "surfaceKind", "name"],
8049
- "type": "object",
8050
- }, {
8051
- "properties": {
8052
- "direction": {
8053
- "anyOf": [{ "const": "publish", "type": "string" }, {
8054
- "const": "subscribe",
8055
- "type": "string",
8056
- }],
8057
- },
8058
- "grantSource": {
8059
- "anyOf": [
8060
- { "const": "owned-surface", "type": "string" },
8061
- { "const": "used-surface", "type": "string" },
8062
- { "const": "resource-binding", "type": "string" },
8063
- { "const": "platform-service", "type": "string" },
8064
- { "const": "transfer", "type": "string" },
8065
- ],
8066
- },
8067
- "kind": { "const": "nats", "type": "string" },
8068
- "requiredCapabilities": {
8069
- "items": { "minLength": 1, "type": "string" },
8070
- "type": "array",
8071
- },
8072
- "subject": { "minLength": 1, "type": "string" },
8073
- "surface": {
8074
- "properties": {
8075
- "action": {
8076
- "anyOf": [
8077
- { "const": "call", "type": "string" },
8078
- { "const": "publish", "type": "string" },
8079
- { "const": "subscribe", "type": "string" },
8080
- { "const": "observe", "type": "string" },
8081
- { "const": "cancel", "type": "string" },
8082
- ],
8083
- },
8084
- "contractId": { "minLength": 1, "type": "string" },
8085
- "kind": {
8086
- "anyOf": [
8087
- { "const": "rpc", "type": "string" },
8088
- { "const": "operation", "type": "string" },
8089
- { "const": "event", "type": "string" },
8090
- { "const": "feed", "type": "string" },
8091
- ],
8284
+ "type": "array",
8285
+ },
8286
+ "nats": {
8287
+ "items": {
8288
+ "properties": {
8289
+ "direction": {
8290
+ "anyOf": [{ "const": "publish", "type": "string" }, {
8291
+ "const": "subscribe",
8292
+ "type": "string",
8293
+ }],
8294
+ },
8295
+ "grantSource": {
8296
+ "anyOf": [
8297
+ { "const": "owned-surface", "type": "string" },
8298
+ { "const": "used-surface", "type": "string" },
8299
+ { "const": "resource-binding", "type": "string" },
8300
+ { "const": "platform-service", "type": "string" },
8301
+ { "const": "transfer", "type": "string" },
8302
+ ],
8303
+ },
8304
+ "requiredCapabilities": {
8305
+ "items": { "minLength": 1, "type": "string" },
8306
+ "type": "array",
8307
+ },
8308
+ "subject": { "minLength": 1, "type": "string" },
8309
+ "surface": {
8310
+ "properties": {
8311
+ "action": {
8312
+ "anyOf": [
8313
+ { "const": "call", "type": "string" },
8314
+ { "const": "publish", "type": "string" },
8315
+ { "const": "subscribe", "type": "string" },
8316
+ { "const": "observe", "type": "string" },
8317
+ { "const": "cancel", "type": "string" },
8318
+ ],
8319
+ },
8320
+ "contractId": { "minLength": 1, "type": "string" },
8321
+ "kind": {
8322
+ "anyOf": [
8323
+ { "const": "rpc", "type": "string" },
8324
+ { "const": "operation", "type": "string" },
8325
+ { "const": "event", "type": "string" },
8326
+ { "const": "feed", "type": "string" },
8327
+ ],
8328
+ },
8329
+ "name": { "minLength": 1, "type": "string" },
8092
8330
  },
8093
- "name": { "minLength": 1, "type": "string" },
8331
+ "required": ["contractId", "kind", "name"],
8332
+ "type": "object",
8333
+ },
8334
+ },
8335
+ "required": [
8336
+ "direction",
8337
+ "subject",
8338
+ "requiredCapabilities",
8339
+ "grantSource",
8340
+ ],
8341
+ "type": "object",
8342
+ },
8343
+ "type": "array",
8344
+ },
8345
+ "surfaces": {
8346
+ "items": {
8347
+ "properties": {
8348
+ "action": {
8349
+ "anyOf": [
8350
+ { "const": "call", "type": "string" },
8351
+ { "const": "publish", "type": "string" },
8352
+ { "const": "subscribe", "type": "string" },
8353
+ { "const": "observe", "type": "string" },
8354
+ { "const": "cancel", "type": "string" },
8355
+ ],
8356
+ },
8357
+ "contractId": { "minLength": 1, "type": "string" },
8358
+ "name": { "minLength": 1, "type": "string" },
8359
+ "surfaceKind": {
8360
+ "anyOf": [
8361
+ { "const": "rpc", "type": "string" },
8362
+ { "const": "operation", "type": "string" },
8363
+ { "const": "event", "type": "string" },
8364
+ { "const": "feed", "type": "string" },
8365
+ ],
8094
8366
  },
8095
- "required": ["contractId", "kind", "name"],
8096
- "type": "object",
8097
8367
  },
8368
+ "required": ["contractId", "surfaceKind", "name"],
8369
+ "type": "object",
8098
8370
  },
8099
- "required": [
8100
- "kind",
8101
- "direction",
8102
- "subject",
8103
- "requiredCapabilities",
8104
- "grantSource",
8105
- ],
8106
- "type": "object",
8107
- }],
8371
+ "type": "array",
8372
+ },
8108
8373
  },
8109
- "type": "array",
8374
+ "required": ["capabilities", "surfaces", "nats"],
8375
+ "type": "object",
8110
8376
  },
8111
8377
  "reconciledAt": {
8112
8378
  "anyOf": [{ "format": "date-time", "type": "string" }, {
@@ -8232,83 +8498,87 @@ export const CONTRACT = {
8232
8498
  "type": "array",
8233
8499
  },
8234
8500
  "requestedNeeds": {
8235
- "items": {
8236
- "anyOf": [{
8237
- "properties": {
8238
- "contractId": { "minLength": 1, "type": "string" },
8239
- "kind": { "const": "contract", "type": "string" },
8240
- "required": { "type": "boolean" },
8501
+ "properties": {
8502
+ "capabilities": {
8503
+ "items": {
8504
+ "properties": {
8505
+ "capability": { "minLength": 1, "type": "string" },
8506
+ "required": { "type": "boolean" },
8507
+ },
8508
+ "required": ["capability", "required"],
8509
+ "type": "object",
8241
8510
  },
8242
- "required": ["kind", "contractId", "required"],
8243
- "type": "object",
8244
- }, {
8245
- "properties": {
8246
- "kind": { "const": "surface", "type": "string" },
8247
- "required": { "type": "boolean" },
8248
- "surface": {
8249
- "properties": {
8250
- "action": {
8251
- "anyOf": [
8252
- { "const": "call", "type": "string" },
8253
- { "const": "publish", "type": "string" },
8254
- { "const": "subscribe", "type": "string" },
8255
- { "const": "observe", "type": "string" },
8256
- { "const": "cancel", "type": "string" },
8257
- ],
8258
- },
8259
- "contractId": { "minLength": 1, "type": "string" },
8260
- "kind": {
8261
- "anyOf": [
8262
- { "const": "rpc", "type": "string" },
8263
- { "const": "operation", "type": "string" },
8264
- { "const": "event", "type": "string" },
8265
- { "const": "feed", "type": "string" },
8266
- ],
8267
- },
8268
- "name": { "minLength": 1, "type": "string" },
8269
- },
8270
- "required": ["contractId", "kind", "name"],
8271
- "type": "object",
8511
+ "type": "array",
8512
+ },
8513
+ "contracts": {
8514
+ "items": {
8515
+ "properties": {
8516
+ "contractId": { "minLength": 1, "type": "string" },
8517
+ "required": { "type": "boolean" },
8272
8518
  },
8519
+ "required": ["contractId", "required"],
8520
+ "type": "object",
8273
8521
  },
8274
- "required": ["kind", "surface", "required"],
8275
- "type": "object",
8276
- }, {
8277
- "properties": {
8278
- "capability": { "minLength": 1, "type": "string" },
8279
- "kind": { "const": "capability", "type": "string" },
8280
- "required": { "type": "boolean" },
8522
+ "type": "array",
8523
+ },
8524
+ "resources": {
8525
+ "items": {
8526
+ "properties": {
8527
+ "alias": { "minLength": 1, "type": "string" },
8528
+ "definition": { "type": "object" },
8529
+ "kind": {
8530
+ "anyOf": [
8531
+ { "const": "kv", "type": "string" },
8532
+ { "const": "store", "type": "string" },
8533
+ { "const": "jobs", "type": "string" },
8534
+ { "const": "event-consumer", "type": "string" },
8535
+ { "const": "transfer", "type": "string" },
8536
+ ],
8537
+ },
8538
+ "required": { "type": "boolean" },
8539
+ },
8540
+ "required": ["kind", "alias", "required"],
8541
+ "type": "object",
8281
8542
  },
8282
- "required": ["kind", "capability", "required"],
8283
- "type": "object",
8284
- }, {
8285
- "properties": {
8286
- "kind": { "const": "resource", "type": "string" },
8287
- "required": { "type": "boolean" },
8288
- "resource": {
8289
- "properties": {
8290
- "alias": { "minLength": 1, "type": "string" },
8291
- "definition": { "type": "object" },
8292
- "kind": {
8293
- "anyOf": [
8294
- { "const": "kv", "type": "string" },
8295
- { "const": "store", "type": "string" },
8296
- { "const": "jobs", "type": "string" },
8297
- { "const": "event-consumer", "type": "string" },
8298
- { "const": "transfer", "type": "string" },
8299
- ],
8300
- },
8301
- "required": { "type": "boolean" },
8543
+ "type": "array",
8544
+ },
8545
+ "surfaces": {
8546
+ "items": {
8547
+ "properties": {
8548
+ "action": {
8549
+ "anyOf": [
8550
+ { "const": "call", "type": "string" },
8551
+ { "const": "publish", "type": "string" },
8552
+ { "const": "subscribe", "type": "string" },
8553
+ { "const": "observe", "type": "string" },
8554
+ { "const": "cancel", "type": "string" },
8555
+ ],
8302
8556
  },
8303
- "required": ["kind", "alias", "required"],
8304
- "type": "object",
8557
+ "contractId": { "minLength": 1, "type": "string" },
8558
+ "kind": {
8559
+ "anyOf": [
8560
+ { "const": "rpc", "type": "string" },
8561
+ { "const": "operation", "type": "string" },
8562
+ { "const": "event", "type": "string" },
8563
+ { "const": "feed", "type": "string" },
8564
+ ],
8565
+ },
8566
+ "name": { "minLength": 1, "type": "string" },
8567
+ "required": { "type": "boolean" },
8305
8568
  },
8569
+ "required": ["contractId", "kind", "name", "required"],
8570
+ "type": "object",
8306
8571
  },
8307
- "required": ["kind", "resource", "required"],
8308
- "type": "object",
8309
- }],
8572
+ "type": "array",
8573
+ },
8310
8574
  },
8311
- "type": "array",
8575
+ "required": [
8576
+ "contracts",
8577
+ "surfaces",
8578
+ "capabilities",
8579
+ "resources",
8580
+ ],
8581
+ "type": "object",
8312
8582
  },
8313
8583
  "summary": { "type": "object" },
8314
8584
  },
@@ -8347,20 +8617,53 @@ export const CONTRACT = {
8347
8617
  ],
8348
8618
  "type": "object",
8349
8619
  },
8350
- "DeploymentAuthorityNeed": {
8351
- "anyOf": [{
8352
- "properties": {
8353
- "contractId": { "minLength": 1, "type": "string" },
8354
- "kind": { "const": "contract", "type": "string" },
8355
- "required": { "type": "boolean" },
8620
+ "DeploymentAuthorityNeeds": {
8621
+ "properties": {
8622
+ "capabilities": {
8623
+ "items": {
8624
+ "properties": {
8625
+ "capability": { "minLength": 1, "type": "string" },
8626
+ "required": { "type": "boolean" },
8627
+ },
8628
+ "required": ["capability", "required"],
8629
+ "type": "object",
8630
+ },
8631
+ "type": "array",
8356
8632
  },
8357
- "required": ["kind", "contractId", "required"],
8358
- "type": "object",
8359
- }, {
8360
- "properties": {
8361
- "kind": { "const": "surface", "type": "string" },
8362
- "required": { "type": "boolean" },
8363
- "surface": {
8633
+ "contracts": {
8634
+ "items": {
8635
+ "properties": {
8636
+ "contractId": { "minLength": 1, "type": "string" },
8637
+ "required": { "type": "boolean" },
8638
+ },
8639
+ "required": ["contractId", "required"],
8640
+ "type": "object",
8641
+ },
8642
+ "type": "array",
8643
+ },
8644
+ "resources": {
8645
+ "items": {
8646
+ "properties": {
8647
+ "alias": { "minLength": 1, "type": "string" },
8648
+ "definition": { "type": "object" },
8649
+ "kind": {
8650
+ "anyOf": [
8651
+ { "const": "kv", "type": "string" },
8652
+ { "const": "store", "type": "string" },
8653
+ { "const": "jobs", "type": "string" },
8654
+ { "const": "event-consumer", "type": "string" },
8655
+ { "const": "transfer", "type": "string" },
8656
+ ],
8657
+ },
8658
+ "required": { "type": "boolean" },
8659
+ },
8660
+ "required": ["kind", "alias", "required"],
8661
+ "type": "object",
8662
+ },
8663
+ "type": "array",
8664
+ },
8665
+ "surfaces": {
8666
+ "items": {
8364
8667
  "properties": {
8365
8668
  "action": {
8366
8669
  "anyOf": [
@@ -8381,47 +8684,16 @@ export const CONTRACT = {
8381
8684
  ],
8382
8685
  },
8383
8686
  "name": { "minLength": 1, "type": "string" },
8384
- },
8385
- "required": ["contractId", "kind", "name"],
8386
- "type": "object",
8387
- },
8388
- },
8389
- "required": ["kind", "surface", "required"],
8390
- "type": "object",
8391
- }, {
8392
- "properties": {
8393
- "capability": { "minLength": 1, "type": "string" },
8394
- "kind": { "const": "capability", "type": "string" },
8395
- "required": { "type": "boolean" },
8396
- },
8397
- "required": ["kind", "capability", "required"],
8398
- "type": "object",
8399
- }, {
8400
- "properties": {
8401
- "kind": { "const": "resource", "type": "string" },
8402
- "required": { "type": "boolean" },
8403
- "resource": {
8404
- "properties": {
8405
- "alias": { "minLength": 1, "type": "string" },
8406
- "definition": { "type": "object" },
8407
- "kind": {
8408
- "anyOf": [
8409
- { "const": "kv", "type": "string" },
8410
- { "const": "store", "type": "string" },
8411
- { "const": "jobs", "type": "string" },
8412
- { "const": "event-consumer", "type": "string" },
8413
- { "const": "transfer", "type": "string" },
8414
- ],
8415
- },
8416
8687
  "required": { "type": "boolean" },
8417
8688
  },
8418
- "required": ["kind", "alias", "required"],
8689
+ "required": ["contractId", "kind", "name", "required"],
8419
8690
  "type": "object",
8420
8691
  },
8692
+ "type": "array",
8421
8693
  },
8422
- "required": ["kind", "resource", "required"],
8423
- "type": "object",
8424
- }],
8694
+ },
8695
+ "required": ["contracts", "surfaces", "capabilities", "resources"],
8696
+ "type": "object",
8425
8697
  },
8426
8698
  "DeploymentAuthorityProposal": {
8427
8699
  "properties": {
@@ -8459,83 +8731,82 @@ export const CONTRACT = {
8459
8731
  "type": "array",
8460
8732
  },
8461
8733
  "requestedNeeds": {
8462
- "items": {
8463
- "anyOf": [{
8464
- "properties": {
8465
- "contractId": { "minLength": 1, "type": "string" },
8466
- "kind": { "const": "contract", "type": "string" },
8467
- "required": { "type": "boolean" },
8734
+ "properties": {
8735
+ "capabilities": {
8736
+ "items": {
8737
+ "properties": {
8738
+ "capability": { "minLength": 1, "type": "string" },
8739
+ "required": { "type": "boolean" },
8740
+ },
8741
+ "required": ["capability", "required"],
8742
+ "type": "object",
8468
8743
  },
8469
- "required": ["kind", "contractId", "required"],
8470
- "type": "object",
8471
- }, {
8472
- "properties": {
8473
- "kind": { "const": "surface", "type": "string" },
8474
- "required": { "type": "boolean" },
8475
- "surface": {
8476
- "properties": {
8477
- "action": {
8478
- "anyOf": [
8479
- { "const": "call", "type": "string" },
8480
- { "const": "publish", "type": "string" },
8481
- { "const": "subscribe", "type": "string" },
8482
- { "const": "observe", "type": "string" },
8483
- { "const": "cancel", "type": "string" },
8484
- ],
8485
- },
8486
- "contractId": { "minLength": 1, "type": "string" },
8487
- "kind": {
8488
- "anyOf": [
8489
- { "const": "rpc", "type": "string" },
8490
- { "const": "operation", "type": "string" },
8491
- { "const": "event", "type": "string" },
8492
- { "const": "feed", "type": "string" },
8493
- ],
8494
- },
8495
- "name": { "minLength": 1, "type": "string" },
8496
- },
8497
- "required": ["contractId", "kind", "name"],
8498
- "type": "object",
8744
+ "type": "array",
8745
+ },
8746
+ "contracts": {
8747
+ "items": {
8748
+ "properties": {
8749
+ "contractId": { "minLength": 1, "type": "string" },
8750
+ "required": { "type": "boolean" },
8499
8751
  },
8752
+ "required": ["contractId", "required"],
8753
+ "type": "object",
8500
8754
  },
8501
- "required": ["kind", "surface", "required"],
8502
- "type": "object",
8503
- }, {
8504
- "properties": {
8505
- "capability": { "minLength": 1, "type": "string" },
8506
- "kind": { "const": "capability", "type": "string" },
8507
- "required": { "type": "boolean" },
8755
+ "type": "array",
8756
+ },
8757
+ "resources": {
8758
+ "items": {
8759
+ "properties": {
8760
+ "alias": { "minLength": 1, "type": "string" },
8761
+ "definition": { "type": "object" },
8762
+ "kind": {
8763
+ "anyOf": [
8764
+ { "const": "kv", "type": "string" },
8765
+ { "const": "store", "type": "string" },
8766
+ { "const": "jobs", "type": "string" },
8767
+ { "const": "event-consumer", "type": "string" },
8768
+ { "const": "transfer", "type": "string" },
8769
+ ],
8770
+ },
8771
+ "required": { "type": "boolean" },
8772
+ },
8773
+ "required": ["kind", "alias", "required"],
8774
+ "type": "object",
8508
8775
  },
8509
- "required": ["kind", "capability", "required"],
8510
- "type": "object",
8511
- }, {
8512
- "properties": {
8513
- "kind": { "const": "resource", "type": "string" },
8514
- "required": { "type": "boolean" },
8515
- "resource": {
8516
- "properties": {
8517
- "alias": { "minLength": 1, "type": "string" },
8518
- "definition": { "type": "object" },
8519
- "kind": {
8520
- "anyOf": [
8521
- { "const": "kv", "type": "string" },
8522
- { "const": "store", "type": "string" },
8523
- { "const": "jobs", "type": "string" },
8524
- { "const": "event-consumer", "type": "string" },
8525
- { "const": "transfer", "type": "string" },
8526
- ],
8527
- },
8528
- "required": { "type": "boolean" },
8776
+ "type": "array",
8777
+ },
8778
+ "surfaces": {
8779
+ "items": {
8780
+ "properties": {
8781
+ "action": {
8782
+ "anyOf": [
8783
+ { "const": "call", "type": "string" },
8784
+ { "const": "publish", "type": "string" },
8785
+ { "const": "subscribe", "type": "string" },
8786
+ { "const": "observe", "type": "string" },
8787
+ { "const": "cancel", "type": "string" },
8788
+ ],
8529
8789
  },
8530
- "required": ["kind", "alias", "required"],
8531
- "type": "object",
8790
+ "contractId": { "minLength": 1, "type": "string" },
8791
+ "kind": {
8792
+ "anyOf": [
8793
+ { "const": "rpc", "type": "string" },
8794
+ { "const": "operation", "type": "string" },
8795
+ { "const": "event", "type": "string" },
8796
+ { "const": "feed", "type": "string" },
8797
+ ],
8798
+ },
8799
+ "name": { "minLength": 1, "type": "string" },
8800
+ "required": { "type": "boolean" },
8532
8801
  },
8802
+ "required": ["contractId", "kind", "name", "required"],
8803
+ "type": "object",
8533
8804
  },
8534
- "required": ["kind", "resource", "required"],
8535
- "type": "object",
8536
- }],
8805
+ "type": "array",
8806
+ },
8537
8807
  },
8538
- "type": "array",
8808
+ "required": ["contracts", "surfaces", "capabilities", "resources"],
8809
+ "type": "object",
8539
8810
  },
8540
8811
  "summary": { "type": "object" },
8541
8812
  },
@@ -8599,6 +8870,24 @@ export const CONTRACT = {
8599
8870
  "required": ["kind", "alias", "required"],
8600
8871
  "type": "object",
8601
8872
  },
8873
+ "DeploymentAuthorityResourceNeed": {
8874
+ "properties": {
8875
+ "alias": { "minLength": 1, "type": "string" },
8876
+ "definition": { "type": "object" },
8877
+ "kind": {
8878
+ "anyOf": [
8879
+ { "const": "kv", "type": "string" },
8880
+ { "const": "store", "type": "string" },
8881
+ { "const": "jobs", "type": "string" },
8882
+ { "const": "event-consumer", "type": "string" },
8883
+ { "const": "transfer", "type": "string" },
8884
+ ],
8885
+ },
8886
+ "required": { "type": "boolean" },
8887
+ },
8888
+ "required": ["kind", "alias", "required"],
8889
+ "type": "object",
8890
+ },
8602
8891
  "DeploymentAuthoritySurface": {
8603
8892
  "properties": {
8604
8893
  "action": {
@@ -8624,6 +8913,32 @@ export const CONTRACT = {
8624
8913
  "required": ["contractId", "kind", "name"],
8625
8914
  "type": "object",
8626
8915
  },
8916
+ "DeploymentAuthoritySurfaceNeed": {
8917
+ "properties": {
8918
+ "action": {
8919
+ "anyOf": [
8920
+ { "const": "call", "type": "string" },
8921
+ { "const": "publish", "type": "string" },
8922
+ { "const": "subscribe", "type": "string" },
8923
+ { "const": "observe", "type": "string" },
8924
+ { "const": "cancel", "type": "string" },
8925
+ ],
8926
+ },
8927
+ "contractId": { "minLength": 1, "type": "string" },
8928
+ "kind": {
8929
+ "anyOf": [
8930
+ { "const": "rpc", "type": "string" },
8931
+ { "const": "operation", "type": "string" },
8932
+ { "const": "event", "type": "string" },
8933
+ { "const": "feed", "type": "string" },
8934
+ ],
8935
+ },
8936
+ "name": { "minLength": 1, "type": "string" },
8937
+ "required": { "type": "boolean" },
8938
+ },
8939
+ "required": ["contractId", "kind", "name", "required"],
8940
+ "type": "object",
8941
+ },
8627
8942
  "DeploymentAuthorityUpdate": {
8628
8943
  "properties": {
8629
8944
  "classification": { "const": "update", "type": "string" },
@@ -8685,83 +9000,87 @@ export const CONTRACT = {
8685
9000
  "type": "array",
8686
9001
  },
8687
9002
  "requestedNeeds": {
8688
- "items": {
8689
- "anyOf": [{
8690
- "properties": {
8691
- "contractId": { "minLength": 1, "type": "string" },
8692
- "kind": { "const": "contract", "type": "string" },
8693
- "required": { "type": "boolean" },
9003
+ "properties": {
9004
+ "capabilities": {
9005
+ "items": {
9006
+ "properties": {
9007
+ "capability": { "minLength": 1, "type": "string" },
9008
+ "required": { "type": "boolean" },
9009
+ },
9010
+ "required": ["capability", "required"],
9011
+ "type": "object",
8694
9012
  },
8695
- "required": ["kind", "contractId", "required"],
8696
- "type": "object",
8697
- }, {
8698
- "properties": {
8699
- "kind": { "const": "surface", "type": "string" },
8700
- "required": { "type": "boolean" },
8701
- "surface": {
8702
- "properties": {
8703
- "action": {
8704
- "anyOf": [
8705
- { "const": "call", "type": "string" },
8706
- { "const": "publish", "type": "string" },
8707
- { "const": "subscribe", "type": "string" },
8708
- { "const": "observe", "type": "string" },
8709
- { "const": "cancel", "type": "string" },
8710
- ],
8711
- },
8712
- "contractId": { "minLength": 1, "type": "string" },
8713
- "kind": {
8714
- "anyOf": [
8715
- { "const": "rpc", "type": "string" },
8716
- { "const": "operation", "type": "string" },
8717
- { "const": "event", "type": "string" },
8718
- { "const": "feed", "type": "string" },
8719
- ],
8720
- },
8721
- "name": { "minLength": 1, "type": "string" },
8722
- },
8723
- "required": ["contractId", "kind", "name"],
8724
- "type": "object",
9013
+ "type": "array",
9014
+ },
9015
+ "contracts": {
9016
+ "items": {
9017
+ "properties": {
9018
+ "contractId": { "minLength": 1, "type": "string" },
9019
+ "required": { "type": "boolean" },
8725
9020
  },
9021
+ "required": ["contractId", "required"],
9022
+ "type": "object",
8726
9023
  },
8727
- "required": ["kind", "surface", "required"],
8728
- "type": "object",
8729
- }, {
8730
- "properties": {
8731
- "capability": { "minLength": 1, "type": "string" },
8732
- "kind": { "const": "capability", "type": "string" },
8733
- "required": { "type": "boolean" },
9024
+ "type": "array",
9025
+ },
9026
+ "resources": {
9027
+ "items": {
9028
+ "properties": {
9029
+ "alias": { "minLength": 1, "type": "string" },
9030
+ "definition": { "type": "object" },
9031
+ "kind": {
9032
+ "anyOf": [
9033
+ { "const": "kv", "type": "string" },
9034
+ { "const": "store", "type": "string" },
9035
+ { "const": "jobs", "type": "string" },
9036
+ { "const": "event-consumer", "type": "string" },
9037
+ { "const": "transfer", "type": "string" },
9038
+ ],
9039
+ },
9040
+ "required": { "type": "boolean" },
9041
+ },
9042
+ "required": ["kind", "alias", "required"],
9043
+ "type": "object",
8734
9044
  },
8735
- "required": ["kind", "capability", "required"],
8736
- "type": "object",
8737
- }, {
8738
- "properties": {
8739
- "kind": { "const": "resource", "type": "string" },
8740
- "required": { "type": "boolean" },
8741
- "resource": {
8742
- "properties": {
8743
- "alias": { "minLength": 1, "type": "string" },
8744
- "definition": { "type": "object" },
8745
- "kind": {
8746
- "anyOf": [
8747
- { "const": "kv", "type": "string" },
8748
- { "const": "store", "type": "string" },
8749
- { "const": "jobs", "type": "string" },
8750
- { "const": "event-consumer", "type": "string" },
8751
- { "const": "transfer", "type": "string" },
8752
- ],
8753
- },
8754
- "required": { "type": "boolean" },
9045
+ "type": "array",
9046
+ },
9047
+ "surfaces": {
9048
+ "items": {
9049
+ "properties": {
9050
+ "action": {
9051
+ "anyOf": [
9052
+ { "const": "call", "type": "string" },
9053
+ { "const": "publish", "type": "string" },
9054
+ { "const": "subscribe", "type": "string" },
9055
+ { "const": "observe", "type": "string" },
9056
+ { "const": "cancel", "type": "string" },
9057
+ ],
8755
9058
  },
8756
- "required": ["kind", "alias", "required"],
8757
- "type": "object",
9059
+ "contractId": { "minLength": 1, "type": "string" },
9060
+ "kind": {
9061
+ "anyOf": [
9062
+ { "const": "rpc", "type": "string" },
9063
+ { "const": "operation", "type": "string" },
9064
+ { "const": "event", "type": "string" },
9065
+ { "const": "feed", "type": "string" },
9066
+ ],
9067
+ },
9068
+ "name": { "minLength": 1, "type": "string" },
9069
+ "required": { "type": "boolean" },
8758
9070
  },
9071
+ "required": ["contractId", "kind", "name", "required"],
9072
+ "type": "object",
8759
9073
  },
8760
- "required": ["kind", "resource", "required"],
8761
- "type": "object",
8762
- }],
9074
+ "type": "array",
9075
+ },
8763
9076
  },
8764
- "type": "array",
9077
+ "required": [
9078
+ "contracts",
9079
+ "surfaces",
9080
+ "capabilities",
9081
+ "resources",
9082
+ ],
9083
+ "type": "object",
8765
9084
  },
8766
9085
  "summary": { "type": "object" },
8767
9086
  },
@@ -9514,6 +9833,38 @@ export const CONTRACT = {
9514
9833
  "type": "integer",
9515
9834
  },
9516
9835
  "dlq": { "type": "boolean" },
9836
+ "keyConcurrency": {
9837
+ "properties": {
9838
+ "heartbeatIntervalMs": {
9839
+ "minimum": 1,
9840
+ "type": "integer",
9841
+ },
9842
+ "heartbeatTtlMs": {
9843
+ "minimum": 1,
9844
+ "type": "integer",
9845
+ },
9846
+ "key": {
9847
+ "items": { "minLength": 1, "type": "string" },
9848
+ "minItems": 1,
9849
+ "type": "array",
9850
+ },
9851
+ "maxActive": { "minimum": 1, "type": "integer" },
9852
+ "stalePolicy": {
9853
+ "anyOf": [{
9854
+ "const": "fail-stale",
9855
+ "type": "string",
9856
+ }, { "const": "block", "type": "string" }],
9857
+ },
9858
+ },
9859
+ "required": [
9860
+ "key",
9861
+ "maxActive",
9862
+ "heartbeatIntervalMs",
9863
+ "heartbeatTtlMs",
9864
+ "stalePolicy",
9865
+ ],
9866
+ "type": "object",
9867
+ },
9517
9868
  "logs": { "type": "boolean" },
9518
9869
  "maxDeliver": { "minimum": 1, "type": "integer" },
9519
9870
  "payload": {
@@ -9525,6 +9876,23 @@ export const CONTRACT = {
9525
9876
  },
9526
9877
  "progress": { "type": "boolean" },
9527
9878
  "publishPrefix": { "minLength": 1, "type": "string" },
9879
+ "queue": {
9880
+ "properties": {
9881
+ "maxQueuedPerKey": {
9882
+ "minimum": 0,
9883
+ "type": "integer",
9884
+ },
9885
+ "whenFull": {
9886
+ "anyOf": [
9887
+ { "const": "reject", "type": "string" },
9888
+ { "const": "coalesce", "type": "string" },
9889
+ { "const": "replace-oldest", "type": "string" },
9890
+ ],
9891
+ },
9892
+ },
9893
+ "required": ["maxQueuedPerKey", "whenFull"],
9894
+ "type": "object",
9895
+ },
9528
9896
  "queueType": { "minLength": 1, "type": "string" },
9529
9897
  "result": {
9530
9898
  "properties": {