@openvtc/trust-tasks 0.28.1 → 0.28.3
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.
- package/CHANGELOG.md +284 -0
- package/dist/_extends.d.ts.map +1 -1
- package/dist/_extends.js +7 -1
- package/dist/_extends.js.map +1 -1
- package/dist/_runtime/document.d.ts +13 -0
- package/dist/_runtime/document.d.ts.map +1 -1
- package/dist/_runtime/document.js +17 -2
- package/dist/_runtime/document.js.map +1 -1
- package/dist/_runtime/index.d.ts +1 -1
- package/dist/_runtime/index.d.ts.map +1 -1
- package/dist/_runtime/index.js +1 -1
- package/dist/_runtime/index.js.map +1 -1
- package/dist/_shared/components.d.ts +530 -3
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/auth/step-up/approve-request/0.5/payload.d.ts +3 -3
- package/dist/auth/step-up/approve-request/0.5/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.1/payload.d.ts +4 -4
- package/dist/auth/step-up/approve-response/0.1/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.2/payload.d.ts +4 -4
- package/dist/auth/step-up/approve-response/0.2/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.3/payload.d.ts +4 -4
- package/dist/auth/step-up/approve-response/0.3/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.4/payload.d.ts +4 -4
- package/dist/auth/step-up/approve-response/0.4/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.5/payload.d.ts +4 -4
- package/dist/auth/step-up/approve-response/0.5/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.6/payload.d.ts +14 -2
- package/dist/auth/step-up/approve-response/0.6/payload.d.ts.map +1 -1
- package/dist/auth/step-up/approve-response/0.6/payload.js +1 -1
- package/dist/auth/step-up/approve-response/0.6/payload.js.map +1 -1
- package/dist/auth/step-up/approve-response/0.7/payload.d.ts +988 -0
- package/dist/auth/step-up/approve-response/0.7/payload.d.ts.map +1 -0
- package/dist/auth/step-up/approve-response/0.7/payload.js +566 -0
- package/dist/auth/step-up/approve-response/0.7/payload.js.map +1 -0
- package/dist/auth/step-up/approver/attest/0.1/payload.d.ts +3 -3
- package/dist/auth/step-up/approver/attest/0.1/payload.js +1 -1
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/owner/group/remove/0.1/payload.d.ts +4 -4
- package/dist/rooms/owner/group/remove/0.1/payload.js +1 -1
- package/dist/rooms/owner/group/remove/0.2/payload.d.ts +4 -4
- package/dist/rooms/owner/group/remove/0.2/payload.js +1 -1
- package/dist/rooms/owner/group/remove/0.3/payload.d.ts +14 -2
- package/dist/rooms/owner/group/remove/0.3/payload.d.ts.map +1 -1
- package/dist/rooms/owner/group/remove/0.3/payload.js +1 -1
- package/dist/rooms/owner/group/remove/0.3/payload.js.map +1 -1
- package/dist/rooms/owner/group/remove/0.4/payload.d.ts +634 -0
- package/dist/rooms/owner/group/remove/0.4/payload.d.ts.map +1 -0
- package/dist/rooms/owner/group/remove/0.4/payload.js +331 -0
- package/dist/rooms/owner/group/remove/0.4/payload.js.map +1 -0
- package/dist/rooms/records/put/0.1/payload.d.ts +4 -4
- package/dist/rooms/records/put/0.1/payload.js +1 -1
- package/dist/rooms/records/put/0.2/payload.d.ts +4 -4
- package/dist/rooms/records/put/0.2/payload.js +1 -1
- package/dist/rooms/records/put/0.3/payload.d.ts +14 -2
- package/dist/rooms/records/put/0.3/payload.d.ts.map +1 -1
- package/dist/rooms/records/put/0.3/payload.js +1 -1
- package/dist/rooms/records/put/0.3/payload.js.map +1 -1
- package/dist/rooms/records/put/0.4/payload.d.ts +1474 -0
- package/dist/rooms/records/put/0.4/payload.d.ts.map +1 -0
- package/dist/rooms/records/put/0.4/payload.js +804 -0
- package/dist/rooms/records/put/0.4/payload.js.map +1 -0
- package/dist/task-consent/decision/0.2/payload.d.ts +5 -5
- package/dist/task-consent/decision/0.2/payload.js +2 -2
- package/dist/vta/_shared/0.3/did-key-roles.d.ts +1 -1
- package/dist/vta/_shared/0.9/did-template.d.ts +16 -0
- package/dist/vta/_shared/0.9/did-template.d.ts.map +1 -0
- package/dist/vta/_shared/0.9/did-template.js +6 -0
- package/dist/vta/_shared/0.9/did-template.js.map +1 -0
- package/dist/vta/did-templates/create/2.0/payload.d.ts +3 -3
- package/dist/vta/did-templates/create/2.0/payload.js +1 -1
- package/dist/vta/did-templates/create/3.0/payload.d.ts +3 -3
- package/dist/vta/did-templates/create/3.0/payload.js +1 -1
- package/dist/vta/did-templates/create/3.1/payload.d.ts +12 -2
- package/dist/vta/did-templates/create/3.1/payload.d.ts.map +1 -1
- package/dist/vta/did-templates/create/3.1/payload.js +1 -1
- package/dist/vta/did-templates/create/3.1/payload.js.map +1 -1
- package/dist/vta/did-templates/create/3.2/payload.d.ts +1310 -0
- package/dist/vta/did-templates/create/3.2/payload.d.ts.map +1 -0
- package/dist/vta/did-templates/create/3.2/payload.js +832 -0
- package/dist/vta/did-templates/create/3.2/payload.js.map +1 -0
- package/dist/vta/did-templates/get/2.0/payload.d.ts +3 -3
- package/dist/vta/did-templates/get/2.0/payload.js +1 -1
- package/dist/vta/did-templates/get/3.0/payload.d.ts +3 -3
- package/dist/vta/did-templates/get/3.0/payload.js +1 -1
- package/dist/vta/did-templates/get/3.1/payload.d.ts +12 -2
- package/dist/vta/did-templates/get/3.1/payload.d.ts.map +1 -1
- package/dist/vta/did-templates/get/3.1/payload.js +1 -1
- package/dist/vta/did-templates/get/3.1/payload.js.map +1 -1
- package/dist/vta/did-templates/get/3.2/payload.d.ts +928 -0
- package/dist/vta/did-templates/get/3.2/payload.d.ts.map +1 -0
- package/dist/vta/did-templates/get/3.2/payload.js +593 -0
- package/dist/vta/did-templates/get/3.2/payload.js.map +1 -0
- package/dist/vta/did-templates/list/2.0/payload.d.ts +4 -4
- package/dist/vta/did-templates/list/2.0/payload.js +1 -1
- package/dist/vta/did-templates/list/3.0/payload.d.ts +4 -4
- package/dist/vta/did-templates/list/3.0/payload.js +1 -1
- package/dist/vta/did-templates/list/3.1/payload.d.ts +14 -2
- package/dist/vta/did-templates/list/3.1/payload.d.ts.map +1 -1
- package/dist/vta/did-templates/list/3.1/payload.js +1 -1
- package/dist/vta/did-templates/list/3.1/payload.js.map +1 -1
- package/dist/vta/did-templates/list/3.2/payload.d.ts +985 -0
- package/dist/vta/did-templates/list/3.2/payload.d.ts.map +1 -0
- package/dist/vta/did-templates/list/3.2/payload.js +619 -0
- package/dist/vta/did-templates/list/3.2/payload.js.map +1 -0
- package/dist/vta/did-templates/update/2.0/payload.d.ts +3 -3
- package/dist/vta/did-templates/update/2.0/payload.js +1 -1
- package/dist/vta/did-templates/update/3.0/payload.d.ts +3 -3
- package/dist/vta/did-templates/update/3.0/payload.js +1 -1
- package/dist/vta/did-templates/update/3.1/payload.d.ts +12 -2
- package/dist/vta/did-templates/update/3.1/payload.d.ts.map +1 -1
- package/dist/vta/did-templates/update/3.1/payload.js +1 -1
- package/dist/vta/did-templates/update/3.1/payload.js.map +1 -1
- package/dist/vta/did-templates/update/3.2/payload.d.ts +1324 -0
- package/dist/vta/did-templates/update/3.2/payload.d.ts.map +1 -0
- package/dist/vta/did-templates/update/3.2/payload.js +838 -0
- package/dist/vta/did-templates/update/3.2/payload.js.map +1 -0
- package/dist/vta/dids/_shared/0.1/key-roles.d.ts +16 -0
- package/dist/vta/dids/_shared/0.1/key-roles.d.ts.map +1 -0
- package/dist/vta/dids/_shared/0.1/key-roles.js +6 -0
- package/dist/vta/dids/_shared/0.1/key-roles.js.map +1 -0
- package/dist/vta/dids/_shared/0.1/method-profiles/webvh-parameters.d.ts +11 -0
- package/dist/vta/dids/_shared/0.1/method-profiles/webvh-parameters.d.ts.map +1 -0
- package/dist/vta/dids/_shared/0.1/method-profiles/webvh-parameters.js +6 -0
- package/dist/vta/dids/_shared/0.1/method-profiles/webvh-parameters.js.map +1 -0
- package/dist/vta/dids/create/1.0/payload.d.ts +2613 -0
- package/dist/vta/dids/create/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/create/1.0/payload.js +1554 -0
- package/dist/vta/dids/create/1.0/payload.js.map +1 -0
- package/dist/vta/dids/keys/add/1.0/payload.d.ts +2447 -0
- package/dist/vta/dids/keys/add/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/keys/add/1.0/payload.js +1469 -0
- package/dist/vta/dids/keys/add/1.0/payload.js.map +1 -0
- package/dist/vta/dids/keys/list/1.0/payload.d.ts +1855 -0
- package/dist/vta/dids/keys/list/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/keys/list/1.0/payload.js +1116 -0
- package/dist/vta/dids/keys/list/1.0/payload.js.map +1 -0
- package/dist/vta/dids/keys/retire/1.0/payload.d.ts +2449 -0
- package/dist/vta/dids/keys/retire/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/keys/retire/1.0/payload.js +1469 -0
- package/dist/vta/dids/keys/retire/1.0/payload.js.map +1 -0
- package/dist/vta/dids/keys/revoke/1.0/payload.d.ts +2701 -0
- package/dist/vta/dids/keys/revoke/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/keys/revoke/1.0/payload.js +1597 -0
- package/dist/vta/dids/keys/revoke/1.0/payload.js.map +1 -0
- package/dist/vta/dids/keys/rotate/1.0/payload.d.ts +2628 -0
- package/dist/vta/dids/keys/rotate/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/keys/rotate/1.0/payload.js +1555 -0
- package/dist/vta/dids/keys/rotate/1.0/payload.js.map +1 -0
- package/dist/vta/dids/recover/1.0/payload.d.ts +2702 -0
- package/dist/vta/dids/recover/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/recover/1.0/payload.js +1597 -0
- package/dist/vta/dids/recover/1.0/payload.js.map +1 -0
- package/dist/vta/dids/update/1.0/payload.d.ts +1422 -0
- package/dist/vta/dids/update/1.0/payload.d.ts.map +1 -0
- package/dist/vta/dids/update/1.0/payload.js +861 -0
- package/dist/vta/dids/update/1.0/payload.js.map +1 -0
- package/dist/vta/webvh/dids/keys/add/1.0/payload.d.ts +14 -2
- package/dist/vta/webvh/dids/keys/add/1.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/keys/add/1.0/payload.js +1 -1
- package/dist/vta/webvh/dids/keys/add/1.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/keys/list/1.0/payload.d.ts +14 -2
- package/dist/vta/webvh/dids/keys/list/1.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/keys/list/1.0/payload.js +1 -1
- package/dist/vta/webvh/dids/keys/list/1.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/keys/retire/1.0/payload.d.ts +14 -2
- package/dist/vta/webvh/dids/keys/retire/1.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/keys/retire/1.0/payload.js +1 -1
- package/dist/vta/webvh/dids/keys/retire/1.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/keys/revoke/1.0/payload.d.ts +14 -2
- package/dist/vta/webvh/dids/keys/revoke/1.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/keys/revoke/1.0/payload.js +1 -1
- package/dist/vta/webvh/dids/keys/revoke/1.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/rotate-keys/1.0/payload.d.ts +2 -14
- package/dist/vta/webvh/dids/rotate-keys/1.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/rotate-keys/1.0/payload.js +1 -1
- package/dist/vta/webvh/dids/rotate-keys/1.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/rotate-keys/2.0/payload.d.ts +14 -2
- package/dist/vta/webvh/dids/rotate-keys/2.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/rotate-keys/2.0/payload.js +1 -1
- package/dist/vta/webvh/dids/rotate-keys/2.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/update/1.0/payload.d.ts +2 -14
- package/dist/vta/webvh/dids/update/1.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/update/1.0/payload.js +1 -1
- package/dist/vta/webvh/dids/update/1.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/update/2.0/payload.d.ts +4 -4
- package/dist/vta/webvh/dids/update/2.0/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/update/2.0/payload.js +1 -1
- package/dist/vta/webvh/dids/update/2.0/payload.js.map +1 -1
- package/dist/vta/webvh/dids/update/2.1/payload.d.ts +14 -2
- package/dist/vta/webvh/dids/update/2.1/payload.d.ts.map +1 -1
- package/dist/vta/webvh/dids/update/2.1/payload.js +1 -1
- package/dist/vta/webvh/dids/update/2.1/payload.js.map +1 -1
- package/dist/vtc/_shared/0.2/invite.d.ts +16 -0
- package/dist/vtc/_shared/0.2/invite.d.ts.map +1 -0
- package/dist/vtc/_shared/0.2/invite.js +6 -0
- package/dist/vtc/_shared/0.2/invite.js.map +1 -0
- package/dist/vtc/admin/invites/create/0.1/payload.d.ts +12 -2
- package/dist/vtc/admin/invites/create/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/admin/invites/create/0.1/payload.js +1 -1
- package/dist/vtc/admin/invites/create/0.1/payload.js.map +1 -1
- package/dist/vtc/admin/invites/create/0.2/payload.d.ts +404 -0
- package/dist/vtc/admin/invites/create/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/admin/invites/create/0.2/payload.js +230 -0
- package/dist/vtc/admin/invites/create/0.2/payload.js.map +1 -0
- package/dist/vtc/admin/invites/list/0.1/payload.d.ts +12 -2
- package/dist/vtc/admin/invites/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/admin/invites/list/0.1/payload.js +1 -1
- package/dist/vtc/admin/invites/list/0.1/payload.js.map +1 -1
- package/dist/vtc/admin/invites/list/0.2/payload.d.ts +431 -0
- package/dist/vtc/admin/invites/list/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/admin/invites/list/0.2/payload.js +264 -0
- package/dist/vtc/admin/invites/list/0.2/payload.js.map +1 -0
- package/dist/vtc/credentials/reissue/0.1/payload.d.ts +3 -3
- package/dist/vtc/credentials/reissue/0.1/payload.js +1 -1
- package/dist/vtc/credentials/reissue/0.1/payload.js.map +1 -1
- package/dist/vtc/install/claim/finish/0.2/payload.d.ts +4 -4
- package/dist/vtc/install/claim/finish/0.2/payload.d.ts.map +1 -1
- package/dist/vtc/install/claim/finish/0.2/payload.js +1 -1
- package/dist/vtc/install/claim/finish/0.2/payload.js.map +1 -1
- package/dist/vtc/install/claim/passkey/finish/0.1/payload.d.ts +306 -0
- package/dist/vtc/install/claim/passkey/finish/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/install/claim/passkey/finish/0.1/payload.js +175 -0
- package/dist/vtc/install/claim/passkey/finish/0.1/payload.js.map +1 -0
- package/dist/vtc/install/claim/passkey/start/0.1/payload.d.ts +302 -0
- package/dist/vtc/install/claim/passkey/start/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/install/claim/passkey/start/0.1/payload.js +172 -0
- package/dist/vtc/install/claim/passkey/start/0.1/payload.js.map +1 -0
- package/dist/vtc/install/claim/start/0.2/payload.d.ts +4 -4
- package/dist/vtc/install/claim/start/0.2/payload.d.ts.map +1 -1
- package/dist/vtc/install/claim/start/0.2/payload.js +1 -1
- package/dist/vtc/install/claim/start/0.2/payload.js.map +1 -1
- package/dist/vtc/members/role/set/0.1/payload.d.ts +1867 -0
- package/dist/vtc/members/role/set/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/members/role/set/0.1/payload.js +1060 -0
- package/dist/vtc/members/role/set/0.1/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_extends.ts +5 -0
- package/src/_runtime/document.ts +18 -2
- package/src/_runtime/index.ts +1 -0
- package/src/_shared/components.ts +556 -3
- package/src/auth/step-up/approve-request/0.5/payload.ts +2 -2
- package/src/auth/step-up/approve-response/0.1/payload.ts +5 -5
- package/src/auth/step-up/approve-response/0.2/payload.ts +5 -5
- package/src/auth/step-up/approve-response/0.3/payload.ts +5 -5
- package/src/auth/step-up/approve-response/0.4/payload.ts +5 -5
- package/src/auth/step-up/approve-response/0.5/payload.ts +5 -5
- package/src/auth/step-up/approve-response/0.6/payload.ts +15 -3
- package/src/auth/step-up/approve-response/0.7/payload.ts +664 -0
- package/src/auth/step-up/approver/attest/0.1/payload.ts +2 -2
- package/src/index.ts +72 -0
- package/src/rooms/owner/group/remove/0.1/payload.ts +5 -5
- package/src/rooms/owner/group/remove/0.2/payload.ts +5 -5
- package/src/rooms/owner/group/remove/0.3/payload.ts +15 -3
- package/src/rooms/owner/group/remove/0.4/payload.ts +442 -0
- package/src/rooms/records/put/0.1/payload.ts +5 -5
- package/src/rooms/records/put/0.2/payload.ts +5 -5
- package/src/rooms/records/put/0.3/payload.ts +15 -3
- package/src/rooms/records/put/0.4/payload.ts +905 -0
- package/src/task-consent/decision/0.2/payload.ts +3 -3
- package/src/vta/_shared/0.3/did-key-roles.ts +1 -1
- package/src/vta/_shared/0.9/did-template.ts +17 -0
- package/src/vta/did-templates/create/2.0/payload.ts +4 -4
- package/src/vta/did-templates/create/3.0/payload.ts +4 -4
- package/src/vta/did-templates/create/3.1/payload.ts +13 -3
- package/src/vta/did-templates/create/3.2/payload.ts +869 -0
- package/src/vta/did-templates/get/2.0/payload.ts +4 -4
- package/src/vta/did-templates/get/3.0/payload.ts +4 -4
- package/src/vta/did-templates/get/3.1/payload.ts +13 -3
- package/src/vta/did-templates/get/3.2/payload.ts +630 -0
- package/src/vta/did-templates/list/2.0/payload.ts +5 -5
- package/src/vta/did-templates/list/3.0/payload.ts +5 -5
- package/src/vta/did-templates/list/3.1/payload.ts +15 -3
- package/src/vta/did-templates/list/3.2/payload.ts +665 -0
- package/src/vta/did-templates/update/2.0/payload.ts +4 -4
- package/src/vta/did-templates/update/3.0/payload.ts +4 -4
- package/src/vta/did-templates/update/3.1/payload.ts +13 -3
- package/src/vta/did-templates/update/3.2/payload.ts +879 -0
- package/src/vta/dids/_shared/0.1/key-roles.ts +17 -0
- package/src/vta/dids/_shared/0.1/method-profiles/webvh-parameters.ts +11 -0
- package/src/vta/dids/create/1.0/payload.ts +1648 -0
- package/src/vta/dids/keys/add/1.0/payload.ts +1553 -0
- package/src/vta/dids/keys/list/1.0/payload.ts +1178 -0
- package/src/vta/dids/keys/retire/1.0/payload.ts +1553 -0
- package/src/vta/dids/keys/revoke/1.0/payload.ts +1697 -0
- package/src/vta/dids/keys/rotate/1.0/payload.ts +1658 -0
- package/src/vta/dids/recover/1.0/payload.ts +1700 -0
- package/src/vta/dids/update/1.0/payload.ts +940 -0
- package/src/vta/webvh/dids/keys/add/1.0/payload.ts +15 -3
- package/src/vta/webvh/dids/keys/list/1.0/payload.ts +15 -3
- package/src/vta/webvh/dids/keys/retire/1.0/payload.ts +15 -3
- package/src/vta/webvh/dids/keys/revoke/1.0/payload.ts +15 -3
- package/src/vta/webvh/dids/rotate-keys/1.0/payload.ts +3 -15
- package/src/vta/webvh/dids/rotate-keys/2.0/payload.ts +15 -3
- package/src/vta/webvh/dids/update/1.0/payload.ts +3 -15
- package/src/vta/webvh/dids/update/2.0/payload.ts +5 -5
- package/src/vta/webvh/dids/update/2.1/payload.ts +15 -3
- package/src/vtc/_shared/0.2/invite.ts +17 -0
- package/src/vtc/admin/invites/create/0.1/payload.ts +13 -3
- package/src/vtc/admin/invites/create/0.2/payload.ts +289 -0
- package/src/vtc/admin/invites/list/0.1/payload.ts +13 -3
- package/src/vtc/admin/invites/list/0.2/payload.ts +294 -0
- package/src/vtc/credentials/reissue/0.1/payload.ts +2 -2
- package/src/vtc/install/claim/finish/0.2/payload.ts +5 -5
- package/src/vtc/install/claim/passkey/finish/0.1/payload.ts +228 -0
- package/src/vtc/install/claim/passkey/start/0.1/payload.ts +225 -0
- package/src/vtc/install/claim/start/0.2/payload.ts +5 -5
- package/src/vtc/members/role/set/0.1/payload.ts +1142 -0
|
@@ -0,0 +1,861 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vta/dids/update/1.0/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
/** Trust Task type URI. */
|
|
6
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vta/dids/update/1.0";
|
|
7
|
+
/**
|
|
8
|
+
* The earlier version of this specification that this one declares it
|
|
9
|
+
* extends (front matter `extends`, SPEC §5.2 "Declared extension"), or
|
|
10
|
+
* `null`. Only the direct declaration — follow the chain with
|
|
11
|
+
* `extendsChain` / `readForSpec`.
|
|
12
|
+
*/
|
|
13
|
+
export const EXTENDS = null;
|
|
14
|
+
/**
|
|
15
|
+
* Why this version is deprecated, or `null` while it is current. A
|
|
16
|
+
* superseded or retired version is still supported, and is withdrawn from
|
|
17
|
+
* this package in a later scheduled batch (SPEC "Superseded and Withdrawn
|
|
18
|
+
* Versions").
|
|
19
|
+
*/
|
|
20
|
+
export const DEPRECATION = null;
|
|
21
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
22
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vta/dids/update/1.0#response";
|
|
23
|
+
/**
|
|
24
|
+
* This specification's payload schema, as a value.
|
|
25
|
+
*
|
|
26
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
27
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
28
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
29
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
30
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
31
|
+
*/
|
|
32
|
+
export const PAYLOAD_SCHEMA = {
|
|
33
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
34
|
+
"$id": "https://trusttasks.org/spec/vta/dids/update/1.0",
|
|
35
|
+
"title": "VTA DIDs — Update — payload",
|
|
36
|
+
"description": "Ask a Verifiable Trust Agent to change a key-role identity's non-key members — services, `alsoKnownAs`, method parameters such as witnesses. Keys change only through the key-role tasks (vta/dids/_shared/0.1/CONVENTIONS.md).",
|
|
37
|
+
"type": "object",
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"required": [
|
|
40
|
+
"did"
|
|
41
|
+
],
|
|
42
|
+
"properties": {
|
|
43
|
+
"did": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1,
|
|
46
|
+
"description": "The key-role identity, by DID (for a `did:scid` identity, the DID without `src`)."
|
|
47
|
+
},
|
|
48
|
+
"document": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"description": "The new identifier document, for methods whose controller writes it. Omit to leave it unchanged. It MUST carry, unchanged, `verificationMethod`, every verification relationship and `keyRoles`: a change to any of them is refused with `vta/dids/update:keyMembersManaged`, because keys change only through the key-role tasks."
|
|
51
|
+
},
|
|
52
|
+
"methodParameters": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"description": "Validated against the method profile's `UpdateParameters` schema (method-profiles/<method>-parameters.schema.json); a member it does not define, or one fixed at creation, is refused with `vta/dids:methodParameterUnsupported`."
|
|
55
|
+
},
|
|
56
|
+
"label": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"maxLength": 256,
|
|
59
|
+
"description": "Operator-facing audit label."
|
|
60
|
+
},
|
|
61
|
+
"expectedVersionId": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"minLength": 1,
|
|
64
|
+
"description": "Optimistic-concurrency precondition: the version identifier (method profile §3) the caller based this change on, for example `keys/list`'s `versionId`. The VTA MUST refuse with `vta/dids:versionConflict` if the identity has moved past it. Not optional for anything a person looked at."
|
|
65
|
+
},
|
|
66
|
+
"dryRun": {
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"description": "Compute and return the preview without writing anything but the plan (CONVENTIONS.md §6.1). Absent reads as false."
|
|
69
|
+
},
|
|
70
|
+
"previewId": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"minLength": 16,
|
|
73
|
+
"description": "Apply exactly the plan a previous dry run of this same request returned, or nothing (CONVENTIONS.md §6.1); what every approval is bound to."
|
|
74
|
+
},
|
|
75
|
+
"reason": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"maxLength": 1024,
|
|
78
|
+
"description": "Why the change is being made, for the audit trail and for the other approvers. Never published."
|
|
79
|
+
},
|
|
80
|
+
"ext": {
|
|
81
|
+
"$ref": "#/$defs/Ext"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"$defs": {
|
|
85
|
+
"Response": {
|
|
86
|
+
"$anchor": "response",
|
|
87
|
+
"title": "VTA DIDs — Update — response payload",
|
|
88
|
+
"type": "object",
|
|
89
|
+
"additionalProperties": false,
|
|
90
|
+
"required": [
|
|
91
|
+
"did",
|
|
92
|
+
"outcome"
|
|
93
|
+
],
|
|
94
|
+
"properties": {
|
|
95
|
+
"did": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"minLength": 1
|
|
98
|
+
},
|
|
99
|
+
"outcome": {
|
|
100
|
+
"$ref": "#/$defs/KeyChangeOutcome"
|
|
101
|
+
},
|
|
102
|
+
"preview": {
|
|
103
|
+
"$ref": "#/$defs/IdentityChangePreview",
|
|
104
|
+
"description": "Present when `outcome` is `preview`, `pendingApproval` or `awaitingRecoveryProof`: the plan, and what an approval is bound to."
|
|
105
|
+
},
|
|
106
|
+
"approvals": {
|
|
107
|
+
"$ref": "#/$defs/KeyChangeApprovalState",
|
|
108
|
+
"description": "Present when `outcome` is `pendingApproval`."
|
|
109
|
+
},
|
|
110
|
+
"newVersionId": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "Present when `outcome` is `applied`: the version identifier of the change. Pass it as the next change's `expectedVersionId`."
|
|
113
|
+
},
|
|
114
|
+
"publication": {
|
|
115
|
+
"$ref": "#/$defs/Publication",
|
|
116
|
+
"description": "Present when `outcome` is `applied`."
|
|
117
|
+
},
|
|
118
|
+
"ext": {
|
|
119
|
+
"$ref": "#/$defs/Ext"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"Ext": {
|
|
124
|
+
"title": "Ext",
|
|
125
|
+
"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.",
|
|
126
|
+
"type": "object",
|
|
127
|
+
"minProperties": 1,
|
|
128
|
+
"additionalProperties": true,
|
|
129
|
+
"propertyNames": {
|
|
130
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"Publication": {
|
|
134
|
+
"title": "Publication",
|
|
135
|
+
"type": "object",
|
|
136
|
+
"additionalProperties": false,
|
|
137
|
+
"required": [
|
|
138
|
+
"selfPublish"
|
|
139
|
+
],
|
|
140
|
+
"description": "How the change reaches resolvers.",
|
|
141
|
+
"properties": {
|
|
142
|
+
"selfPublish": {
|
|
143
|
+
"type": "boolean",
|
|
144
|
+
"description": "True when no hosting service holds the identifier for the VTA: the caller must publish `artifacts`, and until it does resolvers see the previous version."
|
|
145
|
+
},
|
|
146
|
+
"artifacts": {
|
|
147
|
+
"type": "array",
|
|
148
|
+
"items": {
|
|
149
|
+
"$ref": "#/$defs/PublishedArtifact"
|
|
150
|
+
},
|
|
151
|
+
"description": "Present when `selfPublish` is true."
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"PublishedArtifact": {
|
|
156
|
+
"title": "PublishedArtifact",
|
|
157
|
+
"type": "object",
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"required": [
|
|
160
|
+
"name",
|
|
161
|
+
"mediaType",
|
|
162
|
+
"content"
|
|
163
|
+
],
|
|
164
|
+
"description": "A file the identifier's method publishes, as the method profile names it (`did.jsonl` for did:webvh, `did.json` and `keri.cesr` for did:webs).",
|
|
165
|
+
"properties": {
|
|
166
|
+
"name": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"minLength": 1,
|
|
169
|
+
"maxLength": 128
|
|
170
|
+
},
|
|
171
|
+
"mediaType": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"minLength": 1
|
|
174
|
+
},
|
|
175
|
+
"content": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "The artefact's content, or for an append-only artefact the appended part, as text."
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"KeyChangeApprovalState": {
|
|
182
|
+
"title": "KeyChangeApprovalState",
|
|
183
|
+
"type": "object",
|
|
184
|
+
"additionalProperties": false,
|
|
185
|
+
"required": [
|
|
186
|
+
"required",
|
|
187
|
+
"received",
|
|
188
|
+
"expiresAt"
|
|
189
|
+
],
|
|
190
|
+
"description": "Approval progress of a change the VTA's policy gates on approvals (CONVENTIONS.md §6).",
|
|
191
|
+
"properties": {
|
|
192
|
+
"required": {
|
|
193
|
+
"type": "integer",
|
|
194
|
+
"minimum": 1,
|
|
195
|
+
"description": "Distinct approvals the VTA's policy requires."
|
|
196
|
+
},
|
|
197
|
+
"received": {
|
|
198
|
+
"type": "integer",
|
|
199
|
+
"minimum": 0,
|
|
200
|
+
"description": "Distinct approvals recorded so far, the initiator's own included."
|
|
201
|
+
},
|
|
202
|
+
"approvals": {
|
|
203
|
+
"type": "array",
|
|
204
|
+
"items": {
|
|
205
|
+
"$ref": "#/$defs/RecordedApproval"
|
|
206
|
+
},
|
|
207
|
+
"description": "The approvals recorded. Custody projection only; omitted from a response to anyone who is not themselves an eligible approver of this change."
|
|
208
|
+
},
|
|
209
|
+
"expiresAt": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"format": "date-time",
|
|
212
|
+
"description": "When the preview, and every approval bound to it, stops being usable."
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
"RecordedApproval": {
|
|
217
|
+
"title": "RecordedApproval",
|
|
218
|
+
"type": "object",
|
|
219
|
+
"additionalProperties": false,
|
|
220
|
+
"required": [
|
|
221
|
+
"approver",
|
|
222
|
+
"evidence"
|
|
223
|
+
],
|
|
224
|
+
"properties": {
|
|
225
|
+
"approver": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"minLength": 1,
|
|
228
|
+
"description": "VID of the approver."
|
|
229
|
+
},
|
|
230
|
+
"evidence": {
|
|
231
|
+
"$ref": "#/$defs/ApprovalEvidenceKind"
|
|
232
|
+
},
|
|
233
|
+
"recordedAt": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"format": "date-time"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"ApprovalEvidenceKind": {
|
|
240
|
+
"title": "ApprovalEvidenceKind",
|
|
241
|
+
"type": "string",
|
|
242
|
+
"enum": [
|
|
243
|
+
"didSigned",
|
|
244
|
+
"webauthn",
|
|
245
|
+
"approverSigned"
|
|
246
|
+
],
|
|
247
|
+
"description": "The evidence an approval was recorded on, as `auth/step-up/approve-response` names it. Only the approver's own evidence is ever recorded: a proof by a key the VTA records as acting for an approver — a console signing key or any other delegation — is never an approval (CONVENTIONS.md §6.3)."
|
|
248
|
+
},
|
|
249
|
+
"IdentityChangePreview": {
|
|
250
|
+
"title": "IdentityChangePreview",
|
|
251
|
+
"type": "object",
|
|
252
|
+
"additionalProperties": false,
|
|
253
|
+
"required": [
|
|
254
|
+
"previewId",
|
|
255
|
+
"method",
|
|
256
|
+
"expiresAt",
|
|
257
|
+
"changes",
|
|
258
|
+
"document",
|
|
259
|
+
"updateKeyRotates"
|
|
260
|
+
],
|
|
261
|
+
"description": "What a change would publish, computed by the VTA by running the handler it would run to apply it (CONVENTIONS.md §6.1). This is what a consent surface renders and what an approval is bound to.",
|
|
262
|
+
"properties": {
|
|
263
|
+
"previewId": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"minLength": 16,
|
|
266
|
+
"description": "Opaque, unguessable identifier of this exact plan. Carried back by the apply request; every approval and any recovery proof is bound to it."
|
|
267
|
+
},
|
|
268
|
+
"method": {
|
|
269
|
+
"$ref": "#/$defs/DidMethodName"
|
|
270
|
+
},
|
|
271
|
+
"baseVersionId": {
|
|
272
|
+
"type": "string",
|
|
273
|
+
"description": "The version identifier the plan was computed against. Absent only for a creation. The plan is void once the identifier moves past it."
|
|
274
|
+
},
|
|
275
|
+
"expiresAt": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"format": "date-time"
|
|
278
|
+
},
|
|
279
|
+
"changes": {
|
|
280
|
+
"type": "array",
|
|
281
|
+
"items": {
|
|
282
|
+
"$ref": "#/$defs/IdentityChange"
|
|
283
|
+
},
|
|
284
|
+
"description": "Every change the plan would make, including the ones the caller did not ask for — in particular any movement of the update authority the method requires."
|
|
285
|
+
},
|
|
286
|
+
"document": {
|
|
287
|
+
"type": "object",
|
|
288
|
+
"description": "The complete identifier document the change would publish, `keyRoles` included. Public data by construction."
|
|
289
|
+
},
|
|
290
|
+
"warnings": {
|
|
291
|
+
"type": "array",
|
|
292
|
+
"items": {
|
|
293
|
+
"$ref": "#/$defs/PreviewWarning"
|
|
294
|
+
},
|
|
295
|
+
"uniqueItems": true
|
|
296
|
+
},
|
|
297
|
+
"updateKeyRotates": {
|
|
298
|
+
"type": "boolean",
|
|
299
|
+
"description": "True when applying the plan also moves the identifier's update authority to a committed successor — every change under did:webvh pre-rotation, never a KERI interaction event. Stated as its own member because it is the consequence a reviewer most often misses."
|
|
300
|
+
},
|
|
301
|
+
"recoverySigning": {
|
|
302
|
+
"$ref": "#/$defs/RecoverySigningRequest"
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"RecoverySigningRequest": {
|
|
307
|
+
"title": "RecoverySigningRequest",
|
|
308
|
+
"type": "object",
|
|
309
|
+
"additionalProperties": false,
|
|
310
|
+
"required": [
|
|
311
|
+
"commitment",
|
|
312
|
+
"keyType",
|
|
313
|
+
"unsignedChange",
|
|
314
|
+
"proofOptions"
|
|
315
|
+
],
|
|
316
|
+
"description": "What a recovery custodian must sign for a change that only the recovery key may authorize (CONVENTIONS.md §5.4, §9.4). The custodian MUST check `unsignedChange` itself — render it to its human, confirm that it reveals the recovery key it holds and commits to a fresh recovery key it also holds — and MUST NOT sign on the strength of this request's description alone.",
|
|
317
|
+
"properties": {
|
|
318
|
+
"commitment": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"minLength": 1,
|
|
321
|
+
"description": "The recovery commitment the identifier publishes; the custodian's key MUST be the one it commits to."
|
|
322
|
+
},
|
|
323
|
+
"keyType": {
|
|
324
|
+
"$ref": "#/$defs/KeyType"
|
|
325
|
+
},
|
|
326
|
+
"unsignedChange": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"minLength": 1,
|
|
329
|
+
"description": "The change exactly as it will be published, without the recovery proof, as JSON text in the method's own form (a did:webvh log entry, a KERI rotation event)."
|
|
330
|
+
},
|
|
331
|
+
"proofOptions": {
|
|
332
|
+
"type": "object",
|
|
333
|
+
"description": "The proof the method requires over `unsignedChange`, without its signature value, as the method profile defines it (for did:webvh, a Data Integrity proof configuration with `proofPurpose: assertionMethod` and the recovery key's `did:key` as `verificationMethod`)."
|
|
334
|
+
},
|
|
335
|
+
"expiresAt": {
|
|
336
|
+
"type": "string",
|
|
337
|
+
"format": "date-time"
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
"KeyType": {
|
|
342
|
+
"title": "KeyType",
|
|
343
|
+
"type": "string",
|
|
344
|
+
"enum": [
|
|
345
|
+
"ed25519",
|
|
346
|
+
"x25519",
|
|
347
|
+
"p256",
|
|
348
|
+
"mldsa44",
|
|
349
|
+
"mldsa65"
|
|
350
|
+
],
|
|
351
|
+
"description": "Cryptographic algorithm the key material belongs to. `ed25519` signs (EdDSA), `x25519` performs key agreement and never signs, `p256` signs (ES256), and `mldsa44` and `mldsa65` sign with the post-quantum ML-DSA scheme of US NIST FIPS 204. The set is expected to grow as algorithms are standardised, and growing it is a MINOR change under SPEC.md §5.2: `keyType` selects no schema branch, so adding a value relaxes a constraint rather than narrowing one, and the generated libraries mark this enumeration non-exhaustive so that a consumer absorbs a new value rather than failing to compile. Two ML-DSA parameter sets are carried because two specifications require different ones — W3C Quantum-Resistant Cryptosuites defines Data Integrity suites only for ML-DSA-44, while Trust Spanning Protocol Rev 3 §8.1 mandates ML-DSA-65 — so the parameter set is chosen by whatever consumes the key and the two are not redundant. A consumer that does not implement a value it receives MUST refuse the document rather than substitute one it does support."
|
|
352
|
+
},
|
|
353
|
+
"PreviewWarning": {
|
|
354
|
+
"title": "PreviewWarning",
|
|
355
|
+
"type": "string",
|
|
356
|
+
"enum": [
|
|
357
|
+
"singleKeyRole",
|
|
358
|
+
"algorithmNotInAcceptedSet",
|
|
359
|
+
"roleWillHaveNoClassicalKey",
|
|
360
|
+
"attestationReissuanceRequired",
|
|
361
|
+
"selfPublish",
|
|
362
|
+
"noWitnesses",
|
|
363
|
+
"protectionBelowPolicy",
|
|
364
|
+
"recoveryKeyRevealed"
|
|
365
|
+
],
|
|
366
|
+
"description": "Conditions a human should be shown before approving. `singleKeyRole` — the role will hold one active key. `algorithmNotInAcceptedSet` — a verifier population the VTA knows of does not accept the new key's algorithm. `roleWillHaveNoClassicalKey` — every remaining key is post-quantum. `attestationReissuanceRequired` — revoking this attestation key obliges re-issuance and re-signed status lists (VTI-KEY-133). `selfPublish` — the VTA will not publish the change; the operator must. `noWitnesses` — the identifier has no witnesses, so a party holding the VTA's routine update key can drop the recovery commitment unobserved (CONVENTIONS.md §5.3). `protectionBelowPolicy` — a key will be held at a `ProtectionClass` below what the VTA's policy recommends for its role (a plain VTA holding an attestation key). `recoveryKeyRevealed` — this change uses the recovery key, which must be replaced by a fresh recovery commitment in the same change."
|
|
367
|
+
},
|
|
368
|
+
"IdentityChange": {
|
|
369
|
+
"title": "IdentityChange",
|
|
370
|
+
"type": "object",
|
|
371
|
+
"additionalProperties": false,
|
|
372
|
+
"required": [
|
|
373
|
+
"op",
|
|
374
|
+
"role"
|
|
375
|
+
],
|
|
376
|
+
"properties": {
|
|
377
|
+
"op": {
|
|
378
|
+
"type": "string",
|
|
379
|
+
"enum": [
|
|
380
|
+
"addKey",
|
|
381
|
+
"retireKey",
|
|
382
|
+
"revokeKey",
|
|
383
|
+
"rotateUpdateKey",
|
|
384
|
+
"commitUpdateKey",
|
|
385
|
+
"replaceRecoveryCommitment",
|
|
386
|
+
"useRecoveryKey"
|
|
387
|
+
],
|
|
388
|
+
"description": "`addKey` — a verification method joins its role's relationship and `keyRoles`. `retireKey` — a verification method leaves its relationship, `keyRoles` and the document. `revokeKey` — a verification method leaves its relationship and `keyRoles`, and stays in `verificationMethod` with `revoked` set to the compromise time (CONVENTIONS.md §9.1). `rotateUpdateKey` — the identifier's update authority moves to a committed routine successor. `commitUpdateKey` — a new routine successor is committed. `replaceRecoveryCommitment` — the recovery commitment changes. `useRecoveryKey` — the change is authorized by the recovery key, which the identifier then reveals."
|
|
389
|
+
},
|
|
390
|
+
"role": {
|
|
391
|
+
"$ref": "#/$defs/IdentityKeyRole"
|
|
392
|
+
},
|
|
393
|
+
"verificationMethod": {
|
|
394
|
+
"type": "string"
|
|
395
|
+
},
|
|
396
|
+
"keyType": {
|
|
397
|
+
"$ref": "#/$defs/KeyType"
|
|
398
|
+
},
|
|
399
|
+
"publicKeyMultibase": {
|
|
400
|
+
"type": "string"
|
|
401
|
+
},
|
|
402
|
+
"commitment": {
|
|
403
|
+
"type": "string"
|
|
404
|
+
},
|
|
405
|
+
"relationships": {
|
|
406
|
+
"type": "array",
|
|
407
|
+
"items": {
|
|
408
|
+
"$ref": "#/$defs/DidVerificationRelationship"
|
|
409
|
+
},
|
|
410
|
+
"uniqueItems": true
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"DidVerificationRelationship": {
|
|
415
|
+
"title": "DidVerificationRelationship",
|
|
416
|
+
"type": "string",
|
|
417
|
+
"enum": [
|
|
418
|
+
"authentication",
|
|
419
|
+
"assertionMethod",
|
|
420
|
+
"keyAgreement",
|
|
421
|
+
"capabilityInvocation",
|
|
422
|
+
"capabilityDelegation"
|
|
423
|
+
],
|
|
424
|
+
"description": "A DID Core verification relationship."
|
|
425
|
+
},
|
|
426
|
+
"IdentityKeyRole": {
|
|
427
|
+
"title": "IdentityKeyRole",
|
|
428
|
+
"type": "string",
|
|
429
|
+
"enum": [
|
|
430
|
+
"attestation",
|
|
431
|
+
"operational",
|
|
432
|
+
"messaging",
|
|
433
|
+
"update",
|
|
434
|
+
"authenticator"
|
|
435
|
+
],
|
|
436
|
+
"description": "The named key role a key occupies in an identity (CONVENTIONS.md §2; VTI-KEY-070 onward). `attestation` — the only keys in `assertionMethod`; sign the identity's attestation artefacts (credentials, endorsements, status lists) through the VTA's signing service and nowhere else. Generated inside the VTA, never derived, never exportable, never in a backup. `operational` — the only keys the identity's own process uses in `authentication`; sign the node's own traffic (Trust Task requests and responses, DIDComm and TSP signatures, invitations, notices, audit checkpoints). Derived. `messaging` — the only keys in `keyAgreement`; sign nothing. X25519, derived or generated in its own right and never converted from a signing key. `update` — the identifier's change authority as its DID method states it (a did:webvh log's `updateKeys` and `nextKeyHashes`, a KERI key event log's current and next keys); never a role-bound verification method, never in `keyRoles`. Generated inside the VTA, never derived, never exportable, never in a backup, and always accompanied by a committed recovery key held outside the VTA's protection boundary. `authenticator` — a key held on a person's own authenticator (a WebAuthn passkey), listed in `authentication` of that person's identity only; used only to verify the person's WebAuthn assertions (sign-in and step-up evidence) and never to accept a Data Integrity proof. The VTA never holds its private half, so it is enrolled by the passkey ceremony and never generated, added or rotated by these tasks. Never permitted on the durable identity of a VTA, a VTC or a VTN. No role permits `capabilityInvocation` or `capabilityDelegation` (VTI-KEY-075). The set is an extensible registry: a consumer that meets a role it does not implement MUST rely on the key for nothing, and MUST NOT map it onto a role it does know (VTI-KEY-074)."
|
|
437
|
+
},
|
|
438
|
+
"DidMethodName": {
|
|
439
|
+
"title": "DidMethodName",
|
|
440
|
+
"type": "string",
|
|
441
|
+
"pattern": "^[a-z0-9]+(:[a-z0-9]+)*$",
|
|
442
|
+
"description": "The DID method an identity uses, as the method profile that governs it is named: `webvh` for a did:webvh identity, `scid:vh` for the did:scid:vh:1 form of one, `webs` for did:webs. Deliberately a pattern and not an enumeration: a method is added by publishing its profile under method-profiles/, never by changing this schema. A VTA MUST refuse a method it holds no profile for, or whose profile declares it ineligible, with `vta/dids:methodNotEligible`."
|
|
443
|
+
},
|
|
444
|
+
"KeyChangeOutcome": {
|
|
445
|
+
"title": "KeyChangeOutcome",
|
|
446
|
+
"type": "string",
|
|
447
|
+
"enum": [
|
|
448
|
+
"preview",
|
|
449
|
+
"applied",
|
|
450
|
+
"pendingApproval",
|
|
451
|
+
"awaitingRecoveryProof"
|
|
452
|
+
],
|
|
453
|
+
"description": "`preview` — nothing was written; the response carries the plan. `applied` — the change was made (and published, unless `publication.selfPublish`). `pendingApproval` — the plan is recorded and awaits further approvals. `awaitingRecoveryProof` — the plan is approved and waits for the recovery custodian's proof (`preview.recoverySigning`); nothing is published until it arrives."
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
};
|
|
457
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
458
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
459
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
460
|
+
"$ref": "#/$defs/Response",
|
|
461
|
+
"$defs": {
|
|
462
|
+
"Response": {
|
|
463
|
+
"$anchor": "response",
|
|
464
|
+
"title": "VTA DIDs — Update — response payload",
|
|
465
|
+
"type": "object",
|
|
466
|
+
"additionalProperties": false,
|
|
467
|
+
"required": [
|
|
468
|
+
"did",
|
|
469
|
+
"outcome"
|
|
470
|
+
],
|
|
471
|
+
"properties": {
|
|
472
|
+
"did": {
|
|
473
|
+
"type": "string",
|
|
474
|
+
"minLength": 1
|
|
475
|
+
},
|
|
476
|
+
"outcome": {
|
|
477
|
+
"$ref": "#/$defs/KeyChangeOutcome"
|
|
478
|
+
},
|
|
479
|
+
"preview": {
|
|
480
|
+
"$ref": "#/$defs/IdentityChangePreview",
|
|
481
|
+
"description": "Present when `outcome` is `preview`, `pendingApproval` or `awaitingRecoveryProof`: the plan, and what an approval is bound to."
|
|
482
|
+
},
|
|
483
|
+
"approvals": {
|
|
484
|
+
"$ref": "#/$defs/KeyChangeApprovalState",
|
|
485
|
+
"description": "Present when `outcome` is `pendingApproval`."
|
|
486
|
+
},
|
|
487
|
+
"newVersionId": {
|
|
488
|
+
"type": "string",
|
|
489
|
+
"description": "Present when `outcome` is `applied`: the version identifier of the change. Pass it as the next change's `expectedVersionId`."
|
|
490
|
+
},
|
|
491
|
+
"publication": {
|
|
492
|
+
"$ref": "#/$defs/Publication",
|
|
493
|
+
"description": "Present when `outcome` is `applied`."
|
|
494
|
+
},
|
|
495
|
+
"ext": {
|
|
496
|
+
"$ref": "#/$defs/Ext"
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
},
|
|
500
|
+
"Ext": {
|
|
501
|
+
"title": "Ext",
|
|
502
|
+
"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.",
|
|
503
|
+
"type": "object",
|
|
504
|
+
"minProperties": 1,
|
|
505
|
+
"additionalProperties": true,
|
|
506
|
+
"propertyNames": {
|
|
507
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
"Publication": {
|
|
511
|
+
"title": "Publication",
|
|
512
|
+
"type": "object",
|
|
513
|
+
"additionalProperties": false,
|
|
514
|
+
"required": [
|
|
515
|
+
"selfPublish"
|
|
516
|
+
],
|
|
517
|
+
"description": "How the change reaches resolvers.",
|
|
518
|
+
"properties": {
|
|
519
|
+
"selfPublish": {
|
|
520
|
+
"type": "boolean",
|
|
521
|
+
"description": "True when no hosting service holds the identifier for the VTA: the caller must publish `artifacts`, and until it does resolvers see the previous version."
|
|
522
|
+
},
|
|
523
|
+
"artifacts": {
|
|
524
|
+
"type": "array",
|
|
525
|
+
"items": {
|
|
526
|
+
"$ref": "#/$defs/PublishedArtifact"
|
|
527
|
+
},
|
|
528
|
+
"description": "Present when `selfPublish` is true."
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
"PublishedArtifact": {
|
|
533
|
+
"title": "PublishedArtifact",
|
|
534
|
+
"type": "object",
|
|
535
|
+
"additionalProperties": false,
|
|
536
|
+
"required": [
|
|
537
|
+
"name",
|
|
538
|
+
"mediaType",
|
|
539
|
+
"content"
|
|
540
|
+
],
|
|
541
|
+
"description": "A file the identifier's method publishes, as the method profile names it (`did.jsonl` for did:webvh, `did.json` and `keri.cesr` for did:webs).",
|
|
542
|
+
"properties": {
|
|
543
|
+
"name": {
|
|
544
|
+
"type": "string",
|
|
545
|
+
"minLength": 1,
|
|
546
|
+
"maxLength": 128
|
|
547
|
+
},
|
|
548
|
+
"mediaType": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"minLength": 1
|
|
551
|
+
},
|
|
552
|
+
"content": {
|
|
553
|
+
"type": "string",
|
|
554
|
+
"description": "The artefact's content, or for an append-only artefact the appended part, as text."
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
"KeyChangeApprovalState": {
|
|
559
|
+
"title": "KeyChangeApprovalState",
|
|
560
|
+
"type": "object",
|
|
561
|
+
"additionalProperties": false,
|
|
562
|
+
"required": [
|
|
563
|
+
"required",
|
|
564
|
+
"received",
|
|
565
|
+
"expiresAt"
|
|
566
|
+
],
|
|
567
|
+
"description": "Approval progress of a change the VTA's policy gates on approvals (CONVENTIONS.md §6).",
|
|
568
|
+
"properties": {
|
|
569
|
+
"required": {
|
|
570
|
+
"type": "integer",
|
|
571
|
+
"minimum": 1,
|
|
572
|
+
"description": "Distinct approvals the VTA's policy requires."
|
|
573
|
+
},
|
|
574
|
+
"received": {
|
|
575
|
+
"type": "integer",
|
|
576
|
+
"minimum": 0,
|
|
577
|
+
"description": "Distinct approvals recorded so far, the initiator's own included."
|
|
578
|
+
},
|
|
579
|
+
"approvals": {
|
|
580
|
+
"type": "array",
|
|
581
|
+
"items": {
|
|
582
|
+
"$ref": "#/$defs/RecordedApproval"
|
|
583
|
+
},
|
|
584
|
+
"description": "The approvals recorded. Custody projection only; omitted from a response to anyone who is not themselves an eligible approver of this change."
|
|
585
|
+
},
|
|
586
|
+
"expiresAt": {
|
|
587
|
+
"type": "string",
|
|
588
|
+
"format": "date-time",
|
|
589
|
+
"description": "When the preview, and every approval bound to it, stops being usable."
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
},
|
|
593
|
+
"RecordedApproval": {
|
|
594
|
+
"title": "RecordedApproval",
|
|
595
|
+
"type": "object",
|
|
596
|
+
"additionalProperties": false,
|
|
597
|
+
"required": [
|
|
598
|
+
"approver",
|
|
599
|
+
"evidence"
|
|
600
|
+
],
|
|
601
|
+
"properties": {
|
|
602
|
+
"approver": {
|
|
603
|
+
"type": "string",
|
|
604
|
+
"minLength": 1,
|
|
605
|
+
"description": "VID of the approver."
|
|
606
|
+
},
|
|
607
|
+
"evidence": {
|
|
608
|
+
"$ref": "#/$defs/ApprovalEvidenceKind"
|
|
609
|
+
},
|
|
610
|
+
"recordedAt": {
|
|
611
|
+
"type": "string",
|
|
612
|
+
"format": "date-time"
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
},
|
|
616
|
+
"ApprovalEvidenceKind": {
|
|
617
|
+
"title": "ApprovalEvidenceKind",
|
|
618
|
+
"type": "string",
|
|
619
|
+
"enum": [
|
|
620
|
+
"didSigned",
|
|
621
|
+
"webauthn",
|
|
622
|
+
"approverSigned"
|
|
623
|
+
],
|
|
624
|
+
"description": "The evidence an approval was recorded on, as `auth/step-up/approve-response` names it. Only the approver's own evidence is ever recorded: a proof by a key the VTA records as acting for an approver — a console signing key or any other delegation — is never an approval (CONVENTIONS.md §6.3)."
|
|
625
|
+
},
|
|
626
|
+
"IdentityChangePreview": {
|
|
627
|
+
"title": "IdentityChangePreview",
|
|
628
|
+
"type": "object",
|
|
629
|
+
"additionalProperties": false,
|
|
630
|
+
"required": [
|
|
631
|
+
"previewId",
|
|
632
|
+
"method",
|
|
633
|
+
"expiresAt",
|
|
634
|
+
"changes",
|
|
635
|
+
"document",
|
|
636
|
+
"updateKeyRotates"
|
|
637
|
+
],
|
|
638
|
+
"description": "What a change would publish, computed by the VTA by running the handler it would run to apply it (CONVENTIONS.md §6.1). This is what a consent surface renders and what an approval is bound to.",
|
|
639
|
+
"properties": {
|
|
640
|
+
"previewId": {
|
|
641
|
+
"type": "string",
|
|
642
|
+
"minLength": 16,
|
|
643
|
+
"description": "Opaque, unguessable identifier of this exact plan. Carried back by the apply request; every approval and any recovery proof is bound to it."
|
|
644
|
+
},
|
|
645
|
+
"method": {
|
|
646
|
+
"$ref": "#/$defs/DidMethodName"
|
|
647
|
+
},
|
|
648
|
+
"baseVersionId": {
|
|
649
|
+
"type": "string",
|
|
650
|
+
"description": "The version identifier the plan was computed against. Absent only for a creation. The plan is void once the identifier moves past it."
|
|
651
|
+
},
|
|
652
|
+
"expiresAt": {
|
|
653
|
+
"type": "string",
|
|
654
|
+
"format": "date-time"
|
|
655
|
+
},
|
|
656
|
+
"changes": {
|
|
657
|
+
"type": "array",
|
|
658
|
+
"items": {
|
|
659
|
+
"$ref": "#/$defs/IdentityChange"
|
|
660
|
+
},
|
|
661
|
+
"description": "Every change the plan would make, including the ones the caller did not ask for — in particular any movement of the update authority the method requires."
|
|
662
|
+
},
|
|
663
|
+
"document": {
|
|
664
|
+
"type": "object",
|
|
665
|
+
"description": "The complete identifier document the change would publish, `keyRoles` included. Public data by construction."
|
|
666
|
+
},
|
|
667
|
+
"warnings": {
|
|
668
|
+
"type": "array",
|
|
669
|
+
"items": {
|
|
670
|
+
"$ref": "#/$defs/PreviewWarning"
|
|
671
|
+
},
|
|
672
|
+
"uniqueItems": true
|
|
673
|
+
},
|
|
674
|
+
"updateKeyRotates": {
|
|
675
|
+
"type": "boolean",
|
|
676
|
+
"description": "True when applying the plan also moves the identifier's update authority to a committed successor — every change under did:webvh pre-rotation, never a KERI interaction event. Stated as its own member because it is the consequence a reviewer most often misses."
|
|
677
|
+
},
|
|
678
|
+
"recoverySigning": {
|
|
679
|
+
"$ref": "#/$defs/RecoverySigningRequest"
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
},
|
|
683
|
+
"RecoverySigningRequest": {
|
|
684
|
+
"title": "RecoverySigningRequest",
|
|
685
|
+
"type": "object",
|
|
686
|
+
"additionalProperties": false,
|
|
687
|
+
"required": [
|
|
688
|
+
"commitment",
|
|
689
|
+
"keyType",
|
|
690
|
+
"unsignedChange",
|
|
691
|
+
"proofOptions"
|
|
692
|
+
],
|
|
693
|
+
"description": "What a recovery custodian must sign for a change that only the recovery key may authorize (CONVENTIONS.md §5.4, §9.4). The custodian MUST check `unsignedChange` itself — render it to its human, confirm that it reveals the recovery key it holds and commits to a fresh recovery key it also holds — and MUST NOT sign on the strength of this request's description alone.",
|
|
694
|
+
"properties": {
|
|
695
|
+
"commitment": {
|
|
696
|
+
"type": "string",
|
|
697
|
+
"minLength": 1,
|
|
698
|
+
"description": "The recovery commitment the identifier publishes; the custodian's key MUST be the one it commits to."
|
|
699
|
+
},
|
|
700
|
+
"keyType": {
|
|
701
|
+
"$ref": "#/$defs/KeyType"
|
|
702
|
+
},
|
|
703
|
+
"unsignedChange": {
|
|
704
|
+
"type": "string",
|
|
705
|
+
"minLength": 1,
|
|
706
|
+
"description": "The change exactly as it will be published, without the recovery proof, as JSON text in the method's own form (a did:webvh log entry, a KERI rotation event)."
|
|
707
|
+
},
|
|
708
|
+
"proofOptions": {
|
|
709
|
+
"type": "object",
|
|
710
|
+
"description": "The proof the method requires over `unsignedChange`, without its signature value, as the method profile defines it (for did:webvh, a Data Integrity proof configuration with `proofPurpose: assertionMethod` and the recovery key's `did:key` as `verificationMethod`)."
|
|
711
|
+
},
|
|
712
|
+
"expiresAt": {
|
|
713
|
+
"type": "string",
|
|
714
|
+
"format": "date-time"
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
},
|
|
718
|
+
"KeyType": {
|
|
719
|
+
"title": "KeyType",
|
|
720
|
+
"type": "string",
|
|
721
|
+
"enum": [
|
|
722
|
+
"ed25519",
|
|
723
|
+
"x25519",
|
|
724
|
+
"p256",
|
|
725
|
+
"mldsa44",
|
|
726
|
+
"mldsa65"
|
|
727
|
+
],
|
|
728
|
+
"description": "Cryptographic algorithm the key material belongs to. `ed25519` signs (EdDSA), `x25519` performs key agreement and never signs, `p256` signs (ES256), and `mldsa44` and `mldsa65` sign with the post-quantum ML-DSA scheme of US NIST FIPS 204. The set is expected to grow as algorithms are standardised, and growing it is a MINOR change under SPEC.md §5.2: `keyType` selects no schema branch, so adding a value relaxes a constraint rather than narrowing one, and the generated libraries mark this enumeration non-exhaustive so that a consumer absorbs a new value rather than failing to compile. Two ML-DSA parameter sets are carried because two specifications require different ones — W3C Quantum-Resistant Cryptosuites defines Data Integrity suites only for ML-DSA-44, while Trust Spanning Protocol Rev 3 §8.1 mandates ML-DSA-65 — so the parameter set is chosen by whatever consumes the key and the two are not redundant. A consumer that does not implement a value it receives MUST refuse the document rather than substitute one it does support."
|
|
729
|
+
},
|
|
730
|
+
"PreviewWarning": {
|
|
731
|
+
"title": "PreviewWarning",
|
|
732
|
+
"type": "string",
|
|
733
|
+
"enum": [
|
|
734
|
+
"singleKeyRole",
|
|
735
|
+
"algorithmNotInAcceptedSet",
|
|
736
|
+
"roleWillHaveNoClassicalKey",
|
|
737
|
+
"attestationReissuanceRequired",
|
|
738
|
+
"selfPublish",
|
|
739
|
+
"noWitnesses",
|
|
740
|
+
"protectionBelowPolicy",
|
|
741
|
+
"recoveryKeyRevealed"
|
|
742
|
+
],
|
|
743
|
+
"description": "Conditions a human should be shown before approving. `singleKeyRole` — the role will hold one active key. `algorithmNotInAcceptedSet` — a verifier population the VTA knows of does not accept the new key's algorithm. `roleWillHaveNoClassicalKey` — every remaining key is post-quantum. `attestationReissuanceRequired` — revoking this attestation key obliges re-issuance and re-signed status lists (VTI-KEY-133). `selfPublish` — the VTA will not publish the change; the operator must. `noWitnesses` — the identifier has no witnesses, so a party holding the VTA's routine update key can drop the recovery commitment unobserved (CONVENTIONS.md §5.3). `protectionBelowPolicy` — a key will be held at a `ProtectionClass` below what the VTA's policy recommends for its role (a plain VTA holding an attestation key). `recoveryKeyRevealed` — this change uses the recovery key, which must be replaced by a fresh recovery commitment in the same change."
|
|
744
|
+
},
|
|
745
|
+
"IdentityChange": {
|
|
746
|
+
"title": "IdentityChange",
|
|
747
|
+
"type": "object",
|
|
748
|
+
"additionalProperties": false,
|
|
749
|
+
"required": [
|
|
750
|
+
"op",
|
|
751
|
+
"role"
|
|
752
|
+
],
|
|
753
|
+
"properties": {
|
|
754
|
+
"op": {
|
|
755
|
+
"type": "string",
|
|
756
|
+
"enum": [
|
|
757
|
+
"addKey",
|
|
758
|
+
"retireKey",
|
|
759
|
+
"revokeKey",
|
|
760
|
+
"rotateUpdateKey",
|
|
761
|
+
"commitUpdateKey",
|
|
762
|
+
"replaceRecoveryCommitment",
|
|
763
|
+
"useRecoveryKey"
|
|
764
|
+
],
|
|
765
|
+
"description": "`addKey` — a verification method joins its role's relationship and `keyRoles`. `retireKey` — a verification method leaves its relationship, `keyRoles` and the document. `revokeKey` — a verification method leaves its relationship and `keyRoles`, and stays in `verificationMethod` with `revoked` set to the compromise time (CONVENTIONS.md §9.1). `rotateUpdateKey` — the identifier's update authority moves to a committed routine successor. `commitUpdateKey` — a new routine successor is committed. `replaceRecoveryCommitment` — the recovery commitment changes. `useRecoveryKey` — the change is authorized by the recovery key, which the identifier then reveals."
|
|
766
|
+
},
|
|
767
|
+
"role": {
|
|
768
|
+
"$ref": "#/$defs/IdentityKeyRole"
|
|
769
|
+
},
|
|
770
|
+
"verificationMethod": {
|
|
771
|
+
"type": "string"
|
|
772
|
+
},
|
|
773
|
+
"keyType": {
|
|
774
|
+
"$ref": "#/$defs/KeyType"
|
|
775
|
+
},
|
|
776
|
+
"publicKeyMultibase": {
|
|
777
|
+
"type": "string"
|
|
778
|
+
},
|
|
779
|
+
"commitment": {
|
|
780
|
+
"type": "string"
|
|
781
|
+
},
|
|
782
|
+
"relationships": {
|
|
783
|
+
"type": "array",
|
|
784
|
+
"items": {
|
|
785
|
+
"$ref": "#/$defs/DidVerificationRelationship"
|
|
786
|
+
},
|
|
787
|
+
"uniqueItems": true
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
},
|
|
791
|
+
"DidVerificationRelationship": {
|
|
792
|
+
"title": "DidVerificationRelationship",
|
|
793
|
+
"type": "string",
|
|
794
|
+
"enum": [
|
|
795
|
+
"authentication",
|
|
796
|
+
"assertionMethod",
|
|
797
|
+
"keyAgreement",
|
|
798
|
+
"capabilityInvocation",
|
|
799
|
+
"capabilityDelegation"
|
|
800
|
+
],
|
|
801
|
+
"description": "A DID Core verification relationship."
|
|
802
|
+
},
|
|
803
|
+
"IdentityKeyRole": {
|
|
804
|
+
"title": "IdentityKeyRole",
|
|
805
|
+
"type": "string",
|
|
806
|
+
"enum": [
|
|
807
|
+
"attestation",
|
|
808
|
+
"operational",
|
|
809
|
+
"messaging",
|
|
810
|
+
"update",
|
|
811
|
+
"authenticator"
|
|
812
|
+
],
|
|
813
|
+
"description": "The named key role a key occupies in an identity (CONVENTIONS.md §2; VTI-KEY-070 onward). `attestation` — the only keys in `assertionMethod`; sign the identity's attestation artefacts (credentials, endorsements, status lists) through the VTA's signing service and nowhere else. Generated inside the VTA, never derived, never exportable, never in a backup. `operational` — the only keys the identity's own process uses in `authentication`; sign the node's own traffic (Trust Task requests and responses, DIDComm and TSP signatures, invitations, notices, audit checkpoints). Derived. `messaging` — the only keys in `keyAgreement`; sign nothing. X25519, derived or generated in its own right and never converted from a signing key. `update` — the identifier's change authority as its DID method states it (a did:webvh log's `updateKeys` and `nextKeyHashes`, a KERI key event log's current and next keys); never a role-bound verification method, never in `keyRoles`. Generated inside the VTA, never derived, never exportable, never in a backup, and always accompanied by a committed recovery key held outside the VTA's protection boundary. `authenticator` — a key held on a person's own authenticator (a WebAuthn passkey), listed in `authentication` of that person's identity only; used only to verify the person's WebAuthn assertions (sign-in and step-up evidence) and never to accept a Data Integrity proof. The VTA never holds its private half, so it is enrolled by the passkey ceremony and never generated, added or rotated by these tasks. Never permitted on the durable identity of a VTA, a VTC or a VTN. No role permits `capabilityInvocation` or `capabilityDelegation` (VTI-KEY-075). The set is an extensible registry: a consumer that meets a role it does not implement MUST rely on the key for nothing, and MUST NOT map it onto a role it does know (VTI-KEY-074)."
|
|
814
|
+
},
|
|
815
|
+
"DidMethodName": {
|
|
816
|
+
"title": "DidMethodName",
|
|
817
|
+
"type": "string",
|
|
818
|
+
"pattern": "^[a-z0-9]+(:[a-z0-9]+)*$",
|
|
819
|
+
"description": "The DID method an identity uses, as the method profile that governs it is named: `webvh` for a did:webvh identity, `scid:vh` for the did:scid:vh:1 form of one, `webs` for did:webs. Deliberately a pattern and not an enumeration: a method is added by publishing its profile under method-profiles/, never by changing this schema. A VTA MUST refuse a method it holds no profile for, or whose profile declares it ineligible, with `vta/dids:methodNotEligible`."
|
|
820
|
+
},
|
|
821
|
+
"KeyChangeOutcome": {
|
|
822
|
+
"title": "KeyChangeOutcome",
|
|
823
|
+
"type": "string",
|
|
824
|
+
"enum": [
|
|
825
|
+
"preview",
|
|
826
|
+
"applied",
|
|
827
|
+
"pendingApproval",
|
|
828
|
+
"awaitingRecoveryProof"
|
|
829
|
+
],
|
|
830
|
+
"description": "`preview` — nothing was written; the response carries the plan. `applied` — the change was made (and published, unless `publication.selfPublish`). `pendingApproval` — the plan is recorded and awaits further approvals. `awaitingRecoveryProof` — the plan is approved and waits for the recovery custodian's proof (`preview.recoverySigning`); nothing is published until it arrives."
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
};
|
|
834
|
+
/**
|
|
835
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
836
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
837
|
+
* per-specification and cannot be derived from the document alone, and
|
|
838
|
+
* item 2 needs the schema this carries.
|
|
839
|
+
*/
|
|
840
|
+
export const SPEC = {
|
|
841
|
+
typeUri: TYPE_URI,
|
|
842
|
+
isBearer: false,
|
|
843
|
+
isProofRequired: true,
|
|
844
|
+
isRecipientRequired: true,
|
|
845
|
+
isIssuedAtRequired: true,
|
|
846
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
847
|
+
};
|
|
848
|
+
/**
|
|
849
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
850
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
851
|
+
* parties (§7.3 item 5).
|
|
852
|
+
*/
|
|
853
|
+
export const RESPONSE_SPEC = {
|
|
854
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
855
|
+
isBearer: false,
|
|
856
|
+
isProofRequired: true,
|
|
857
|
+
isRecipientRequired: true,
|
|
858
|
+
isIssuedAtRequired: true,
|
|
859
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
860
|
+
};
|
|
861
|
+
//# sourceMappingURL=payload.js.map
|