@openvtc/trust-tasks 0.12.14 → 0.12.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/passkey/enroll/start/0.1/payload.d.ts +24 -0
- package/dist/auth/passkey/enroll/start/0.1/payload.d.ts.map +1 -1
- package/dist/auth/passkey/enroll/start/0.1/payload.js +8 -0
- package/dist/auth/passkey/enroll/start/0.1/payload.js.map +1 -1
- package/dist/auth/passkey/enroll/start/0.2/payload.d.ts +48 -0
- package/dist/auth/passkey/enroll/start/0.2/payload.d.ts.map +1 -1
- package/dist/auth/passkey/enroll/start/0.2/payload.js +16 -0
- package/dist/auth/passkey/enroll/start/0.2/payload.js.map +1 -1
- package/dist/auth/passkey/login/start/0.1/payload.d.ts +24 -0
- package/dist/auth/passkey/login/start/0.1/payload.d.ts.map +1 -1
- package/dist/auth/passkey/login/start/0.1/payload.js +8 -0
- package/dist/auth/passkey/login/start/0.1/payload.js.map +1 -1
- package/dist/auth/passkey/login/start/0.2/payload.d.ts +24 -0
- package/dist/auth/passkey/login/start/0.2/payload.d.ts.map +1 -1
- package/dist/auth/passkey/login/start/0.2/payload.js +8 -0
- package/dist/auth/passkey/login/start/0.2/payload.js.map +1 -1
- package/dist/auth/passkey/revoke/start/0.1/payload.d.ts +24 -0
- package/dist/auth/passkey/revoke/start/0.1/payload.d.ts.map +1 -1
- package/dist/auth/passkey/revoke/start/0.1/payload.js +8 -0
- package/dist/auth/passkey/revoke/start/0.1/payload.js.map +1 -1
- package/dist/auth/step-up/approve-request/0.1/payload.d.ts +24 -0
- package/dist/auth/step-up/approve-request/0.1/payload.d.ts.map +1 -1
- package/dist/auth/step-up/approve-request/0.1/payload.js +8 -0
- package/dist/auth/step-up/approve-request/0.1/payload.js.map +1 -1
- package/dist/auth/step-up/approve-request/0.2/payload.d.ts +24 -0
- package/dist/auth/step-up/approve-request/0.2/payload.d.ts.map +1 -1
- package/dist/auth/step-up/approve-request/0.2/payload.js +8 -0
- package/dist/auth/step-up/approve-request/0.2/payload.js.map +1 -1
- package/dist/sync/event/0.1/payload.d.ts +56 -0
- package/dist/sync/event/0.1/payload.d.ts.map +1 -1
- package/dist/sync/event/0.1/payload.js +24 -0
- package/dist/sync/event/0.1/payload.js.map +1 -1
- package/dist/vault/get/0.1/payload.d.ts +96 -0
- package/dist/vault/get/0.1/payload.d.ts.map +1 -1
- package/dist/vault/get/0.1/payload.js +48 -0
- package/dist/vault/get/0.1/payload.js.map +1 -1
- package/dist/vault/list/0.1/payload.d.ts +96 -0
- package/dist/vault/list/0.1/payload.d.ts.map +1 -1
- package/dist/vault/list/0.1/payload.js +48 -0
- package/dist/vault/list/0.1/payload.js.map +1 -1
- package/dist/vault/sync/0.1/payload.d.ts +96 -0
- package/dist/vault/sync/0.1/payload.d.ts.map +1 -1
- package/dist/vault/sync/0.1/payload.js +48 -0
- package/dist/vault/sync/0.1/payload.js.map +1 -1
- package/dist/vault/upsert/0.1/payload.d.ts +96 -0
- package/dist/vault/upsert/0.1/payload.d.ts.map +1 -1
- package/dist/vault/upsert/0.1/payload.js +48 -0
- package/dist/vault/upsert/0.1/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/auth/passkey/enroll/start/0.1/payload.ts +16 -0
- package/src/auth/passkey/enroll/start/0.2/payload.ts +32 -0
- package/src/auth/passkey/login/start/0.1/payload.ts +16 -0
- package/src/auth/passkey/login/start/0.2/payload.ts +16 -0
- package/src/auth/passkey/revoke/start/0.1/payload.ts +16 -0
- package/src/auth/step-up/approve-request/0.1/payload.ts +16 -0
- package/src/auth/step-up/approve-request/0.2/payload.ts +16 -0
- package/src/sync/event/0.1/payload.ts +40 -0
- package/src/vault/get/0.1/payload.ts +64 -0
- package/src/vault/list/0.1/payload.ts +64 -0
- package/src/vault/sync/0.1/payload.ts +64 -0
- package/src/vault/upsert/0.1/payload.ts +64 -0
|
@@ -197,6 +197,22 @@ export interface VaultEntry {
|
|
|
197
197
|
* Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret.
|
|
198
198
|
*/
|
|
199
199
|
principalDid?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `"active"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: "all"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes.
|
|
202
|
+
*/
|
|
203
|
+
status?: "active" | "archived" | "deleted";
|
|
204
|
+
/**
|
|
205
|
+
* When the entry was archived. Present iff `status` is `archived`.
|
|
206
|
+
*/
|
|
207
|
+
archivedAt?: string;
|
|
208
|
+
/**
|
|
209
|
+
* When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist.
|
|
210
|
+
*/
|
|
211
|
+
deletedAt?: string;
|
|
212
|
+
/**
|
|
213
|
+
* Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — "deleted" without a deadline cannot be distinguished from "gone", and the difference is whether the holder can still get their credential back.
|
|
214
|
+
*/
|
|
215
|
+
graceUntil?: string;
|
|
200
216
|
ext?: Ext1;
|
|
201
217
|
}
|
|
202
218
|
export interface WebOrigin {
|
|
@@ -567,6 +583,30 @@ export const PAYLOAD_SCHEMA = {
|
|
|
567
583
|
"minLength": 1,
|
|
568
584
|
"description": "Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret."
|
|
569
585
|
},
|
|
586
|
+
"status": {
|
|
587
|
+
"type": "string",
|
|
588
|
+
"enum": [
|
|
589
|
+
"active",
|
|
590
|
+
"archived",
|
|
591
|
+
"deleted"
|
|
592
|
+
],
|
|
593
|
+
"description": "Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `\"active\"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: \"all\"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes."
|
|
594
|
+
},
|
|
595
|
+
"archivedAt": {
|
|
596
|
+
"type": "string",
|
|
597
|
+
"format": "date-time",
|
|
598
|
+
"description": "When the entry was archived. Present iff `status` is `archived`."
|
|
599
|
+
},
|
|
600
|
+
"deletedAt": {
|
|
601
|
+
"type": "string",
|
|
602
|
+
"format": "date-time",
|
|
603
|
+
"description": "When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist."
|
|
604
|
+
},
|
|
605
|
+
"graceUntil": {
|
|
606
|
+
"type": "string",
|
|
607
|
+
"format": "date-time",
|
|
608
|
+
"description": "Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — \"deleted\" without a deadline cannot be distinguished from \"gone\", and the difference is whether the holder can still get their credential back."
|
|
609
|
+
},
|
|
570
610
|
"ext": {
|
|
571
611
|
"$ref": "#/$defs/Ext",
|
|
572
612
|
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. Reverse-DNS-namespaced; consumers MUST ignore unrecognized namespaces."
|
|
@@ -918,6 +958,30 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
918
958
|
"minLength": 1,
|
|
919
959
|
"description": "Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret."
|
|
920
960
|
},
|
|
961
|
+
"status": {
|
|
962
|
+
"type": "string",
|
|
963
|
+
"enum": [
|
|
964
|
+
"active",
|
|
965
|
+
"archived",
|
|
966
|
+
"deleted"
|
|
967
|
+
],
|
|
968
|
+
"description": "Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `\"active\"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: \"all\"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes."
|
|
969
|
+
},
|
|
970
|
+
"archivedAt": {
|
|
971
|
+
"type": "string",
|
|
972
|
+
"format": "date-time",
|
|
973
|
+
"description": "When the entry was archived. Present iff `status` is `archived`."
|
|
974
|
+
},
|
|
975
|
+
"deletedAt": {
|
|
976
|
+
"type": "string",
|
|
977
|
+
"format": "date-time",
|
|
978
|
+
"description": "When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist."
|
|
979
|
+
},
|
|
980
|
+
"graceUntil": {
|
|
981
|
+
"type": "string",
|
|
982
|
+
"format": "date-time",
|
|
983
|
+
"description": "Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — \"deleted\" without a deadline cannot be distinguished from \"gone\", and the difference is whether the holder can still get their credential back."
|
|
984
|
+
},
|
|
921
985
|
"ext": {
|
|
922
986
|
"$ref": "#/$defs/Ext",
|
|
923
987
|
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. Reverse-DNS-namespaced; consumers MUST ignore unrecognized namespaces."
|
|
@@ -144,6 +144,22 @@ export interface VaultEntry {
|
|
|
144
144
|
* Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret.
|
|
145
145
|
*/
|
|
146
146
|
principalDid?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `"active"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: "all"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes.
|
|
149
|
+
*/
|
|
150
|
+
status?: "active" | "archived" | "deleted";
|
|
151
|
+
/**
|
|
152
|
+
* When the entry was archived. Present iff `status` is `archived`.
|
|
153
|
+
*/
|
|
154
|
+
archivedAt?: string;
|
|
155
|
+
/**
|
|
156
|
+
* When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist.
|
|
157
|
+
*/
|
|
158
|
+
deletedAt?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — "deleted" without a deadline cannot be distinguished from "gone", and the difference is whether the holder can still get their credential back.
|
|
161
|
+
*/
|
|
162
|
+
graceUntil?: string;
|
|
147
163
|
ext?: Ext1;
|
|
148
164
|
}
|
|
149
165
|
export interface WebOrigin {
|
|
@@ -620,6 +636,30 @@ export const PAYLOAD_SCHEMA = {
|
|
|
620
636
|
"minLength": 1,
|
|
621
637
|
"description": "Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret."
|
|
622
638
|
},
|
|
639
|
+
"status": {
|
|
640
|
+
"type": "string",
|
|
641
|
+
"enum": [
|
|
642
|
+
"active",
|
|
643
|
+
"archived",
|
|
644
|
+
"deleted"
|
|
645
|
+
],
|
|
646
|
+
"description": "Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `\"active\"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: \"all\"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes."
|
|
647
|
+
},
|
|
648
|
+
"archivedAt": {
|
|
649
|
+
"type": "string",
|
|
650
|
+
"format": "date-time",
|
|
651
|
+
"description": "When the entry was archived. Present iff `status` is `archived`."
|
|
652
|
+
},
|
|
653
|
+
"deletedAt": {
|
|
654
|
+
"type": "string",
|
|
655
|
+
"format": "date-time",
|
|
656
|
+
"description": "When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist."
|
|
657
|
+
},
|
|
658
|
+
"graceUntil": {
|
|
659
|
+
"type": "string",
|
|
660
|
+
"format": "date-time",
|
|
661
|
+
"description": "Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — \"deleted\" without a deadline cannot be distinguished from \"gone\", and the difference is whether the holder can still get their credential back."
|
|
662
|
+
},
|
|
623
663
|
"ext": {
|
|
624
664
|
"$ref": "#/$defs/Ext",
|
|
625
665
|
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. Reverse-DNS-namespaced; consumers MUST ignore unrecognized namespaces."
|
|
@@ -1120,6 +1160,30 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
1120
1160
|
"minLength": 1,
|
|
1121
1161
|
"description": "Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret."
|
|
1122
1162
|
},
|
|
1163
|
+
"status": {
|
|
1164
|
+
"type": "string",
|
|
1165
|
+
"enum": [
|
|
1166
|
+
"active",
|
|
1167
|
+
"archived",
|
|
1168
|
+
"deleted"
|
|
1169
|
+
],
|
|
1170
|
+
"description": "Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `\"active\"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: \"all\"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes."
|
|
1171
|
+
},
|
|
1172
|
+
"archivedAt": {
|
|
1173
|
+
"type": "string",
|
|
1174
|
+
"format": "date-time",
|
|
1175
|
+
"description": "When the entry was archived. Present iff `status` is `archived`."
|
|
1176
|
+
},
|
|
1177
|
+
"deletedAt": {
|
|
1178
|
+
"type": "string",
|
|
1179
|
+
"format": "date-time",
|
|
1180
|
+
"description": "When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist."
|
|
1181
|
+
},
|
|
1182
|
+
"graceUntil": {
|
|
1183
|
+
"type": "string",
|
|
1184
|
+
"format": "date-time",
|
|
1185
|
+
"description": "Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — \"deleted\" without a deadline cannot be distinguished from \"gone\", and the difference is whether the holder can still get their credential back."
|
|
1186
|
+
},
|
|
1123
1187
|
"ext": {
|
|
1124
1188
|
"$ref": "#/$defs/Ext",
|
|
1125
1189
|
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. Reverse-DNS-namespaced; consumers MUST ignore unrecognized namespaces."
|
|
@@ -259,6 +259,22 @@ export interface VaultEntry {
|
|
|
259
259
|
* Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret.
|
|
260
260
|
*/
|
|
261
261
|
principalDid?: string;
|
|
262
|
+
/**
|
|
263
|
+
* Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `"active"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: "all"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes.
|
|
264
|
+
*/
|
|
265
|
+
status?: "active" | "archived" | "deleted";
|
|
266
|
+
/**
|
|
267
|
+
* When the entry was archived. Present iff `status` is `archived`.
|
|
268
|
+
*/
|
|
269
|
+
archivedAt?: string;
|
|
270
|
+
/**
|
|
271
|
+
* When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist.
|
|
272
|
+
*/
|
|
273
|
+
deletedAt?: string;
|
|
274
|
+
/**
|
|
275
|
+
* Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — "deleted" without a deadline cannot be distinguished from "gone", and the difference is whether the holder can still get their credential back.
|
|
276
|
+
*/
|
|
277
|
+
graceUntil?: string;
|
|
262
278
|
ext?: Ext1;
|
|
263
279
|
}
|
|
264
280
|
export interface AttachmentRef {
|
|
@@ -582,6 +598,30 @@ export const PAYLOAD_SCHEMA = {
|
|
|
582
598
|
"minLength": 1,
|
|
583
599
|
"description": "Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret."
|
|
584
600
|
},
|
|
601
|
+
"status": {
|
|
602
|
+
"type": "string",
|
|
603
|
+
"enum": [
|
|
604
|
+
"active",
|
|
605
|
+
"archived",
|
|
606
|
+
"deleted"
|
|
607
|
+
],
|
|
608
|
+
"description": "Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `\"active\"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: \"all\"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes."
|
|
609
|
+
},
|
|
610
|
+
"archivedAt": {
|
|
611
|
+
"type": "string",
|
|
612
|
+
"format": "date-time",
|
|
613
|
+
"description": "When the entry was archived. Present iff `status` is `archived`."
|
|
614
|
+
},
|
|
615
|
+
"deletedAt": {
|
|
616
|
+
"type": "string",
|
|
617
|
+
"format": "date-time",
|
|
618
|
+
"description": "When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist."
|
|
619
|
+
},
|
|
620
|
+
"graceUntil": {
|
|
621
|
+
"type": "string",
|
|
622
|
+
"format": "date-time",
|
|
623
|
+
"description": "Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — \"deleted\" without a deadline cannot be distinguished from \"gone\", and the difference is whether the holder can still get their credential back."
|
|
624
|
+
},
|
|
585
625
|
"ext": {
|
|
586
626
|
"$ref": "#/$defs/Ext",
|
|
587
627
|
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. Reverse-DNS-namespaced; consumers MUST ignore unrecognized namespaces."
|
|
@@ -1006,6 +1046,30 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
1006
1046
|
"minLength": 1,
|
|
1007
1047
|
"description": "Optional cached DID the entry will act AS for DID-shaped flows — mirrors the `did` field of the entry's secret payload when `secretKind` carries one (`did-self-issued`, `didcomm-peer`). Absent for kinds that have no DID concept (`password`, `passkey`, `oauth-tokens`, `bearer-token`, `ssh-key`, `custom`). MAINTAINER-DERIVED, NOT CONSUMER-SUPPLIED: the maintainer MUST recompute this from the canonical secret at every upsert / secret rotation; a producer-supplied value on `vault/upsert/0.1` MUST be ignored (no error, but no honour). Read-only on the wire, present in metadata views so consumers can drive RP-side flows (e.g. fetch `/auth/challenge` keyed on the principal DID before requesting a proxy-login) without releasing the secret."
|
|
1008
1048
|
},
|
|
1049
|
+
"status": {
|
|
1050
|
+
"type": "string",
|
|
1051
|
+
"enum": [
|
|
1052
|
+
"active",
|
|
1053
|
+
"archived",
|
|
1054
|
+
"deleted"
|
|
1055
|
+
],
|
|
1056
|
+
"description": "Archival-lifecycle state of this entry. Absent means `active`, so a maintainer that models no lifecycle omits it and every existing document stays valid. Deliberately carries no JSON Schema `default`: a declared default is materialised by generated bindings, which would make an absent `status` reappear as an explicit `\"active\"` on re-serialisation and break round-trip idempotence for every existing document. This member is what makes `vault/list`'s `status: \"all\"` selector usable: that view returns entries in every state by design, and without a state on the entry itself a consumer cannot tell which is which. An `archived` entry is hidden from ordinary listings but intact; a `deleted` entry is a tombstone inside its grace window, still restorable until `graceUntil` passes."
|
|
1057
|
+
},
|
|
1058
|
+
"archivedAt": {
|
|
1059
|
+
"type": "string",
|
|
1060
|
+
"format": "date-time",
|
|
1061
|
+
"description": "When the entry was archived. Present iff `status` is `archived`."
|
|
1062
|
+
},
|
|
1063
|
+
"deletedAt": {
|
|
1064
|
+
"type": "string",
|
|
1065
|
+
"format": "date-time",
|
|
1066
|
+
"description": "When the entry was soft-deleted. Present iff `status` is `deleted`. A soft delete is reversible: this records when the grace window opened, not when the entry ceased to exist."
|
|
1067
|
+
},
|
|
1068
|
+
"graceUntil": {
|
|
1069
|
+
"type": "string",
|
|
1070
|
+
"format": "date-time",
|
|
1071
|
+
"description": "Deadline after which a `deleted` entry is irreversibly purged. Present iff `status` is `deleted`. It is the one member a consumer showing a trash view actually needs — \"deleted\" without a deadline cannot be distinguished from \"gone\", and the difference is whether the holder can still get their credential back."
|
|
1072
|
+
},
|
|
1009
1073
|
"ext": {
|
|
1010
1074
|
"$ref": "#/$defs/Ext",
|
|
1011
1075
|
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. Reverse-DNS-namespaced; consumers MUST ignore unrecognized namespaces."
|