@openvtc/trust-tasks 0.25.2 → 0.26.1
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 +56 -0
- package/dist/_shared/components.d.ts +10 -1
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/vtc/_shared/0.1/room-storage.d.ts +1 -1
- package/dist/vtc/_shared/0.1/room-storage.d.ts.map +1 -1
- package/dist/vtc/oid4vp/identities/list/0.1/payload.d.ts +938 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.js +559 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/create/0.1/payload.d.ts +50 -10
- package/dist/vtc/storage/configs/create/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/create/0.1/payload.js +24 -2
- package/dist/vtc/storage/configs/create/0.1/payload.js.map +1 -1
- package/dist/vtc/storage/configs/get/0.1/payload.d.ts +66 -10
- package/dist/vtc/storage/configs/get/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/get/0.1/payload.js +32 -2
- package/dist/vtc/storage/configs/get/0.1/payload.js.map +1 -1
- package/dist/vtc/storage/configs/list/0.1/payload.d.ts +66 -10
- package/dist/vtc/storage/configs/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/list/0.1/payload.js +32 -2
- package/dist/vtc/storage/configs/list/0.1/payload.js.map +1 -1
- package/dist/vtc/storage/configs/update/0.1/payload.d.ts +50 -10
- package/dist/vtc/storage/configs/update/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/update/0.1/payload.js +24 -2
- package/dist/vtc/storage/configs/update/0.1/payload.js.map +1 -1
- package/dist/vtc/storage/credentials/set/0.1/payload.d.ts +46 -2
- package/dist/vtc/storage/credentials/set/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/credentials/set/0.1/payload.js +22 -0
- package/dist/vtc/storage/credentials/set/0.1/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +10 -1
- package/src/index.ts +1 -0
- package/src/vtc/_shared/0.1/room-storage.ts +1 -1
- package/src/vtc/oid4vp/identities/list/0.1/payload.ts +706 -0
- package/src/vtc/storage/configs/create/0.1/payload.ts +26 -4
- package/src/vtc/storage/configs/get/0.1/payload.ts +34 -4
- package/src/vtc/storage/configs/list/0.1/payload.ts +34 -4
- package/src/vtc/storage/configs/update/0.1/payload.ts +26 -4
- package/src/vtc/storage/credentials/set/0.1/payload.ts +24 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,62 @@ 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.26.1 — 2026-10-14
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **vtc**: Verifier identities list — the OpenID4VP verifier's state for administrators (#761)
|
|
20
|
+
|
|
21
|
+
vtc/oid4vp/identities/list/0.1 lets a community's configuration
|
|
22
|
+
administrator read the OpenID4VP verifier identities the community presents
|
|
23
|
+
to swiyu and EUDI wallets, and what stops each from serving one.
|
|
24
|
+
|
|
25
|
+
A verifier identity is installed out of band — a DID registered with an
|
|
26
|
+
ecosystem, an access certificate from a registrar, trust statements from a
|
|
27
|
+
registry — and each part expires on its own schedule. A wallet that refuses
|
|
28
|
+
a request object tells the community nothing. Per identity the response
|
|
29
|
+
gives the client identifier wallets see, the DID and signing method, where
|
|
30
|
+
the key is held (cached, or kept by the community's agent), the access
|
|
31
|
+
certificate's subject, issuer and validity, each verifier_info attestation
|
|
32
|
+
with its expiry, whether it is the default, and whether a session could be
|
|
33
|
+
opened on it now. Problems use a fixed vocabulary with error/warning
|
|
34
|
+
severity: invalid key custody, no loaded signer, no link to the agent, a
|
|
35
|
+
missing, not-yet-valid, expired or expiring certificate, a missing identity
|
|
36
|
+
trust statement, an expired or expiring statement; and, community-wide, a
|
|
37
|
+
default identity that is not installed, or no https public URL.
|
|
38
|
+
|
|
39
|
+
The response never carries key material, nor the identifier under which the
|
|
40
|
+
agent holds a key.
|
|
41
|
+
|
|
42
|
+
## 0.26.0 — 2026-10-13
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Specifications
|
|
46
|
+
|
|
47
|
+
- **vtc**: A vta-account storage config names the account's context as well as its identifier (#758)
|
|
48
|
+
|
|
49
|
+
`StorageAuth`'s `vta-account` variant named only `account`, but a VTA names an
|
|
50
|
+
external account by the context that owns it and its identifier there: the
|
|
51
|
+
`external/credentials/issue` task the community sends requires both. A
|
|
52
|
+
community could only fill the gap from something outside the config, which
|
|
53
|
+
makes a config mean something only on the host that stored it, confines every
|
|
54
|
+
account a community uses to one context, and leaves each implementation to
|
|
55
|
+
fill the gap its own way.
|
|
56
|
+
|
|
57
|
+
`vta-account` now requires `context` (`ExternalAccountContextId`, the issue
|
|
58
|
+
task's `AccountContextId` form), and `CredentialState` carries it beside
|
|
59
|
+
`account`. Naming a context grants nothing: the VTA issues only to a consumer
|
|
60
|
+
bound to the account and holding `external-auth-use` in that context.
|
|
61
|
+
`vtc/storage/configs/create` item 5 addresses the account by that pair and
|
|
62
|
+
never by an identifier resolved against a context of the community's own
|
|
63
|
+
choosing; `unknownAccount` on create and update says so. A new invalid
|
|
64
|
+
example covers a missing context.
|
|
65
|
+
|
|
66
|
+
Breaking for the generated types: a new required member. No community could
|
|
67
|
+
create a `vta-account` config before this (the one implementation refused
|
|
68
|
+
every kind but `local`), so no stored config lacks it.
|
|
69
|
+
|
|
14
70
|
## 0.25.2 — 2026-10-13
|
|
15
71
|
|
|
16
72
|
|
|
@@ -586,6 +586,10 @@ export type ExpiresAt = string;
|
|
|
586
586
|
* @minItems 1
|
|
587
587
|
*/
|
|
588
588
|
export type ExtCritical = [string, ...string[]];
|
|
589
|
+
/**
|
|
590
|
+
* The context at the community's VTA that owns an external account. The VTA names an account by its context and its identifier, and decides who may use it by act scope in that context: the community must hold `external-auth-use` there, and be bound to the account, for the account to issue it anything. Naming a context grants nothing; the VTA's binding is the gate.
|
|
591
|
+
*/
|
|
592
|
+
export type ExternalAccountContextId = string;
|
|
589
593
|
/**
|
|
590
594
|
* The identifier of an external account held by the community's VTA (the external/accounts/* family), which issues the community short-lived, room-scoped credentials and holds the long-lived authority itself.
|
|
591
595
|
*/
|
|
@@ -1089,7 +1093,7 @@ export type Slot = string;
|
|
|
1089
1093
|
/**
|
|
1090
1094
|
* How the community authenticates to a config's backend. Absent on a `local` config, which needs none.
|
|
1091
1095
|
*
|
|
1092
|
-
* `vta-account` (RECOMMENDED): an external account in the community's VTA. The VTA holds the long-lived authority; the community holds nothing that outlives a credential lifetime, and asks for credentials scoped to one room's prefix for at most 15 minutes, every issuance audited at the VTA. Required for a `walrus` config other than a `sealed` one, since the VTA's `sui-signer` account signs its storage transactions.
|
|
1096
|
+
* `vta-account` (RECOMMENDED): an external account in the community's VTA, named by the context that owns it and its identifier there. The VTA holds the long-lived authority; the community holds nothing that outlives a credential lifetime, and asks for credentials scoped to one room's prefix for at most 15 minutes, every issuance audited at the VTA. Required for a `walrus` config other than a `sealed` one, since the VTA's `sui-signer` account signs its storage transactions.
|
|
1093
1097
|
*
|
|
1094
1098
|
* `ambient`: the cloud identity of the machine the community runs on (an instance role, workload identity), downscoped to one room's prefix by the community itself. Not audited or rate-limited by the VTA, and usable by anything on that machine that reaches the metadata endpoint. Not valid for `walrus`.
|
|
1095
1099
|
*
|
|
@@ -1097,6 +1101,7 @@ export type Slot = string;
|
|
|
1097
1101
|
*/
|
|
1098
1102
|
export type StorageAuth = {
|
|
1099
1103
|
mode: "vta-account";
|
|
1104
|
+
context: ExternalAccountContextId;
|
|
1100
1105
|
account: ExternalAccountId;
|
|
1101
1106
|
} | {
|
|
1102
1107
|
mode: "ambient";
|
|
@@ -4640,6 +4645,10 @@ export interface CredentialScopeCeiling {
|
|
|
4640
4645
|
*/
|
|
4641
4646
|
export interface CredentialState {
|
|
4642
4647
|
status: "vta-account" | "ambient" | "sealed" | "required" | "none";
|
|
4648
|
+
/**
|
|
4649
|
+
* Present with `vta-account`.
|
|
4650
|
+
*/
|
|
4651
|
+
context?: ExternalAccountContextId;
|
|
4643
4652
|
/**
|
|
4644
4653
|
* Present with `vta-account`.
|
|
4645
4654
|
*/
|