@qlever-llc/trellis 0.10.8 → 0.10.10

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 (210) hide show
  1. package/esm/contract_support/mod.d.ts +1 -1
  2. package/esm/contract_support/mod.d.ts.map +1 -1
  3. package/esm/contract_support/mod.js +1 -1
  4. package/esm/contract_support/protocol.d.ts +67 -0
  5. package/esm/contract_support/protocol.d.ts.map +1 -1
  6. package/esm/contract_support/protocol.js +90 -0
  7. package/esm/generated-sdk/auth/api.d.ts.map +1 -1
  8. package/esm/generated-sdk/auth/client.d.ts.map +1 -1
  9. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  10. package/esm/generated-sdk/auth/contract.js +9590 -7
  11. package/esm/generated-sdk/auth/mod.d.ts +3 -3
  12. package/esm/generated-sdk/auth/mod.d.ts.map +1 -1
  13. package/esm/generated-sdk/auth/mod.js +1 -1
  14. package/esm/generated-sdk/auth/owned_api.d.ts.map +1 -1
  15. package/esm/generated-sdk/auth/owned_api.js +305 -62
  16. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  17. package/esm/generated-sdk/auth/schemas.js +6492 -139
  18. package/esm/generated-sdk/auth/types.d.ts +254 -254
  19. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  20. package/esm/generated-sdk/health/api.d.ts.map +1 -1
  21. package/esm/generated-sdk/health/client.d.ts.map +1 -1
  22. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  23. package/esm/generated-sdk/health/contract.js +117 -7
  24. package/esm/generated-sdk/health/mod.d.ts +2 -2
  25. package/esm/generated-sdk/health/mod.d.ts.map +1 -1
  26. package/esm/generated-sdk/health/mod.js +1 -1
  27. package/esm/generated-sdk/health/owned_api.d.ts.map +1 -1
  28. package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
  29. package/esm/generated-sdk/health/schemas.js +79 -1
  30. package/esm/generated-sdk/health/types.d.ts +4 -4
  31. package/esm/generated-sdk/health/types.d.ts.map +1 -1
  32. package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
  33. package/esm/generated-sdk/jobs/api.js +12 -4
  34. package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
  35. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  36. package/esm/generated-sdk/jobs/contract.js +1080 -7
  37. package/esm/generated-sdk/jobs/mod.d.ts +2 -2
  38. package/esm/generated-sdk/jobs/mod.d.ts.map +1 -1
  39. package/esm/generated-sdk/jobs/mod.js +1 -1
  40. package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  41. package/esm/generated-sdk/jobs/owned_api.js +26 -6
  42. package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
  43. package/esm/generated-sdk/jobs/schemas.js +768 -18
  44. package/esm/generated-sdk/jobs/types.d.ts +14 -14
  45. package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
  46. package/esm/generated-sdk/state/api.d.ts.map +1 -1
  47. package/esm/generated-sdk/state/api.js +3 -1
  48. package/esm/generated-sdk/state/client.d.ts.map +1 -1
  49. package/esm/generated-sdk/state/contract.d.ts.map +1 -1
  50. package/esm/generated-sdk/state/contract.js +638 -7
  51. package/esm/generated-sdk/state/mod.d.ts +2 -2
  52. package/esm/generated-sdk/state/mod.d.ts.map +1 -1
  53. package/esm/generated-sdk/state/mod.js +1 -1
  54. package/esm/generated-sdk/state/owned_api.d.ts.map +1 -1
  55. package/esm/generated-sdk/state/owned_api.js +36 -8
  56. package/esm/generated-sdk/state/schemas.d.ts.map +1 -1
  57. package/esm/generated-sdk/state/schemas.js +441 -14
  58. package/esm/generated-sdk/state/types.d.ts +15 -15
  59. package/esm/generated-sdk/state/types.d.ts.map +1 -1
  60. package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
  61. package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
  62. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  63. package/esm/generated-sdk/trellis-core/contract.js +744 -7
  64. package/esm/generated-sdk/trellis-core/mod.d.ts +2 -2
  65. package/esm/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  66. package/esm/generated-sdk/trellis-core/mod.js +1 -1
  67. package/esm/generated-sdk/trellis-core/owned_api.d.ts.map +1 -1
  68. package/esm/generated-sdk/trellis-core/owned_api.js +1 -1
  69. package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  70. package/esm/generated-sdk/trellis-core/schemas.js +626 -8
  71. package/esm/generated-sdk/trellis-core/types.d.ts +14 -14
  72. package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
  73. package/esm/index.d.ts +2 -2
  74. package/esm/index.d.ts.map +1 -1
  75. package/esm/index.js +1 -1
  76. package/esm/server/service.d.ts +40 -9
  77. package/esm/server/service.d.ts.map +1 -1
  78. package/esm/server/service.js +28 -4
  79. package/esm/service/deno.d.ts +1 -1
  80. package/esm/service/deno.d.ts.map +1 -1
  81. package/esm/service/mod.d.ts +1 -1
  82. package/esm/service/mod.d.ts.map +1 -1
  83. package/esm/service/node.d.ts +1 -1
  84. package/esm/service/node.d.ts.map +1 -1
  85. package/package.json +2 -2
  86. package/script/contract_support/mod.d.ts +1 -1
  87. package/script/contract_support/mod.d.ts.map +1 -1
  88. package/script/contract_support/mod.js +8 -1
  89. package/script/contract_support/protocol.d.ts +67 -0
  90. package/script/contract_support/protocol.d.ts.map +1 -1
  91. package/script/contract_support/protocol.js +96 -1
  92. package/script/generated-sdk/auth/api.d.ts.map +1 -1
  93. package/script/generated-sdk/auth/client.d.ts.map +1 -1
  94. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  95. package/script/generated-sdk/auth/contract.js +9590 -7
  96. package/script/generated-sdk/auth/mod.d.ts +3 -3
  97. package/script/generated-sdk/auth/mod.d.ts.map +1 -1
  98. package/script/generated-sdk/auth/mod.js +2 -2
  99. package/script/generated-sdk/auth/owned_api.d.ts.map +1 -1
  100. package/script/generated-sdk/auth/owned_api.js +304 -61
  101. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  102. package/script/generated-sdk/auth/schemas.js +6492 -139
  103. package/script/generated-sdk/auth/types.d.ts +254 -254
  104. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  105. package/script/generated-sdk/health/api.d.ts.map +1 -1
  106. package/script/generated-sdk/health/client.d.ts.map +1 -1
  107. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  108. package/script/generated-sdk/health/contract.js +117 -7
  109. package/script/generated-sdk/health/mod.d.ts +2 -2
  110. package/script/generated-sdk/health/mod.d.ts.map +1 -1
  111. package/script/generated-sdk/health/mod.js +2 -2
  112. package/script/generated-sdk/health/owned_api.d.ts.map +1 -1
  113. package/script/generated-sdk/health/schemas.d.ts.map +1 -1
  114. package/script/generated-sdk/health/schemas.js +79 -1
  115. package/script/generated-sdk/health/types.d.ts +4 -4
  116. package/script/generated-sdk/health/types.d.ts.map +1 -1
  117. package/script/generated-sdk/jobs/api.d.ts.map +1 -1
  118. package/script/generated-sdk/jobs/api.js +12 -4
  119. package/script/generated-sdk/jobs/client.d.ts.map +1 -1
  120. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  121. package/script/generated-sdk/jobs/contract.js +1080 -7
  122. package/script/generated-sdk/jobs/mod.d.ts +2 -2
  123. package/script/generated-sdk/jobs/mod.d.ts.map +1 -1
  124. package/script/generated-sdk/jobs/mod.js +2 -2
  125. package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  126. package/script/generated-sdk/jobs/owned_api.js +25 -5
  127. package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
  128. package/script/generated-sdk/jobs/schemas.js +768 -18
  129. package/script/generated-sdk/jobs/types.d.ts +14 -14
  130. package/script/generated-sdk/jobs/types.d.ts.map +1 -1
  131. package/script/generated-sdk/state/api.d.ts.map +1 -1
  132. package/script/generated-sdk/state/api.js +3 -1
  133. package/script/generated-sdk/state/client.d.ts.map +1 -1
  134. package/script/generated-sdk/state/contract.d.ts.map +1 -1
  135. package/script/generated-sdk/state/contract.js +638 -7
  136. package/script/generated-sdk/state/mod.d.ts +2 -2
  137. package/script/generated-sdk/state/mod.d.ts.map +1 -1
  138. package/script/generated-sdk/state/mod.js +2 -2
  139. package/script/generated-sdk/state/owned_api.d.ts.map +1 -1
  140. package/script/generated-sdk/state/owned_api.js +35 -7
  141. package/script/generated-sdk/state/schemas.d.ts.map +1 -1
  142. package/script/generated-sdk/state/schemas.js +441 -14
  143. package/script/generated-sdk/state/types.d.ts +15 -15
  144. package/script/generated-sdk/state/types.d.ts.map +1 -1
  145. package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
  146. package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
  147. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  148. package/script/generated-sdk/trellis-core/contract.js +744 -7
  149. package/script/generated-sdk/trellis-core/mod.d.ts +2 -2
  150. package/script/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  151. package/script/generated-sdk/trellis-core/mod.js +2 -2
  152. package/script/generated-sdk/trellis-core/owned_api.d.ts.map +1 -1
  153. package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  154. package/script/generated-sdk/trellis-core/schemas.js +626 -8
  155. package/script/generated-sdk/trellis-core/types.d.ts +14 -14
  156. package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
  157. package/script/index.d.ts +2 -2
  158. package/script/index.d.ts.map +1 -1
  159. package/script/index.js +9 -2
  160. package/script/server/service.d.ts +40 -9
  161. package/script/server/service.d.ts.map +1 -1
  162. package/script/server/service.js +27 -3
  163. package/script/service/deno.d.ts +1 -1
  164. package/script/service/deno.d.ts.map +1 -1
  165. package/script/service/mod.d.ts +1 -1
  166. package/script/service/mod.d.ts.map +1 -1
  167. package/script/service/node.d.ts +1 -1
  168. package/script/service/node.d.ts.map +1 -1
  169. package/src/contract_support/mod.ts +12 -0
  170. package/src/contract_support/protocol.ts +137 -0
  171. package/src/index.ts +12 -0
  172. package/src/sdk/_generated/auth/api.ts +10 -21
  173. package/src/sdk/_generated/auth/client.ts +1178 -160
  174. package/src/sdk/_generated/auth/contract.ts +9637 -13
  175. package/src/sdk/_generated/auth/mod.ts +22 -3
  176. package/src/sdk/_generated/auth/owned_api.ts +897 -264
  177. package/src/sdk/_generated/auth/schemas.ts +6630 -278
  178. package/src/sdk/_generated/auth/types.ts +2950 -359
  179. package/src/sdk/_generated/core/api.ts +10 -21
  180. package/src/sdk/_generated/core/client.ts +105 -12
  181. package/src/sdk/_generated/core/contract.ts +774 -13
  182. package/src/sdk/_generated/core/mod.ts +17 -2
  183. package/src/sdk/_generated/core/owned_api.ts +40 -24
  184. package/src/sdk/_generated/core/schemas.ts +626 -9
  185. package/src/sdk/_generated/core/types.ts +233 -18
  186. package/src/sdk/_generated/health/api.ts +10 -21
  187. package/src/sdk/_generated/health/client.ts +104 -8
  188. package/src/sdk/_generated/health/contract.ts +144 -13
  189. package/src/sdk/_generated/health/mod.ts +17 -2
  190. package/src/sdk/_generated/health/owned_api.ts +4 -9
  191. package/src/sdk/_generated/health/schemas.ts +79 -2
  192. package/src/sdk/_generated/health/types.ts +31 -4
  193. package/src/sdk/_generated/jobs/api.ts +20 -18
  194. package/src/sdk/_generated/jobs/client.ts +199 -28
  195. package/src/sdk/_generated/jobs/contract.ts +1119 -13
  196. package/src/sdk/_generated/jobs/mod.ts +17 -2
  197. package/src/sdk/_generated/jobs/owned_api.ts +64 -27
  198. package/src/sdk/_generated/jobs/schemas.ts +776 -20
  199. package/src/sdk/_generated/jobs/types.ts +407 -34
  200. package/src/sdk/_generated/state/api.ts +11 -18
  201. package/src/sdk/_generated/state/client.ts +169 -22
  202. package/src/sdk/_generated/state/contract.ts +670 -13
  203. package/src/sdk/_generated/state/mod.ts +17 -2
  204. package/src/sdk/_generated/state/owned_api.ts +65 -25
  205. package/src/sdk/_generated/state/schemas.ts +441 -15
  206. package/src/sdk/_generated/state/types.ts +229 -26
  207. package/src/server/service.ts +133 -7
  208. package/src/service/deno.ts +4 -0
  209. package/src/service/mod.ts +4 -0
  210. package/src/service/node.ts +4 -0
