@qlever-llc/trellis 0.10.9 → 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 (187) hide show
  1. package/esm/generated-sdk/auth/api.d.ts.map +1 -1
  2. package/esm/generated-sdk/auth/client.d.ts.map +1 -1
  3. package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
  4. package/esm/generated-sdk/auth/contract.js +9590 -7
  5. package/esm/generated-sdk/auth/mod.d.ts +3 -3
  6. package/esm/generated-sdk/auth/mod.d.ts.map +1 -1
  7. package/esm/generated-sdk/auth/mod.js +1 -1
  8. package/esm/generated-sdk/auth/owned_api.d.ts.map +1 -1
  9. package/esm/generated-sdk/auth/owned_api.js +305 -62
  10. package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
  11. package/esm/generated-sdk/auth/schemas.js +6492 -139
  12. package/esm/generated-sdk/auth/types.d.ts +254 -254
  13. package/esm/generated-sdk/auth/types.d.ts.map +1 -1
  14. package/esm/generated-sdk/health/api.d.ts.map +1 -1
  15. package/esm/generated-sdk/health/client.d.ts.map +1 -1
  16. package/esm/generated-sdk/health/contract.d.ts.map +1 -1
  17. package/esm/generated-sdk/health/contract.js +117 -7
  18. package/esm/generated-sdk/health/mod.d.ts +2 -2
  19. package/esm/generated-sdk/health/mod.d.ts.map +1 -1
  20. package/esm/generated-sdk/health/mod.js +1 -1
  21. package/esm/generated-sdk/health/owned_api.d.ts.map +1 -1
  22. package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
  23. package/esm/generated-sdk/health/schemas.js +79 -1
  24. package/esm/generated-sdk/health/types.d.ts +4 -4
  25. package/esm/generated-sdk/health/types.d.ts.map +1 -1
  26. package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
  27. package/esm/generated-sdk/jobs/api.js +12 -4
  28. package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
  29. package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
  30. package/esm/generated-sdk/jobs/contract.js +1080 -7
  31. package/esm/generated-sdk/jobs/mod.d.ts +2 -2
  32. package/esm/generated-sdk/jobs/mod.d.ts.map +1 -1
  33. package/esm/generated-sdk/jobs/mod.js +1 -1
  34. package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  35. package/esm/generated-sdk/jobs/owned_api.js +26 -6
  36. package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
  37. package/esm/generated-sdk/jobs/schemas.js +768 -18
  38. package/esm/generated-sdk/jobs/types.d.ts +14 -14
  39. package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
  40. package/esm/generated-sdk/state/api.d.ts.map +1 -1
  41. package/esm/generated-sdk/state/api.js +3 -1
  42. package/esm/generated-sdk/state/client.d.ts.map +1 -1
  43. package/esm/generated-sdk/state/contract.d.ts.map +1 -1
  44. package/esm/generated-sdk/state/contract.js +638 -7
  45. package/esm/generated-sdk/state/mod.d.ts +2 -2
  46. package/esm/generated-sdk/state/mod.d.ts.map +1 -1
  47. package/esm/generated-sdk/state/mod.js +1 -1
  48. package/esm/generated-sdk/state/owned_api.d.ts.map +1 -1
  49. package/esm/generated-sdk/state/owned_api.js +36 -8
  50. package/esm/generated-sdk/state/schemas.d.ts.map +1 -1
  51. package/esm/generated-sdk/state/schemas.js +441 -14
  52. package/esm/generated-sdk/state/types.d.ts +15 -15
  53. package/esm/generated-sdk/state/types.d.ts.map +1 -1
  54. package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
  55. package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
  56. package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  57. package/esm/generated-sdk/trellis-core/contract.js +744 -7
  58. package/esm/generated-sdk/trellis-core/mod.d.ts +2 -2
  59. package/esm/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  60. package/esm/generated-sdk/trellis-core/mod.js +1 -1
  61. package/esm/generated-sdk/trellis-core/owned_api.d.ts.map +1 -1
  62. package/esm/generated-sdk/trellis-core/owned_api.js +1 -1
  63. package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  64. package/esm/generated-sdk/trellis-core/schemas.js +626 -8
  65. package/esm/generated-sdk/trellis-core/types.d.ts +14 -14
  66. package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
  67. package/esm/server/service.d.ts +35 -13
  68. package/esm/server/service.d.ts.map +1 -1
  69. package/esm/service/deno.d.ts +1 -1
  70. package/esm/service/deno.d.ts.map +1 -1
  71. package/esm/service/mod.d.ts +1 -1
  72. package/esm/service/mod.d.ts.map +1 -1
  73. package/esm/service/node.d.ts +1 -1
  74. package/esm/service/node.d.ts.map +1 -1
  75. package/package.json +2 -2
  76. package/script/generated-sdk/auth/api.d.ts.map +1 -1
  77. package/script/generated-sdk/auth/client.d.ts.map +1 -1
  78. package/script/generated-sdk/auth/contract.d.ts.map +1 -1
  79. package/script/generated-sdk/auth/contract.js +9590 -7
  80. package/script/generated-sdk/auth/mod.d.ts +3 -3
  81. package/script/generated-sdk/auth/mod.d.ts.map +1 -1
  82. package/script/generated-sdk/auth/mod.js +2 -2
  83. package/script/generated-sdk/auth/owned_api.d.ts.map +1 -1
  84. package/script/generated-sdk/auth/owned_api.js +304 -61
  85. package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
  86. package/script/generated-sdk/auth/schemas.js +6492 -139
  87. package/script/generated-sdk/auth/types.d.ts +254 -254
  88. package/script/generated-sdk/auth/types.d.ts.map +1 -1
  89. package/script/generated-sdk/health/api.d.ts.map +1 -1
  90. package/script/generated-sdk/health/client.d.ts.map +1 -1
  91. package/script/generated-sdk/health/contract.d.ts.map +1 -1
  92. package/script/generated-sdk/health/contract.js +117 -7
  93. package/script/generated-sdk/health/mod.d.ts +2 -2
  94. package/script/generated-sdk/health/mod.d.ts.map +1 -1
  95. package/script/generated-sdk/health/mod.js +2 -2
  96. package/script/generated-sdk/health/owned_api.d.ts.map +1 -1
  97. package/script/generated-sdk/health/schemas.d.ts.map +1 -1
  98. package/script/generated-sdk/health/schemas.js +79 -1
  99. package/script/generated-sdk/health/types.d.ts +4 -4
  100. package/script/generated-sdk/health/types.d.ts.map +1 -1
  101. package/script/generated-sdk/jobs/api.d.ts.map +1 -1
  102. package/script/generated-sdk/jobs/api.js +12 -4
  103. package/script/generated-sdk/jobs/client.d.ts.map +1 -1
  104. package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
  105. package/script/generated-sdk/jobs/contract.js +1080 -7
  106. package/script/generated-sdk/jobs/mod.d.ts +2 -2
  107. package/script/generated-sdk/jobs/mod.d.ts.map +1 -1
  108. package/script/generated-sdk/jobs/mod.js +2 -2
  109. package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
  110. package/script/generated-sdk/jobs/owned_api.js +25 -5
  111. package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
  112. package/script/generated-sdk/jobs/schemas.js +768 -18
  113. package/script/generated-sdk/jobs/types.d.ts +14 -14
  114. package/script/generated-sdk/jobs/types.d.ts.map +1 -1
  115. package/script/generated-sdk/state/api.d.ts.map +1 -1
  116. package/script/generated-sdk/state/api.js +3 -1
  117. package/script/generated-sdk/state/client.d.ts.map +1 -1
  118. package/script/generated-sdk/state/contract.d.ts.map +1 -1
  119. package/script/generated-sdk/state/contract.js +638 -7
  120. package/script/generated-sdk/state/mod.d.ts +2 -2
  121. package/script/generated-sdk/state/mod.d.ts.map +1 -1
  122. package/script/generated-sdk/state/mod.js +2 -2
  123. package/script/generated-sdk/state/owned_api.d.ts.map +1 -1
  124. package/script/generated-sdk/state/owned_api.js +35 -7
  125. package/script/generated-sdk/state/schemas.d.ts.map +1 -1
  126. package/script/generated-sdk/state/schemas.js +441 -14
  127. package/script/generated-sdk/state/types.d.ts +15 -15
  128. package/script/generated-sdk/state/types.d.ts.map +1 -1
  129. package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
  130. package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
  131. package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
  132. package/script/generated-sdk/trellis-core/contract.js +744 -7
  133. package/script/generated-sdk/trellis-core/mod.d.ts +2 -2
  134. package/script/generated-sdk/trellis-core/mod.d.ts.map +1 -1
  135. package/script/generated-sdk/trellis-core/mod.js +2 -2
  136. package/script/generated-sdk/trellis-core/owned_api.d.ts.map +1 -1
  137. package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
  138. package/script/generated-sdk/trellis-core/schemas.js +626 -8
  139. package/script/generated-sdk/trellis-core/types.d.ts +14 -14
  140. package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
  141. package/script/server/service.d.ts +35 -13
  142. package/script/server/service.d.ts.map +1 -1
  143. package/script/service/deno.d.ts +1 -1
  144. package/script/service/deno.d.ts.map +1 -1
  145. package/script/service/mod.d.ts +1 -1
  146. package/script/service/mod.d.ts.map +1 -1
  147. package/script/service/node.d.ts +1 -1
  148. package/script/service/node.d.ts.map +1 -1
  149. package/src/sdk/_generated/auth/api.ts +10 -21
  150. package/src/sdk/_generated/auth/client.ts +1178 -160
  151. package/src/sdk/_generated/auth/contract.ts +9637 -13
  152. package/src/sdk/_generated/auth/mod.ts +22 -3
  153. package/src/sdk/_generated/auth/owned_api.ts +897 -264
  154. package/src/sdk/_generated/auth/schemas.ts +6630 -278
  155. package/src/sdk/_generated/auth/types.ts +2950 -359
  156. package/src/sdk/_generated/core/api.ts +10 -21
  157. package/src/sdk/_generated/core/client.ts +105 -12
  158. package/src/sdk/_generated/core/contract.ts +774 -13
  159. package/src/sdk/_generated/core/mod.ts +17 -2
  160. package/src/sdk/_generated/core/owned_api.ts +40 -24
  161. package/src/sdk/_generated/core/schemas.ts +626 -9
  162. package/src/sdk/_generated/core/types.ts +233 -18
  163. package/src/sdk/_generated/health/api.ts +10 -21
  164. package/src/sdk/_generated/health/client.ts +104 -8
  165. package/src/sdk/_generated/health/contract.ts +144 -13
  166. package/src/sdk/_generated/health/mod.ts +17 -2
  167. package/src/sdk/_generated/health/owned_api.ts +4 -9
  168. package/src/sdk/_generated/health/schemas.ts +79 -2
  169. package/src/sdk/_generated/health/types.ts +31 -4
  170. package/src/sdk/_generated/jobs/api.ts +20 -18
  171. package/src/sdk/_generated/jobs/client.ts +199 -28
  172. package/src/sdk/_generated/jobs/contract.ts +1119 -13
  173. package/src/sdk/_generated/jobs/mod.ts +17 -2
  174. package/src/sdk/_generated/jobs/owned_api.ts +64 -27
  175. package/src/sdk/_generated/jobs/schemas.ts +776 -20
  176. package/src/sdk/_generated/jobs/types.ts +407 -34
  177. package/src/sdk/_generated/state/api.ts +11 -18
  178. package/src/sdk/_generated/state/client.ts +169 -22
  179. package/src/sdk/_generated/state/contract.ts +670 -13
  180. package/src/sdk/_generated/state/mod.ts +17 -2
  181. package/src/sdk/_generated/state/owned_api.ts +65 -25
  182. package/src/sdk/_generated/state/schemas.ts +441 -15
  183. package/src/sdk/_generated/state/types.ts +229 -26
  184. package/src/server/service.ts +92 -15
  185. package/src/service/deno.ts +4 -0
  186. package/src/service/mod.ts +4 -0
  187. package/src/service/node.ts +4 -0
