@openvtc/trust-tasks 0.20.8 → 0.21.0

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 (208) hide show
  1. package/CHANGELOG.md +233 -0
  2. package/dist/_shared/components.d.ts +299 -2
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/auth/passkey/enroll/invite/0.2/payload.d.ts +456 -0
  5. package/dist/auth/passkey/enroll/invite/0.2/payload.d.ts.map +1 -0
  6. package/dist/auth/passkey/enroll/invite/0.2/payload.js +248 -0
  7. package/dist/auth/passkey/enroll/invite/0.2/payload.js.map +1 -0
  8. package/dist/auth/passkey/enroll/redeem/finish/0.1/payload.d.ts +728 -0
  9. package/dist/auth/passkey/enroll/redeem/finish/0.1/payload.d.ts.map +1 -0
  10. package/dist/auth/passkey/enroll/redeem/finish/0.1/payload.js +430 -0
  11. package/dist/auth/passkey/enroll/redeem/finish/0.1/payload.js.map +1 -0
  12. package/dist/auth/passkey/enroll/redeem/start/0.1/payload.d.ts +1043 -0
  13. package/dist/auth/passkey/enroll/redeem/start/0.1/payload.d.ts.map +1 -0
  14. package/dist/auth/passkey/enroll/redeem/start/0.1/payload.js +628 -0
  15. package/dist/auth/passkey/enroll/redeem/start/0.1/payload.js.map +1 -0
  16. package/dist/auth/passkey/revoke/finish/0.2/payload.d.ts +533 -0
  17. package/dist/auth/passkey/revoke/finish/0.2/payload.d.ts.map +1 -0
  18. package/dist/auth/passkey/revoke/finish/0.2/payload.js +315 -0
  19. package/dist/auth/passkey/revoke/finish/0.2/payload.js.map +1 -0
  20. package/dist/auth/passkey/revoke/start/0.2/payload.d.ts +511 -0
  21. package/dist/auth/passkey/revoke/start/0.2/payload.d.ts.map +1 -0
  22. package/dist/auth/passkey/revoke/start/0.2/payload.js +297 -0
  23. package/dist/auth/passkey/revoke/start/0.2/payload.js.map +1 -0
  24. package/dist/auth/step-up/approve-response/0.5/payload.d.ts +887 -0
  25. package/dist/auth/step-up/approve-response/0.5/payload.d.ts.map +1 -0
  26. package/dist/auth/step-up/approve-response/0.5/payload.js +504 -0
  27. package/dist/auth/step-up/approve-response/0.5/payload.js.map +1 -0
  28. package/dist/device/list/0.1/payload.d.ts +4 -4
  29. package/dist/device/list/0.1/payload.d.ts.map +1 -1
  30. package/dist/device/list/0.1/payload.js +4 -2
  31. package/dist/device/list/0.1/payload.js.map +1 -1
  32. package/dist/device/list/0.2/payload.d.ts +4 -4
  33. package/dist/device/list/0.2/payload.d.ts.map +1 -1
  34. package/dist/device/list/0.2/payload.js +4 -2
  35. package/dist/device/list/0.2/payload.js.map +1 -1
  36. package/dist/device/register/0.1/payload.d.ts +4 -4
  37. package/dist/device/register/0.1/payload.d.ts.map +1 -1
  38. package/dist/device/register/0.1/payload.js +4 -2
  39. package/dist/device/register/0.1/payload.js.map +1 -1
  40. package/dist/device/register/0.2/payload.d.ts +4 -4
  41. package/dist/device/register/0.2/payload.d.ts.map +1 -1
  42. package/dist/device/register/0.2/payload.js +4 -2
  43. package/dist/device/register/0.2/payload.js.map +1 -1
  44. package/dist/git-ns/_shared/0.4/git-ns.d.ts +16 -0
  45. package/dist/git-ns/_shared/0.4/git-ns.d.ts.map +1 -0
  46. package/dist/git-ns/_shared/0.4/git-ns.js +6 -0
  47. package/dist/git-ns/_shared/0.4/git-ns.js.map +1 -0
  48. package/dist/git-ns/account/link-status/0.1/payload.d.ts +2 -2
  49. package/dist/git-ns/account/link-status/0.1/payload.js +2 -2
  50. package/dist/git-ns/account/link-status/0.1/payload.js.map +1 -1
  51. package/dist/git-ns/account/unlink/0.1/payload.d.ts +411 -0
  52. package/dist/git-ns/account/unlink/0.1/payload.d.ts.map +1 -0
  53. package/dist/git-ns/account/unlink/0.1/payload.js +228 -0
  54. package/dist/git-ns/account/unlink/0.1/payload.js.map +1 -0
  55. package/dist/git-ns/bridge/event/0.3/payload.d.ts +1682 -0
  56. package/dist/git-ns/bridge/event/0.3/payload.d.ts.map +1 -0
  57. package/dist/git-ns/bridge/event/0.3/payload.js +971 -0
  58. package/dist/git-ns/bridge/event/0.3/payload.js.map +1 -0
  59. package/dist/git-ns/bridge/job/0.4/payload.d.ts +1068 -0
  60. package/dist/git-ns/bridge/job/0.4/payload.d.ts.map +1 -0
  61. package/dist/git-ns/bridge/job/0.4/payload.js +573 -0
  62. package/dist/git-ns/bridge/job/0.4/payload.js.map +1 -0
  63. package/dist/git-ns/drift/resolve/0.3/payload.d.ts +1072 -0
  64. package/dist/git-ns/drift/resolve/0.3/payload.d.ts.map +1 -0
  65. package/dist/git-ns/drift/resolve/0.3/payload.js +634 -0
  66. package/dist/git-ns/drift/resolve/0.3/payload.js.map +1 -0
  67. package/dist/git-ns/namespace/reseat/0.3/payload.d.ts +515 -0
  68. package/dist/git-ns/namespace/reseat/0.3/payload.d.ts.map +1 -0
  69. package/dist/git-ns/namespace/reseat/0.3/payload.js +296 -0
  70. package/dist/git-ns/namespace/reseat/0.3/payload.js.map +1 -0
  71. package/dist/git-ns/repo/create/0.3/payload.d.ts +1101 -0
  72. package/dist/git-ns/repo/create/0.3/payload.d.ts.map +1 -0
  73. package/dist/git-ns/repo/create/0.3/payload.js +646 -0
  74. package/dist/git-ns/repo/create/0.3/payload.js.map +1 -0
  75. package/dist/git-ns/right/break-glass/0.1/payload.d.ts +685 -0
  76. package/dist/git-ns/right/break-glass/0.1/payload.d.ts.map +1 -0
  77. package/dist/git-ns/right/break-glass/0.1/payload.js +397 -0
  78. package/dist/git-ns/right/break-glass/0.1/payload.js.map +1 -0
  79. package/dist/git-ns/right/break-glass-notice/0.1/payload.d.ts +384 -0
  80. package/dist/git-ns/right/break-glass-notice/0.1/payload.d.ts.map +1 -0
  81. package/dist/git-ns/right/break-glass-notice/0.1/payload.js +216 -0
  82. package/dist/git-ns/right/break-glass-notice/0.1/payload.js.map +1 -0
  83. package/dist/git-ns/right/grant/0.3/payload.d.ts +678 -0
  84. package/dist/git-ns/right/grant/0.3/payload.d.ts.map +1 -0
  85. package/dist/git-ns/right/grant/0.3/payload.js +383 -0
  86. package/dist/git-ns/right/grant/0.3/payload.js.map +1 -0
  87. package/dist/git-ns/right/ratify/0.1/payload.d.ts +702 -0
  88. package/dist/git-ns/right/ratify/0.1/payload.d.ts.map +1 -0
  89. package/dist/git-ns/right/ratify/0.1/payload.js +404 -0
  90. package/dist/git-ns/right/ratify/0.1/payload.js.map +1 -0
  91. package/dist/git-ns/right/revoke/0.3/payload.d.ts +664 -0
  92. package/dist/git-ns/right/revoke/0.3/payload.d.ts.map +1 -0
  93. package/dist/git-ns/right/revoke/0.3/payload.js +378 -0
  94. package/dist/git-ns/right/revoke/0.3/payload.js.map +1 -0
  95. package/dist/git-ns/roles/reproject/0.1/payload.d.ts +325 -0
  96. package/dist/git-ns/roles/reproject/0.1/payload.d.ts.map +1 -0
  97. package/dist/git-ns/roles/reproject/0.1/payload.js +176 -0
  98. package/dist/git-ns/roles/reproject/0.1/payload.js.map +1 -0
  99. package/dist/git-ns/view/0.1/payload.d.ts +2 -2
  100. package/dist/git-ns/view/0.1/payload.js +2 -2
  101. package/dist/git-ns/view/0.1/payload.js.map +1 -1
  102. package/dist/git-ns/view/0.2/payload.d.ts +2 -2
  103. package/dist/git-ns/view/0.2/payload.js +2 -2
  104. package/dist/git-ns/view/0.2/payload.js.map +1 -1
  105. package/dist/git-ns/view/0.3/payload.d.ts +2 -2
  106. package/dist/git-ns/view/0.3/payload.js +2 -2
  107. package/dist/git-ns/view/0.3/payload.js.map +1 -1
  108. package/dist/git-ns/view/0.4/payload.d.ts +1696 -0
  109. package/dist/git-ns/view/0.4/payload.d.ts.map +1 -0
  110. package/dist/git-ns/view/0.4/payload.js +1012 -0
  111. package/dist/git-ns/view/0.4/payload.js.map +1 -0
  112. package/dist/index.d.ts +30 -0
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +30 -0
  115. package/dist/index.js.map +1 -1
  116. package/dist/messaging/message/status/0.1/payload.d.ts +372 -0
  117. package/dist/messaging/message/status/0.1/payload.d.ts.map +1 -0
  118. package/dist/messaging/message/status/0.1/payload.js +214 -0
  119. package/dist/messaging/message/status/0.1/payload.js.map +1 -0
  120. package/dist/vta/_shared/0.3/did-key-roles.d.ts +16 -0
  121. package/dist/vta/_shared/0.3/did-key-roles.d.ts.map +1 -0
  122. package/dist/vta/_shared/0.3/did-key-roles.js +6 -0
  123. package/dist/vta/_shared/0.3/did-key-roles.js.map +1 -0
  124. package/dist/vta/attestation/mnemonic-export/1.0/payload.d.ts +326 -0
  125. package/dist/vta/attestation/mnemonic-export/1.0/payload.d.ts.map +1 -0
  126. package/dist/vta/attestation/mnemonic-export/1.0/payload.js +175 -0
  127. package/dist/vta/attestation/mnemonic-export/1.0/payload.js.map +1 -0
  128. package/dist/vta/webvh/dids/keys/add/1.0/payload.d.ts +1914 -0
  129. package/dist/vta/webvh/dids/keys/add/1.0/payload.d.ts.map +1 -0
  130. package/dist/vta/webvh/dids/keys/add/1.0/payload.js +1128 -0
  131. package/dist/vta/webvh/dids/keys/add/1.0/payload.js.map +1 -0
  132. package/dist/vta/webvh/dids/keys/list/1.0/payload.d.ts +1603 -0
  133. package/dist/vta/webvh/dids/keys/list/1.0/payload.d.ts.map +1 -0
  134. package/dist/vta/webvh/dids/keys/list/1.0/payload.js +942 -0
  135. package/dist/vta/webvh/dids/keys/list/1.0/payload.js.map +1 -0
  136. package/dist/vta/webvh/dids/keys/retire/1.0/payload.d.ts +1914 -0
  137. package/dist/vta/webvh/dids/keys/retire/1.0/payload.d.ts.map +1 -0
  138. package/dist/vta/webvh/dids/keys/retire/1.0/payload.js +1123 -0
  139. package/dist/vta/webvh/dids/keys/retire/1.0/payload.js.map +1 -0
  140. package/dist/vta/webvh/dids/keys/revoke/1.0/payload.d.ts +2021 -0
  141. package/dist/vta/webvh/dids/keys/revoke/1.0/payload.d.ts.map +1 -0
  142. package/dist/vta/webvh/dids/keys/revoke/1.0/payload.js +1168 -0
  143. package/dist/vta/webvh/dids/keys/revoke/1.0/payload.js.map +1 -0
  144. package/dist/vta/webvh/dids/rotate-keys/2.0/payload.d.ts +1992 -0
  145. package/dist/vta/webvh/dids/rotate-keys/2.0/payload.d.ts.map +1 -0
  146. package/dist/vta/webvh/dids/rotate-keys/2.0/payload.js +1151 -0
  147. package/dist/vta/webvh/dids/rotate-keys/2.0/payload.js.map +1 -0
  148. package/dist/vta/webvh/dids/update/2.0/payload.d.ts +1062 -0
  149. package/dist/vta/webvh/dids/update/2.0/payload.d.ts.map +1 -0
  150. package/dist/vta/webvh/dids/update/2.0/payload.js +616 -0
  151. package/dist/vta/webvh/dids/update/2.0/payload.js.map +1 -0
  152. package/dist/vtc/credentials/reissue/0.1/payload.d.ts +502 -0
  153. package/dist/vtc/credentials/reissue/0.1/payload.d.ts.map +1 -0
  154. package/dist/vtc/credentials/reissue/0.1/payload.js +282 -0
  155. package/dist/vtc/credentials/reissue/0.1/payload.js.map +1 -0
  156. package/dist/vtc/members/personhood/challenge/0.1/payload.d.ts +2 -2
  157. package/dist/vtc/members/personhood/challenge/0.1/payload.js +2 -2
  158. package/dist/vtc/members/personhood/challenge/0.1/payload.js.map +1 -1
  159. package/dist/vtc/vetting/vetters/profile/0.1/payload.d.ts +2 -2
  160. package/dist/vtc/vetting/vetters/profile/0.1/payload.js +2 -2
  161. package/dist/vtc/vetting/vetters/profile/0.1/payload.js.map +1 -1
  162. package/dist/vtc/vetting/vetters/resend/0.1/payload.d.ts +2 -2
  163. package/dist/vtc/vetting/vetters/resend/0.1/payload.js +2 -2
  164. package/dist/vtc/vetting/vetters/resend/0.1/payload.js.map +1 -1
  165. package/package.json +1 -1
  166. package/src/_shared/components.ts +313 -2
  167. package/src/auth/passkey/enroll/invite/0.2/payload.ts +325 -0
  168. package/src/auth/passkey/enroll/redeem/finish/0.1/payload.ts +499 -0
  169. package/src/auth/passkey/enroll/redeem/start/0.1/payload.ts +700 -0
  170. package/src/auth/passkey/revoke/finish/0.2/payload.ts +379 -0
  171. package/src/auth/passkey/revoke/start/0.2/payload.ts +349 -0
  172. package/src/auth/step-up/approve-response/0.5/payload.ts +593 -0
  173. package/src/device/list/0.1/payload.ts +4 -2
  174. package/src/device/list/0.2/payload.ts +4 -2
  175. package/src/device/register/0.1/payload.ts +4 -2
  176. package/src/device/register/0.2/payload.ts +4 -2
  177. package/src/git-ns/_shared/0.4/git-ns.ts +17 -0
  178. package/src/git-ns/account/link-status/0.1/payload.ts +2 -2
  179. package/src/git-ns/account/unlink/0.1/payload.ts +274 -0
  180. package/src/git-ns/bridge/event/0.3/payload.ts +1132 -0
  181. package/src/git-ns/bridge/job/0.4/payload.ts +691 -0
  182. package/src/git-ns/drift/resolve/0.3/payload.ts +707 -0
  183. package/src/git-ns/namespace/reseat/0.3/payload.ts +342 -0
  184. package/src/git-ns/repo/create/0.3/payload.ts +706 -0
  185. package/src/git-ns/right/break-glass/0.1/payload.ts +443 -0
  186. package/src/git-ns/right/break-glass-notice/0.1/payload.ts +258 -0
  187. package/src/git-ns/right/grant/0.3/payload.ts +434 -0
  188. package/src/git-ns/right/ratify/0.1/payload.ts +455 -0
  189. package/src/git-ns/right/revoke/0.3/payload.ts +425 -0
  190. package/src/git-ns/roles/reproject/0.1/payload.ts +220 -0
  191. package/src/git-ns/view/0.1/payload.ts +2 -2
  192. package/src/git-ns/view/0.2/payload.ts +2 -2
  193. package/src/git-ns/view/0.3/payload.ts +2 -2
  194. package/src/git-ns/view/0.4/payload.ts +1075 -0
  195. package/src/index.ts +30 -0
  196. package/src/messaging/message/status/0.1/payload.ts +270 -0
  197. package/src/vta/_shared/0.3/did-key-roles.ts +17 -0
  198. package/src/vta/attestation/mnemonic-export/1.0/payload.ts +232 -0
  199. package/src/vta/webvh/dids/keys/add/1.0/payload.ts +1217 -0
  200. package/src/vta/webvh/dids/keys/list/1.0/payload.ts +1004 -0
  201. package/src/vta/webvh/dids/keys/retire/1.0/payload.ts +1212 -0
  202. package/src/vta/webvh/dids/keys/revoke/1.0/payload.ts +1276 -0
  203. package/src/vta/webvh/dids/rotate-keys/2.0/payload.ts +1262 -0
  204. package/src/vta/webvh/dids/update/2.0/payload.ts +713 -0
  205. package/src/vtc/credentials/reissue/0.1/payload.ts +357 -0
  206. package/src/vtc/members/personhood/challenge/0.1/payload.ts +2 -2
  207. package/src/vtc/vetting/vetters/profile/0.1/payload.ts +2 -2
  208. package/src/vtc/vetting/vetters/resend/0.1/payload.ts +2 -2
