@openvtc/trust-tasks 0.26.14 → 0.26.16

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 (212) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/dist/_shared/components.d.ts +392 -1
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +20 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +20 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/rooms/_shared/0.1/personal-label.d.ts +16 -0
  9. package/dist/rooms/_shared/0.1/personal-label.d.ts.map +1 -0
  10. package/dist/rooms/_shared/0.1/personal-label.js +6 -0
  11. package/dist/rooms/_shared/0.1/personal-label.js.map +1 -0
  12. package/dist/rooms/_shared/0.1/room.d.ts +1 -1
  13. package/dist/rooms/_shared/0.1/room.d.ts.map +1 -1
  14. package/dist/rooms/blobs/get/0.1/payload.d.ts +4 -4
  15. package/dist/rooms/blobs/get/0.1/payload.js +2 -2
  16. package/dist/rooms/blobs/get/0.1/payload.js.map +1 -1
  17. package/dist/rooms/blobs/get/0.2/payload.d.ts +4 -4
  18. package/dist/rooms/blobs/get/0.2/payload.js +2 -2
  19. package/dist/rooms/blobs/get/0.2/payload.js.map +1 -1
  20. package/dist/rooms/blobs/upload/begin/0.1/payload.d.ts +4 -4
  21. package/dist/rooms/blobs/upload/begin/0.1/payload.js +2 -2
  22. package/dist/rooms/blobs/upload/begin/0.1/payload.js.map +1 -1
  23. package/dist/rooms/blobs/upload/begin/0.2/payload.d.ts +4 -4
  24. package/dist/rooms/blobs/upload/begin/0.2/payload.js +2 -2
  25. package/dist/rooms/blobs/upload/begin/0.2/payload.js.map +1 -1
  26. package/dist/rooms/epoch/chain/0.1/payload.d.ts +4 -4
  27. package/dist/rooms/epoch/chain/0.1/payload.js +2 -2
  28. package/dist/rooms/epoch/chain/0.1/payload.js.map +1 -1
  29. package/dist/rooms/epoch/commits/0.1/payload.d.ts +4 -4
  30. package/dist/rooms/epoch/commits/0.1/payload.js +2 -2
  31. package/dist/rooms/epoch/commits/0.1/payload.js.map +1 -1
  32. package/dist/rooms/epoch/mint/0.1/payload.d.ts +4 -4
  33. package/dist/rooms/epoch/mint/0.1/payload.js +2 -2
  34. package/dist/rooms/epoch/mint/0.1/payload.js.map +1 -1
  35. package/dist/rooms/epoch/prune/0.1/payload.d.ts +4 -4
  36. package/dist/rooms/epoch/prune/0.1/payload.js +2 -2
  37. package/dist/rooms/epoch/prune/0.1/payload.js.map +1 -1
  38. package/dist/rooms/info/0.1/payload.d.ts +4 -4
  39. package/dist/rooms/info/0.1/payload.js +2 -2
  40. package/dist/rooms/info/0.1/payload.js.map +1 -1
  41. package/dist/rooms/keys/act/0.4/payload.d.ts +546 -0
  42. package/dist/rooms/keys/act/0.4/payload.d.ts.map +1 -0
  43. package/dist/rooms/keys/act/0.4/payload.js +305 -0
  44. package/dist/rooms/keys/act/0.4/payload.js.map +1 -0
  45. package/dist/rooms/keys/label/0.1/payload.d.ts +757 -0
  46. package/dist/rooms/keys/label/0.1/payload.d.ts.map +1 -0
  47. package/dist/rooms/keys/label/0.1/payload.js +388 -0
  48. package/dist/rooms/keys/label/0.1/payload.js.map +1 -0
  49. package/dist/rooms/keys/list/0.2/payload.d.ts +667 -0
  50. package/dist/rooms/keys/list/0.2/payload.d.ts.map +1 -0
  51. package/dist/rooms/keys/list/0.2/payload.js +350 -0
  52. package/dist/rooms/keys/list/0.2/payload.js.map +1 -0
  53. package/dist/rooms/keys/present/0.2/payload.d.ts +4 -4
  54. package/dist/rooms/keys/present/0.2/payload.js +2 -2
  55. package/dist/rooms/keys/present/0.2/payload.js.map +1 -1
  56. package/dist/rooms/keys/profile/read/0.1/payload.d.ts +1652 -0
  57. package/dist/rooms/keys/profile/read/0.1/payload.d.ts.map +1 -0
  58. package/dist/rooms/keys/profile/read/0.1/payload.js +649 -0
  59. package/dist/rooms/keys/profile/read/0.1/payload.js.map +1 -0
  60. package/dist/rooms/keys/profile/write/0.1/payload.d.ts +583 -0
  61. package/dist/rooms/keys/profile/write/0.1/payload.d.ts.map +1 -0
  62. package/dist/rooms/keys/profile/write/0.1/payload.js +319 -0
  63. package/dist/rooms/keys/profile/write/0.1/payload.js.map +1 -0
  64. package/dist/rooms/owner/claim/0.1/payload.d.ts +4 -4
  65. package/dist/rooms/owner/claim/0.1/payload.js +2 -2
  66. package/dist/rooms/owner/claim/0.1/payload.js.map +1 -1
  67. package/dist/rooms/owner/group/remove/0.2/payload.d.ts +600 -0
  68. package/dist/rooms/owner/group/remove/0.2/payload.d.ts.map +1 -0
  69. package/dist/rooms/owner/group/remove/0.2/payload.js +310 -0
  70. package/dist/rooms/owner/group/remove/0.2/payload.js.map +1 -0
  71. package/dist/rooms/owner/revoke/0.1/payload.d.ts +1481 -0
  72. package/dist/rooms/owner/revoke/0.1/payload.d.ts.map +1 -0
  73. package/dist/rooms/owner/revoke/0.1/payload.js +811 -0
  74. package/dist/rooms/owner/revoke/0.1/payload.js.map +1 -0
  75. package/dist/rooms/owner/transfer/0.1/payload.d.ts +4 -4
  76. package/dist/rooms/owner/transfer/0.1/payload.js +2 -2
  77. package/dist/rooms/owner/transfer/0.1/payload.js.map +1 -1
  78. package/dist/rooms/records/curate/0.1/payload.d.ts +4 -4
  79. package/dist/rooms/records/curate/0.1/payload.js +2 -2
  80. package/dist/rooms/records/curate/0.1/payload.js.map +1 -1
  81. package/dist/rooms/records/get/0.1/payload.d.ts +4 -4
  82. package/dist/rooms/records/get/0.1/payload.js +2 -2
  83. package/dist/rooms/records/get/0.1/payload.js.map +1 -1
  84. package/dist/rooms/records/get/0.2/payload.d.ts +4 -4
  85. package/dist/rooms/records/get/0.2/payload.js +2 -2
  86. package/dist/rooms/records/get/0.2/payload.js.map +1 -1
  87. package/dist/rooms/records/list/0.1/payload.d.ts +4 -4
  88. package/dist/rooms/records/list/0.1/payload.js +2 -2
  89. package/dist/rooms/records/list/0.1/payload.js.map +1 -1
  90. package/dist/rooms/records/list/0.2/payload.d.ts +4 -4
  91. package/dist/rooms/records/list/0.2/payload.js +2 -2
  92. package/dist/rooms/records/list/0.2/payload.js.map +1 -1
  93. package/dist/rooms/records/put/0.1/payload.d.ts +4 -4
  94. package/dist/rooms/records/put/0.1/payload.js +2 -2
  95. package/dist/rooms/records/put/0.1/payload.js.map +1 -1
  96. package/dist/rooms/records/put/0.2/payload.d.ts +4 -4
  97. package/dist/rooms/records/put/0.2/payload.js +2 -2
  98. package/dist/rooms/records/put/0.2/payload.js.map +1 -1
  99. package/dist/rooms/revocations/get/0.1/payload.d.ts +905 -0
  100. package/dist/rooms/revocations/get/0.1/payload.d.ts.map +1 -0
  101. package/dist/rooms/revocations/get/0.1/payload.js +512 -0
  102. package/dist/rooms/revocations/get/0.1/payload.js.map +1 -0
  103. package/dist/rooms/revocations/put/0.1/payload.d.ts +1021 -0
  104. package/dist/rooms/revocations/put/0.1/payload.d.ts.map +1 -0
  105. package/dist/rooms/revocations/put/0.1/payload.js +583 -0
  106. package/dist/rooms/revocations/put/0.1/payload.js.map +1 -0
  107. package/dist/rooms/usage/0.1/payload.d.ts +4 -4
  108. package/dist/rooms/usage/0.1/payload.js +2 -2
  109. package/dist/rooms/usage/0.1/payload.js.map +1 -1
  110. package/dist/vtc/_shared/0.1/community-room.d.ts +1 -1
  111. package/dist/vtc/_shared/0.1/community-room.d.ts.map +1 -1
  112. package/dist/vtc/community/theme/show/0.1/payload.d.ts +238 -0
  113. package/dist/vtc/community/theme/show/0.1/payload.d.ts.map +1 -0
  114. package/dist/vtc/community/theme/show/0.1/payload.js +135 -0
  115. package/dist/vtc/community/theme/show/0.1/payload.js.map +1 -0
  116. package/dist/vtc/community/theme/update/0.1/payload.d.ts +286 -0
  117. package/dist/vtc/community/theme/update/0.1/payload.d.ts.map +1 -0
  118. package/dist/vtc/community/theme/update/0.1/payload.js +157 -0
  119. package/dist/vtc/community/theme/update/0.1/payload.js.map +1 -0
  120. package/dist/vtc/rooms/community/create/0.1/payload.d.ts +4 -4
  121. package/dist/vtc/rooms/community/create/0.1/payload.js +2 -2
  122. package/dist/vtc/rooms/community/create/0.1/payload.js.map +1 -1
  123. package/dist/vtc/rooms/community/create/0.2/payload.d.ts +989 -0
  124. package/dist/vtc/rooms/community/create/0.2/payload.d.ts.map +1 -0
  125. package/dist/vtc/rooms/community/create/0.2/payload.js +559 -0
  126. package/dist/vtc/rooms/community/create/0.2/payload.js.map +1 -0
  127. package/dist/vtc/rooms/community/create/0.3/payload.d.ts +1013 -0
  128. package/dist/vtc/rooms/community/create/0.3/payload.d.ts.map +1 -0
  129. package/dist/vtc/rooms/community/create/0.3/payload.js +577 -0
  130. package/dist/vtc/rooms/community/create/0.3/payload.js.map +1 -0
  131. package/dist/vtc/rooms/community/get/0.1/payload.d.ts +4 -4
  132. package/dist/vtc/rooms/community/get/0.1/payload.js +2 -2
  133. package/dist/vtc/rooms/community/get/0.1/payload.js.map +1 -1
  134. package/dist/vtc/rooms/community/get/0.2/payload.d.ts +887 -0
  135. package/dist/vtc/rooms/community/get/0.2/payload.d.ts.map +1 -0
  136. package/dist/vtc/rooms/community/get/0.2/payload.js +517 -0
  137. package/dist/vtc/rooms/community/get/0.2/payload.js.map +1 -0
  138. package/dist/vtc/rooms/community/list/0.1/payload.d.ts +4 -4
  139. package/dist/vtc/rooms/community/list/0.1/payload.js +2 -2
  140. package/dist/vtc/rooms/community/list/0.1/payload.js.map +1 -1
  141. package/dist/vtc/rooms/community/list/0.2/payload.d.ts +960 -0
  142. package/dist/vtc/rooms/community/list/0.2/payload.d.ts.map +1 -0
  143. package/dist/vtc/rooms/community/list/0.2/payload.js +544 -0
  144. package/dist/vtc/rooms/community/list/0.2/payload.js.map +1 -0
  145. package/dist/vtc/rooms/community/members/remove/0.2/payload.d.ts +681 -0
  146. package/dist/vtc/rooms/community/members/remove/0.2/payload.d.ts.map +1 -0
  147. package/dist/vtc/rooms/community/members/remove/0.2/payload.js +393 -0
  148. package/dist/vtc/rooms/community/members/remove/0.2/payload.js.map +1 -0
  149. package/dist/vtc/rooms/community/update/0.1/payload.d.ts +1013 -0
  150. package/dist/vtc/rooms/community/update/0.1/payload.d.ts.map +1 -0
  151. package/dist/vtc/rooms/community/update/0.1/payload.js +573 -0
  152. package/dist/vtc/rooms/community/update/0.1/payload.js.map +1 -0
  153. package/dist/vtc/rooms/community/update/0.2/payload.d.ts +1037 -0
  154. package/dist/vtc/rooms/community/update/0.2/payload.d.ts.map +1 -0
  155. package/dist/vtc/rooms/community/update/0.2/payload.js +593 -0
  156. package/dist/vtc/rooms/community/update/0.2/payload.js.map +1 -0
  157. package/dist/vtc/rooms/offers/list/0.1/payload.d.ts +4 -4
  158. package/dist/vtc/rooms/offers/list/0.1/payload.js +2 -2
  159. package/dist/vtc/rooms/offers/list/0.1/payload.js.map +1 -1
  160. package/dist/vtc/rooms/offers/list/0.2/payload.d.ts +736 -0
  161. package/dist/vtc/rooms/offers/list/0.2/payload.d.ts.map +1 -0
  162. package/dist/vtc/rooms/offers/list/0.2/payload.js +430 -0
  163. package/dist/vtc/rooms/offers/list/0.2/payload.js.map +1 -0
  164. package/package.json +1 -1
  165. package/src/_shared/components.ts +426 -1
  166. package/src/index.ts +20 -0
  167. package/src/rooms/_shared/0.1/personal-label.ts +17 -0
  168. package/src/rooms/_shared/0.1/room.ts +1 -1
  169. package/src/rooms/blobs/get/0.1/payload.ts +2 -2
  170. package/src/rooms/blobs/get/0.2/payload.ts +2 -2
  171. package/src/rooms/blobs/upload/begin/0.1/payload.ts +2 -2
  172. package/src/rooms/blobs/upload/begin/0.2/payload.ts +2 -2
  173. package/src/rooms/epoch/chain/0.1/payload.ts +2 -2
  174. package/src/rooms/epoch/commits/0.1/payload.ts +2 -2
  175. package/src/rooms/epoch/mint/0.1/payload.ts +2 -2
  176. package/src/rooms/epoch/prune/0.1/payload.ts +2 -2
  177. package/src/rooms/info/0.1/payload.ts +2 -2
  178. package/src/rooms/keys/act/0.4/payload.ts +380 -0
  179. package/src/rooms/keys/label/0.1/payload.ts +474 -0
  180. package/src/rooms/keys/list/0.2/payload.ts +412 -0
  181. package/src/rooms/keys/present/0.2/payload.ts +2 -2
  182. package/src/rooms/keys/profile/read/0.1/payload.ts +1617 -0
  183. package/src/rooms/keys/profile/write/0.1/payload.ts +388 -0
  184. package/src/rooms/owner/claim/0.1/payload.ts +2 -2
  185. package/src/rooms/owner/group/remove/0.2/payload.ts +415 -0
  186. package/src/rooms/owner/revoke/0.1/payload.ts +954 -0
  187. package/src/rooms/owner/transfer/0.1/payload.ts +2 -2
  188. package/src/rooms/records/curate/0.1/payload.ts +2 -2
  189. package/src/rooms/records/get/0.1/payload.ts +2 -2
  190. package/src/rooms/records/get/0.2/payload.ts +2 -2
  191. package/src/rooms/records/list/0.1/payload.ts +2 -2
  192. package/src/rooms/records/list/0.2/payload.ts +2 -2
  193. package/src/rooms/records/put/0.1/payload.ts +2 -2
  194. package/src/rooms/records/put/0.2/payload.ts +2 -2
  195. package/src/rooms/revocations/get/0.1/payload.ts +562 -0
  196. package/src/rooms/revocations/put/0.1/payload.ts +637 -0
  197. package/src/rooms/usage/0.1/payload.ts +2 -2
  198. package/src/vtc/_shared/0.1/community-room.ts +1 -1
  199. package/src/vtc/community/theme/show/0.1/payload.ts +170 -0
  200. package/src/vtc/community/theme/update/0.1/payload.ts +204 -0
  201. package/src/vtc/rooms/community/create/0.1/payload.ts +2 -2
  202. package/src/vtc/rooms/community/create/0.2/payload.ts +613 -0
  203. package/src/vtc/rooms/community/create/0.3/payload.ts +635 -0
  204. package/src/vtc/rooms/community/get/0.1/payload.ts +2 -2
  205. package/src/vtc/rooms/community/get/0.2/payload.ts +549 -0
  206. package/src/vtc/rooms/community/list/0.1/payload.ts +2 -2
  207. package/src/vtc/rooms/community/list/0.2/payload.ts +591 -0
  208. package/src/vtc/rooms/community/members/remove/0.2/payload.ts +439 -0
  209. package/src/vtc/rooms/community/update/0.1/payload.ts +629 -0
  210. package/src/vtc/rooms/community/update/0.2/payload.ts +653 -0
  211. package/src/vtc/rooms/offers/list/0.1/payload.ts +2 -2
  212. package/src/vtc/rooms/offers/list/0.2/payload.ts +473 -0