@@ -1,12 +1,651 @@
1
1
  // Generated from ./generated/contracts/manifests/trellis.state@v1.json
2
- import type { ContractDependencyUse, SdkContractModule, TrellisContractV1, UseSpec } from "../../../index.js";
2
+ import type {
3
+ ContractDependencyUse,
4
+ SdkContractModule,
5
+ TrellisContractV1,
6
+ UseSpec,
7
+ } from "../../../index.js";
3
8
  import { API } from "./api.js";
4
9
 
5
- const CONTRACT_MODULE_METADATA = Symbol.for("@qlever-llc/trellis/contracts/contract-module");
10
+ const CONTRACT_MODULE_METADATA = Symbol.for(
11
+ "@qlever-llc/trellis/contracts/contract-module",
12
+ );
6
13
 
7
14
  export const CONTRACT_ID = "trellis.state@v1" as const;
8
- export const CONTRACT_DIGEST = "XfWDYLTBlYFjDqMPBEXrTBccZbFvHp0MnqscehdRKT4" as const;
9
- export const CONTRACT = {"description":"Trellis-managed app state for authenticated app and device participants.","displayName":"Trellis State","docs":{"markdown":"Provides authenticated read, write, list, delete, and admin inspection APIs for Trellis-managed participant state.","summary":"Participant state storage APIs."},"format":"trellis.contract.v1","id":"trellis.state@v1","kind":"service","rpc":{"State.Admin.Delete":{"capabilities":{"call":["admin"]},"docs":{"markdown":"Deletes one state value across participants for authorized administrators.","summary":"Admin delete a state value."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StateAdminDeleteRequest"},"output":{"schema":"StateAdminDeleteResponse"},"subject":"rpc.v1.State.Admin.Delete","version":"v1"},"State.Admin.Get":{"capabilities":{"call":["admin"]},"docs":{"markdown":"Returns one state value across participants for authorized administrators.","summary":"Admin read a state value."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StateAdminGetRequest"},"output":{"schema":"StateAdminGetResponse"},"subject":"rpc.v1.State.Admin.Get","version":"v1"},"State.Admin.List":{"capabilities":{"call":["admin"]},"docs":{"markdown":"Lists state values across participants for authorized administrators.","summary":"Admin list state values."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StateAdminListRequest"},"output":{"schema":"StateAdminListResponse"},"subject":"rpc.v1.State.Admin.List","version":"v1"},"State.Delete":{"docs":{"markdown":"Deletes one state value from the caller's authorized scope.","summary":"Delete a state value."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StateDeleteRequest"},"output":{"schema":"StateDeleteResponse"},"subject":"rpc.v1.State.Delete","version":"v1"},"State.Get":{"docs":{"markdown":"Returns one state value in the caller's authorized scope.","summary":"Read a state value."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StateGetRequest"},"output":{"schema":"StateGetResponse"},"subject":"rpc.v1.State.Get","version":"v1"},"State.List":{"docs":{"markdown":"Lists state values visible to the caller for the requested scope and prefix.","summary":"List state values."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StateListRequest"},"output":{"schema":"StateListResponse"},"subject":"rpc.v1.State.List","version":"v1"},"State.Put":{"docs":{"markdown":"Creates or replaces one state value in an authorized scope.","summary":"Write a state value."},"errors":[{"type":"AuthError"},{"type":"UnexpectedError"},{"type":"ValidationError"}],"input":{"schema":"StatePutRequest"},"output":{"schema":"StatePutResponse"},"subject":"rpc.v1.State.Put","version":"v1"}},"schemas":{"JsonValue":{},"StateAdminDeleteRequest":{"anyOf":[{"properties":{"contractDigest":{"minLength":1,"type":"string"},"contractId":{"minLength":1,"type":"string"},"expectedRevision":{"minLength":1,"type":"string"},"key":{"minLength":1,"type":"string"},"scope":{"const":"userApp","type":"string"},"store":{"minLength":1,"type":"string"},"user":{"properties":{"id":{"minLength":1,"type":"string"},"origin":{"minLength":1,"type":"string"},"userId":{"minLength":1,"type":"string"}},"required":["origin","id"],"type":"object"}},"required":["scope","contractId","contractDigest","store","user"],"type":"object"},{"properties":{"contractDigest":{"minLength":1,"type":"string"},"contractId":{"minLength":1,"type":"string"},"deviceId":{"minLength":1,"type":"string"},"expectedRevision":{"minLength":1,"type":"string"},"key":{"minLength":1,"type":"string"},"scope":{"const":"deviceApp","type":"string"},"store":{"minLength":1,"type":"string"}},"required":["scope","contractId","contractDigest","store","deviceId"],"type":"object"}]},"StateAdminDeleteResponse":{"properties":{"deleted":{"type":"boolean"}},"required":["deleted"],"type":"object"},"StateAdminGetRequest":{"anyOf":[{"properties":{"contractDigest":{"minLength":1,"type":"string"},"contractId":{"minLength":1,"type":"string"},"key":{"minLength":1,"type":"string"},"scope":{"const":"userApp","type":"string"},"store":{"minLength":1,"type":"string"},"user":{"properties":{"id":{"minLength":1,"type":"string"},"origin":{"minLength":1,"type":"string"},"userId":{"minLength":1,"type":"string"}},"required":["origin","id"],"type":"object"}},"required":["scope","contractId","contractDigest","store","user"],"type":"object"},{"properties":{"contractDigest":{"minLength":1,"type":"string"},"contractId":{"minLength":1,"type":"string"},"deviceId":{"minLength":1,"type":"string"},"key":{"minLength":1,"type":"string"},"scope":{"const":"deviceApp","type":"string"},"store":{"minLength":1,"type":"string"}},"required":["scope","contractId","contractDigest","store","deviceId"],"type":"object"}]},"StateAdminGetResponse":{"anyOf":[{"properties":{"found":{"const":false,"type":"boolean"}},"required":["found"],"type":"object"},{"properties":{"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"found":{"const":true,"type":"boolean"}},"required":["found","entry"],"type":"object"},{"properties":{"currentStateVersion":{"minLength":1,"type":"string"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"migrationRequired":{"const":true,"type":"boolean"},"stateVersion":{"minLength":1,"type":"string"},"writerContractDigest":{"minLength":1,"type":"string"}},"required":["migrationRequired","entry","stateVersion","currentStateVersion","writerContractDigest"],"type":"object"}]},"StateAdminListRequest":{"anyOf":[{"properties":{"contractDigest":{"minLength":1,"type":"string"},"contractId":{"minLength":1,"type":"string"},"limit":{"minimum":0,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"prefix":{"minLength":1,"type":"string"},"scope":{"const":"userApp","type":"string"},"store":{"minLength":1,"type":"string"},"user":{"properties":{"id":{"minLength":1,"type":"string"},"origin":{"minLength":1,"type":"string"},"userId":{"minLength":1,"type":"string"}},"required":["origin","id"],"type":"object"}},"required":["limit","scope","contractId","contractDigest","store","user"],"type":"object"},{"properties":{"contractDigest":{"minLength":1,"type":"string"},"contractId":{"minLength":1,"type":"string"},"deviceId":{"minLength":1,"type":"string"},"limit":{"minimum":0,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"prefix":{"minLength":1,"type":"string"},"scope":{"const":"deviceApp","type":"string"},"store":{"minLength":1,"type":"string"}},"required":["limit","scope","contractId","contractDigest","store","deviceId"],"type":"object"}]},"StateAdminListResponse":{"properties":{"count":{"minimum":0,"type":"integer"},"entries":{"default":[],"items":{"anyOf":[{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},{"properties":{"currentStateVersion":{"minLength":1,"type":"string"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"migrationRequired":{"const":true,"type":"boolean"},"stateVersion":{"minLength":1,"type":"string"},"writerContractDigest":{"minLength":1,"type":"string"}},"required":["migrationRequired","entry","stateVersion","currentStateVersion","writerContractDigest"],"type":"object"}]},"type":"array"},"limit":{"minimum":0,"type":"integer"},"nextOffset":{"minimum":0,"type":"integer"},"offset":{"minimum":0,"type":"integer"}},"required":["entries","count","offset","limit"],"type":"object"},"StateDeleteRequest":{"properties":{"expectedRevision":{"minLength":1,"type":"string"},"key":{"minLength":1,"type":"string"},"store":{"minLength":1,"type":"string"}},"required":["store"],"type":"object"},"StateDeleteResponse":{"properties":{"deleted":{"type":"boolean"}},"required":["deleted"],"type":"object"},"StateEntry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"StateGetRequest":{"properties":{"key":{"minLength":1,"type":"string"},"store":{"minLength":1,"type":"string"}},"required":["store"],"type":"object"},"StateGetResponse":{"anyOf":[{"properties":{"found":{"const":false,"type":"boolean"}},"required":["found"],"type":"object"},{"properties":{"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"found":{"const":true,"type":"boolean"}},"required":["found","entry"],"type":"object"},{"properties":{"currentStateVersion":{"minLength":1,"type":"string"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"migrationRequired":{"const":true,"type":"boolean"},"stateVersion":{"minLength":1,"type":"string"},"writerContractDigest":{"minLength":1,"type":"string"}},"required":["migrationRequired","entry","stateVersion","currentStateVersion","writerContractDigest"],"type":"object"}]},"StateListRequest":{"properties":{"limit":{"minimum":0,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"prefix":{"minLength":1,"type":"string"},"store":{"minLength":1,"type":"string"}},"required":["limit","store"],"type":"object"},"StateListResponse":{"properties":{"count":{"minimum":0,"type":"integer"},"entries":{"default":[],"items":{"anyOf":[{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},{"properties":{"currentStateVersion":{"minLength":1,"type":"string"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"migrationRequired":{"const":true,"type":"boolean"},"stateVersion":{"minLength":1,"type":"string"},"writerContractDigest":{"minLength":1,"type":"string"}},"required":["migrationRequired","entry","stateVersion","currentStateVersion","writerContractDigest"],"type":"object"}]},"type":"array"},"limit":{"minimum":0,"type":"integer"},"nextOffset":{"minimum":0,"type":"integer"},"offset":{"minimum":0,"type":"integer"}},"required":["entries","count","offset","limit"],"type":"object"},"StateMigrationRequired":{"properties":{"currentStateVersion":{"minLength":1,"type":"string"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"migrationRequired":{"const":true,"type":"boolean"},"stateVersion":{"minLength":1,"type":"string"},"writerContractDigest":{"minLength":1,"type":"string"}},"required":["migrationRequired","entry","stateVersion","currentStateVersion","writerContractDigest"],"type":"object"},"StatePutRequest":{"properties":{"expectedRevision":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"key":{"minLength":1,"type":"string"},"store":{"minLength":1,"type":"string"},"ttlMs":{"minimum":1,"type":"integer"},"value":{}},"required":["store","value"],"type":"object"},"StatePutResponse":{"anyOf":[{"properties":{"applied":{"const":true,"type":"boolean"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"}},"required":["applied","entry"],"type":"object"},{"properties":{"applied":{"const":false,"type":"boolean"},"entry":{"anyOf":[{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},{"properties":{"currentStateVersion":{"minLength":1,"type":"string"},"entry":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"key":{"minLength":1,"type":"string"},"revision":{"minLength":1,"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"value":{}},"required":["value","revision","updatedAt"],"type":"object"},"migrationRequired":{"const":true,"type":"boolean"},"stateVersion":{"minLength":1,"type":"string"},"writerContractDigest":{"minLength":1,"type":"string"}},"required":["migrationRequired","entry","stateVersion","currentStateVersion","writerContractDigest"],"type":"object"}]},"found":{"type":"boolean"}},"required":["applied","found"],"type":"object"}]},"StateScope":{"anyOf":[{"const":"userApp","type":"string"},{"const":"deviceApp","type":"string"}]},"StateUserTarget":{"properties":{"id":{"minLength":1,"type":"string"},"origin":{"minLength":1,"type":"string"},"userId":{"minLength":1,"type":"string"}},"required":["origin","id"],"type":"object"}},"uses":{"required":{"health":{"contract":"trellis.health@v1","events":{"publish":["Health.Heartbeat"]}}}}} as TrellisContractV1;
15
+ export const CONTRACT_DIGEST =
16
+ "XfWDYLTBlYFjDqMPBEXrTBccZbFvHp0MnqscehdRKT4" as const;
17
+ export const CONTRACT = {
18
+ "description":
19
+ "Trellis-managed app state for authenticated app and device participants.",
20
+ "displayName": "Trellis State",
21
+ "docs": {
22
+ "markdown":
23
+ "Provides authenticated read, write, list, delete, and admin inspection APIs for Trellis-managed participant state.",
24
+ "summary": "Participant state storage APIs.",
25
+ },
26
+ "format": "trellis.contract.v1",
27
+ "id": "trellis.state@v1",
28
+ "kind": "service",
29
+ "rpc": {
30
+ "State.Admin.Delete": {
31
+ "capabilities": { "call": ["admin"] },
32
+ "docs": {
33
+ "markdown":
34
+ "Deletes one state value across participants for authorized administrators.",
35
+ "summary": "Admin delete a state value.",
36
+ },
37
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
38
+ "type": "ValidationError",
39
+ }],
40
+ "input": { "schema": "StateAdminDeleteRequest" },
41
+ "output": { "schema": "StateAdminDeleteResponse" },
42
+ "subject": "rpc.v1.State.Admin.Delete",
43
+ "version": "v1",
44
+ },
45
+ "State.Admin.Get": {
46
+ "capabilities": { "call": ["admin"] },
47
+ "docs": {
48
+ "markdown":
49
+ "Returns one state value across participants for authorized administrators.",
50
+ "summary": "Admin read a state value.",
51
+ },
52
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
53
+ "type": "ValidationError",
54
+ }],
55
+ "input": { "schema": "StateAdminGetRequest" },
56
+ "output": { "schema": "StateAdminGetResponse" },
57
+ "subject": "rpc.v1.State.Admin.Get",
58
+ "version": "v1",
59
+ },
60
+ "State.Admin.List": {
61
+ "capabilities": { "call": ["admin"] },
62
+ "docs": {
63
+ "markdown":
64
+ "Lists state values across participants for authorized administrators.",
65
+ "summary": "Admin list state values.",
66
+ },
67
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
68
+ "type": "ValidationError",
69
+ }],
70
+ "input": { "schema": "StateAdminListRequest" },
71
+ "output": { "schema": "StateAdminListResponse" },
72
+ "subject": "rpc.v1.State.Admin.List",
73
+ "version": "v1",
74
+ },
75
+ "State.Delete": {
76
+ "docs": {
77
+ "markdown":
78
+ "Deletes one state value from the caller's authorized scope.",
79
+ "summary": "Delete a state value.",
80
+ },
81
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
82
+ "type": "ValidationError",
83
+ }],
84
+ "input": { "schema": "StateDeleteRequest" },
85
+ "output": { "schema": "StateDeleteResponse" },
86
+ "subject": "rpc.v1.State.Delete",
87
+ "version": "v1",
88
+ },
89
+ "State.Get": {
90
+ "docs": {
91
+ "markdown": "Returns one state value in the caller's authorized scope.",
92
+ "summary": "Read a state value.",
93
+ },
94
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
95
+ "type": "ValidationError",
96
+ }],
97
+ "input": { "schema": "StateGetRequest" },
98
+ "output": { "schema": "StateGetResponse" },
99
+ "subject": "rpc.v1.State.Get",
100
+ "version": "v1",
101
+ },
102
+ "State.List": {
103
+ "docs": {
104
+ "markdown":
105
+ "Lists state values visible to the caller for the requested scope and prefix.",
106
+ "summary": "List state values.",
107
+ },
108
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
109
+ "type": "ValidationError",
110
+ }],
111
+ "input": { "schema": "StateListRequest" },
112
+ "output": { "schema": "StateListResponse" },
113
+ "subject": "rpc.v1.State.List",
114
+ "version": "v1",
115
+ },
116
+ "State.Put": {
117
+ "docs": {
118
+ "markdown":
119
+ "Creates or replaces one state value in an authorized scope.",
120
+ "summary": "Write a state value.",
121
+ },
122
+ "errors": [{ "type": "AuthError" }, { "type": "UnexpectedError" }, {
123
+ "type": "ValidationError",
124
+ }],
125
+ "input": { "schema": "StatePutRequest" },
126
+ "output": { "schema": "StatePutResponse" },
127
+ "subject": "rpc.v1.State.Put",
128
+ "version": "v1",
129
+ },
130
+ },
131
+ "schemas": {
132
+ "JsonValue": {},
133
+ "StateAdminDeleteRequest": {
134
+ "anyOf": [{
135
+ "properties": {
136
+ "contractDigest": { "minLength": 1, "type": "string" },
137
+ "contractId": { "minLength": 1, "type": "string" },
138
+ "expectedRevision": { "minLength": 1, "type": "string" },
139
+ "key": { "minLength": 1, "type": "string" },
140
+ "scope": { "const": "userApp", "type": "string" },
141
+ "store": { "minLength": 1, "type": "string" },
142
+ "user": {
143
+ "properties": {
144
+ "id": { "minLength": 1, "type": "string" },
145
+ "origin": { "minLength": 1, "type": "string" },
146
+ "userId": { "minLength": 1, "type": "string" },
147
+ },
148
+ "required": ["origin", "id"],
149
+ "type": "object",
150
+ },
151
+ },
152
+ "required": ["scope", "contractId", "contractDigest", "store", "user"],
153
+ "type": "object",
154
+ }, {
155
+ "properties": {
156
+ "contractDigest": { "minLength": 1, "type": "string" },
157
+ "contractId": { "minLength": 1, "type": "string" },
158
+ "deviceId": { "minLength": 1, "type": "string" },
159
+ "expectedRevision": { "minLength": 1, "type": "string" },
160
+ "key": { "minLength": 1, "type": "string" },
161
+ "scope": { "const": "deviceApp", "type": "string" },
162
+ "store": { "minLength": 1, "type": "string" },
163
+ },
164
+ "required": [
165
+ "scope",
166
+ "contractId",
167
+ "contractDigest",
168
+ "store",
169
+ "deviceId",
170
+ ],
171
+ "type": "object",
172
+ }],
173
+ },
174
+ "StateAdminDeleteResponse": {
175
+ "properties": { "deleted": { "type": "boolean" } },
176
+ "required": ["deleted"],
177
+ "type": "object",
178
+ },
179
+ "StateAdminGetRequest": {
180
+ "anyOf": [{
181
+ "properties": {
182
+ "contractDigest": { "minLength": 1, "type": "string" },
183
+ "contractId": { "minLength": 1, "type": "string" },
184
+ "key": { "minLength": 1, "type": "string" },
185
+ "scope": { "const": "userApp", "type": "string" },
186
+ "store": { "minLength": 1, "type": "string" },
187
+ "user": {
188
+ "properties": {
189
+ "id": { "minLength": 1, "type": "string" },
190
+ "origin": { "minLength": 1, "type": "string" },
191
+ "userId": { "minLength": 1, "type": "string" },
192
+ },
193
+ "required": ["origin", "id"],
194
+ "type": "object",
195
+ },
196
+ },
197
+ "required": ["scope", "contractId", "contractDigest", "store", "user"],
198
+ "type": "object",
199
+ }, {
200
+ "properties": {
201
+ "contractDigest": { "minLength": 1, "type": "string" },
202
+ "contractId": { "minLength": 1, "type": "string" },
203
+ "deviceId": { "minLength": 1, "type": "string" },
204
+ "key": { "minLength": 1, "type": "string" },
205
+ "scope": { "const": "deviceApp", "type": "string" },
206
+ "store": { "minLength": 1, "type": "string" },
207
+ },
208
+ "required": [
209
+ "scope",
210
+ "contractId",
211
+ "contractDigest",
212
+ "store",
213
+ "deviceId",
214
+ ],
215
+ "type": "object",
216
+ }],
217
+ },
218
+ "StateAdminGetResponse": {
219
+ "anyOf": [{
220
+ "properties": { "found": { "const": false, "type": "boolean" } },
221
+ "required": ["found"],
222
+ "type": "object",
223
+ }, {
224
+ "properties": {
225
+ "entry": {
226
+ "properties": {
227
+ "expiresAt": { "format": "date-time", "type": "string" },
228
+ "key": { "minLength": 1, "type": "string" },
229
+ "revision": { "minLength": 1, "type": "string" },
230
+ "updatedAt": { "format": "date-time", "type": "string" },
231
+ "value": {},
232
+ },
233
+ "required": ["value", "revision", "updatedAt"],
234
+ "type": "object",
235
+ },
236
+ "found": { "const": true, "type": "boolean" },
237
+ },
238
+ "required": ["found", "entry"],
239
+ "type": "object",
240
+ }, {
241
+ "properties": {
242
+ "currentStateVersion": { "minLength": 1, "type": "string" },
243
+ "entry": {
244
+ "properties": {
245
+ "expiresAt": { "format": "date-time", "type": "string" },
246
+ "key": { "minLength": 1, "type": "string" },
247
+ "revision": { "minLength": 1, "type": "string" },
248
+ "updatedAt": { "format": "date-time", "type": "string" },
249
+ "value": {},
250
+ },
251
+ "required": ["value", "revision", "updatedAt"],
252
+ "type": "object",
253
+ },
254
+ "migrationRequired": { "const": true, "type": "boolean" },
255
+ "stateVersion": { "minLength": 1, "type": "string" },
256
+ "writerContractDigest": { "minLength": 1, "type": "string" },
257
+ },
258
+ "required": [
259
+ "migrationRequired",
260
+ "entry",
261
+ "stateVersion",
262
+ "currentStateVersion",
263
+ "writerContractDigest",
264
+ ],
265
+ "type": "object",
266
+ }],
267
+ },
268
+ "StateAdminListRequest": {
269
+ "anyOf": [{
270
+ "properties": {
271
+ "contractDigest": { "minLength": 1, "type": "string" },
272
+ "contractId": { "minLength": 1, "type": "string" },
273
+ "limit": { "minimum": 0, "type": "integer" },
274
+ "offset": { "minimum": 0, "type": "integer" },
275
+ "prefix": { "minLength": 1, "type": "string" },
276
+ "scope": { "const": "userApp", "type": "string" },
277
+ "store": { "minLength": 1, "type": "string" },
278
+ "user": {
279
+ "properties": {
280
+ "id": { "minLength": 1, "type": "string" },
281
+ "origin": { "minLength": 1, "type": "string" },
282
+ "userId": { "minLength": 1, "type": "string" },
283
+ },
284
+ "required": ["origin", "id"],
285
+ "type": "object",
286
+ },
287
+ },
288
+ "required": [
289
+ "limit",
290
+ "scope",
291
+ "contractId",
292
+ "contractDigest",
293
+ "store",
294
+ "user",
295
+ ],
296
+ "type": "object",
297
+ }, {
298
+ "properties": {
299
+ "contractDigest": { "minLength": 1, "type": "string" },
300
+ "contractId": { "minLength": 1, "type": "string" },
301
+ "deviceId": { "minLength": 1, "type": "string" },
302
+ "limit": { "minimum": 0, "type": "integer" },
303
+ "offset": { "minimum": 0, "type": "integer" },
304
+ "prefix": { "minLength": 1, "type": "string" },
305
+ "scope": { "const": "deviceApp", "type": "string" },
306
+ "store": { "minLength": 1, "type": "string" },
307
+ },
308
+ "required": [
309
+ "limit",
310
+ "scope",
311
+ "contractId",
312
+ "contractDigest",
313
+ "store",
314
+ "deviceId",
315
+ ],
316
+ "type": "object",
317
+ }],
318
+ },
319
+ "StateAdminListResponse": {
320
+ "properties": {
321
+ "count": { "minimum": 0, "type": "integer" },
322
+ "entries": {
323
+ "default": [],
324
+ "items": {
325
+ "anyOf": [{
326
+ "properties": {
327
+ "expiresAt": { "format": "date-time", "type": "string" },
328
+ "key": { "minLength": 1, "type": "string" },
329
+ "revision": { "minLength": 1, "type": "string" },
330
+ "updatedAt": { "format": "date-time", "type": "string" },
331
+ "value": {},
332
+ },
333
+ "required": ["value", "revision", "updatedAt"],
334
+ "type": "object",
335
+ }, {
336
+ "properties": {
337
+ "currentStateVersion": { "minLength": 1, "type": "string" },
338
+ "entry": {
339
+ "properties": {
340
+ "expiresAt": { "format": "date-time", "type": "string" },
341
+ "key": { "minLength": 1, "type": "string" },
342
+ "revision": { "minLength": 1, "type": "string" },
343
+ "updatedAt": { "format": "date-time", "type": "string" },
344
+ "value": {},
345
+ },
346
+ "required": ["value", "revision", "updatedAt"],
347
+ "type": "object",
348
+ },
349
+ "migrationRequired": { "const": true, "type": "boolean" },
350
+ "stateVersion": { "minLength": 1, "type": "string" },
351
+ "writerContractDigest": { "minLength": 1, "type": "string" },
352
+ },
353
+ "required": [
354
+ "migrationRequired",
355
+ "entry",
356
+ "stateVersion",
357
+ "currentStateVersion",
358
+ "writerContractDigest",
359
+ ],
360
+ "type": "object",
361
+ }],
362
+ },
363
+ "type": "array",
364
+ },
365
+ "limit": { "minimum": 0, "type": "integer" },
366
+ "nextOffset": { "minimum": 0, "type": "integer" },
367
+ "offset": { "minimum": 0, "type": "integer" },
368
+ },
369
+ "required": ["entries", "count", "offset", "limit"],
370
+ "type": "object",
371
+ },
372
+ "StateDeleteRequest": {
373
+ "properties": {
374
+ "expectedRevision": { "minLength": 1, "type": "string" },
375
+ "key": { "minLength": 1, "type": "string" },
376
+ "store": { "minLength": 1, "type": "string" },
377
+ },
378
+ "required": ["store"],
379
+ "type": "object",
380
+ },
381
+ "StateDeleteResponse": {
382
+ "properties": { "deleted": { "type": "boolean" } },
383
+ "required": ["deleted"],
384
+ "type": "object",
385
+ },
386
+ "StateEntry": {
387
+ "properties": {
388
+ "expiresAt": { "format": "date-time", "type": "string" },
389
+ "key": { "minLength": 1, "type": "string" },
390
+ "revision": { "minLength": 1, "type": "string" },
391
+ "updatedAt": { "format": "date-time", "type": "string" },
392
+ "value": {},
393
+ },
394
+ "required": ["value", "revision", "updatedAt"],
395
+ "type": "object",
396
+ },
397
+ "StateGetRequest": {
398
+ "properties": {
399
+ "key": { "minLength": 1, "type": "string" },
400
+ "store": { "minLength": 1, "type": "string" },
401
+ },
402
+ "required": ["store"],
403
+ "type": "object",
404
+ },
405
+ "StateGetResponse": {
406
+ "anyOf": [{
407
+ "properties": { "found": { "const": false, "type": "boolean" } },
408
+ "required": ["found"],
409
+ "type": "object",
410
+ }, {
411
+ "properties": {
412
+ "entry": {
413
+ "properties": {
414
+ "expiresAt": { "format": "date-time", "type": "string" },
415
+ "key": { "minLength": 1, "type": "string" },
416
+ "revision": { "minLength": 1, "type": "string" },
417
+ "updatedAt": { "format": "date-time", "type": "string" },
418
+ "value": {},
419
+ },
420
+ "required": ["value", "revision", "updatedAt"],
421
+ "type": "object",
422
+ },
423
+ "found": { "const": true, "type": "boolean" },
424
+ },
425
+ "required": ["found", "entry"],
426
+ "type": "object",
427
+ }, {
428
+ "properties": {
429
+ "currentStateVersion": { "minLength": 1, "type": "string" },
430
+ "entry": {
431
+ "properties": {
432
+ "expiresAt": { "format": "date-time", "type": "string" },
433
+ "key": { "minLength": 1, "type": "string" },
434
+ "revision": { "minLength": 1, "type": "string" },
435
+ "updatedAt": { "format": "date-time", "type": "string" },
436
+ "value": {},
437
+ },
438
+ "required": ["value", "revision", "updatedAt"],
439
+ "type": "object",
440
+ },
441
+ "migrationRequired": { "const": true, "type": "boolean" },
442
+ "stateVersion": { "minLength": 1, "type": "string" },
443
+ "writerContractDigest": { "minLength": 1, "type": "string" },
444
+ },
445
+ "required": [
446
+ "migrationRequired",
447
+ "entry",
448
+ "stateVersion",
449
+ "currentStateVersion",
450
+ "writerContractDigest",
451
+ ],
452
+ "type": "object",
453
+ }],
454
+ },
455
+ "StateListRequest": {
456
+ "properties": {
457
+ "limit": { "minimum": 0, "type": "integer" },
458
+ "offset": { "minimum": 0, "type": "integer" },
459
+ "prefix": { "minLength": 1, "type": "string" },
460
+ "store": { "minLength": 1, "type": "string" },
461
+ },
462
+ "required": ["limit", "store"],
463
+ "type": "object",
464
+ },
465
+ "StateListResponse": {
466
+ "properties": {
467
+ "count": { "minimum": 0, "type": "integer" },
468
+ "entries": {
469
+ "default": [],
470
+ "items": {
471
+ "anyOf": [{
472
+ "properties": {
473
+ "expiresAt": { "format": "date-time", "type": "string" },
474
+ "key": { "minLength": 1, "type": "string" },
475
+ "revision": { "minLength": 1, "type": "string" },
476
+ "updatedAt": { "format": "date-time", "type": "string" },
477
+ "value": {},
478
+ },
479
+ "required": ["value", "revision", "updatedAt"],
480
+ "type": "object",
481
+ }, {
482
+ "properties": {
483
+ "currentStateVersion": { "minLength": 1, "type": "string" },
484
+ "entry": {
485
+ "properties": {
486
+ "expiresAt": { "format": "date-time", "type": "string" },
487
+ "key": { "minLength": 1, "type": "string" },
488
+ "revision": { "minLength": 1, "type": "string" },
489
+ "updatedAt": { "format": "date-time", "type": "string" },
490
+ "value": {},
491
+ },
492
+ "required": ["value", "revision", "updatedAt"],
493
+ "type": "object",
494
+ },
495
+ "migrationRequired": { "const": true, "type": "boolean" },
496
+ "stateVersion": { "minLength": 1, "type": "string" },
497
+ "writerContractDigest": { "minLength": 1, "type": "string" },
498
+ },
499
+ "required": [
500
+ "migrationRequired",
501
+ "entry",
502
+ "stateVersion",
503
+ "currentStateVersion",
504
+ "writerContractDigest",
505
+ ],
506
+ "type": "object",
507
+ }],
508
+ },
509
+ "type": "array",
510
+ },
511
+ "limit": { "minimum": 0, "type": "integer" },
512
+ "nextOffset": { "minimum": 0, "type": "integer" },
513
+ "offset": { "minimum": 0, "type": "integer" },
514
+ },
515
+ "required": ["entries", "count", "offset", "limit"],
516
+ "type": "object",
517
+ },
518
+ "StateMigrationRequired": {
519
+ "properties": {
520
+ "currentStateVersion": { "minLength": 1, "type": "string" },
521
+ "entry": {
522
+ "properties": {
523
+ "expiresAt": { "format": "date-time", "type": "string" },
524
+ "key": { "minLength": 1, "type": "string" },
525
+ "revision": { "minLength": 1, "type": "string" },
526
+ "updatedAt": { "format": "date-time", "type": "string" },
527
+ "value": {},
528
+ },
529
+ "required": ["value", "revision", "updatedAt"],
530
+ "type": "object",
531
+ },
532
+ "migrationRequired": { "const": true, "type": "boolean" },
533
+ "stateVersion": { "minLength": 1, "type": "string" },
534
+ "writerContractDigest": { "minLength": 1, "type": "string" },
535
+ },
536
+ "required": [
537
+ "migrationRequired",
538
+ "entry",
539
+ "stateVersion",
540
+ "currentStateVersion",
541
+ "writerContractDigest",
542
+ ],
543
+ "type": "object",
544
+ },
545
+ "StatePutRequest": {
546
+ "properties": {
547
+ "expectedRevision": {
548
+ "anyOf": [{ "minLength": 1, "type": "string" }, { "type": "null" }],
549
+ },
550
+ "key": { "minLength": 1, "type": "string" },
551
+ "store": { "minLength": 1, "type": "string" },
552
+ "ttlMs": { "minimum": 1, "type": "integer" },
553
+ "value": {},
554
+ },
555
+ "required": ["store", "value"],
556
+ "type": "object",
557
+ },
558
+ "StatePutResponse": {
559
+ "anyOf": [{
560
+ "properties": {
561
+ "applied": { "const": true, "type": "boolean" },
562
+ "entry": {
563
+ "properties": {
564
+ "expiresAt": { "format": "date-time", "type": "string" },
565
+ "key": { "minLength": 1, "type": "string" },
566
+ "revision": { "minLength": 1, "type": "string" },
567
+ "updatedAt": { "format": "date-time", "type": "string" },
568
+ "value": {},
569
+ },
570
+ "required": ["value", "revision", "updatedAt"],
571
+ "type": "object",
572
+ },
573
+ },
574
+ "required": ["applied", "entry"],
575
+ "type": "object",
576
+ }, {
577
+ "properties": {
578
+ "applied": { "const": false, "type": "boolean" },
579
+ "entry": {
580
+ "anyOf": [{
581
+ "properties": {
582
+ "expiresAt": { "format": "date-time", "type": "string" },
583
+ "key": { "minLength": 1, "type": "string" },
584
+ "revision": { "minLength": 1, "type": "string" },
585
+ "updatedAt": { "format": "date-time", "type": "string" },
586
+ "value": {},
587
+ },
588
+ "required": ["value", "revision", "updatedAt"],
589
+ "type": "object",
590
+ }, {
591
+ "properties": {
592
+ "currentStateVersion": { "minLength": 1, "type": "string" },
593
+ "entry": {
594
+ "properties": {
595
+ "expiresAt": { "format": "date-time", "type": "string" },
596
+ "key": { "minLength": 1, "type": "string" },
597
+ "revision": { "minLength": 1, "type": "string" },
598
+ "updatedAt": { "format": "date-time", "type": "string" },
599
+ "value": {},
600
+ },
601
+ "required": ["value", "revision", "updatedAt"],
602
+ "type": "object",
603
+ },
604
+ "migrationRequired": { "const": true, "type": "boolean" },
605
+ "stateVersion": { "minLength": 1, "type": "string" },
606
+ "writerContractDigest": { "minLength": 1, "type": "string" },
607
+ },
608
+ "required": [
609
+ "migrationRequired",
610
+ "entry",
611
+ "stateVersion",
612
+ "currentStateVersion",
613
+ "writerContractDigest",
614
+ ],
615
+ "type": "object",
616
+ }],
617
+ },
618
+ "found": { "type": "boolean" },
619
+ },
620
+ "required": ["applied", "found"],
621
+ "type": "object",
622
+ }],
623
+ },
624
+ "StateScope": {
625
+ "anyOf": [{ "const": "userApp", "type": "string" }, {
626
+ "const": "deviceApp",
627
+ "type": "string",
628
+ }],
629
+ },
630
+ "StateUserTarget": {
631
+ "properties": {
632
+ "id": { "minLength": 1, "type": "string" },
633
+ "origin": { "minLength": 1, "type": "string" },
634
+ "userId": { "minLength": 1, "type": "string" },
635
+ },
636
+ "required": ["origin", "id"],
637
+ "type": "object",
638
+ },
639
+ },
640
+ "uses": {
641
+ "required": {
642
+ "health": {
643
+ "contract": "trellis.health@v1",
644
+ "events": { "publish": ["Health.Heartbeat"] },
645
+ },
646
+ },
647
+ },
648
+ } as TrellisContractV1;
10
649
 