@@ -5,7 +5,736 @@ const api_js_1 = require("./api.js");
5
5
  const CONTRACT_MODULE_METADATA = Symbol.for("@qlever-llc/trellis/contracts/contract-module");
6
6
  exports.CONTRACT_ID = "trellis.core@v1";
7
7
  exports.CONTRACT_DIGEST = "L4HW6uUIxDhK1Kpa_PUxpumoMberMgiCgJTNN5Qvje0";
8
- exports.CONTRACT = { "capabilities": { "trellis.core::catalog.read": { "description": "List the installed Trellis contract catalog.", "displayName": "Read contract catalog" }, "trellis.core::contract.read": { "description": "Read installed contract manifests and metadata.", "displayName": "Read installed contracts" } }, "description": "Trellis runtime RPCs available to all connected participants.", "displayName": "Trellis Core", "docs": { "markdown": "Exposes the Trellis catalog, contract details, runtime bindings, and surface availability checks used by platform participants.", "summary": "Runtime catalog and binding APIs." }, "format": "trellis.contract.v1", "id": "trellis.core@v1", "kind": "service", "rpc": { "Trellis.Bindings.Get": { "capabilities": { "call": ["service"] }, "docs": { "markdown": "Returns runtime resource bindings for the caller's active service contract.", "summary": "Read service resource bindings." }, "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }], "input": { "schema": "TrellisBindingsGetRequest" }, "internal": true, "output": { "schema": "TrellisBindingsGetResponse" }, "subject": "rpc.v1.Trellis.Bindings.Get", "version": "v1" }, "Trellis.Catalog": { "capabilities": { "call": ["trellis.core::catalog.read"] }, "docs": { "markdown": "Returns the active contract catalog entries available in the deployment.", "summary": "List visible contracts." }, "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }], "input": { "schema": "TrellisCatalogRequest" }, "output": { "schema": "TrellisCatalogResponse" }, "subject": "rpc.v1.Trellis.Catalog", "version": "v1" }, "Trellis.Contract.Get": { "capabilities": { "call": ["trellis.core::contract.read"] }, "docs": { "markdown": "Returns the normalized contract manifest for a known contract digest.", "summary": "Read one contract manifest." }, "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }], "input": { "schema": "TrellisContractGetRequest" }, "output": { "schema": "TrellisContractGetResponse" }, "subject": "rpc.v1.Trellis.Contract.Get", "version": "v1" }, "Trellis.Surface.Status": { "capabilities": { "call": ["trellis.core::catalog.read"] }, "docs": { "markdown": "Reports capability and deployment authority status for a contract-owned surface.", "summary": "Inspect surface availability." }, "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }], "input": { "schema": "TrellisSurfaceStatusRequest" }, "output": { "schema": "TrellisSurfaceStatusResponse" }, "subject": "rpc.v1.Trellis.Surface.Status", "version": "v1" } }, "schemas": { "TrellisBindingsGetRequest": { "properties": { "contractId": { "minLength": 1, "type": "string" }, "digest": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "type": "object" }, "TrellisBindingsGetResponse": { "properties": { "binding": { "properties": { "contractId": { "minLength": 1, "type": "string" }, "digest": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" }, "resources": { "properties": { "eventConsumers": { "patternProperties": { "^.*$": { "properties": { "ackWaitMs": { "minimum": 1, "type": "integer" }, "backoffMs": { "items": { "minimum": 0, "type": "integer" }, "type": "array" }, "concurrency": { "minimum": 1, "type": "integer" }, "consumerName": { "minLength": 1, "type": "string" }, "filterSubjects": { "items": { "minLength": 1, "type": "string" }, "type": "array" }, "maxDeliver": { "minimum": 1, "type": "integer" }, "ordering": { "const": "strict", "type": "string" }, "replay": { "anyOf": [{ "const": "new", "type": "string" }, { "const": "all", "type": "string" }] }, "stream": { "minLength": 1, "type": "string" } }, "required": ["stream", "consumerName", "filterSubjects", "replay", "ordering", "concurrency", "ackWaitMs", "maxDeliver", "backoffMs"], "type": "object" } }, "type": "object" }, "jobs": { "properties": { "namespace": { "minLength": 1, "type": "string" }, "queues": { "patternProperties": { "^.*$": { "properties": { "ackWaitMs": { "minimum": 1, "type": "integer" }, "backoffMs": { "items": { "minimum": 0, "type": "integer" }, "type": "array" }, "concurrency": { "minimum": 1, "type": "integer" }, "consumerName": { "minLength": 1, "type": "string" }, "defaultDeadlineMs": { "minimum": 1, "type": "integer" }, "dlq": { "type": "boolean" }, "logs": { "type": "boolean" }, "maxDeliver": { "minimum": 1, "type": "integer" }, "payload": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" }, "progress": { "type": "boolean" }, "publishPrefix": { "minLength": 1, "type": "string" }, "queueType": { "minLength": 1, "type": "string" }, "result": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" }, "workSubject": { "minLength": 1, "type": "string" } }, "required": ["queueType", "publishPrefix", "workSubject", "consumerName", "payload", "maxDeliver", "backoffMs", "ackWaitMs", "progress", "logs", "dlq", "concurrency"], "type": "object" } }, "type": "object" }, "workStream": { "minLength": 1, "type": "string" } }, "required": ["namespace", "queues"], "type": "object" }, "kv": { "patternProperties": { "^.*$": { "properties": { "bucket": { "minLength": 1, "type": "string" }, "history": { "minimum": 1, "type": "integer" }, "maxValueBytes": { "minimum": 1, "type": "integer" }, "ttlMs": { "minimum": 0, "type": "integer" } }, "required": ["bucket", "history", "ttlMs"], "type": "object" } }, "type": "object" }, "store": { "patternProperties": { "^.*$": { "properties": { "maxObjectBytes": { "minimum": 1, "type": "integer" }, "maxTotalBytes": { "minimum": 1, "type": "integer" }, "name": { "minLength": 1, "type": "string" }, "ttlMs": { "minimum": 0, "type": "integer" } }, "required": ["name", "ttlMs"], "type": "object" } }, "type": "object" } }, "type": "object" } }, "required": ["contractId", "digest", "resources"], "type": "object" }, "eventConsumers": { "patternProperties": { "^.*$": { "properties": { "ackWaitMs": { "minimum": 1, "type": "integer" }, "backoffMs": { "items": { "minimum": 0, "type": "integer" }, "type": "array" }, "concurrency": { "minimum": 1, "type": "integer" }, "consumerName": { "minLength": 1, "type": "string" }, "filterSubjects": { "items": { "minLength": 1, "type": "string" }, "type": "array" }, "maxDeliver": { "minimum": 1, "type": "integer" }, "ordering": { "const": "strict", "type": "string" }, "replay": { "anyOf": [{ "const": "new", "type": "string" }, { "const": "all", "type": "string" }] }, "stream": { "minLength": 1, "type": "string" } }, "required": ["stream", "consumerName", "filterSubjects", "replay", "ordering", "concurrency", "ackWaitMs", "maxDeliver", "backoffMs"], "type": "object" } }, "type": "object" } }, "type": "object" }, "TrellisCatalogRequest": { "properties": {}, "type": "object" }, "TrellisCatalogResponse": { "properties": { "catalog": { "properties": { "contracts": { "items": { "properties": { "description": { "minLength": 1, "type": "string" }, "digest": { "type": "string" }, "displayName": { "minLength": 1, "type": "string" }, "id": { "type": "string" } }, "required": ["id", "digest", "displayName", "description"], "type": "object" }, "type": "array" }, "format": { "const": "trellis.catalog.v1", "type": "string" }, "issues": { "items": { "properties": { "actions": { "items": { "properties": { "action": { "anyOf": [{ "const": "keep-current", "type": "string" }, { "const": "force-replace", "type": "string" }] }, "deploymentIds": { "items": { "type": "string" }, "type": "array" }, "description": { "minLength": 1, "type": "string" }, "digests": { "items": { "type": "string" }, "type": "array" }, "label": { "minLength": 1, "type": "string" }, "risk": { "anyOf": [{ "const": "recommended", "type": "string" }, { "const": "dangerous", "type": "string" }] } }, "required": ["action", "label", "description", "risk", "deploymentIds", "digests"], "type": "object" }, "type": "array" }, "conflictingDeploymentIds": { "items": { "type": "string" }, "type": "array" }, "conflictingDigest": { "type": "string" }, "conflictingDigests": { "items": { "type": "string" }, "type": "array" }, "contractId": { "type": "string" }, "deploymentIds": { "items": { "type": "string" }, "type": "array" }, "digest": { "type": "string" }, "effectiveDeploymentIds": { "items": { "type": "string" }, "type": "array" }, "effectiveDigests": { "items": { "type": "string" }, "type": "array" }, "issueId": { "minLength": 1, "type": "string" }, "kind": { "anyOf": [{ "const": "missing-active-contract", "type": "string" }, { "const": "invalid-active-contract", "type": "string" }, { "const": "incompatible-active-contract", "type": "string" }, { "const": "invalid-active-contract-uses", "type": "string" }] }, "message": { "minLength": 1, "type": "string" } }, "required": ["issueId", "kind", "message", "deploymentIds", "actions"], "type": "object" }, "type": "array" } }, "required": ["format", "contracts"], "type": "object" } }, "required": ["catalog"], "type": "object" }, "TrellisContractGetRequest": { "properties": { "digest": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, "required": ["digest"], "type": "object" }, "TrellisContractGetResponse": { "properties": { "contract": { "properties": { "description": { "minLength": 1, "type": "string" }, "displayName": { "minLength": 1, "type": "string" }, "docs": { "properties": { "markdown": { "type": "string" }, "summary": { "type": "string" } }, "required": ["markdown"], "type": "object" }, "errors": { "patternProperties": { "^.*$": { "type": "object" } }, "type": "object" }, "events": { "patternProperties": { "^.*$": { "type": "object" } }, "type": "object" }, "exports": { "properties": { "schemas": { "items": { "minLength": 1, "type": "string" }, "type": "array" } }, "type": "object" }, "format": { "const": "trellis.contract.v1", "type": "string" }, "id": { "minLength": 1, "type": "string" }, "jobs": { "patternProperties": { "^.*$": { "properties": { "ackWaitMs": { "minimum": 1, "type": "integer" }, "backoffMs": { "items": { "minimum": 0, "type": "integer" }, "type": "array" }, "concurrency": { "minimum": 1, "type": "integer" }, "defaultDeadlineMs": { "minimum": 1, "type": "integer" }, "dlq": { "type": "boolean" }, "docs": { "properties": { "markdown": { "type": "string" }, "summary": { "type": "string" } }, "required": ["markdown"], "type": "object" }, "logs": { "type": "boolean" }, "maxDeliver": { "minimum": 1, "type": "integer" }, "payload": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" }, "progress": { "type": "boolean" }, "result": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" } }, "required": ["payload"], "type": "object" } }, "type": "object" }, "kind": { "anyOf": [{ "const": "service", "type": "string" }, { "const": "app", "type": "string" }, { "const": "device", "type": "string" }, { "const": "agent", "type": "string" }] }, "operations": { "patternProperties": { "^.*$": { "type": "object" } }, "type": "object" }, "resources": { "additionalProperties": false, "properties": { "kv": { "patternProperties": { "^.*$": { "properties": { "docs": { "properties": { "markdown": { "type": "string" }, "summary": { "type": "string" } }, "required": ["markdown"], "type": "object" }, "history": { "default": 1, "minimum": 1, "type": "integer" }, "maxValueBytes": { "minimum": 1, "type": "integer" }, "purpose": { "minLength": 1, "type": "string" }, "required": { "default": true, "type": "boolean" }, "schema": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" }, "ttlMs": { "default": 0, "minimum": 0, "type": "integer" } }, "required": ["purpose", "schema"], "type": "object" } }, "type": "object" }, "store": { "patternProperties": { "^.*$": { "properties": { "docs": { "properties": { "markdown": { "type": "string" }, "summary": { "type": "string" } }, "required": ["markdown"], "type": "object" }, "maxObjectBytes": { "minimum": 1, "type": "integer" }, "maxTotalBytes": { "minimum": 1, "type": "integer" }, "purpose": { "minLength": 1, "type": "string" }, "required": { "default": true, "type": "boolean" }, "ttlMs": { "default": 0, "minimum": 0, "type": "integer" } }, "required": ["purpose"], "type": "object" } }, "type": "object" } }, "type": "object" }, "rpc": { "patternProperties": { "^.*$": { "type": "object" } }, "type": "object" }, "schemas": { "patternProperties": { "^.*$": { "anyOf": [{ "type": "object" }, { "type": "boolean" }] } }, "type": "object" }, "state": { "patternProperties": { "^.*$": { "properties": { "acceptedVersions": { "patternProperties": { "^.*$": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" } }, "type": "object" }, "docs": { "properties": { "markdown": { "type": "string" }, "summary": { "type": "string" } }, "required": ["markdown"], "type": "object" }, "kind": { "anyOf": [{ "const": "value", "type": "string" }, { "const": "map", "type": "string" }] }, "schema": { "properties": { "schema": { "minLength": 1, "type": "string" } }, "required": ["schema"], "type": "object" }, "stateVersion": { "minLength": 1, "type": "string" } }, "required": ["kind", "schema"], "type": "object" } }, "type": "object" }, "uses": { "patternProperties": { "^.*$": { "type": "object" } }, "type": "object" } }, "required": ["format", "id", "displayName", "description", "kind"], "type": "object" } }, "required": ["contract"], "type": "object" }, "TrellisSurfaceStatusRequest": { "properties": { "action": { "anyOf": [{ "const": "call", "type": "string" }, { "const": "publish", "type": "string" }, { "const": "subscribe", "type": "string" }, { "const": "observe", "type": "string" }] }, "contractId": { "minLength": 1, "type": "string" }, "kind": { "anyOf": [{ "const": "rpc", "type": "string" }, { "const": "operation", "type": "string" }, { "const": "event", "type": "string" }, { "const": "feed", "type": "string" }] }, "surface": { "minLength": 1, "type": "string" } }, "required": ["contractId", "kind", "surface"], "type": "object" }, "TrellisSurfaceStatusResponse": { "properties": { "status": { "anyOf": [{ "properties": { "liveImplementer": { "type": "boolean" }, "runtime": { "anyOf": [{ "const": "live", "type": "string" }, { "const": "no_live_implementer", "type": "string" }, { "const": "disabled", "type": "string" }] }, "state": { "const": "available", "type": "string" } }, "required": ["state", "liveImplementer", "runtime"], "type": "object" }, { "properties": { "reason": { "anyOf": [{ "const": "authority_unavailable", "type": "string" }] }, "state": { "const": "unavailable", "type": "string" } }, "required": ["state", "reason"], "type": "object" }, { "properties": { "missingCapabilities": { "items": { "type": "string" }, "type": "array" }, "state": { "const": "unauthorized", "type": "string" } }, "required": ["state", "missingCapabilities"], "type": "object" }, { "properties": { "contractId": { "minLength": 1, "type": "string" }, "state": { "const": "unknown_contract", "type": "string" } }, "required": ["state", "contractId"], "type": "object" }, { "properties": { "contractId": { "minLength": 1, "type": "string" }, "kind": { "minLength": 1, "type": "string" }, "state": { "const": "unknown_surface", "type": "string" }, "surface": { "minLength": 1, "type": "string" } }, "required": ["state", "contractId", "kind", "surface"], "type": "object" }] } }, "required": ["status"], "type": "object" } }, "uses": { "required": { "health": { "contract": "trellis.health@v1", "events": { "publish": ["Health.Heartbeat"] } } } } };
8
+ exports.CONTRACT = {
9
+ "capabilities": {
10
+ "trellis.core::catalog.read": {
11
+ "description": "List the installed Trellis contract catalog.",
12
+ "displayName": "Read contract catalog",
13
+ },
14
+ "trellis.core::contract.read": {
15
+ "description": "Read installed contract manifests and metadata.",
16
+ "displayName": "Read installed contracts",
17
+ },
18
+ },
19
+ "description": "Trellis runtime RPCs available to all connected participants.",
20
+ "displayName": "Trellis Core",
21
+ "docs": {
22
+ "markdown": "Exposes the Trellis catalog, contract details, runtime bindings, and surface availability checks used by platform participants.",
23
+ "summary": "Runtime catalog and binding APIs.",
24
+ },
25
+ "format": "trellis.contract.v1",
26
+ "id": "trellis.core@v1",
27
+ "kind": "service",
28
+ "rpc": {
29
+ "Trellis.Bindings.Get": {
30
+ "capabilities": { "call": ["service"] },
31
+ "docs": {
32
+ "markdown": "Returns runtime resource bindings for the caller's active service contract.",
33
+ "summary": "Read service resource bindings.",
34
+ },
35
+ "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }],
36
+ "input": { "schema": "TrellisBindingsGetRequest" },
37
+ "internal": true,
38
+ "output": { "schema": "TrellisBindingsGetResponse" },
39
+ "subject": "rpc.v1.Trellis.Bindings.Get",
40
+ "version": "v1",
41
+ },
42
+ "Trellis.Catalog": {
43
+ "capabilities": { "call": ["trellis.core::catalog.read"] },
44
+ "docs": {
45
+ "markdown": "Returns the active contract catalog entries available in the deployment.",
46
+ "summary": "List visible contracts.",
47
+ },
48
+ "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }],
49
+ "input": { "schema": "TrellisCatalogRequest" },
50
+ "output": { "schema": "TrellisCatalogResponse" },
51
+ "subject": "rpc.v1.Trellis.Catalog",
52
+ "version": "v1",
53
+ },
54
+ "Trellis.Contract.Get": {
55
+ "capabilities": { "call": ["trellis.core::contract.read"] },
56
+ "docs": {
57
+ "markdown": "Returns the normalized contract manifest for a known contract digest.",
58
+ "summary": "Read one contract manifest.",
59
+ },
60
+ "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }],
61
+ "input": { "schema": "TrellisContractGetRequest" },
62
+ "output": { "schema": "TrellisContractGetResponse" },
63
+ "subject": "rpc.v1.Trellis.Contract.Get",
64
+ "version": "v1",
65
+ },
66
+ "Trellis.Surface.Status": {
67
+ "capabilities": { "call": ["trellis.core::catalog.read"] },
68
+ "docs": {
69
+ "markdown": "Reports capability and deployment authority status for a contract-owned surface.",
70
+ "summary": "Inspect surface availability.",
71
+ },
72
+ "errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }],
73
+ "input": { "schema": "TrellisSurfaceStatusRequest" },
74
+ "output": { "schema": "TrellisSurfaceStatusResponse" },
75
+ "subject": "rpc.v1.Trellis.Surface.Status",
76
+ "version": "v1",
77
+ },
78
+ },
79
+ "schemas": {
80
+ "TrellisBindingsGetRequest": {
81
+ "properties": {
82
+ "contractId": { "minLength": 1, "type": "string" },
83
+ "digest": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" },
84
+ },
85
+ "type": "object",
86
+ },
87
+ "TrellisBindingsGetResponse": {
88
+ "properties": {
89
+ "binding": {
90
+ "properties": {
91
+ "contractId": { "minLength": 1, "type": "string" },
92
+ "digest": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" },
93
+ "resources": {
94
+ "properties": {
95
+ "eventConsumers": {
96
+ "patternProperties": {
97
+ "^.*$": {
98
+ "properties": {
99
+ "ackWaitMs": { "minimum": 1, "type": "integer" },
100
+ "backoffMs": {
101
+ "items": { "minimum": 0, "type": "integer" },
102
+ "type": "array",
103
+ },
104
+ "concurrency": { "minimum": 1, "type": "integer" },
105
+ "consumerName": { "minLength": 1, "type": "string" },
106
+ "filterSubjects": {
107
+ "items": { "minLength": 1, "type": "string" },
108
+ "type": "array",
109
+ },
110
+ "maxDeliver": { "minimum": 1, "type": "integer" },
111
+ "ordering": { "const": "strict", "type": "string" },
112
+ "replay": {
113
+ "anyOf": [{ "const": "new", "type": "string" }, {
114
+ "const": "all",
115
+ "type": "string",
116
+ }],
117
+ },
118
+ "stream": { "minLength": 1, "type": "string" },
119
+ },
120
+ "required": [
121
+ "stream",
122
+ "consumerName",
123
+ "filterSubjects",
124
+ "replay",
125
+ "ordering",
126
+ "concurrency",
127
+ "ackWaitMs",
128
+ "maxDeliver",
129
+ "backoffMs",
130
+ ],
131
+ "type": "object",
132
+ },
133
+ },
134
+ "type": "object",
135
+ },
136
+ "jobs": {
137
+ "properties": {
138
+ "namespace": { "minLength": 1, "type": "string" },
139
+ "queues": {
140
+ "patternProperties": {
141
+ "^.*$": {
142
+ "properties": {
143
+ "ackWaitMs": { "minimum": 1, "type": "integer" },
144
+ "backoffMs": {
145
+ "items": { "minimum": 0, "type": "integer" },
146
+ "type": "array",
147
+ },
148
+ "concurrency": { "minimum": 1, "type": "integer" },
149
+ "consumerName": {
150
+ "minLength": 1,
151
+ "type": "string",
152
+ },
153
+ "defaultDeadlineMs": {
154
+ "minimum": 1,
155
+ "type": "integer",
156
+ },
157
+ "dlq": { "type": "boolean" },
158
+ "logs": { "type": "boolean" },
159
+ "maxDeliver": { "minimum": 1, "type": "integer" },
160
+ "payload": {
161
+ "properties": {
162
+ "schema": { "minLength": 1, "type": "string" },
163
+ },
164
+ "required": ["schema"],
165
+ "type": "object",
166
+ },
167
+ "progress": { "type": "boolean" },
168
+ "publishPrefix": {
169
+ "minLength": 1,
170
+ "type": "string",
171
+ },
172
+ "queueType": { "minLength": 1, "type": "string" },
173
+ "result": {
174
+ "properties": {
175
+ "schema": { "minLength": 1, "type": "string" },
176
+ },
177
+ "required": ["schema"],
178
+ "type": "object",
179
+ },
180
+ "workSubject": { "minLength": 1, "type": "string" },
181
+ },
182
+ "required": [
183
+ "queueType",
184
+ "publishPrefix",
185
+ "workSubject",
186
+ "consumerName",
187
+ "payload",
188
+ "maxDeliver",
189
+ "backoffMs",
190
+ "ackWaitMs",
191
+ "progress",
192
+ "logs",
193
+ "dlq",
194
+ "concurrency",
195
+ ],
196
+ "type": "object",
197
+ },
198
+ },
199
+ "type": "object",
200
+ },
201
+ "workStream": { "minLength": 1, "type": "string" },
202
+ },
203
+ "required": ["namespace", "queues"],
204
+ "type": "object",
205
+ },
206
+ "kv": {
207
+ "patternProperties": {
208
+ "^.*$": {
209
+ "properties": {
210
+ "bucket": { "minLength": 1, "type": "string" },
211
+ "history": { "minimum": 1, "type": "integer" },
212
+ "maxValueBytes": { "minimum": 1, "type": "integer" },
213
+ "ttlMs": { "minimum": 0, "type": "integer" },
214
+ },
215
+ "required": ["bucket", "history", "ttlMs"],
216
+ "type": "object",
217
+ },
218
+ },
219
+ "type": "object",
220
+ },
221
+ "store": {
222
+ "patternProperties": {
223
+ "^.*$": {
224
+ "properties": {
225
+ "maxObjectBytes": { "minimum": 1, "type": "integer" },
226
+ "maxTotalBytes": { "minimum": 1, "type": "integer" },
227
+ "name": { "minLength": 1, "type": "string" },
228
+ "ttlMs": { "minimum": 0, "type": "integer" },
229
+ },
230
+ "required": ["name", "ttlMs"],
231
+ "type": "object",
232
+ },
233
+ },
234
+ "type": "object",
235
+ },
236
+ },
237
+ "type": "object",
238
+ },
239
+ },
240
+ "required": ["contractId", "digest", "resources"],
241
+ "type": "object",
242
+ },
243
+ "eventConsumers": {
244
+ "patternProperties": {
245
+ "^.*$": {
246
+ "properties": {
247
+ "ackWaitMs": { "minimum": 1, "type": "integer" },
248
+ "backoffMs": {
249
+ "items": { "minimum": 0, "type": "integer" },
250
+ "type": "array",
251
+ },
252
+ "concurrency": { "minimum": 1, "type": "integer" },
253
+ "consumerName": { "minLength": 1, "type": "string" },
254
+ "filterSubjects": {
255
+ "items": { "minLength": 1, "type": "string" },
256
+ "type": "array",
257
+ },
258
+ "maxDeliver": { "minimum": 1, "type": "integer" },
259
+ "ordering": { "const": "strict", "type": "string" },
260
+ "replay": {
261
+ "anyOf": [{ "const": "new", "type": "string" }, {
262
+ "const": "all",
263
+ "type": "string",
264
+ }],
265
+ },
266
+ "stream": { "minLength": 1, "type": "string" },
267
+ },
268
+ "required": [
269
+ "stream",
270
+ "consumerName",
271
+ "filterSubjects",
272
+ "replay",
273
+ "ordering",
274
+ "concurrency",
275
+ "ackWaitMs",
276
+ "maxDeliver",
277
+ "backoffMs",
278
+ ],
279
+ "type": "object",
280
+ },
281
+ },
282
+ "type": "object",
283
+ },
284
+ },
285
+ "type": "object",
286
+ },
287
+ "TrellisCatalogRequest": { "properties": {}, "type": "object" },
288
+ "TrellisCatalogResponse": {
289
+ "properties": {
290
+ "catalog": {
291
+ "properties": {
292
+ "contracts": {
293
+ "items": {
294
+ "properties": {
295
+ "description": { "minLength": 1, "type": "string" },
296
+ "digest": { "type": "string" },
297
+ "displayName": { "minLength": 1, "type": "string" },
298
+ "id": { "type": "string" },
299
+ },
300
+ "required": ["id", "digest", "displayName", "description"],
301
+ "type": "object",
302
+ },
303
+ "type": "array",
304
+ },
305
+ "format": { "const": "trellis.catalog.v1", "type": "string" },
306
+ "issues": {
307
+ "items": {
308
+ "properties": {
309
+ "actions": {
310
+ "items": {
311
+ "properties": {
312
+ "action": {
313
+ "anyOf": [{
314
+ "const": "keep-current",
315
+ "type": "string",
316
+ }, { "const": "force-replace", "type": "string" }],
317
+ },
318
+ "deploymentIds": {
319
+ "items": { "type": "string" },
320
+ "type": "array",
321
+ },
322
+ "description": { "minLength": 1, "type": "string" },
323
+ "digests": {
324
+ "items": { "type": "string" },
325
+ "type": "array",
326
+ },
327
+ "label": { "minLength": 1, "type": "string" },
328
+ "risk": {
329
+ "anyOf": [{
330
+ "const": "recommended",
331
+ "type": "string",
332
+ }, { "const": "dangerous", "type": "string" }],
333
+ },
334
+ },
335
+ "required": [
336
+ "action",
337
+ "label",
338
+ "description",
339
+ "risk",
340
+ "deploymentIds",
341
+ "digests",
342
+ ],
343
+ "type": "object",
344
+ },
345
+ "type": "array",
346
+ },
347
+ "conflictingDeploymentIds": {
348
+ "items": { "type": "string" },
349
+ "type": "array",
350
+ },
351
+ "conflictingDigest": { "type": "string" },
352
+ "conflictingDigests": {
353
+ "items": { "type": "string" },
354
+ "type": "array",
355
+ },
356
+ "contractId": { "type": "string" },
357
+ "deploymentIds": {
358
+ "items": { "type": "string" },
359
+ "type": "array",
360
+ },
361
+ "digest": { "type": "string" },
362
+ "effectiveDeploymentIds": {
363
+ "items": { "type": "string" },
364
+ "type": "array",
365
+ },
366
+ "effectiveDigests": {
367
+ "items": { "type": "string" },
368
+ "type": "array",
369
+ },
370
+ "issueId": { "minLength": 1, "type": "string" },
371
+ "kind": {
372
+ "anyOf": [
373
+ { "const": "missing-active-contract", "type": "string" },
374
+ { "const": "invalid-active-contract", "type": "string" },
375
+ {
376
+ "const": "incompatible-active-contract",
377
+ "type": "string",
378
+ },
379
+ {
380
+ "const": "invalid-active-contract-uses",
381
+ "type": "string",
382
+ },
383
+ ],
384
+ },
385
+ "message": { "minLength": 1, "type": "string" },
386
+ },
387
+ "required": [
388
+ "issueId",
389
+ "kind",
390
+ "message",
391
+ "deploymentIds",
392
+ "actions",
393
+ ],
394
+ "type": "object",
395
+ },
396
+ "type": "array",
397
+ },
398
+ },
399
+ "required": ["format", "contracts"],
400
+ "type": "object",
401
+ },
402
+ },
403
+ "required": ["catalog"],
404
+ "type": "object",
405
+ },
406
+ "TrellisContractGetRequest": {
407
+ "properties": {
408
+ "digest": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" },
409
+ },
410
+ "required": ["digest"],
411
+ "type": "object",
412
+ },
413
+ "TrellisContractGetResponse": {
414
+ "properties": {
415
+ "contract": {
416
+ "properties": {
417
+ "description": { "minLength": 1, "type": "string" },
418
+ "displayName": { "minLength": 1, "type": "string" },
419
+ "docs": {
420
+ "properties": {
421
+ "markdown": { "type": "string" },
422
+ "summary": { "type": "string" },
423
+ },
424
+ "required": ["markdown"],
425
+ "type": "object",
426
+ },
427
+ "errors": {
428
+ "patternProperties": { "^.*$": { "type": "object" } },
429
+ "type": "object",
430
+ },
431
+ "events": {
432
+ "patternProperties": { "^.*$": { "type": "object" } },
433
+ "type": "object",
434
+ },
435
+ "exports": {
436
+ "properties": {
437
+ "schemas": {
438
+ "items": { "minLength": 1, "type": "string" },
439
+ "type": "array",
440
+ },
441
+ },
442
+ "type": "object",
443
+ },
444
+ "format": { "const": "trellis.contract.v1", "type": "string" },
445
+ "id": { "minLength": 1, "type": "string" },
446
+ "jobs": {
447
+ "patternProperties": {
448
+ "^.*$": {
449
+ "properties": {
450
+ "ackWaitMs": { "minimum": 1, "type": "integer" },
451
+ "backoffMs": {
452
+ "items": { "minimum": 0, "type": "integer" },
453
+ "type": "array",
454
+ },
455
+ "concurrency": { "minimum": 1, "type": "integer" },
456
+ "defaultDeadlineMs": { "minimum": 1, "type": "integer" },
457
+ "dlq": { "type": "boolean" },
458
+ "docs": {
459
+ "properties": {
460
+ "markdown": { "type": "string" },
461
+ "summary": { "type": "string" },
462
+ },
463
+ "required": ["markdown"],
464
+ "type": "object",
465
+ },
466
+ "logs": { "type": "boolean" },
467
+ "maxDeliver": { "minimum": 1, "type": "integer" },
468
+ "payload": {
469
+ "properties": {
470
+ "schema": { "minLength": 1, "type": "string" },
471
+ },
472
+ "required": ["schema"],
473
+ "type": "object",
474
+ },
475
+ "progress": { "type": "boolean" },
476
+ "result": {
477
+ "properties": {
478
+ "schema": { "minLength": 1, "type": "string" },
479
+ },
480
+ "required": ["schema"],
481
+ "type": "object",
482
+ },
483
+ },
484
+ "required": ["payload"],
485
+ "type": "object",
486
+ },
487
+ },
488
+ "type": "object",
489
+ },
490
+ "kind": {
491
+ "anyOf": [
492
+ { "const": "service", "type": "string" },
493
+ { "const": "app", "type": "string" },
494
+ { "const": "device", "type": "string" },
495
+ { "const": "agent", "type": "string" },
496
+ ],
497
+ },
498
+ "operations": {
499
+ "patternProperties": { "^.*$": { "type": "object" } },
500
+ "type": "object",
501
+ },
502
+ "resources": {
503
+ "additionalProperties": false,
504
+ "properties": {
505
+ "kv": {
506
+ "patternProperties": {
507
+ "^.*$": {
508
+ "properties": {
509
+ "docs": {
510
+ "properties": {
511
+ "markdown": { "type": "string" },
512
+ "summary": { "type": "string" },
513
+ },
514
+ "required": ["markdown"],
515
+ "type": "object",
516
+ },
517
+ "history": {
518
+ "default": 1,
519
+ "minimum": 1,
520
+ "type": "integer",
521
+ },
522
+ "maxValueBytes": { "minimum": 1, "type": "integer" },
523
+ "purpose": { "minLength": 1, "type": "string" },
524
+ "required": { "default": true, "type": "boolean" },
525
+ "schema": {
526
+ "properties": {
527
+ "schema": { "minLength": 1, "type": "string" },
528
+ },
529
+ "required": ["schema"],
530
+ "type": "object",
531
+ },
532
+ "ttlMs": {
533
+ "default": 0,
534
+ "minimum": 0,
535
+ "type": "integer",
536
+ },
537
+ },
538
+ "required": ["purpose", "schema"],
539
+ "type": "object",
540
+ },
541
+ },
542
+ "type": "object",
543
+ },
544
+ "store": {
545
+ "patternProperties": {
546
+ "^.*$": {
547
+ "properties": {
548
+ "docs": {
549
+ "properties": {
550
+ "markdown": { "type": "string" },
551
+ "summary": { "type": "string" },
552
+ },
553
+ "required": ["markdown"],
554
+ "type": "object",
555
+ },
556
+ "maxObjectBytes": { "minimum": 1, "type": "integer" },
557
+ "maxTotalBytes": { "minimum": 1, "type": "integer" },
558
+ "purpose": { "minLength": 1, "type": "string" },
559
+ "required": { "default": true, "type": "boolean" },
560
+ "ttlMs": {
561
+ "default": 0,
562
+ "minimum": 0,
563
+ "type": "integer",
564
+ },
565
+ },
566
+ "required": ["purpose"],
567
+ "type": "object",
568
+ },
569
+ },
570
+ "type": "object",
571
+ },
572
+ },
573
+ "type": "object",
574
+ },
575
+ "rpc": {
576
+ "patternProperties": { "^.*$": { "type": "object" } },
577
+ "type": "object",
578
+ },
579
+ "schemas": {
580
+ "patternProperties": {
581
+ "^.*$": {
582
+ "anyOf": [{ "type": "object" }, { "type": "boolean" }],
583
+ },
584
+ },
585
+ "type": "object",
586
+ },
587
+ "state": {
588
+ "patternProperties": {
589
+ "^.*$": {
590
+ "properties": {
591
+ "acceptedVersions": {
592
+ "patternProperties": {
593
+ "^.*$": {
594
+ "properties": {
595
+ "schema": { "minLength": 1, "type": "string" },
596
+ },
597
+ "required": ["schema"],
598
+ "type": "object",
599
+ },
600
+ },
601
+ "type": "object",
602
+ },
603
+ "docs": {
604
+ "properties": {
605
+ "markdown": { "type": "string" },
606
+ "summary": { "type": "string" },
607
+ },
608
+ "required": ["markdown"],
609
+ "type": "object",
610
+ },
611
+ "kind": {
612
+ "anyOf": [{ "const": "value", "type": "string" }, {
613
+ "const": "map",
614
+ "type": "string",
615
+ }],
616
+ },
617
+ "schema": {
618
+ "properties": {
619
+ "schema": { "minLength": 1, "type": "string" },
620
+ },
621
+ "required": ["schema"],
622
+ "type": "object",
623
+ },
624
+ "stateVersion": { "minLength": 1, "type": "string" },
625
+ },
626
+ "required": ["kind", "schema"],
627
+ "type": "object",
628
+ },
629
+ },
630
+ "type": "object",
631
+ },
632
+ "uses": {
633
+ "patternProperties": { "^.*$": { "type": "object" } },
634
+ "type": "object",
635
+ },
636
+ },
637
+ "required": ["format", "id", "displayName", "description", "kind"],
638
+ "type": "object",
639
+ },
640
+ },
641
+ "required": ["contract"],
642
+ "type": "object",
643
+ },
644
+ "TrellisSurfaceStatusRequest": {
645
+ "properties": {
646
+ "action": {
647
+ "anyOf": [
648
+ { "const": "call", "type": "string" },
649
+ { "const": "publish", "type": "string" },
650
+ { "const": "subscribe", "type": "string" },
651
+ { "const": "observe", "type": "string" },
652
+ ],
653
+ },
654
+ "contractId": { "minLength": 1, "type": "string" },
655
+ "kind": {
656
+ "anyOf": [
657
+ { "const": "rpc", "type": "string" },
658
+ { "const": "operation", "type": "string" },
659
+ { "const": "event", "type": "string" },
660
+ { "const": "feed", "type": "string" },
661
+ ],
662
+ },
663
+ "surface": { "minLength": 1, "type": "string" },
664
+ },
665
+ "required": ["contractId", "kind", "surface"],
666
+ "type": "object",
667
+ },
668
+ "TrellisSurfaceStatusResponse": {
669
+ "properties": {
670
+ "status": {
671
+ "anyOf": [{
672
+ "properties": {
673
+ "liveImplementer": { "type": "boolean" },
674
+ "runtime": {
675
+ "anyOf": [{ "const": "live", "type": "string" }, {
676
+ "const": "no_live_implementer",
677
+ "type": "string",
678
+ }, { "const": "disabled", "type": "string" }],
679
+ },
680
+ "state": { "const": "available", "type": "string" },
681
+ },
682
+ "required": ["state", "liveImplementer", "runtime"],
683
+ "type": "object",
684
+ }, {
685
+ "properties": {
686
+ "reason": {
687
+ "anyOf": [{
688
+ "const": "authority_unavailable",
689
+ "type": "string",
690
+ }],
691
+ },
692
+ "state": { "const": "unavailable", "type": "string" },
693
+ },
694
+ "required": ["state", "reason"],
695
+ "type": "object",
696
+ }, {
697
+ "properties": {
698
+ "missingCapabilities": {
699
+ "items": { "type": "string" },
700
+ "type": "array",
701
+ },
702
+ "state": { "const": "unauthorized", "type": "string" },
703
+ },
704
+ "required": ["state", "missingCapabilities"],
705
+ "type": "object",
706
+ }, {
707
+ "properties": {
708
+ "contractId": { "minLength": 1, "type": "string" },
709
+ "state": { "const": "unknown_contract", "type": "string" },
710
+ },
711
+ "required": ["state", "contractId"],
712
+ "type": "object",
713
+ }, {
714
+ "properties": {
715
+ "contractId": { "minLength": 1, "type": "string" },
716
+ "kind": { "minLength": 1, "type": "string" },
717
+ "state": { "const": "unknown_surface", "type": "string" },
718
+ "surface": { "minLength": 1, "type": "string" },
719
+ },
720
+ "required": ["state", "contractId", "kind", "surface"],
721
+ "type": "object",
722
+ }],
723
+ },
724
+ },
725
+ "required": ["status"],
726
+ "type": "object",
727
+ },
728
+ },
729
+ "uses": {
730
+ "required": {
731
+ "health": {
732
+ "contract": "trellis.health@v1",
733
+ "events": { "publish": ["Health.Heartbeat"] },
734
+ },
735
+ },
736
+ },
737
+ };
9
738
  function assertSelectedKeysExist(kind, keys, api) {
10
739
  if (!keys) {
11
740
  return;
@@ -28,27 +757,35 @@ exports.sdk = {
28
757
  CONTRACT_DIGEST: exports.CONTRACT_DIGEST,
29
758
  CONTRACT: exports.CONTRACT,
30
759
  API: api_js_1.API,
31
- use: ((spec) => {
760
+ use: (spec) => {
32
761
  assertValidUseSpec(spec);
33
762
  const dependencyUse = {
34
763
  contract: exports.CONTRACT_ID,
35
764
  ...(spec.rpc?.call ? { rpc: { call: [...spec.rpc.call] } } : {}),
36
- ...(spec.operations?.call ? { operations: { call: [...spec.operations.call] } } : {}),
765
+ ...(spec.operations?.call
766
+ ? { operations: { call: [...spec.operations.call] } }
767
+ : {}),
37
768
  ...((spec.events?.publish || spec.events?.subscribe)
38
769
  ? {
39
770
  events: {
40
- ...(spec.events.publish ? { publish: [...spec.events.publish] } : {}),
41
- ...(spec.events.subscribe ? { subscribe: [...spec.events.subscribe] } : {}),
771
+ ...(spec.events.publish
772
+ ? { publish: [...spec.events.publish] }
773
+ : {}),
774
+ ...(spec.events.subscribe
775
+ ? { subscribe: [...spec.events.subscribe] }
776
+ : {}),
42
777
  },
43
778
  }
44
779
  : {}),
45
- ...(spec.feeds?.subscribe ? { feeds: { subscribe: [...spec.feeds.subscribe] } } : {}),
780
+ ...(spec.feeds?.subscribe
781
+ ? { feeds: { subscribe: [...spec.feeds.subscribe] } }
782
+ : {}),
46
783
  };
47
784
  Object.defineProperty(dependencyUse, CONTRACT_MODULE_METADATA, {
48
785
  value: exports.sdk,
49
786
  enumerable: false,
50
787
  });
51
788
  return dependencyUse;
52
- }),
789
+ },
53
790
  };
54
791
  exports.use = exports.sdk.use;