@@ -0,0 +1,349 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/auth/passkey/revoke/start/0.2/payload.schema.json
4
+ */
5
+
6
+ import type { Ext, PublicKeyCredentialDescriptor, PublicKeyCredentialRequestOptions } from "../../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * Ask the auth service to begin revoking a passkey — the subject's own, or, for an administrator, another subject's. The response carries PublicKeyCredentialRequestOptions for a fresh user-verification ceremony over the producer's credentials; nothing is removed until the matching auth/passkey/revoke/finish presents the assertion.
11
+ */
12
+ export interface AuthPasskeyRevokeStart {
13
+ /**
14
+ * The credential to revoke, as returned by auth/passkey/list. Opaque to the producer.
15
+ */
16
+ credentialId: string;
17
+ /**
18
+ * New in 0.2. Whose credential it is, when the producer is not its owner: an administrator revoking another subject's credential. Absent: the producer's own. The user-verification ceremony is always over the PRODUCER's credentials — the person acting proves they are present, whoever owns the credential.
19
+ */
20
+ subject?: string;
21
+ /**
22
+ * Ecosystem-defined extension members per SPEC.md §4.5.1.
23
+ */
24
+ ext?: Ext;
25
+ }
26
+ /**
27
+ * Server-issued re-authentication options. Carried in a Trust Task document whose type is https://trusttasks.org/spec/auth/passkey/revoke/start/0.2#response.
28
+ */
29
+ export interface AuthPasskeyRevokeStartResponsePayload {
30
+ /**
31
+ * Opaque server handle correlating this start with the matching finish. The producer MUST echo it verbatim. The consumer binds it to the target credentialId server-side, so the finish carries no target of its own.
32
+ */
33
+ revocationId: string;
34
+ /**
35
+ * PublicKeyCredentialRequestOptions for navigator.credentials.get — a fresh user-verification ceremony proving a human with an enrolled authenticator is present right now. userVerification SHOULD be "required".
36
+ */
37
+ uvOptions: PublicKeyCredentialRequestOptions;
38
+ /**
39
+ * Ecosystem-defined extension members per SPEC.md §4.5.1.
40
+ */
41
+ ext?: Ext;
42
+ }
43
+
44
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
45
+ export type { Ext, PublicKeyCredentialDescriptor, PublicKeyCredentialRequestOptions };
46
+
47
+ /** Trust Task type URI. */
48
+ export const TYPE_URI = "https://trusttasks.org/spec/auth/passkey/revoke/start/0.2" as const;
49
+
50
+ /** Stable alias for this specification's request payload shape. */
51
+ export type Payload = AuthPasskeyRevokeStart;
52
+
53
+ /** Trust Task response type URI (request type URI + "#response"). */
54
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/auth/passkey/revoke/start/0.2#response" as const;
55
+
56
+ /** Stable alias for this specification's success-response payload shape. */
57
+ export type Response = AuthPasskeyRevokeStartResponsePayload;
58
+
59
+ /**
60
+ * This specification's payload schema, as a value.
61
+ *
62
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
63
+ * rather than only as a `.json` file because TypeScript types are erased
64
+ * at runtime: without a schema a consumer has nothing to validate, and
65
+ * every REQUIRED payload member is optional in practice. Cross-file
66
+ * `$ref`s are already inlined, so it needs no resolver.
67
+ */
68
+ export const PAYLOAD_SCHEMA = {
69
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
70
+ "$id": "https://trusttasks.org/spec/auth/passkey/revoke/start/0.2",
71
+ "title": "Auth — Passkey Revoke (start)",
72
+ "description": "Ask the auth service to begin revoking a passkey — the subject's own, or, for an administrator, another subject's. The response carries PublicKeyCredentialRequestOptions for a fresh user-verification ceremony over the producer's credentials; nothing is removed until the matching auth/passkey/revoke/finish presents the assertion.",
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": [
76
+ "credentialId"
77
+ ],
78
+ "properties": {
79
+ "credentialId": {
80
+ "type": "string",
81
+ "minLength": 1,
82
+ "description": "The credential to revoke, as returned by auth/passkey/list. Opaque to the producer."
83
+ },
84
+ "subject": {
85
+ "type": "string",
86
+ "minLength": 1,
87
+ "description": "New in 0.2. Whose credential it is, when the producer is not its owner: an administrator revoking another subject's credential. Absent: the producer's own. The user-verification ceremony is always over the PRODUCER's credentials — the person acting proves they are present, whoever owns the credential."
88
+ },
89
+ "ext": {
90
+ "$ref": "#/$defs/Ext",
91
+ "description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
92
+ }
93
+ },
94
+ "$defs": {
95
+ "Response": {
96
+ "$anchor": "response",
97
+ "title": "Auth Passkey Revoke Start — response payload",
98
+ "description": "Server-issued re-authentication options. Carried in a Trust Task document whose type is https://trusttasks.org/spec/auth/passkey/revoke/start/0.2#response.",
99
+ "type": "object",
100
+ "additionalProperties": false,
101
+ "required": [
102
+ "revocationId",
103
+ "uvOptions"
104
+ ],
105
+ "properties": {
106
+ "revocationId": {
107
+ "type": "string",
108
+ "minLength": 1,
109
+ "description": "Opaque server handle correlating this start with the matching finish. The producer MUST echo it verbatim. The consumer binds it to the target credentialId server-side, so the finish carries no target of its own."
110
+ },
111
+ "uvOptions": {
112
+ "$ref": "#/$defs/CredentialRequestOptions",
113
+ "description": "PublicKeyCredentialRequestOptions for navigator.credentials.get — a fresh user-verification ceremony proving a human with an enrolled authenticator is present right now. userVerification SHOULD be \"required\"."
114
+ },
115
+ "ext": {
116
+ "$ref": "#/$defs/Ext",
117
+ "description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
118
+ }
119
+ }
120
+ },
121
+ "Ext": {
122
+ "title": "Ext",
123
+ "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.",
124
+ "type": "object",
125
+ "minProperties": 1,
126
+ "additionalProperties": true,
127
+ "propertyNames": {
128
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
129
+ }
130
+ },
131
+ "CredentialRequestOptions": {
132
+ "$anchor": "credentialRequestOptions",
133
+ "title": "PublicKeyCredentialRequestOptions",
134
+ "description": "Server-issued options for `navigator.credentials.get({ publicKey: ... })`.",
135
+ "type": "object",
136
+ "additionalProperties": false,
137
+ "required": [
138
+ "challenge"
139
+ ],
140
+ "properties": {
141
+ "extensions": {
142
+ "type": "object",
143
+ "description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
144
+ },
145
+ "challenge": {
146
+ "type": "string",
147
+ "description": "base64url-encoded one-time nonce."
148
+ },
149
+ "timeout": {
150
+ "type": "integer",
151
+ "minimum": 1
152
+ },
153
+ "rpId": {
154
+ "type": "string",
155
+ "minLength": 1
156
+ },
157
+ "allowCredentials": {
158
+ "type": "array",
159
+ "items": {
160
+ "$ref": "#/$defs/CredentialDescriptor"
161
+ }
162
+ },
163
+ "userVerification": {
164
+ "enum": [
165
+ "discouraged",
166
+ "preferred",
167
+ "required"
168
+ ]
169
+ }
170
+ }
171
+ },
172
+ "CredentialDescriptor": {
173
+ "$anchor": "credentialDescriptor",
174
+ "title": "PublicKeyCredentialDescriptor",
175
+ "type": "object",
176
+ "additionalProperties": false,
177
+ "required": [
178
+ "type",
179
+ "id"
180
+ ],
181
+ "properties": {
182
+ "type": {
183
+ "const": "public-key"
184
+ },
185
+ "id": {
186
+ "type": "string",
187
+ "description": "base64url-encoded credential id."
188
+ },
189
+ "transports": {
190
+ "type": "array",
191
+ "items": {
192
+ "enum": [
193
+ "usb",
194
+ "nfc",
195
+ "ble",
196
+ "internal",
197
+ "hybrid"
198
+ ]
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ } as const;
205
+
206
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
207
+ export const RESPONSE_PAYLOAD_SCHEMA = {
208
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
209
+ "$ref": "#/$defs/Response",
210
+ "$defs": {
211
+ "Response": {
212
+ "$anchor": "response",
213
+ "title": "Auth Passkey Revoke Start — response payload",
214
+ "description": "Server-issued re-authentication options. Carried in a Trust Task document whose type is https://trusttasks.org/spec/auth/passkey/revoke/start/0.2#response.",
215
+ "type": "object",
216
+ "additionalProperties": false,
217
+ "required": [
218
+ "revocationId",
219
+ "uvOptions"
220
+ ],
221
+ "properties": {
222
+ "revocationId": {
223
+ "type": "string",
224
+ "minLength": 1,
225
+ "description": "Opaque server handle correlating this start with the matching finish. The producer MUST echo it verbatim. The consumer binds it to the target credentialId server-side, so the finish carries no target of its own."
226
+ },
227
+ "uvOptions": {
228
+ "$ref": "#/$defs/CredentialRequestOptions",
229
+ "description": "PublicKeyCredentialRequestOptions for navigator.credentials.get — a fresh user-verification ceremony proving a human with an enrolled authenticator is present right now. userVerification SHOULD be \"required\"."
230
+ },
231
+ "ext": {
232
+ "$ref": "#/$defs/Ext",
233
+ "description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
234
+ }
235
+ }
236
+ },
237
+ "Ext": {
238
+ "title": "Ext",
239
+ "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.",
240
+ "type": "object",
241
+ "minProperties": 1,
242
+ "additionalProperties": true,
243
+ "propertyNames": {
244
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
245
+ }
246
+ },
247
+ "CredentialRequestOptions": {
248
+ "$anchor": "credentialRequestOptions",
249
+ "title": "PublicKeyCredentialRequestOptions",
250
+ "description": "Server-issued options for `navigator.credentials.get({ publicKey: ... })`.",
251
+ "type": "object",
252
+ "additionalProperties": false,
253
+ "required": [
254
+ "challenge"
255
+ ],
256
+ "properties": {
257
+ "extensions": {
258
+ "type": "object",
259
+ "description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
260
+ },
261
+ "challenge": {
262
+ "type": "string",
263
+ "description": "base64url-encoded one-time nonce."
264
+ },
265
+ "timeout": {
266
+ "type": "integer",
267
+ "minimum": 1
268
+ },
269
+ "rpId": {
270
+ "type": "string",
271
+ "minLength": 1
272
+ },
273
+ "allowCredentials": {
274
+ "type": "array",
275
+ "items": {
276
+ "$ref": "#/$defs/CredentialDescriptor"
277
+ }
278
+ },
279
+ "userVerification": {
280
+ "enum": [
281
+ "discouraged",
282
+ "preferred",
283
+ "required"
284
+ ]
285
+ }
286
+ }
287
+ },
288
+ "CredentialDescriptor": {
289
+ "$anchor": "credentialDescriptor",
290
+ "title": "PublicKeyCredentialDescriptor",
291
+ "type": "object",
292
+ "additionalProperties": false,
293
+ "required": [
294
+ "type",
295
+ "id"
296
+ ],
297
+ "properties": {
298
+ "type": {
299
+ "const": "public-key"
300
+ },
301
+ "id": {
302
+ "type": "string",
303
+ "description": "base64url-encoded credential id."
304
+ },
305
+ "transports": {
306
+ "type": "array",
307
+ "items": {
308
+ "enum": [
309
+ "usb",
310
+ "nfc",
311
+ "ble",
312
+ "internal",
313
+ "hybrid"
314
+ ]
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+ } as const;
321
+
322
+ /**
323
+ * SPEC.md §7.2 policy for the request variant, from this specification's
324
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
325
+ * per-specification and cannot be derived from the document alone, and
326
+ * item 2 needs the schema this carries.
327
+ */
328
+ export const SPEC = {
329
+ typeUri: TYPE_URI,
330
+ isBearer: false,
331
+ isProofRequired: true,
332
+ isRecipientRequired: true,
333
+ isIssuedAtRequired: true,
334
+ payloadSchema: PAYLOAD_SCHEMA,
335
+ } as const;
336
+
337
+ /**
338
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
339
+ * tracks the *issuer* party's requirement because a response swaps the
340
+ * parties (§7.3 item 5).
341
+ */
342
+ export const RESPONSE_SPEC = {
343
+ typeUri: RESPONSE_TYPE_URI,
344
+ isBearer: false,
345
+ isProofRequired: true,
346
+ isRecipientRequired: true,
347
+ isIssuedAtRequired: true,
348
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
349
+ } as const;