@@ -274,7 +274,7 @@ export const PAYLOAD_SCHEMA = {
274
274
  "membership",
275
275
  "authority"
276
276
  ],
277
- "description": "What a party presents to act on a room. Carries the whole authority chain: a host MUST NOT dereference an authority credential's `parent` to fetch a link it was not given. Resolving over the network would make verification depend on availability, turn every identifier into a request the host can be induced to make against an address the holder chooses, and signal credential use to whoever hosts the identifier. A host MUST bind the presenter to the chain's leaf. A chain that verifies is evidence that authority was conferred on somebody; it is not evidence that the party presenting it is that somebody. The leaf's subject MUST equal the party the host authenticated for this request — an identity the transport established or a document `proof` proved, never one named in a payload. A host that omits this check authorizes every captured presentation, and the omission is silent, because the chain still verifies.",
277
+ "description": "What a party presents to act on a room. Carries the whole authority chain: a host MUST NOT dereference an authority credential's `parent` to fetch a link it was not given. Resolving over the network would make verification depend on availability, turn every identifier into a request the host can be induced to make against an address the holder chooses, and signal credential use to whoever hosts the identifier. A host MUST bind the presenter to the chain's leaf. A chain that verifies is evidence that authority was conferred on somebody; it is not evidence that the party presenting it is that somebody. The leaf's subject MUST equal the party the host authenticated for this request — an identity the transport established or a document `proof` proved, never one named in a payload. A host that omits this check authorizes every captured presentation, and the omission is silent, because the chain still verifies.\n\n**Every credential is its issuer's attestation, and only its issuer's.** For the membership credential and for every link of `authority`, a host MUST verify the credential's `proof` with a key that the credential's own `issuer` lists for `assertionMethod` in its DID document, and MUST refuse a credential whose proof names a verification method that is not its issuer's. A proof that verifies under some other party's key is that party's statement, not the issuer's, and confers nothing. The same binding holds for every other document a room signs, such as a `RevocationList`.\n\n**A chain that verifies may still be revoked.** A host that has accepted a `RevocationList` for the room (`rooms/revocations/put`) MUST, from the moment it accepted it, refuse every presentation in which the membership credential or any link of `authority` is revoked by that list, under every task and every version of every task it serves for the room. A chain from which any link is revoked is refused whole: a credential delegated from a revoked one confers nothing, however it was attenuated. The refusal is the same `permissionDenied` as any other failed presentation.",
278
278
  "properties": {
279
279
  "membership": {
280
280
  "type": "string",
@@ -445,7 +445,7 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
445
445
  "membership",
446
446
  "authority"
447
447
  ],
448
- "description": "What a party presents to act on a room. Carries the whole authority chain: a host MUST NOT dereference an authority credential's `parent` to fetch a link it was not given. Resolving over the network would make verification depend on availability, turn every identifier into a request the host can be induced to make against an address the holder chooses, and signal credential use to whoever hosts the identifier. A host MUST bind the presenter to the chain's leaf. A chain that verifies is evidence that authority was conferred on somebody; it is not evidence that the party presenting it is that somebody. The leaf's subject MUST equal the party the host authenticated for this request — an identity the transport established or a document `proof` proved, never one named in a payload. A host that omits this check authorizes every captured presentation, and the omission is silent, because the chain still verifies.",
448
+ "description": "What a party presents to act on a room. Carries the whole authority chain: a host MUST NOT dereference an authority credential's `parent` to fetch a link it was not given. Resolving over the network would make verification depend on availability, turn every identifier into a request the host can be induced to make against an address the holder chooses, and signal credential use to whoever hosts the identifier. A host MUST bind the presenter to the chain's leaf. A chain that verifies is evidence that authority was conferred on somebody; it is not evidence that the party presenting it is that somebody. The leaf's subject MUST equal the party the host authenticated for this request — an identity the transport established or a document `proof` proved, never one named in a payload. A host that omits this check authorizes every captured presentation, and the omission is silent, because the chain still verifies.\n\n**Every credential is its issuer's attestation, and only its issuer's.** For the membership credential and for every link of `authority`, a host MUST verify the credential's `proof` with a key that the credential's own `issuer` lists for `assertionMethod` in its DID document, and MUST refuse a credential whose proof names a verification method that is not its issuer's. A proof that verifies under some other party's key is that party's statement, not the issuer's, and confers nothing. The same binding holds for every other document a room signs, such as a `RevocationList`.\n\n**A chain that verifies may still be revoked.** A host that has accepted a `RevocationList` for the room (`rooms/revocations/put`) MUST, from the moment it accepted it, refuse every presentation in which the membership credential or any link of `authority` is revoked by that list, under every task and every version of every task it serves for the room. A chain from which any link is revoked is refused whole: a credential delegated from a revoked one confers nothing, however it was attenuated. The refusal is the same `permissionDenied` as any other failed presentation.",
449
449
  "properties": {
450
450
  "membership": {
451
451
  "type": "string",
@@ -14,4 +14,4 @@ export interface VTCSharedCommunityOwnedRoomDefinitions {
14
14
  * The definitions this shared schema publishes, hoisted to one declaration each.
15
15
  * See "../../../_shared/components.js".
16
16
  */
17
- export type { CommunityRoom, MemberAction, MemberActions, MemberState, Offer, OfferCredentials, Reason, RoomLabel, RoomMember } from "../../../_shared/components.js";
17
+ export type { CommunityRoom, CommunityRoomV2, MemberAction, MemberActions, MemberState, Offer, OfferCredentials, OfferV2, Reason, RoomDescription, RoomLabel, RoomMember, RoomTag, RoomTags } from "../../../_shared/components.js";
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/community/theme/show/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Ext } from "../../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * An empty request: the community has one theme. The outer document members are owned by the framework — SPEC §6.3.
11
+ */
12
+ export interface VTCCommunityThemeShowPayload {
13
+ ext?: Ext;
14
+ }
15
+ export interface VTCCommunityThemeShowResponsePayload {
16
+ /**
17
+ * The stored theme stylesheet, in the theme profile of vtc/community/theme/update/0.1. The empty string when the community has none.
18
+ */
19
+ stylesheet: string;
20
+ /**
21
+ * When the stylesheet was last replaced. Absent when the community never set one.
22
+ */
23
+ updatedAt?: string;
24
+ ext?: Ext;
25
+ }
26
+
27
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
28
+ export type { Ext };
29
+
30
+ /** Trust Task type URI. */
31
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/community/theme/show/0.1" as const;
32
+
33
+ /** Stable alias for this specification's request payload shape. */
34
+ export type Payload = VTCCommunityThemeShowPayload;
35
+
36
+ /** Trust Task response type URI (request type URI + "#response"). */
37
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/community/theme/show/0.1#response" as const;
38
+
39
+ /** Stable alias for this specification's success-response payload shape. */
40
+ export type Response = VTCCommunityThemeShowResponsePayload;
41
+
42
+ /**
43
+ * This specification's payload schema, as a value.
44
+ *
45
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
46
+ * rather than only as a `.json` file because TypeScript types are erased
47
+ * at runtime: without a schema a consumer has nothing to validate, and
48
+ * every REQUIRED payload member is optional in practice. Cross-file
49
+ * `$ref`s are already inlined, so it needs no resolver.
50
+ */
51
+ export const PAYLOAD_SCHEMA = {
52
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
53
+ "$id": "https://trusttasks.org/spec/vtc/community/theme/show/0.1",
54
+ "title": "VTC Community — Theme — Show — payload",
55
+ "description": "An empty request: the community has one theme. The outer document members are owned by the framework — SPEC §6.3.",
56
+ "type": "object",
57
+ "additionalProperties": false,
58
+ "properties": {
59
+ "ext": {
60
+ "$ref": "#/$defs/Ext"
61
+ }
62
+ },
63
+ "$defs": {
64
+ "Response": {
65
+ "$anchor": "response",
66
+ "title": "VTC Community — Theme — Show — response payload",
67
+ "type": "object",
68
+ "additionalProperties": false,
69
+ "required": [
70
+ "stylesheet"
71
+ ],
72
+ "properties": {
73
+ "stylesheet": {
74
+ "type": "string",
75
+ "maxLength": 32768,
76
+ "description": "The stored theme stylesheet, in the theme profile of vtc/community/theme/update/0.1. The empty string when the community has none."
77
+ },
78
+ "updatedAt": {
79
+ "type": "string",
80
+ "format": "date-time",
81
+ "description": "When the stylesheet was last replaced. Absent when the community never set one."
82
+ },
83
+ "ext": {
84
+ "$ref": "#/$defs/Ext"
85
+ }
86
+ }
87
+ },
88
+ "Ext": {
89
+ "title": "Ext",
90
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
91
+ "type": "object",
92
+ "minProperties": 1,
93
+ "additionalProperties": true,
94
+ "propertyNames": {
95
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
96
+ }
97
+ }
98
+ }
99
+ } as const;
100
+
101
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
102
+ export const RESPONSE_PAYLOAD_SCHEMA = {
103
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
104
+ "$ref": "#/$defs/Response",
105
+ "$defs": {
106
+ "Response": {
107
+ "$anchor": "response",
108
+ "title": "VTC Community — Theme — Show — response payload",
109
+ "type": "object",
110
+ "additionalProperties": false,
111
+ "required": [
112
+ "stylesheet"
113
+ ],
114
+ "properties": {
115
+ "stylesheet": {
116
+ "type": "string",
117
+ "maxLength": 32768,
118
+ "description": "The stored theme stylesheet, in the theme profile of vtc/community/theme/update/0.1. The empty string when the community has none."
119
+ },
120
+ "updatedAt": {
121
+ "type": "string",
122
+ "format": "date-time",
123
+ "description": "When the stylesheet was last replaced. Absent when the community never set one."
124
+ },
125
+ "ext": {
126
+ "$ref": "#/$defs/Ext"
127
+ }
128
+ }
129
+ },
130
+ "Ext": {
131
+ "title": "Ext",
132
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
133
+ "type": "object",
134
+ "minProperties": 1,
135
+ "additionalProperties": true,
136
+ "propertyNames": {
137
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
138
+ }
139
+ }
140
+ }
141
+ } as const;
142
+
143
+ /**
144
+ * SPEC.md §7.2 policy for the request variant, from this specification's
145
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
146
+ * per-specification and cannot be derived from the document alone, and
147
+ * item 2 needs the schema this carries.
148
+ */
149
+ export const SPEC = {
150
+ typeUri: TYPE_URI,
151
+ isBearer: false,
152
+ isProofRequired: false,
153
+ isRecipientRequired: true,
154
+ isIssuedAtRequired: false,
155
+ payloadSchema: PAYLOAD_SCHEMA,
156
+ } as const;
157
+
158
+ /**
159
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
160
+ * tracks the *issuer* party's requirement because a response swaps the
161
+ * parties (§7.3 item 5).
162
+ */
163
+ export const RESPONSE_SPEC = {
164
+ typeUri: RESPONSE_TYPE_URI,
165
+ isBearer: false,
166
+ isProofRequired: false,
167
+ isRecipientRequired: false,
168
+ isIssuedAtRequired: false,
169
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
170
+ } as const;
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/community/theme/update/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Ext } from "../../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * The whole new stylesheet, which replaces the stored one. The outer document members are owned by the framework — SPEC §6.3.
11
+ */
12
+ export interface VTCCommunityThemeUpdatePayload {
13
+ /**
14
+ * The new theme stylesheet, in the theme profile. The empty string removes the theme.
15
+ */
16
+ stylesheet: string;
17
+ /**
18
+ * Absent means false. When true the community checks the stylesheet and answers with what it would store, and stores nothing.
19
+ */
20
+ dryRun?: boolean;
21
+ ext?: Ext;
22
+ }
23
+ export interface VTCCommunityThemeUpdateResponsePayload {
24
+ /**
25
+ * The stylesheet as stored — or, on a dry run, as it would be stored.
26
+ */
27
+ stylesheet: string;
28
+ /**
29
+ * False on a dry run and when the stylesheet equals the one already stored; true when the stored theme changed.
30
+ */
31
+ stored: boolean;
32
+ /**
33
+ * When the stored theme was last replaced. Absent on a dry run, and when the community has never set one.
34
+ */
35
+ updatedAt?: string;
36
+ ext?: Ext;
37
+ }
38
+
39
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
40
+ export type { Ext };
41
+
42
+ /** Trust Task type URI. */
43
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/community/theme/update/0.1" as const;
44
+
45
+ /** Stable alias for this specification's request payload shape. */
46
+ export type Payload = VTCCommunityThemeUpdatePayload;
47
+
48
+ /** Trust Task response type URI (request type URI + "#response"). */
49
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/community/theme/update/0.1#response" as const;
50
+
51
+ /** Stable alias for this specification's success-response payload shape. */
52
+ export type Response = VTCCommunityThemeUpdateResponsePayload;
53
+
54
+ /**
55
+ * This specification's payload schema, as a value.
56
+ *
57
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
58
+ * rather than only as a `.json` file because TypeScript types are erased
59
+ * at runtime: without a schema a consumer has nothing to validate, and
60
+ * every REQUIRED payload member is optional in practice. Cross-file
61
+ * `$ref`s are already inlined, so it needs no resolver.
62
+ */
63
+ export const PAYLOAD_SCHEMA = {
64
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
65
+ "$id": "https://trusttasks.org/spec/vtc/community/theme/update/0.1",
66
+ "title": "VTC Community — Theme — Update — payload",
67
+ "description": "The whole new stylesheet, which replaces the stored one. The outer document members are owned by the framework — SPEC §6.3.",
68
+ "type": "object",
69
+ "additionalProperties": false,
70
+ "required": [
71
+ "stylesheet"
72
+ ],
73
+ "properties": {
74
+ "stylesheet": {
75
+ "type": "string",
76
+ "maxLength": 32768,
77
+ "description": "The new theme stylesheet, in the theme profile. The empty string removes the theme."
78
+ },
79
+ "dryRun": {
80
+ "type": "boolean",
81
+ "description": "Absent means false. When true the community checks the stylesheet and answers with what it would store, and stores nothing."
82
+ },
83
+ "ext": {
84
+ "$ref": "#/$defs/Ext"
85
+ }
86
+ },
87
+ "$defs": {
88
+ "Response": {
89
+ "$anchor": "response",
90
+ "title": "VTC Community — Theme — Update — response payload",
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": [
94
+ "stylesheet",
95
+ "stored"
96
+ ],
97
+ "properties": {
98
+ "stylesheet": {
99
+ "type": "string",
100
+ "maxLength": 32768,
101
+ "description": "The stylesheet as stored — or, on a dry run, as it would be stored."
102
+ },
103
+ "stored": {
104
+ "type": "boolean",
105
+ "description": "False on a dry run and when the stylesheet equals the one already stored; true when the stored theme changed."
106
+ },
107
+ "updatedAt": {
108
+ "type": "string",
109
+ "format": "date-time",
110
+ "description": "When the stored theme was last replaced. Absent on a dry run, and when the community has never set one."
111
+ },
112
+ "ext": {
113
+ "$ref": "#/$defs/Ext"
114
+ }
115
+ }
116
+ },
117
+ "Ext": {
118
+ "title": "Ext",
119
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
120
+ "type": "object",
121
+ "minProperties": 1,
122
+ "additionalProperties": true,
123
+ "propertyNames": {
124
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
125
+ }
126
+ }
127
+ }
128
+ } as const;
129
+
130
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
131
+ export const RESPONSE_PAYLOAD_SCHEMA = {
132
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
133
+ "$ref": "#/$defs/Response",
134
+ "$defs": {
135
+ "Response": {
136
+ "$anchor": "response",
137
+ "title": "VTC Community — Theme — Update — response payload",
138
+ "type": "object",
139
+ "additionalProperties": false,
140
+ "required": [
141
+ "stylesheet",
142
+ "stored"
143
+ ],
144
+ "properties": {
145
+ "stylesheet": {
146
+ "type": "string",
147
+ "maxLength": 32768,
148
+ "description": "The stylesheet as stored — or, on a dry run, as it would be stored."
149
+ },
150
+ "stored": {
151
+ "type": "boolean",
152
+ "description": "False on a dry run and when the stylesheet equals the one already stored; true when the stored theme changed."
153
+ },
154
+ "updatedAt": {
155
+ "type": "string",
156
+ "format": "date-time",
157
+ "description": "When the stored theme was last replaced. Absent on a dry run, and when the community has never set one."
158
+ },
159
+ "ext": {
160
+ "$ref": "#/$defs/Ext"
161
+ }
162
+ }
163
+ },
164
+ "Ext": {
165
+ "title": "Ext",
166
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
167
+ "type": "object",
168
+ "minProperties": 1,
169
+ "additionalProperties": true,
170
+ "propertyNames": {
171
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
172
+ }
173
+ }
174
+ }
175
+ } as const;
176
+
177
+ /**
178
+ * SPEC.md §7.2 policy for the request variant, from this specification's
179
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
180
+ * per-specification and cannot be derived from the document alone, and
181
+ * item 2 needs the schema this carries.
182
+ */
183
+ export const SPEC = {
184
+ typeUri: TYPE_URI,
185
+ isBearer: false,
186
+ isProofRequired: true,
187
+ isRecipientRequired: true,
188
+ isIssuedAtRequired: true,
189
+ payloadSchema: PAYLOAD_SCHEMA,
190
+ } as const;
191
+
192
+ /**
193
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
194
+ * tracks the *issuer* party's requirement because a response swaps the
195
+ * parties (§7.3 item 5).
196
+ */
197
+ export const RESPONSE_SPEC = {
198
+ typeUri: RESPONSE_TYPE_URI,
199
+ isBearer: false,
200
+ isProofRequired: true,
201
+ isRecipientRequired: true,
202
+ isIssuedAtRequired: true,
203
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
204
+ } as const;
@@ -178,7 +178,7 @@ export const PAYLOAD_SCHEMA = {
178
178
  "type": "string",
179
179
  "minLength": 1,
180
180
  "maxLength": 128,
181
- "description": "A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and not sent to the room's host path. MUST NOT carry personal data."
181
+ "description": "A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and never in anything a room's host can read. From `vtc/rooms/community/create` 0.3 and `vtc/rooms/community/update` 0.2 the community also writes it, through its own VTA, as the `name` of the room's own profile (`RoomProfile` in rooms/_shared), sealed inside the room for its members; earlier versions keep it out of the room altogether. MUST NOT carry personal data."
182
182
  },
183
183
  "StorageConfigId": {
184
184
  "title": "StorageConfigId",
@@ -370,7 +370,7 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
370
370
  "type": "string",
371
371
  "minLength": 1,
372
372
  "maxLength": 128,
373
- "description": "A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and not sent to the room's host path. MUST NOT carry personal data."
373
+ "description": "A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and never in anything a room's host can read. From `vtc/rooms/community/create` 0.3 and `vtc/rooms/community/update` 0.2 the community also writes it, through its own VTA, as the `name` of the room's own profile (`RoomProfile` in rooms/_shared), sealed inside the room for its members; earlier versions keep it out of the room altogether. MUST NOT carry personal data."
374
374
  },
375
375
  "StorageConfigId": {
376
376
  "title": "StorageConfigId",