@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
|
@@ -341,6 +341,10 @@ export type AnchorCadence = "never" | "renewal" | "manual";
|
|
|
341
341
|
* How the admission came to execute. `policyAllowed`: the community's policy admitted it at once. `approved`: the policy referred it, the community parked it, and another administrator approved it. `waived`: the policy referred it, and the community's single-administrator mode waived the approval on the requester's own re-authentication bound to the operation.
|
|
342
342
|
*/
|
|
343
343
|
export type Approval = "policyAllowed" | "approved" | "waived";
|
|
344
|
+
/**
|
|
345
|
+
* 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).
|
|
346
|
+
*/
|
|
347
|
+
export type ApprovalEvidenceKind = "didSigned" | "webauthn" | "approverSigned";
|
|
344
348
|
/**
|
|
345
349
|
* An explicit statement of the capabilities a subject may approve. Exactly one of `ceiling` (the role's full approve ceiling), `none`, or `listed` with a NON-EMPTY list of CapabilityRef.
|
|
346
350
|
*/
|
|
@@ -544,6 +548,10 @@ export type DeviceAttestation_DeviceV0_2 = WebAuthnAttestation_DeviceV0_2 | Appl
|
|
|
544
548
|
* A human-readable name for where the key lives, chosen by the enrolling identity — e.g. `Work laptop — Chrome`. Read by that identity and by administrators deciding which key to revoke; retained with the delegation. Free text authored by the enrolling identity, untrusted, and attributed to it wherever it is rendered. Absent rather than invented when none was chosen: an invented label is indistinguishable from a chosen one to somebody deciding which key to revoke.
|
|
545
549
|
*/
|
|
546
550
|
export type DeviceLabel = string;
|
|
551
|
+
/**
|
|
552
|
+
* 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`.
|
|
553
|
+
*/
|
|
554
|
+
export type DidMethodName = string;
|
|
547
555
|
/**
|
|
548
556
|
* A DID Core verification relationship.
|
|
549
557
|
*/
|
|
@@ -799,6 +807,10 @@ export type Handle = string;
|
|
|
799
807
|
* **Not a timestamp.** A time is host-asserted, unverifiable and useless for this: two roots a second apart are not evidence of anything, while two roots at one version are.
|
|
800
808
|
*/
|
|
801
809
|
export type HeadVersion = number;
|
|
810
|
+
/**
|
|
811
|
+
* 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).
|
|
812
|
+
*/
|
|
813
|
+
export type IdentityKeyRole = "attestation" | "operational" | "messaging" | "update" | "authenticator";
|
|
802
814
|
/**
|
|
803
815
|
* The media types a directory image may have — those a `CardBlobRef` admits.
|
|
804
816
|
*/
|
|
@@ -807,6 +819,10 @@ export type ImageMediaType = "image/png" | "image/jpeg" | "image/webp" | "image/
|
|
|
807
819
|
* Who may ask the community to introduce them to this member. `anyone`: any active member who can find the entry. `groups`: only members who share a community group with them. `connections`: only members holding an attributed, in-force verified relationship with them. `off`: nobody. A refused introduction is never reported to its sender.
|
|
808
820
|
*/
|
|
809
821
|
export type Introductions = "anyone" | "groups" | "connections" | "off";
|
|
822
|
+
/**
|
|
823
|
+
* `wallet`: the invitation names a DID, and is claimed by signing as it (vtc/install/claim/start and finish 0.3). `passkey`: it names none, and the administrator's DID is the `did:key` of the passkey registered at its claim (vtc/install/claim/passkey/start and finish 0.1).
|
|
824
|
+
*/
|
|
825
|
+
export type InviteKind = "wallet" | "passkey";
|
|
810
826
|
/**
|
|
811
827
|
* `issued` is outstanding and revocable; `consumed` and `expired` are terminal.
|
|
812
828
|
*/
|
|
@@ -820,6 +836,26 @@ export type JoinRequestId = string;
|
|
|
820
836
|
* An optional note from the member to the group's managers. Plain text.
|
|
821
837
|
*/
|
|
822
838
|
export type JoinRequestMessage = string;
|
|
839
|
+
/**
|
|
840
|
+
* `planned` — a successor was staged, activated, and the predecessor retired on the operator's schedule. `compromise` — a key was revoked and, where the role would otherwise be empty, replaced in the same change. `addition` — a key joined a role without anything leaving it. `recovery` — the identifier's update authority moved to the committed recovery key, because the VTA's own update keys were lost or may be in someone else's hands.
|
|
841
|
+
*/
|
|
842
|
+
export type KeyChangeKind = "planned" | "compromise" | "addition" | "recovery";
|
|
843
|
+
/**
|
|
844
|
+
* `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.
|
|
845
|
+
*/
|
|
846
|
+
export type KeyChangeOutcome = "preview" | "applied" | "pendingApproval" | "awaitingRecoveryProof";
|
|
847
|
+
/**
|
|
848
|
+
* `pendingApproval` — awaiting the approvals the VTA's policy requires; nothing is published. `awaitingRecoveryProof` — approved, and waiting for the recovery custodian's proof over the change; nothing is published. `staged` — successor published, not yet used. `overlapping` — successor active, predecessor `retiring`. `completed` — every predecessor retired, or the change is published and any overlap it began has ended. `aborted` — the successor was retired instead of the predecessor, or a revocation superseded the change. `expired` — the approvals or the recovery proof did not arrive before the preview expired; nothing was published.
|
|
849
|
+
*/
|
|
850
|
+
export type KeyChangeState = "pendingApproval" | "awaitingRecoveryProof" | "staged" | "overlapping" | "completed" | "aborted" | "expired";
|
|
851
|
+
/**
|
|
852
|
+
* Where a key is in its role's lifecycle (CONVENTIONS.md §8, §10). `pending` — planned by a preview or a change awaiting approval; not published; custody projection only. `staged` — published and bound to its role but not yet used, until the publishing change's cache horizon. `active` — the key the VTA uses for new signatures (for `messaging`, advertises for new sessions; for `update`, the current authority). `retiring` — still published but never used to sign again; a retiring `messaging` key still decrypts until retirement. `retired` — removed by planned rotation; what it signed while published stays valid, judged against the identifier version current at issuance. `revoked` — withdrawn for compromise, recorded with `compromisedSince`; what it signed from then on establishes nothing. `committed` — an `update` key the identifier commits to as a successor but has not revealed (a did:webvh `nextKeyHashes` entry, a KERI next-key digest). `retired` and `revoked` are terminal.
|
|
853
|
+
*/
|
|
854
|
+
export type KeyLifecycleState = "pending" | "staged" | "active" | "retiring" | "retired" | "revoked" | "committed";
|
|
855
|
+
/**
|
|
856
|
+
* Which view of the identity's key roles the caller was given (CONVENTIONS.md §11). `public` — only what the published identifier document and history already reveal. `custody` — additionally the VTA's custody state: pending keys, the custodian record and protection boundary behind each key, overlap deadlines, who initiated and approved each change, and why.
|
|
857
|
+
*/
|
|
858
|
+
export type KeyListProjection = "public" | "custody";
|
|
823
859
|
/**
|
|
824
860
|
* Where the private key came from. `derived` means the maintainer generated it from a seed it holds and can reproduce it from `derivationPath`; `imported` means it arrived from outside and exists only as stored material; `internal` means the maintainer generated it from a CSPRNG and it is reproducible from nothing at all. The distinction is operationally load-bearing: a `derived` key survives a seed restore, an `imported` one is lost unless it was backed up separately, and an `internal` one cannot be recovered by any means once the maintainer's storage is gone. This member is also the only way a consumer can confirm that a `keys/create` request for an `internal` key was honoured rather than silently downgraded to a derived one — see that specification's `internal` member.
|
|
825
861
|
*/
|
|
@@ -1136,6 +1172,10 @@ export type Petname = string;
|
|
|
1136
1172
|
* A region or city name as the vetter writes it. Compared case-insensitively and otherwise exactly.
|
|
1137
1173
|
*/
|
|
1138
1174
|
export type PlaceName = string;
|
|
1175
|
+
/**
|
|
1176
|
+
* 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.
|
|
1177
|
+
*/
|
|
1178
|
+
export type PreviewWarning = "singleKeyRole" | "algorithmNotInAcceptedSet" | "roleWillHaveNoClassicalKey" | "attestationReissuanceRequired" | "selfPublish" | "noWitnesses" | "protectionBelowPolicy" | "recoveryKeyRevealed";
|
|
1139
1179
|
/**
|
|
1140
1180
|
* One line of a profile, in exactly one of four forms. Together they are the whole of a profile's flexibility, and each exists for a case the others handle badly.
|
|
1141
1181
|
*
|
|
@@ -1184,6 +1224,10 @@ export type ProfileEntry = {
|
|
|
1184
1224
|
* The distinction between the first two and the last two is of kind, not degree: only `predicate` and `derived` avoid handing two verifiers a join key. A maintainer MUST default to the highest rung the credential's format supports, and MUST NOT silently fall to a lower one — a request that cannot be satisfied at the rung a producer asked for is refused, because a silent privacy downgrade discloses material the holder believed was hidden.
|
|
1185
1225
|
*/
|
|
1186
1226
|
export type ProofRung = "predicate" | "derived" | "selectiveDisclosure" | "whole";
|
|
1227
|
+
/**
|
|
1228
|
+
* How a private half is protected (CONVENTIONS.md §5.2). `software` — stored by the VTA without encryption independent of the host (a plain VTA). `encryptedAtRest` — wrapped under a key the VTA holds outside its store (a hardened VTA). `enclave` — held only inside an attested trusted execution environment, wrapped under a key released only to its measurement (a TEE VTA). `hardwareModule` — held by a hardware security module or cloud key service that performs the operation without releasing the key. `externalCustodian` — not held by this VTA at all: a recovery update key, or an `authenticator` key on a person's device.
|
|
1229
|
+
*/
|
|
1230
|
+
export type ProtectionClass = "software" | "encryptedAtRest" | "enclave" | "hardwareModule" | "externalCustodian";
|
|
1187
1231
|
/**
|
|
1188
1232
|
* Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.
|
|
1189
1233
|
*
|
|
@@ -1756,6 +1800,10 @@ export type TrusteePhase = "enrolling" | "dealing" | "confirming" | "keyed" | "d
|
|
|
1756
1800
|
* A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.
|
|
1757
1801
|
*/
|
|
1758
1802
|
export type Ulid = string;
|
|
1803
|
+
/**
|
|
1804
|
+
* For an `update` key only (CONVENTIONS.md §5.3). `routine` — generated and held by the VTA, which authorizes the identity's ordinary changes with it. `recovery` — held by a recovery custodian in a protection boundary other than the VTA's; the VTA holds only its commitment, carries that commitment forward in every change it makes, and can use the key only by asking the custodian for a proof (`RecoverySigningRequest`).
|
|
1805
|
+
*/
|
|
1806
|
+
export type UpdateKeyClass = "routine" | "recovery";
|
|
1759
1807
|
/**
|
|
1760
1808
|
* Handle for one upload across begin, chunk, commit and abort, and — for a bundle — deploy. Recipient-generated and unguessable, which is what lets a reference to somebody else's upload be answered as not-found without confirming it exists. Opaque: a producer quotes what it was given.
|
|
1761
1809
|
*/
|
|
@@ -6895,6 +6943,73 @@ export interface DidTemplateRecord_VtaV0_7 {
|
|
|
6895
6943
|
*/
|
|
6896
6944
|
createdBy: string;
|
|
6897
6945
|
}
|
|
6946
|
+
/**
|
|
6947
|
+
* A persisted template. The DidTemplate fields are flattened at the top level alongside the resolved scope and provenance metadata. Same shape returned by get/create/update and carried per-item by list.
|
|
6948
|
+
*/
|
|
6949
|
+
export interface DidTemplateRecord_VtaV0_9 {
|
|
6950
|
+
/**
|
|
6951
|
+
* Template schema version. 1 is the historical shape, whose keys are implicitly an Ed25519 signing key and an X25519 key-agreement key. 2 adds the `keys` block, which makes those explicit and allows others.
|
|
6952
|
+
*/
|
|
6953
|
+
schemaVersion: 1 | 2 | 3;
|
|
6954
|
+
name: string;
|
|
6955
|
+
kind: string;
|
|
6956
|
+
description?: string | null;
|
|
6957
|
+
methods?: string[];
|
|
6958
|
+
requiredVars?: string[];
|
|
6959
|
+
optionalVars?: {
|
|
6960
|
+
[k: string]: unknown | undefined;
|
|
6961
|
+
};
|
|
6962
|
+
defaults?: {
|
|
6963
|
+
[k: string]: unknown | undefined;
|
|
6964
|
+
};
|
|
6965
|
+
/**
|
|
6966
|
+
* The keys this template needs, by slot name. REQUIRES `schemaVersion` 2.
|
|
6967
|
+
*
|
|
6968
|
+
* A slot's name becomes a document placeholder by an explicit rule — uppercase, `-` to `_`, suffix `_KEY_MB` — so slot `signing` is rendered into `{SIGNING_KEY_MB}` and slot `ka` into `{KA_KEY_MB}`. Those are the two names a `schemaVersion` 1 template already uses, which is deliberate: a v1 template is exactly a v2 template whose `keys` block is `{signing: [ed25519], ka: [x25519]}`, so an implementation can read both through one path and raising the version cannot change how a v1 template renders.
|
|
6969
|
+
*
|
|
6970
|
+
* An implementation MUST refuse a template that declares a slot whose placeholder never appears in `document` — the key would be minted and never published, so verifiers would continue to see only the keys that are, while the operator believes the template migrated. It MUST likewise refuse a slot placeholder in `document` that no slot declares, which would render as an unsubstituted literal.
|
|
6971
|
+
*/
|
|
6972
|
+
keys?: {
|
|
6973
|
+
[k: string]: {
|
|
6974
|
+
/**
|
|
6975
|
+
* What the key is for. Deliberately coarser than DID Core's five verification relationships: the template says what the key is, and the `document` body says where it appears. Encoding the relationship here as well would let the two disagree.
|
|
6976
|
+
*/
|
|
6977
|
+
purpose: "signing" | "keyAgreement";
|
|
6978
|
+
/**
|
|
6979
|
+
* Acceptable algorithms, MOST PREFERRED FIRST. A list rather than a single value because a fleet does not migrate atomically: `["mldsa44", "ed25519"]` means mint ML-DSA-44 where the implementation can and Ed25519 otherwise, so one template serves a VTA with post-quantum support and one without. An implementation MUST NOT substitute an algorithm absent from this list; running out of candidates is an error, never a silent downgrade — a deployment intended to be post-quantum would otherwise ship classical keys with nothing reporting it. `minItems: 1` for the same reason: an empty list would express no preference and inherit whatever the implementation defaulted to.
|
|
6980
|
+
*
|
|
6981
|
+
* @minItems 1
|
|
6982
|
+
*/
|
|
6983
|
+
algorithms: [
|
|
6984
|
+
"ed25519" | "x25519" | "p256" | "mldsa44" | "mldsa65",
|
|
6985
|
+
...("ed25519" | "x25519" | "p256" | "mldsa44" | "mldsa65")[]
|
|
6986
|
+
];
|
|
6987
|
+
} | undefined;
|
|
6988
|
+
};
|
|
6989
|
+
/**
|
|
6990
|
+
* The key roles of a key-role identity, one `RoleLayout` per role (vta/dids/_shared/0.1/CONVENTIONS.md §4). REQUIRED for, and only for, `schemaVersion` 3, which then MUST NOT carry `keys`. A v3 template describes only an identity's non-key members: its `document` MUST NOT contain `verificationMethod`, `authentication`, `assertionMethod`, `keyAgreement`, `capabilityInvocation`, `capabilityDelegation` or `keyRoles`, and the VTA renders all of them from this layout and the key-role registry — so a template can never place a key in a relationship its role does not own. Each listed algorithm is minted, one key each; unlike v2's `keys`, the list is not a preference order, and a VTA that cannot mint one refuses rather than substitutes. Used by vta/dids/create; a v1 or v2 template cannot create a key-role identity.
|
|
6991
|
+
*
|
|
6992
|
+
* @minItems 1
|
|
6993
|
+
*/
|
|
6994
|
+
keyRoles?: [RoleLayout, ...RoleLayout[]];
|
|
6995
|
+
document: {};
|
|
6996
|
+
/**
|
|
6997
|
+
* Resolved scope of the stored template.
|
|
6998
|
+
*/
|
|
6999
|
+
scope: Scope_VtaV0_1;
|
|
7000
|
+
/**
|
|
7001
|
+
* When the template was first stored (RFC 3339).
|
|
7002
|
+
*/
|
|
7003
|
+
createdAt: string;
|
|
7004
|
+
/**
|
|
7005
|
+
* When the template was last written (RFC 3339).
|
|
7006
|
+
*/
|
|
7007
|
+
updatedAt: string;
|
|
7008
|
+
/**
|
|
7009
|
+
* DID of the admin who last wrote the template.
|
|
7010
|
+
*/
|
|
7011
|
+
createdBy: string;
|
|
7012
|
+
}
|
|
6898
7013
|
/**
|
|
6899
7014
|
* Authored template shape: a DID document with `{TOKEN}` placeholders plus the variable contract the VTA's renderer enforces.
|
|
6900
7015
|
*/
|
|
@@ -7009,6 +7124,81 @@ export interface DidTemplate_VtaV0_2 {
|
|
|
7009
7124
|
*/
|
|
7010
7125
|
document: {};
|
|
7011
7126
|
}
|
|
7127
|
+
/**
|
|
7128
|
+
* Authored template shape: a DID document with `{TOKEN}` placeholders plus the variable contract the VTA's renderer enforces.
|
|
7129
|
+
*/
|
|
7130
|
+
export interface DidTemplate_VtaV0_9 {
|
|
7131
|
+
/**
|
|
7132
|
+
* Template schema version. 1 is the historical shape, whose keys are implicitly an Ed25519 signing key and an X25519 key-agreement key. 2 adds the `keys` block, which makes those explicit and allows others. 3 is a key-role template (`keyRoles`), whose document carries no key members.
|
|
7133
|
+
*/
|
|
7134
|
+
schemaVersion: 1 | 2 | 3;
|
|
7135
|
+
/**
|
|
7136
|
+
* Template id within its scope. Lowercase alphanumeric and hyphen only.
|
|
7137
|
+
*/
|
|
7138
|
+
name: string;
|
|
7139
|
+
/**
|
|
7140
|
+
* Classification hint, e.g. `mediator`, `did-host-http`, `app`. Drives downstream provisioning behaviour.
|
|
7141
|
+
*/
|
|
7142
|
+
kind: string;
|
|
7143
|
+
/**
|
|
7144
|
+
* Human-readable description of what the template provisions.
|
|
7145
|
+
*/
|
|
7146
|
+
description?: string | null;
|
|
7147
|
+
/**
|
|
7148
|
+
* DID methods this template targets, e.g. ["webvh", "web"] for a hosted DID or ["key"] for a did:key.
|
|
7149
|
+
*/
|
|
7150
|
+
methods?: string[];
|
|
7151
|
+
/**
|
|
7152
|
+
* Variables the caller MUST supply at render time. MUST NOT include reserved ambient names (DID, SIGNING_KEY_MB, KA_KEY_MB, VTA_DID, VTA_URL, CONTEXT_ID, CONTEXT_DID, NOW).
|
|
7153
|
+
*/
|
|
7154
|
+
requiredVars?: string[];
|
|
7155
|
+
/**
|
|
7156
|
+
* Variables with default values, keyed by variable name.
|
|
7157
|
+
*/
|
|
7158
|
+
optionalVars?: {
|
|
7159
|
+
[k: string]: unknown | undefined;
|
|
7160
|
+
};
|
|
7161
|
+
/**
|
|
7162
|
+
* Hints for CLI / setup wizards (e.g. preRotationCount, portable, addMediatorService).
|
|
7163
|
+
*/
|
|
7164
|
+
defaults?: {
|
|
7165
|
+
[k: string]: unknown | undefined;
|
|
7166
|
+
};
|
|
7167
|
+
/**
|
|
7168
|
+
* The keys this template needs, by slot name. REQUIRES `schemaVersion` 2.
|
|
7169
|
+
*
|
|
7170
|
+
* A slot's name becomes a document placeholder by an explicit rule — uppercase, `-` to `_`, suffix `_KEY_MB` — so slot `signing` is rendered into `{SIGNING_KEY_MB}` and slot `ka` into `{KA_KEY_MB}`. Those are the two names a `schemaVersion` 1 template already uses, which is deliberate: a v1 template is exactly a v2 template whose `keys` block is `{signing: [ed25519], ka: [x25519]}`, so an implementation can read both through one path and raising the version cannot change how a v1 template renders.
|
|
7171
|
+
*
|
|
7172
|
+
* An implementation MUST refuse a template that declares a slot whose placeholder never appears in `document` — the key would be minted and never published, so verifiers would continue to see only the keys that are, while the operator believes the template migrated. It MUST likewise refuse a slot placeholder in `document` that no slot declares, which would render as an unsubstituted literal.
|
|
7173
|
+
*/
|
|
7174
|
+
keys?: {
|
|
7175
|
+
[k: string]: {
|
|
7176
|
+
/**
|
|
7177
|
+
* What the key is for. Deliberately coarser than DID Core's five verification relationships: the template says what the key is, and the `document` body says where it appears. Encoding the relationship here as well would let the two disagree.
|
|
7178
|
+
*/
|
|
7179
|
+
purpose: "signing" | "keyAgreement";
|
|
7180
|
+
/**
|
|
7181
|
+
* Acceptable algorithms, MOST PREFERRED FIRST. A list rather than a single value because a fleet does not migrate atomically: `["mldsa44", "ed25519"]` means mint ML-DSA-44 where the implementation can and Ed25519 otherwise, so one template serves a VTA with post-quantum support and one without. An implementation MUST NOT substitute an algorithm absent from this list; running out of candidates is an error, never a silent downgrade — a deployment intended to be post-quantum would otherwise ship classical keys with nothing reporting it. `minItems: 1` for the same reason: an empty list would express no preference and inherit whatever the implementation defaulted to.
|
|
7182
|
+
*
|
|
7183
|
+
* @minItems 1
|
|
7184
|
+
*/
|
|
7185
|
+
algorithms: [
|
|
7186
|
+
"ed25519" | "x25519" | "p256" | "mldsa44" | "mldsa65",
|
|
7187
|
+
...("ed25519" | "x25519" | "p256" | "mldsa44" | "mldsa65")[]
|
|
7188
|
+
];
|
|
7189
|
+
} | undefined;
|
|
7190
|
+
};
|
|
7191
|
+
/**
|
|
7192
|
+
* The key roles of a key-role identity, one `RoleLayout` per role (vta/dids/_shared/0.1/CONVENTIONS.md §4). REQUIRED for, and only for, `schemaVersion` 3, which then MUST NOT carry `keys`. A v3 template describes only an identity's non-key members: its `document` MUST NOT contain `verificationMethod`, `authentication`, `assertionMethod`, `keyAgreement`, `capabilityInvocation`, `capabilityDelegation` or `keyRoles`, and the VTA renders all of them from this layout and the key-role registry — so a template can never place a key in a relationship its role does not own. Each listed algorithm is minted, one key each; unlike v2's `keys`, the list is not a preference order, and a VTA that cannot mint one refuses rather than substitutes. Used by vta/dids/create; a v1 or v2 template cannot create a key-role identity.
|
|
7193
|
+
*
|
|
7194
|
+
* @minItems 1
|
|
7195
|
+
*/
|
|
7196
|
+
keyRoles?: [RoleLayout, ...RoleLayout[]];
|
|
7197
|
+
/**
|
|
7198
|
+
* The DID document body with `{TOKEN}` placeholders. `document.id` MUST contain the `{DID}` placeholder. Every `{TOKEN}` MUST be declared in requiredVars/optionalVars or be a reserved ambient name.
|
|
7199
|
+
*/
|
|
7200
|
+
document: {};
|
|
7201
|
+
}
|
|
7012
7202
|
/**
|
|
7013
7203
|
* DIDComm v2 authcrypt JWE (ECDH-1PU + A256CBC-HS512, X25519/P-256 key agreement). Sender authentication is the JWE's `skid` — the producer's DID#keyAgreement. The maintainer's keyAgreement key is the recipient. Cleartext is JCS-canonical JSON of the variant's payload type.
|
|
7014
7204
|
*
|
|
@@ -7924,12 +8114,14 @@ export interface FieldVisibility {
|
|
|
7924
8114
|
[k: string]: Audience | undefined;
|
|
7925
8115
|
}
|
|
7926
8116
|
/**
|
|
7927
|
-
*
|
|
8117
|
+
* Everything that describes a file. On an `attributed` or `private` room it is the `file` member of the sealed record body: sealed with the record, signed by the record's author, and never seen by the host. On an `open` room it is the `file` member of the record's `cleartext` (rooms/records/put/0.4), carrying its own `fileKey`, and the host reads it like the rest of the record. Defined here so that clients interoperate.
|
|
7928
8118
|
*
|
|
7929
8119
|
* **Byte encodings.** In every derivation below, `fileId` is its **32 decoded bytes**, never its base64url text; `roomId` is the **UTF-8 bytes** of the room identifier exactly as it appears on the wire; string constants are their ASCII bytes; `u8`, `u32be` and `u64be` are unsigned integers of that width, big-endian. Epochs are unsigned 64-bit on the wire. An implementation that holds epochs in a narrower type **MUST** refuse a value it cannot represent with `malformedRequest` (or, reading a manifest, refuse the file), and **MUST NOT** truncate it.
|
|
7930
8120
|
*
|
|
7931
8121
|
* **The file key.** `file_key = HKDF-SHA256(ikm = storage_key(epoch), salt = fileId, info = "openvtc/room/file/v1" || roomId || u64be(epoch))`, where `storage_key(epoch)` is the room's per-epoch storage key, the one records are sealed under. It is derived per file and never stored. It is bound to the room and the epoch, so a key released for one room cannot open a blob relocated from another, and releasing it exposes one file and nothing else.
|
|
7932
8122
|
*
|
|
8123
|
+
* **The file key on an `open` room.** An open room has no group and so no storage key to derive from. There the uploader mints the file key itself — 32 bytes from a cryptographically secure random source, for this file only — and carries it in `fileKey`; a reader uses that key and derives nothing. Everything else below (padding, STREAM, the associated data, reading) is the same on every tier, with `epoch` the room's epoch when the file was written. `fileKey` **MUST** be present in an open room's manifest and **MUST** be absent from a sealed record body's, where the key is derived; a reader **MUST** refuse a file whose manifest breaks either rule. The key in the clear withholds nothing from the host or from anyone it serves the record to — the open tier withholds nothing from them — but it keeps the stored blob opaque to whoever holds only the storage, and keeps one blob format, and one reader, for every tier.
|
|
8124
|
+
*
|
|
7933
8125
|
* **Padding.** With `padding: "padme"`, the plaintext of length `L = size` is extended with zero bytes to `padme(L)`: for `L < 2`, `padme(L) = L`; otherwise `E = floor(log2 L)`, `S = floor(log2 E) + 1`, `z = E − S`, `mask = 2^z − 1`, and `padme(L) = (L + mask) & ~mask`. The padded length is `padme(size)`; without padding it is `size`. Padding bytes **MUST** be zero.
|
|
7934
8126
|
*
|
|
7935
8127
|
* **The STREAM construction.** The padded plaintext is cut into `segmentSize`-byte segments, the last holding the remainder; an empty plaintext is one empty final segment. Segment `i` is sealed with ChaCha20-Poly1305 under `file_key`, with nonce `u32be(0) || u64be(i)` and associated data `"openvtc/room/file/v1" || roomId || fileId || u64be(epoch) || u64be(i) || u8(final)`, where `final` is 1 on the last segment and 0 on every other. A host that truncates, reorders or splices ciphertext produces an authentication failure, never a shorter or rearranged file. The nonces are counters, so a `file_key` MUST NOT seal two different files; a fresh random `fileId` is what guarantees it. Each sealed segment is one transfer chunk of the blob (BlobManifest), so `segmentSize + 16` is the blob's `chunks.chunkSize`, and an empty file is one 16-byte chunk.
|
|
@@ -7947,7 +8139,7 @@ export interface FileManifest {
|
|
|
7947
8139
|
*/
|
|
7948
8140
|
fileId: string;
|
|
7949
8141
|
/**
|
|
7950
|
-
* The file's name as the uploader gave it. Sealed
|
|
8142
|
+
* The file's name as the uploader gave it. Sealed on `attributed` and `private` rooms, where the host never sees it; in the clear on `open` ones. Readers MUST treat it as untrusted text: strip path separators before using it as a local file name, and never interpret it as markup.
|
|
7951
8143
|
*/
|
|
7952
8144
|
name: string;
|
|
7953
8145
|
/**
|
|
@@ -7959,7 +8151,7 @@ export interface FileManifest {
|
|
|
7959
8151
|
*/
|
|
7960
8152
|
size: number;
|
|
7961
8153
|
/**
|
|
7962
|
-
* Digest of the plaintext bytes.
|
|
8154
|
+
* Digest of the plaintext bytes. On `attributed` and `private` rooms it is signed, with the rest of the record body, by the record's author, so a reader that verifies it knows which member put exactly these bytes there. On an `open` room it is the writer's claim as the host stores it, like the rest of the record.
|
|
7963
8155
|
*/
|
|
7964
8156
|
digest: DigestMultibase;
|
|
7965
8157
|
/**
|
|
@@ -7975,6 +8167,10 @@ export interface FileManifest {
|
|
|
7975
8167
|
*/
|
|
7976
8168
|
padding?: "none" | "padme";
|
|
7977
8169
|
blobRef: BlobRef;
|
|
8170
|
+
/**
|
|
8171
|
+
* The file key itself, 32 bytes base64url without padding: present on an `open` room only, where there is no storage key to derive it from. Minted by the uploader from a cryptographically secure random source for this one file and never reused. MUST be absent on `attributed` and `private` rooms, where the key is derived and never stored.
|
|
8172
|
+
*/
|
|
8173
|
+
fileKey?: string;
|
|
7978
8174
|
}
|
|
7979
8175
|
/**
|
|
7980
8176
|
* A person's account on one forge. `id` is authoritative; `login` is for display only, because logins can be renamed and re-registered.
|
|
@@ -8321,6 +8517,133 @@ export interface HpkeArmoredEnvelope_VaultV0_2 {
|
|
|
8321
8517
|
*/
|
|
8322
8518
|
producerAssertion?: "didSigned" | "attested" | "pinnedOnly";
|
|
8323
8519
|
}
|
|
8520
|
+
export interface IdentityChange {
|
|
8521
|
+
/**
|
|
8522
|
+
* `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.
|
|
8523
|
+
*/
|
|
8524
|
+
op: "addKey" | "retireKey" | "revokeKey" | "rotateUpdateKey" | "commitUpdateKey" | "replaceRecoveryCommitment" | "useRecoveryKey";
|
|
8525
|
+
role: IdentityKeyRole;
|
|
8526
|
+
verificationMethod?: string;
|
|
8527
|
+
keyType?: KeyType;
|
|
8528
|
+
publicKeyMultibase?: string;
|
|
8529
|
+
commitment?: string;
|
|
8530
|
+
relationships?: DidVerificationRelationship[];
|
|
8531
|
+
}
|
|
8532
|
+
/**
|
|
8533
|
+
* 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.
|
|
8534
|
+
*/
|
|
8535
|
+
export interface IdentityChangePreview {
|
|
8536
|
+
/**
|
|
8537
|
+
* Opaque, unguessable identifier of this exact plan. Carried back by the apply request; every approval and any recovery proof is bound to it.
|
|
8538
|
+
*/
|
|
8539
|
+
previewId: string;
|
|
8540
|
+
method: DidMethodName;
|
|
8541
|
+
/**
|
|
8542
|
+
* The version identifier the plan was computed against. Absent only for a creation. The plan is void once the identifier moves past it.
|
|
8543
|
+
*/
|
|
8544
|
+
baseVersionId?: string;
|
|
8545
|
+
expiresAt: string;
|
|
8546
|
+
/**
|
|
8547
|
+
* 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.
|
|
8548
|
+
*/
|
|
8549
|
+
changes: IdentityChange[];
|
|
8550
|
+
/**
|
|
8551
|
+
* The complete identifier document the change would publish, `keyRoles` included. Public data by construction.
|
|
8552
|
+
*/
|
|
8553
|
+
document: {};
|
|
8554
|
+
warnings?: PreviewWarning[];
|
|
8555
|
+
/**
|
|
8556
|
+
* 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.
|
|
8557
|
+
*/
|
|
8558
|
+
updateKeyRotates: boolean;
|
|
8559
|
+
recoverySigning?: RecoverySigningRequest;
|
|
8560
|
+
}
|
|
8561
|
+
/**
|
|
8562
|
+
* How a key is held. Present only in the custody projection. Carries no key material, and a conforming VTA MUST NOT place any in `ext`.
|
|
8563
|
+
*/
|
|
8564
|
+
export interface IdentityKeyCustody {
|
|
8565
|
+
/**
|
|
8566
|
+
* The custodian record identifier (`keys/*`'s `keyId`) behind this key. Absent for a key this VTA does not hold (`protection: externalCustodian`).
|
|
8567
|
+
*/
|
|
8568
|
+
keyId?: string;
|
|
8569
|
+
origin?: KeyOrigin;
|
|
8570
|
+
/**
|
|
8571
|
+
* Whether the custodian would release the private half. Always `false` for `attestation` and `update` keys. Stated explicitly, never absent.
|
|
8572
|
+
*/
|
|
8573
|
+
exportable: boolean;
|
|
8574
|
+
/**
|
|
8575
|
+
* True when no authority can make the key exportable. `true` implies `exportable: false`.
|
|
8576
|
+
*/
|
|
8577
|
+
neverExportable: boolean;
|
|
8578
|
+
/**
|
|
8579
|
+
* Whether the key, or material it can be re-derived or decrypted from, is in the VTA's backups or any state transfer. Always `false` for `attestation` and `update` keys (VTI-KEY-112).
|
|
8580
|
+
*/
|
|
8581
|
+
inBackups: boolean;
|
|
8582
|
+
protection: ProtectionClass;
|
|
8583
|
+
/**
|
|
8584
|
+
* Opaque, VTA-assigned label of the protection boundary holding the key (CONVENTIONS.md §5.2). Two keys with the same label are lost or compromised together. A recovery update key MUST carry a label different from every routine update key's. Custody projection only; never published.
|
|
8585
|
+
*/
|
|
8586
|
+
boundary?: string;
|
|
8587
|
+
/**
|
|
8588
|
+
* True once the private half has been destroyed — a retired `attestation` or `messaging` key. The record survives so the key's past signatures stay attributable.
|
|
8589
|
+
*/
|
|
8590
|
+
destroyed?: boolean;
|
|
8591
|
+
}
|
|
8592
|
+
/**
|
|
8593
|
+
* One key in one role. A key is in exactly one role for its whole life; a change of role is a retirement from one and an addition to another, with fresh material under a fresh identifier.
|
|
8594
|
+
*/
|
|
8595
|
+
export interface IdentityRoleKey {
|
|
8596
|
+
/**
|
|
8597
|
+
* The full verification-method identifier (`did#fragment`) the document publishes the key under and lists in `keyRoles`. Absent for `update` keys, which are never role-bound verification methods (VTI-KEY-093). A VTA minting a method SHOULD derive its fragment from the key (VTI-KEY-150).
|
|
8598
|
+
*/
|
|
8599
|
+
verificationMethod?: string;
|
|
8600
|
+
role: IdentityKeyRole;
|
|
8601
|
+
updateKeyClass?: UpdateKeyClass;
|
|
8602
|
+
/**
|
|
8603
|
+
* The relationships the key is (or, while `pending`, will be) listed in: always exactly its role's one relationship. Empty for `update`, `retired` and `revoked` keys.
|
|
8604
|
+
*/
|
|
8605
|
+
relationships?: DidVerificationRelationship[];
|
|
8606
|
+
keyType: KeyType;
|
|
8607
|
+
/**
|
|
8608
|
+
* The public half, multibase-encoded, exactly as published. Absent for a `committed` update key, whose public half the identifier has not yet revealed.
|
|
8609
|
+
*/
|
|
8610
|
+
publicKeyMultibase?: string;
|
|
8611
|
+
/**
|
|
8612
|
+
* For a `committed` update key: the commitment the identifier publishes (a did:webvh `nextKeyHashes` entry, a KERI next-key digest), in the method's own encoding.
|
|
8613
|
+
*/
|
|
8614
|
+
commitment?: string;
|
|
8615
|
+
state: KeyLifecycleState;
|
|
8616
|
+
/**
|
|
8617
|
+
* The method's version identifier of the change that first published the key or its commitment (method-profiles/: a did:webvh `versionId`, a KERI event's sequence number and digest). Absent while `pending`.
|
|
8618
|
+
*/
|
|
8619
|
+
publishedInVersionId?: string;
|
|
8620
|
+
/**
|
|
8621
|
+
* Version identifier of the change that retired or revoked the key.
|
|
8622
|
+
*/
|
|
8623
|
+
removedInVersionId?: string;
|
|
8624
|
+
/**
|
|
8625
|
+
* For a `staged` key: when the VTA will begin using it — no earlier than the publishing change's cache horizon.
|
|
8626
|
+
*/
|
|
8627
|
+
activatesAt?: string;
|
|
8628
|
+
/**
|
|
8629
|
+
* For a `retiring` key: the end of its overlap. Custody projection only.
|
|
8630
|
+
*/
|
|
8631
|
+
retireAfter?: string;
|
|
8632
|
+
/**
|
|
8633
|
+
* For a `revoked` key: the compromise time (VTI-KEY-121), published as the verification method's `revoked` value. Where it cannot be established, the time the key was first published.
|
|
8634
|
+
*/
|
|
8635
|
+
compromisedSince?: string;
|
|
8636
|
+
/**
|
|
8637
|
+
* The rotation this key was introduced or retired by.
|
|
8638
|
+
*/
|
|
8639
|
+
rotationId?: string;
|
|
8640
|
+
/**
|
|
8641
|
+
* Operator-facing label. Custody projection only.
|
|
8642
|
+
*/
|
|
8643
|
+
label?: string;
|
|
8644
|
+
custody?: IdentityKeyCustody;
|
|
8645
|
+
ext?: Ext;
|
|
8646
|
+
}
|
|
8324
8647
|
/**
|
|
8325
8648
|
* Whether the edge is in force now, and if not, why not — the edge's resolved state, which is not the same thing as the event just recorded: restoring an edge whose `validUntil` passed while it was suspended records the restoration and still resolves `expired`. Exactly the members its `state` names are present.
|
|
8326
8649
|
*/
|
|
@@ -8466,6 +8789,29 @@ export interface InviteSummary_VtcV0_1 {
|
|
|
8466
8789
|
*/
|
|
8467
8790
|
consumedAt?: string;
|
|
8468
8791
|
}
|
|
8792
|
+
/**
|
|
8793
|
+
* One outstanding or historical admin invite. Consumed rows are retained as audit history.
|
|
8794
|
+
*/
|
|
8795
|
+
export interface InviteSummary_VtcV0_2 {
|
|
8796
|
+
/**
|
|
8797
|
+
* Unique invite identifier; the revoke target.
|
|
8798
|
+
*/
|
|
8799
|
+
jti: string;
|
|
8800
|
+
kind: InviteKind;
|
|
8801
|
+
status: InviteStatus;
|
|
8802
|
+
/**
|
|
8803
|
+
* The administrator's DID: for a wallet invitation the DID it names; for a passkey invitation the DID derived from the passkey that claimed it, so absent until it is consumed.
|
|
8804
|
+
*/
|
|
8805
|
+
targetDid?: string;
|
|
8806
|
+
/**
|
|
8807
|
+
* When an `issued` invite lapses.
|
|
8808
|
+
*/
|
|
8809
|
+
expiresAt?: string;
|
|
8810
|
+
/**
|
|
8811
|
+
* When the invite was redeemed, if it was.
|
|
8812
|
+
*/
|
|
8813
|
+
consumedAt?: string;
|
|
8814
|
+
}
|
|
8469
8815
|
/**
|
|
8470
8816
|
* The members of an issuance receipt, deliberately left **open** so a consuming specification can `$ref` it under `allOf` and add its own, then close the result with `unevaluatedProperties: false`.
|
|
8471
8817
|
*
|
|
@@ -8595,6 +8941,74 @@ export interface KdfParams {
|
|
|
8595
8941
|
*/
|
|
8596
8942
|
pCost: number;
|
|
8597
8943
|
}
|
|
8944
|
+
/**
|
|
8945
|
+
* Approval progress of a change the VTA's policy gates on approvals (CONVENTIONS.md §6).
|
|
8946
|
+
*/
|
|
8947
|
+
export interface KeyChangeApprovalState {
|
|
8948
|
+
/**
|
|
8949
|
+
* Distinct approvals the VTA's policy requires.
|
|
8950
|
+
*/
|
|
8951
|
+
required: number;
|
|
8952
|
+
/**
|
|
8953
|
+
* Distinct approvals recorded so far, the initiator's own included.
|
|
8954
|
+
*/
|
|
8955
|
+
received: number;
|
|
8956
|
+
/**
|
|
8957
|
+
* The approvals recorded. Custody projection only; omitted from a response to anyone who is not themselves an eligible approver of this change.
|
|
8958
|
+
*/
|
|
8959
|
+
approvals?: RecordedApproval[];
|
|
8960
|
+
/**
|
|
8961
|
+
* When the preview, and every approval bound to it, stops being usable.
|
|
8962
|
+
*/
|
|
8963
|
+
expiresAt: string;
|
|
8964
|
+
}
|
|
8965
|
+
/**
|
|
8966
|
+
* One change to a role's key set, from preview to completion. The identifier's history is the authority for what was published; this record adds which change was which and, in the custody projection, who asked, who approved, and why.
|
|
8967
|
+
*/
|
|
8968
|
+
export interface KeyChangeRecord {
|
|
8969
|
+
rotationId: string;
|
|
8970
|
+
role: IdentityKeyRole;
|
|
8971
|
+
kind: KeyChangeKind;
|
|
8972
|
+
state: KeyChangeState;
|
|
8973
|
+
/**
|
|
8974
|
+
* Verification-method identifiers (for `update`, public keys or commitments) leaving the role.
|
|
8975
|
+
*/
|
|
8976
|
+
predecessors?: string[];
|
|
8977
|
+
/**
|
|
8978
|
+
* Verification-method identifiers (for `update`, public keys or commitments) entering the role.
|
|
8979
|
+
*/
|
|
8980
|
+
successors?: string[];
|
|
8981
|
+
startedInVersionId?: string;
|
|
8982
|
+
endedInVersionId?: string;
|
|
8983
|
+
startedAt?: string;
|
|
8984
|
+
/**
|
|
8985
|
+
* Planned rotations: the publishing change's cache horizon (CONVENTIONS.md §10.1). The switch and any retirement happen no earlier.
|
|
8986
|
+
*/
|
|
8987
|
+
cacheHorizonAt?: string;
|
|
8988
|
+
/**
|
|
8989
|
+
* When the successor becomes `active` and the predecessor `retiring`; never before `cacheHorizonAt`.
|
|
8990
|
+
*/
|
|
8991
|
+
activatesAt?: string;
|
|
8992
|
+
/**
|
|
8993
|
+
* Custody projection only. End of the overlap.
|
|
8994
|
+
*/
|
|
8995
|
+
overlapUntil?: string;
|
|
8996
|
+
/**
|
|
8997
|
+
* Custody projection only. Whether the VTA retires the predecessor itself at `overlapUntil`.
|
|
8998
|
+
*/
|
|
8999
|
+
autoRetire?: boolean;
|
|
9000
|
+
endedAt?: string;
|
|
9001
|
+
/**
|
|
9002
|
+
* Custody projection only. VID of the administrator whose signed request started the change.
|
|
9003
|
+
*/
|
|
9004
|
+
initiatedBy?: string;
|
|
9005
|
+
approvals?: KeyChangeApprovalState;
|
|
9006
|
+
/**
|
|
9007
|
+
* Custody projection only. The operator's stated reason. Never published.
|
|
9008
|
+
*/
|
|
9009
|
+
reason?: string;
|
|
9010
|
+
ext?: Ext;
|
|
9011
|
+
}
|
|
8598
9012
|
/**
|
|
8599
9013
|
* How a device custodies its private key material — maintainer policy input, mirroring `attestation`. See docs/design-notes/mobile-key-custody-profile.md.
|
|
8600
9014
|
*/
|
|
@@ -8675,6 +9089,25 @@ export interface KeyRoleApprovalState {
|
|
|
8675
9089
|
*/
|
|
8676
9090
|
expiresAt: string;
|
|
8677
9091
|
}
|
|
9092
|
+
export interface KeyRoleSummary {
|
|
9093
|
+
role: IdentityKeyRole;
|
|
9094
|
+
/**
|
|
9095
|
+
* The relationship this role owns. Empty for `update`.
|
|
9096
|
+
*/
|
|
9097
|
+
relationships: DidVerificationRelationship[];
|
|
9098
|
+
/**
|
|
9099
|
+
* The role's keys, in the order the document publishes them. Terminal-state keys are included only when the request asked for them, except a `revoked` key the document still lists, which is always included.
|
|
9100
|
+
*/
|
|
9101
|
+
keys: IdentityRoleKey[];
|
|
9102
|
+
/**
|
|
9103
|
+
* `update` only: whether the identifier's latest version commits to a recovery key in a boundary other than the VTA's (CONVENTIONS.md §5.3). `false` is a defect the VTA reports rather than hides.
|
|
9104
|
+
*/
|
|
9105
|
+
recoveryCommitted?: boolean;
|
|
9106
|
+
/**
|
|
9107
|
+
* `update` only, where the method has one: the signing threshold over the current update keys, in the method's own notation (a KERI `kt`).
|
|
9108
|
+
*/
|
|
9109
|
+
threshold?: string;
|
|
9110
|
+
}
|
|
8678
9111
|
/**
|
|
8679
9112
|
* Every key the entry's act scope reaches.
|
|
8680
9113
|
*/
|
|
@@ -9838,6 +10271,30 @@ export interface PublicKeyCredentialRequestOptions {
|
|
|
9838
10271
|
allowCredentials?: PublicKeyCredentialDescriptor[];
|
|
9839
10272
|
userVerification?: "discouraged" | "preferred" | "required";
|
|
9840
10273
|
}
|
|
10274
|
+
/**
|
|
10275
|
+
* How the change reaches resolvers.
|
|
10276
|
+
*/
|
|
10277
|
+
export interface Publication {
|
|
10278
|
+
/**
|
|
10279
|
+
* 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.
|
|
10280
|
+
*/
|
|
10281
|
+
selfPublish: boolean;
|
|
10282
|
+
/**
|
|
10283
|
+
* Present when `selfPublish` is true.
|
|
10284
|
+
*/
|
|
10285
|
+
artifacts?: PublishedArtifact[];
|
|
10286
|
+
}
|
|
10287
|
+
/**
|
|
10288
|
+
* 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).
|
|
10289
|
+
*/
|
|
10290
|
+
export interface PublishedArtifact {
|
|
10291
|
+
name: string;
|
|
10292
|
+
mediaType: string;
|
|
10293
|
+
/**
|
|
10294
|
+
* The artefact's content, or for an append-only artefact the appended part, as text.
|
|
10295
|
+
*/
|
|
10296
|
+
content: string;
|
|
10297
|
+
}
|
|
9841
10298
|
/**
|
|
9842
10299
|
* A member's external card: a JSContact `Card` (RFC 9553) holding exactly their values whose visibility is `public`, mapped as `JSContactCard` maps them, with the member's W3C Data Integrity `proof`. The community serves it as received and never signs, composes or edits it (VTI-REG-004 item 4).
|
|
9843
10300
|
*
|
|
@@ -10301,6 +10758,51 @@ export interface RecordRetention {
|
|
|
10301
10758
|
*/
|
|
10302
10759
|
ext?: Ext;
|
|
10303
10760
|
}
|
|
10761
|
+
export interface RecordedApproval {
|
|
10762
|
+
/**
|
|
10763
|
+
* VID of the approver.
|
|
10764
|
+
*/
|
|
10765
|
+
approver: string;
|
|
10766
|
+
evidence: ApprovalEvidenceKind;
|
|
10767
|
+
recordedAt?: string;
|
|
10768
|
+
}
|
|
10769
|
+
/**
|
|
10770
|
+
* A recovery key offered for commitment (CONVENTIONS.md §5.3). The VTA computes the method's commitment from it, verifies `proofOfPossession`, and then keeps only the commitment. The key MUST be held by a custodian in a protection boundary other than the VTA's; a VTA MUST refuse one it generated or can derive (`vta/dids:recoveryCommitmentRequired`).
|
|
10771
|
+
*/
|
|
10772
|
+
export interface RecoveryCommitment {
|
|
10773
|
+
keyType: KeyType;
|
|
10774
|
+
/**
|
|
10775
|
+
* The recovery key's public half. Not published by the VTA where the method commits by hash.
|
|
10776
|
+
*/
|
|
10777
|
+
publicKeyMultibase: string;
|
|
10778
|
+
/**
|
|
10779
|
+
* Multibase signature by the recovery key over the UTF-8 bytes of `vta-dids-recovery-commitment/v1`, a zero byte, and the request's `previewId`. Absent on a dry run, which is how the `previewId` is obtained; REQUIRED on the apply request, and the only member besides `previewId`, `dryRun` and `recoveryProof` that may differ between the two.
|
|
10780
|
+
*/
|
|
10781
|
+
proofOfPossession?: string;
|
|
10782
|
+
/**
|
|
10783
|
+
* Operator-facing name of the custodian. Custody projection only; never published.
|
|
10784
|
+
*/
|
|
10785
|
+
label?: string;
|
|
10786
|
+
}
|
|
10787
|
+
/**
|
|
10788
|
+
* 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.
|
|
10789
|
+
*/
|
|
10790
|
+
export interface RecoverySigningRequest {
|
|
10791
|
+
/**
|
|
10792
|
+
* The recovery commitment the identifier publishes; the custodian's key MUST be the one it commits to.
|
|
10793
|
+
*/
|
|
10794
|
+
commitment: string;
|
|
10795
|
+
keyType: KeyType;
|
|
10796
|
+
/**
|
|
10797
|
+
* 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).
|
|
10798
|
+
*/
|
|
10799
|
+
unsignedChange: string;
|
|
10800
|
+
/**
|
|
10801
|
+
* 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`).
|
|
10802
|
+
*/
|
|
10803
|
+
proofOptions: {};
|
|
10804
|
+
expiresAt?: string;
|
|
10805
|
+
}
|
|
10304
10806
|
/**
|
|
10305
10807
|
* A passkey already bound to a subject, as listed by `auth/passkey/list` and targeted by `auth/passkey/revoke/*`. This is the auth service's own management view of a credential — not a WebAuthn dictionary — so its members are camelCase per SPEC.md §4.10. The exception is `transports`, whose values are the externally-owned WebAuthn transport tokens and are carried verbatim.
|
|
10306
10808
|
*/
|
|
@@ -10347,6 +10849,19 @@ export interface RegisteredInstance {
|
|
|
10347
10849
|
lastSeenAt?: string;
|
|
10348
10850
|
ext?: Ext;
|
|
10349
10851
|
}
|
|
10852
|
+
/**
|
|
10853
|
+
* What the node must now do that the change cannot (VTI-KEY-133, CONVENTIONS.md §9.6). Custody data, present when an `attestation` key is revoked or lost.
|
|
10854
|
+
*/
|
|
10855
|
+
export interface ReissuanceFollowUp {
|
|
10856
|
+
/**
|
|
10857
|
+
* Status lists signed by the revoked or lost key, which the node MUST re-sign at once under a sound attestation key.
|
|
10858
|
+
*/
|
|
10859
|
+
statusListsToResign?: number;
|
|
10860
|
+
/**
|
|
10861
|
+
* Attestation artefacts still in force that the VTA's signing record shows the key signed, which the node MUST re-issue with identical claims and expiry.
|
|
10862
|
+
*/
|
|
10863
|
+
artefactsToReissue?: number;
|
|
10864
|
+
}
|
|
10350
10865
|
/**
|
|
10351
10866
|
* A key a patch declined to apply, with the reason.
|
|
10352
10867
|
*/
|
|
@@ -10890,6 +11405,18 @@ export interface RoleKeyCustody {
|
|
|
10890
11405
|
*/
|
|
10891
11406
|
destroyed?: boolean;
|
|
10892
11407
|
}
|
|
11408
|
+
/**
|
|
11409
|
+
* The keys an identity is created with in one role (CONVENTIONS.md §4). A key-role DID template carries one per role; a creation request may narrow it but never widen it.
|
|
11410
|
+
*/
|
|
11411
|
+
export interface RoleLayout {
|
|
11412
|
+
role: IdentityKeyRole;
|
|
11413
|
+
/**
|
|
11414
|
+
* The algorithms to mint, one key each, in publication order — `["ed25519", "mldsa44"]` mints a classical and a post-quantum attestation key that sign as a proof set. Every entry MUST suit the role (CONVENTIONS.md §2.2). A VTA that cannot mint one of them MUST refuse the creation with `vta/dids:unsupportedKeyType`; it never substitutes an algorithm or omits a key.
|
|
11415
|
+
*
|
|
11416
|
+
* @minItems 1
|
|
11417
|
+
*/
|
|
11418
|
+
algorithms: [KeyType, ...KeyType[]];
|
|
11419
|
+
}
|
|
10893
11420
|
export interface RoleSummary {
|
|
10894
11421
|
role: KeyRole;
|
|
10895
11422
|
/**
|