@openvtc/trust-tasks 0.28.11 → 0.28.12
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 +48 -0
- package/dist/_shared/components.d.ts +38 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/vta/collection/_shared/0.1/collection.d.ts +16 -0
- package/dist/vta/collection/_shared/0.1/collection.d.ts.map +1 -0
- package/dist/vta/collection/_shared/0.1/collection.js +6 -0
- package/dist/vta/collection/_shared/0.1/collection.js.map +1 -0
- package/dist/vta/collection/claim/0.1/payload.d.ts +352 -0
- package/dist/vta/collection/claim/0.1/payload.d.ts.map +1 -0
- package/dist/vta/collection/claim/0.1/payload.js +198 -0
- package/dist/vta/collection/claim/0.1/payload.js.map +1 -0
- package/dist/vta/collection/list/0.1/payload.d.ts +740 -0
- package/dist/vta/collection/list/0.1/payload.d.ts.map +1 -0
- package/dist/vta/collection/list/0.1/payload.js +447 -0
- package/dist/vta/collection/list/0.1/payload.js.map +1 -0
- package/dist/vta/collection/release/0.1/payload.d.ts +316 -0
- package/dist/vta/collection/release/0.1/payload.d.ts.map +1 -0
- package/dist/vta/collection/release/0.1/payload.js +182 -0
- package/dist/vta/collection/release/0.1/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_shared/components.ts +38 -0
- package/src/index.ts +12 -0
- package/src/vta/collection/_shared/0.1/collection.ts +17 -0
- package/src/vta/collection/claim/0.1/payload.ts +247 -0
- package/src/vta/collection/list/0.1/payload.ts +500 -0
- package/src/vta/collection/release/0.1/payload.ts +223 -0
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,54 @@ The package versions over **its own API** — what a consumer compiles against
|
|
|
11
11
|
not over `SPEC.md`. Below 1.0 a breaking change bumps the leading non-zero
|
|
12
12
|
component.
|
|
13
13
|
|
|
14
|
+
## 0.28.12 — 2026-11-04
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **vta/collection**: Claim, release and list who collects a persona DID's messages at the mediator (#1023)
|
|
20
|
+
|
|
21
|
+
Implements dtgwg-vti-spec's collection for the principal's identifiers
|
|
22
|
+
(VTI-NTF-080 – VTI-NTF-092).
|
|
23
|
+
|
|
24
|
+
A VTA collects, at the mediator each DID document advertises, the messages
|
|
25
|
+
for every identifier whose messaging keys it holds in one of the principal's
|
|
26
|
+
trust contexts — its personas — unless a client has claimed it. The mediator
|
|
27
|
+
permits one connection per DID, so at most one party collects at a time.
|
|
28
|
+
|
|
29
|
+
New tasks (family vta/collection, category messaging):
|
|
30
|
+
|
|
31
|
+
- vta/collection/claim/0.1 — a client becomes an identifier's one collector
|
|
32
|
+
until a stated end (a lease, at most thirty days), or renews its claim. The
|
|
33
|
+
VTA stops collecting and closes its connection before it grants; the client
|
|
34
|
+
connects only after the grant and closes before the end unless renewed.
|
|
35
|
+
notCollectable, claimHeld, claimNotRenewable. Retry class 2.
|
|
36
|
+
- vta/collection/release/0.1 — the claimant ends its claim at once, having
|
|
37
|
+
stopped collecting; any other party with standing makes it unrenewable,
|
|
38
|
+
and it still ends at its end. notCollectable. Retry class 2.
|
|
39
|
+
- vta/collection/list/0.1 — who collects for each identifier of a context:
|
|
40
|
+
the VTA, a claimant (with the end and whether renewable), or nobody, with
|
|
41
|
+
the reason (limit, conflict).
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Specifications
|
|
46
|
+
|
|
47
|
+
- **vta/collection**: Category notifications, a disabled reason, and the 24-hour lease (#1024)
|
|
48
|
+
|
|
49
|
+
Follows dtgwg-vti-spec#97's VTI-NTF-093 and lease recommendation.
|
|
50
|
+
|
|
51
|
+
- Category messaging -> notifications for claim, release and list.
|
|
52
|
+
- NotCollectedReason gains `disabled` (appended): the operator has not
|
|
53
|
+
enabled collection by default (VTI-NTF-093). Claims are still granted,
|
|
54
|
+
renewed, released and listed while it is off; notCollectable and list
|
|
55
|
+
scope now refer to the identifiers VTI-NTF-080 names whether or not it is
|
|
56
|
+
enabled, and a claimant's release resumes collection only where enabled.
|
|
57
|
+
- Claim: a producer SHOULD request 86400 seconds and renew at half the
|
|
58
|
+
period granted; the VTA's stated maximum SHOULD NOT exceed thirty days.
|
|
59
|
+
|
|
60
|
+
Rust, TS, Go and Dart bindings regenerated.
|
|
61
|
+
|
|
14
62
|
## 0.28.11 — 2026-11-03
|
|
15
63
|
|
|
16
64
|
|
|
@@ -461,6 +461,10 @@ export type ChunkSize = number;
|
|
|
461
461
|
* The `x:` prefix is an open extension namespace and is not decoration. The closest prior art — Windows CardSpace's self-issued card — supported exactly fifteen predefined claim types with no extensibility, and that is the specific way it failed the requirement a holder actually has. An `x:` attribute stores, composes, binds and discloses exactly like a known one; it renders generically and matches only an explicit query.
|
|
462
462
|
*/
|
|
463
463
|
export type ClaimType = string;
|
|
464
|
+
/**
|
|
465
|
+
* Who collects for an identifier: `vta`, the VTA itself; `client`, the claimant of a collection claim in force; or `none`, nobody, for the reason given in `notCollectedReason`.
|
|
466
|
+
*/
|
|
467
|
+
export type Collector = "vta" | "client" | "none";
|
|
464
468
|
/**
|
|
465
469
|
* The community's hidden-vetting parameters exactly as its join manifest publishes them, under the criterion's `vetting.ext`. The caller copies them in verbatim on every call that needs them, because the community rotates labels and the engine keeps no copy of its own: a stale copy costs the caller a refused proof, never a mistaken one.
|
|
466
470
|
*/
|
|
@@ -481,6 +485,10 @@ export type ConsumerKind_DeviceV0_2 = Companion_DeviceV0_2 | Service_DeviceV0_2;
|
|
|
481
485
|
* The trust context the notification is held in: the one the addressed DID belongs to.
|
|
482
486
|
*/
|
|
483
487
|
export type ContextId = string;
|
|
488
|
+
/**
|
|
489
|
+
* The trust context the identifier belongs to.
|
|
490
|
+
*/
|
|
491
|
+
export type ContextId_VtaCollectionV0_1 = string;
|
|
484
492
|
/**
|
|
485
493
|
* Opaque identifier of one of the maintainer's contexts, compared by the maintainer's own ancestry predicate. Its grammar is the maintainer's.
|
|
486
494
|
*/
|
|
@@ -1056,6 +1064,10 @@ export type NamespaceId = string;
|
|
|
1056
1064
|
* What a node is.
|
|
1057
1065
|
*/
|
|
1058
1066
|
export type NodeKind = "network" | "community";
|
|
1067
|
+
/**
|
|
1068
|
+
* Why nobody collects for an identifier the VTA would otherwise collect for: `limit`, the VTA is at the bound it states on the number of identifiers it collects for (VTI-NTF-088); `conflict`, another connection for the identifier kept closing the VTA's, and the VTA stopped after the bound it states until the conflict is resolved (VTI-NTF-085). `disabled`, the VTA's operator has not enabled collection by default (VTI-NTF-093), so the VTA collects for no identifier a client has not claimed.
|
|
1069
|
+
*/
|
|
1070
|
+
export type NotCollectedReason = "limit" | "conflict" | "disabled";
|
|
1059
1071
|
/**
|
|
1060
1072
|
* Opaque identifier of one note: `note_` followed by 16 to 64 base64url characters.
|
|
1061
1073
|
*/
|
|
@@ -6027,6 +6039,23 @@ export interface ChunkedDescriptor {
|
|
|
6027
6039
|
expectedSizeBytes: ExpectedSizeBytes;
|
|
6028
6040
|
expiresAt: ExpiresAt;
|
|
6029
6041
|
}
|
|
6042
|
+
/**
|
|
6043
|
+
* A collection claim in force for one identifier: the client that is its collector, when the claim ends, and whether the claimant may still renew it. A claim released by a party other than its claimant, or whose claimant's access control entry no longer gives it standing in the context, is not renewable and still ends at `endsAt`, because the claimant is still connected until its own clock tells it to stop (VTI-NTF-084).
|
|
6044
|
+
*/
|
|
6045
|
+
export interface Claim {
|
|
6046
|
+
/**
|
|
6047
|
+
* The client holding the claim: the subject of the access control entry it was granted to.
|
|
6048
|
+
*/
|
|
6049
|
+
claimant: Did_NotificationsV0_1;
|
|
6050
|
+
/**
|
|
6051
|
+
* When the claim ends unless renewed. The claimant stops collecting before this instant less its clock-skew tolerance; the VTA resumes no earlier than this instant plus its own (VTI-NTF-083, VTI-NTF-084).
|
|
6052
|
+
*/
|
|
6053
|
+
endsAt: string;
|
|
6054
|
+
/**
|
|
6055
|
+
* Whether the claimant may renew the claim with vta/collection/claim before it ends.
|
|
6056
|
+
*/
|
|
6057
|
+
renewable: boolean;
|
|
6058
|
+
}
|
|
6030
6059
|
/**
|
|
6031
6060
|
* Which claim a `claim` field accepts, from which credentials and issuers.
|
|
6032
6061
|
*/
|
|
@@ -6046,6 +6075,15 @@ export interface ClaimSelector {
|
|
|
6046
6075
|
*/
|
|
6047
6076
|
issuers?: string[];
|
|
6048
6077
|
}
|
|
6078
|
+
/**
|
|
6079
|
+
* The collection state of one identifier. `claim` is present exactly when `collector` is `client`, and `notCollectedReason` exactly when it is `none`.
|
|
6080
|
+
*/
|
|
6081
|
+
export interface CollectionEntry {
|
|
6082
|
+
identifier: Did_NotificationsV0_1;
|
|
6083
|
+
collector: Collector;
|
|
6084
|
+
claim?: Claim;
|
|
6085
|
+
notCollectedReason?: NotCollectedReason;
|
|
6086
|
+
}
|
|
6049
6087
|
/**
|
|
6050
6088
|
* OPTIONAL. How the community asks to be shown to a prospective applicant: a name, an accent colour and a logo. Presentation only, self-asserted and unverified — `communityDid` identifies the community, never `branding`. Not part of any criterion, so not covered by a `requirementsDigest`. Every member is optional.
|
|
6051
6089
|
*/
|