11
650
  function assertSelectedKeysExist(
12
651
  kind: "rpc" | "operations" | "events" | "feeds",
@@ -19,14 +658,20 @@ function assertSelectedKeysExist(
19
658
 
20
659
  for (const key of keys) {
21
660
  if (!Object.hasOwn(api, key)) {
22
- throw new Error(`Contract '${CONTRACT_ID}' does not expose ${kind} key '${key}'`);
661
+ throw new Error(
662
+ `Contract '${CONTRACT_ID}' does not expose ${kind} key '${key}'`,
663
+ );
23
664
  }
24
665
  }
25
666
  }
26
667
 
27
668
  function assertValidUseSpec(spec: UseSpec<typeof API.owned>) {
28
669
  assertSelectedKeysExist("rpc", spec.rpc?.call, API.owned.rpc);
29
- assertSelectedKeysExist("operations", spec.operations?.call, API.owned.operations);
670
+ assertSelectedKeysExist(
671
+ "operations",
672
+ spec.operations?.call,
673
+ API.owned.operations,
674
+ );
30
675
  assertSelectedKeysExist("events", spec.events?.publish, API.owned.events);
31
676
  assertSelectedKeysExist("events", spec.events?.subscribe, API.owned.events);
32
677
  assertSelectedKeysExist("feeds", spec.feeds?.subscribe, API.owned.feeds);
@@ -37,22 +682,30 @@ export const sdk: SdkContractModule<typeof CONTRACT_ID, typeof API.owned> = {
37
682
  CONTRACT_DIGEST,
38
683
  CONTRACT,
39
684
  API,
40
- use: (<const TSpec extends UseSpec<typeof API.owned>>(spec: TSpec) => {
685
+ use: <const TSpec extends UseSpec<typeof API.owned>>(spec: TSpec) => {
41
686
  assertValidUseSpec(spec);
42
687
 
43
688
  const dependencyUse = {
44
689
  contract: CONTRACT_ID,
45
690
  ...(spec.rpc?.call ? { rpc: { call: [...spec.rpc.call] } } : {}),
46
- ...(spec.operations?.call ? { operations: { call: [...spec.operations.call] } } : {}),
691
+ ...(spec.operations?.call
692
+ ? { operations: { call: [...spec.operations.call] } }
693
+ : {}),
47
694
  ...((spec.events?.publish || spec.events?.subscribe)
48
695
  ? {
49
696
  events: {
50
- ...(spec.events.publish ? { publish: [...spec.events.publish] } : {}),
51
- ...(spec.events.subscribe ? { subscribe: [...spec.events.subscribe] } : {}),
697
+ ...(spec.events.publish
698
+ ? { publish: [...spec.events.publish] }
699
+ : {}),
700
+ ...(spec.events.subscribe
701
+ ? { subscribe: [...spec.events.subscribe] }
702
+ : {}),
52
703
  },
53
704
  }
54
705
  : {}),
55
- ...(spec.feeds?.subscribe ? { feeds: { subscribe: [...spec.feeds.subscribe] } } : {}),
706
+ ...(spec.feeds?.subscribe
707
+ ? { feeds: { subscribe: [...spec.feeds.subscribe] } }
708
+ : {}),
56
709
  };
57
710
 
58
711
  Object.defineProperty(dependencyUse, CONTRACT_MODULE_METADATA, {
@@ -60,8 +713,12 @@ export const sdk: SdkContractModule<typeof CONTRACT_ID, typeof API.owned> = {
60
713
  enumerable: false,
61
714
  });
62
715
 
63
- return dependencyUse as ContractDependencyUse<typeof CONTRACT_ID, typeof API.owned, TSpec>;
64
- }),
716
+ return dependencyUse as ContractDependencyUse<
717
+ typeof CONTRACT_ID,
718
+ typeof API.owned,
719
+ TSpec
720
+ >;
721
+ },
65
722
  };
66
723
 
67
724
  export const use = sdk.use;