@openvtc/trust-tasks 0.21.3 → 0.21.5
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 +72 -0
- package/dist/_shared/components.d.ts +210 -2
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/auth/_shared/0.1/passkey-invite.d.ts +16 -0
- package/dist/auth/_shared/0.1/passkey-invite.d.ts.map +1 -0
- package/dist/auth/_shared/0.1/passkey-invite.js +6 -0
- package/dist/auth/_shared/0.1/passkey-invite.js.map +1 -0
- package/dist/auth/passkey/admin-list/0.1/payload.d.ts +484 -0
- package/dist/auth/passkey/admin-list/0.1/payload.d.ts.map +1 -0
- package/dist/auth/passkey/admin-list/0.1/payload.js +257 -0
- package/dist/auth/passkey/admin-list/0.1/payload.js.map +1 -0
- package/dist/auth/passkey/enroll/invite/list/0.1/payload.d.ts +393 -0
- package/dist/auth/passkey/enroll/invite/list/0.1/payload.d.ts.map +1 -0
- package/dist/auth/passkey/enroll/invite/list/0.1/payload.js +234 -0
- package/dist/auth/passkey/enroll/invite/list/0.1/payload.js.map +1 -0
- package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.d.ts +228 -0
- package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.d.ts.map +1 -0
- package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.js +138 -0
- package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.js.map +1 -0
- package/dist/auth/passkey/enroll/invite/update/0.1/payload.d.ts +459 -0
- package/dist/auth/passkey/enroll/invite/update/0.1/payload.d.ts.map +1 -0
- package/dist/auth/passkey/enroll/invite/update/0.1/payload.js +286 -0
- package/dist/auth/passkey/enroll/invite/update/0.1/payload.js.map +1 -0
- package/dist/auth/step-up/start/0.1/payload.d.ts +420 -0
- package/dist/auth/step-up/start/0.1/payload.d.ts.map +1 -0
- package/dist/auth/step-up/start/0.1/payload.js +232 -0
- package/dist/auth/step-up/start/0.1/payload.js.map +1 -0
- package/dist/did-management/_shared/0.1/service-instance.d.ts +1 -1
- package/dist/did-management/_shared/0.1/service-instance.d.ts.map +1 -1
- package/dist/did-management/_shared/0.2/metrics-snapshot.d.ts +16 -0
- package/dist/did-management/_shared/0.2/metrics-snapshot.d.ts.map +1 -0
- package/dist/did-management/_shared/0.2/metrics-snapshot.js +6 -0
- package/dist/did-management/_shared/0.2/metrics-snapshot.js.map +1 -0
- package/dist/did-management/_shared/0.2/service-instance.d.ts +16 -0
- package/dist/did-management/_shared/0.2/service-instance.d.ts.map +1 -0
- package/dist/did-management/_shared/0.2/service-instance.js +6 -0
- package/dist/did-management/_shared/0.2/service-instance.js.map +1 -0
- package/dist/did-management/agent-name/resolve/0.1/payload.d.ts +318 -0
- package/dist/did-management/agent-name/resolve/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/agent-name/resolve/0.1/payload.js +179 -0
- package/dist/did-management/agent-name/resolve/0.1/payload.js.map +1 -0
- package/dist/did-management/did/log/0.1/payload.d.ts +436 -0
- package/dist/did-management/did/log/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/did/log/0.1/payload.js +228 -0
- package/dist/did-management/did/log/0.1/payload.js.map +1 -0
- package/dist/did-management/domain/list/0.1/payload.d.ts +423 -0
- package/dist/did-management/domain/list/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/domain/list/0.1/payload.js +244 -0
- package/dist/did-management/domain/list/0.1/payload.js.map +1 -0
- package/dist/did-management/identity/list/0.1/payload.d.ts +494 -0
- package/dist/did-management/identity/list/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/identity/list/0.1/payload.js +274 -0
- package/dist/did-management/identity/list/0.1/payload.js.map +1 -0
- package/dist/did-management/identity/retire/0.1/payload.d.ts +242 -0
- package/dist/did-management/identity/retire/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/identity/retire/0.1/payload.js +142 -0
- package/dist/did-management/identity/retire/0.1/payload.js.map +1 -0
- package/dist/did-management/registry/admin-register/0.1/payload.d.ts +1 -1
- package/dist/did-management/registry/admin-register/0.1/payload.d.ts.map +1 -1
- package/dist/did-management/registry/check/0.1/payload.d.ts +639 -0
- package/dist/did-management/registry/check/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/registry/check/0.1/payload.js +383 -0
- package/dist/did-management/registry/check/0.1/payload.js.map +1 -0
- package/dist/did-management/registry/get/0.1/payload.d.ts +632 -0
- package/dist/did-management/registry/get/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/registry/get/0.1/payload.js +381 -0
- package/dist/did-management/registry/get/0.1/payload.js.map +1 -0
- package/dist/did-management/registry/list/0.1/payload.d.ts +661 -0
- package/dist/did-management/registry/list/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/registry/list/0.1/payload.js +398 -0
- package/dist/did-management/registry/list/0.1/payload.js.map +1 -0
- package/dist/did-management/registry/purge-domain/0.1/payload.d.ts +269 -0
- package/dist/did-management/registry/purge-domain/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/registry/purge-domain/0.1/payload.js +160 -0
- package/dist/did-management/registry/purge-domain/0.1/payload.js.map +1 -0
- package/dist/did-management/replica/domain/assign/0.1/payload.d.ts +233 -0
- package/dist/did-management/replica/domain/assign/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/replica/domain/assign/0.1/payload.js +143 -0
- package/dist/did-management/replica/domain/assign/0.1/payload.js.map +1 -0
- package/dist/did-management/replica/domain/purge/0.1/payload.d.ts +257 -0
- package/dist/did-management/replica/domain/purge/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/replica/domain/purge/0.1/payload.js +155 -0
- package/dist/did-management/replica/domain/purge/0.1/payload.js.map +1 -0
- package/dist/did-management/replica/domain/unassign/0.1/payload.d.ts +257 -0
- package/dist/did-management/replica/domain/unassign/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/replica/domain/unassign/0.1/payload.js +155 -0
- package/dist/did-management/replica/domain/unassign/0.1/payload.js.map +1 -0
- package/dist/did-management/replica/domain/upsert/0.1/payload.d.ts +401 -0
- package/dist/did-management/replica/domain/upsert/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/replica/domain/upsert/0.1/payload.js +241 -0
- package/dist/did-management/replica/domain/upsert/0.1/payload.js.map +1 -0
- package/dist/did-management/server/config/0.1/payload.d.ts +838 -0
- package/dist/did-management/server/config/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/server/config/0.1/payload.js +444 -0
- package/dist/did-management/server/config/0.1/payload.js.map +1 -0
- package/dist/did-management/server/info/0.1/payload.d.ts +285 -0
- package/dist/did-management/server/info/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/server/info/0.1/payload.js +160 -0
- package/dist/did-management/server/info/0.1/payload.js.map +1 -0
- package/dist/did-management/server/metrics/0.1/payload.d.ts +674 -0
- package/dist/did-management/server/metrics/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/server/metrics/0.1/payload.js +387 -0
- package/dist/did-management/server/metrics/0.1/payload.js.map +1 -0
- package/dist/did-management/stats/get/0.1/payload.d.ts +349 -0
- package/dist/did-management/stats/get/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/stats/get/0.1/payload.js +187 -0
- package/dist/did-management/stats/get/0.1/payload.js.map +1 -0
- package/dist/did-management/stats/timeseries/0.1/payload.d.ts +381 -0
- package/dist/did-management/stats/timeseries/0.1/payload.d.ts.map +1 -0
- package/dist/did-management/stats/timeseries/0.1/payload.js +227 -0
- package/dist/did-management/stats/timeseries/0.1/payload.js.map +1 -0
- package/dist/git-ns/namespace/list/0.1/payload.d.ts +1343 -0
- package/dist/git-ns/namespace/list/0.1/payload.d.ts.map +1 -0
- package/dist/git-ns/namespace/list/0.1/payload.js +704 -0
- package/dist/git-ns/namespace/list/0.1/payload.js.map +1 -0
- package/dist/git-ns/repo/list/0.1/payload.d.ts +1377 -0
- package/dist/git-ns/repo/list/0.1/payload.d.ts.map +1 -0
- package/dist/git-ns/repo/list/0.1/payload.js +744 -0
- package/dist/git-ns/repo/list/0.1/payload.js.map +1 -0
- package/dist/git-ns/view/0.5/payload.d.ts +1722 -0
- package/dist/git-ns/view/0.5/payload.d.ts.map +1 -0
- package/dist/git-ns/view/0.5/payload.js +1024 -0
- package/dist/git-ns/view/0.5/payload.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/dist/vtc/_shared/0.1/invite.d.ts +1 -1
- package/dist/vtc/_shared/0.1/invite.d.ts.map +1 -1
- package/dist/vtc/admin/invites/list/0.1/payload.d.ts +1 -1
- package/dist/vtc/admin/invites/list/0.1/payload.d.ts.map +1 -1
- package/dist/webvh/_shared/0.1/sync-update.d.ts +16 -0
- package/dist/webvh/_shared/0.1/sync-update.d.ts.map +1 -0
- package/dist/webvh/_shared/0.1/sync-update.js +6 -0
- package/dist/webvh/_shared/0.1/sync-update.js.map +1 -0
- package/dist/webvh/_shared/0.1/witness-key.d.ts +16 -0
- package/dist/webvh/_shared/0.1/witness-key.d.ts.map +1 -0
- package/dist/webvh/_shared/0.1/witness-key.js +6 -0
- package/dist/webvh/_shared/0.1/witness-key.js.map +1 -0
- package/dist/webvh/sync/batch/0.1/payload.d.ts +503 -0
- package/dist/webvh/sync/batch/0.1/payload.d.ts.map +1 -0
- package/dist/webvh/sync/batch/0.1/payload.js +290 -0
- package/dist/webvh/sync/batch/0.1/payload.js.map +1 -0
- package/dist/webvh/sync/delete/0.2/payload.d.ts +242 -0
- package/dist/webvh/sync/delete/0.2/payload.d.ts.map +1 -0
- package/dist/webvh/sync/delete/0.2/payload.js +148 -0
- package/dist/webvh/sync/delete/0.2/payload.js.map +1 -0
- package/dist/webvh/sync/update/0.2/payload.d.ts +315 -0
- package/dist/webvh/sync/update/0.2/payload.d.ts.map +1 -0
- package/dist/webvh/sync/update/0.2/payload.js +177 -0
- package/dist/webvh/sync/update/0.2/payload.js.map +1 -0
- package/dist/webvh/witness/key/create/0.1/payload.d.ts +346 -0
- package/dist/webvh/witness/key/create/0.1/payload.d.ts.map +1 -0
- package/dist/webvh/witness/key/create/0.1/payload.js +202 -0
- package/dist/webvh/witness/key/create/0.1/payload.js.map +1 -0
- package/dist/webvh/witness/key/delete/0.1/payload.d.ts +237 -0
- package/dist/webvh/witness/key/delete/0.1/payload.d.ts.map +1 -0
- package/dist/webvh/witness/key/delete/0.1/payload.js +141 -0
- package/dist/webvh/witness/key/delete/0.1/payload.js.map +1 -0
- package/dist/webvh/witness/key/list/0.1/payload.d.ts +349 -0
- package/dist/webvh/witness/key/list/0.1/payload.d.ts.map +1 -0
- package/dist/webvh/witness/key/list/0.1/payload.js +204 -0
- package/dist/webvh/witness/key/list/0.1/payload.js.map +1 -0
- package/dist/webvh/witness/sign/0.1/payload.d.ts +401 -0
- package/dist/webvh/witness/sign/0.1/payload.d.ts.map +1 -0
- package/dist/webvh/witness/sign/0.1/payload.js +229 -0
- package/dist/webvh/witness/sign/0.1/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_shared/components.ts +210 -2
- package/src/auth/_shared/0.1/passkey-invite.ts +17 -0
- package/src/auth/passkey/admin-list/0.1/payload.ts +338 -0
- package/src/auth/passkey/enroll/invite/list/0.1/payload.ts +266 -0
- package/src/auth/passkey/enroll/invite/revoke/0.1/payload.ts +165 -0
- package/src/auth/passkey/enroll/invite/update/0.1/payload.ts +327 -0
- package/src/auth/step-up/start/0.1/payload.ts +287 -0
- package/src/did-management/_shared/0.1/service-instance.ts +1 -1
- package/src/did-management/_shared/0.2/metrics-snapshot.ts +17 -0
- package/src/did-management/_shared/0.2/service-instance.ts +17 -0
- package/src/did-management/agent-name/resolve/0.1/payload.ts +222 -0
- package/src/did-management/did/log/0.1/payload.ts +295 -0
- package/src/did-management/domain/list/0.1/payload.ts +280 -0
- package/src/did-management/identity/list/0.1/payload.ts +335 -0
- package/src/did-management/identity/retire/0.1/payload.ts +175 -0
- package/src/did-management/registry/admin-register/0.1/payload.ts +1 -1
- package/src/did-management/registry/check/0.1/payload.ts +415 -0
- package/src/did-management/registry/get/0.1/payload.ts +410 -0
- package/src/did-management/registry/list/0.1/payload.ts +434 -0
- package/src/did-management/registry/purge-domain/0.1/payload.ts +198 -0
- package/src/did-management/replica/domain/assign/0.1/payload.ts +173 -0
- package/src/did-management/replica/domain/purge/0.1/payload.ts +189 -0
- package/src/did-management/replica/domain/unassign/0.1/payload.ts +189 -0
- package/src/did-management/replica/domain/upsert/0.1/payload.ts +271 -0
- package/src/did-management/server/config/0.1/payload.ts +545 -0
- package/src/did-management/server/info/0.1/payload.ts +200 -0
- package/src/did-management/server/metrics/0.1/payload.ts +418 -0
- package/src/did-management/stats/get/0.1/payload.ts +237 -0
- package/src/did-management/stats/timeseries/0.1/payload.ts +279 -0
- package/src/git-ns/namespace/list/0.1/payload.ts +883 -0
- package/src/git-ns/repo/list/0.1/payload.ts +909 -0
- package/src/git-ns/view/0.5/payload.ts +1095 -0
- package/src/index.ts +38 -0
- package/src/vtc/_shared/0.1/invite.ts +1 -1
- package/src/vtc/admin/invites/list/0.1/payload.ts +1 -1
- package/src/webvh/_shared/0.1/sync-update.ts +17 -0
- package/src/webvh/_shared/0.1/witness-key.ts +17 -0
- package/src/webvh/sync/batch/0.1/payload.ts +336 -0
- package/src/webvh/sync/delete/0.2/payload.ts +181 -0
- package/src/webvh/sync/update/0.2/payload.ts +233 -0
- package/src/webvh/witness/key/create/0.1/payload.ts +231 -0
- package/src/webvh/witness/key/delete/0.1/payload.ts +171 -0
- package/src/webvh/witness/key/list/0.1/payload.ts +232 -0
- package/src/webvh/witness/sign/0.1/payload.ts +279 -0
|
@@ -2777,6 +2777,43 @@ export interface GitNamespace {
|
|
|
2777
2777
|
*/
|
|
2778
2778
|
state: "pending" | "bound";
|
|
2779
2779
|
}
|
|
2780
|
+
/**
|
|
2781
|
+
* One histogram's distribution, in the Prometheus cumulative-bucket convention: each bucket's `count` includes every observation at or below its `le`.
|
|
2782
|
+
*/
|
|
2783
|
+
export interface Histogram {
|
|
2784
|
+
/**
|
|
2785
|
+
* The histogram's stable name (e.g. `did_hosting_resolve_seconds`).
|
|
2786
|
+
*/
|
|
2787
|
+
name: string;
|
|
2788
|
+
/**
|
|
2789
|
+
* Dimensions the distribution is broken down by. Absent or empty when the histogram carries none.
|
|
2790
|
+
*/
|
|
2791
|
+
labels?: {
|
|
2792
|
+
[k: string]: string | undefined;
|
|
2793
|
+
};
|
|
2794
|
+
/**
|
|
2795
|
+
* Total number of observations.
|
|
2796
|
+
*/
|
|
2797
|
+
count: number;
|
|
2798
|
+
/**
|
|
2799
|
+
* Sum of all observed values.
|
|
2800
|
+
*/
|
|
2801
|
+
sum: number;
|
|
2802
|
+
/**
|
|
2803
|
+
* Cumulative buckets, ordered by ascending `le`. Empty when the service exposes no bucket breakdown for this histogram — count and sum still apply. Always present, for the same reason as the snapshot's own arrays.
|
|
2804
|
+
*/
|
|
2805
|
+
buckets: HistogramBucket[];
|
|
2806
|
+
}
|
|
2807
|
+
export interface HistogramBucket {
|
|
2808
|
+
/**
|
|
2809
|
+
* Upper bound of this bucket, inclusive. The final bucket conventionally reports the same value as the histogram's own `count` at whatever `le` the service treats as its ceiling.
|
|
2810
|
+
*/
|
|
2811
|
+
le: number;
|
|
2812
|
+
/**
|
|
2813
|
+
* Number of observations at or below `le`.
|
|
2814
|
+
*/
|
|
2815
|
+
count: number;
|
|
2816
|
+
}
|
|
2780
2817
|
/**
|
|
2781
2818
|
* OpenPGP-style ASCII-armored HPKE bundle — the existing OpenVTC sealed-transfer wire form (X25519-HKDF-SHA256 KEM + ChaCha20-Poly1305 AEAD, framed in armor with Bundle-Id / Digest-Algo headers and a CRC24 checksum). Producer assertion (`did-signed` / `attested` / `pinned-only`) is the integrity / authenticity anchor.
|
|
2782
2819
|
*
|
|
@@ -2850,10 +2887,34 @@ export interface InvitationSummary {
|
|
|
2850
2887
|
*/
|
|
2851
2888
|
revokedAt?: string;
|
|
2852
2889
|
}
|
|
2890
|
+
export interface InviteSummary_AuthV0_1 {
|
|
2891
|
+
/**
|
|
2892
|
+
* Consumer-chosen opaque handle for the invite. It is NOT the invite token and MUST NOT be derivable into it; knowing it lets an administrator manage the invite, never redeem it.
|
|
2893
|
+
*/
|
|
2894
|
+
inviteId: string;
|
|
2895
|
+
/**
|
|
2896
|
+
* The VID the invite binds a passkey to.
|
|
2897
|
+
*/
|
|
2898
|
+
subject: string;
|
|
2899
|
+
/**
|
|
2900
|
+
* What the redeemed credential may authenticate, as in auth/passkey/enroll/invite.
|
|
2901
|
+
*/
|
|
2902
|
+
purpose: "session" | "stepUp";
|
|
2903
|
+
/**
|
|
2904
|
+
* The role the invitee receives on redemption. Absent when the consumer applies its default role, and always absent for purpose stepUp.
|
|
2905
|
+
*/
|
|
2906
|
+
role?: string;
|
|
2907
|
+
createdAt: string;
|
|
2908
|
+
expiresAt: string;
|
|
2909
|
+
/**
|
|
2910
|
+
* True when expiresAt has passed. An expired invite can no longer be redeemed; it is listed until the consumer's cleanup removes it.
|
|
2911
|
+
*/
|
|
2912
|
+
expired: boolean;
|
|
2913
|
+
}
|
|
2853
2914
|
/**
|
|
2854
2915
|
* One outstanding or historical admin invite. Consumed rows are retained as audit history and cannot be revoked.
|
|
2855
2916
|
*/
|
|
2856
|
-
export interface
|
|
2917
|
+
export interface InviteSummary_VtcV0_1 {
|
|
2857
2918
|
/**
|
|
2858
2919
|
* Unique invite identifier; the revoke target.
|
|
2859
2920
|
*/
|
|
@@ -3224,6 +3285,44 @@ export interface MessageMeta {
|
|
|
3224
3285
|
*/
|
|
3225
3286
|
deliveredAt?: string;
|
|
3226
3287
|
}
|
|
3288
|
+
/**
|
|
3289
|
+
* One counter or gauge reading.
|
|
3290
|
+
*/
|
|
3291
|
+
export interface Metric {
|
|
3292
|
+
/**
|
|
3293
|
+
* The metric's stable name (e.g. `did_hosting_requests_total`). Implementation-defined; the framework imposes no vocabulary.
|
|
3294
|
+
*/
|
|
3295
|
+
name: string;
|
|
3296
|
+
/**
|
|
3297
|
+
* The current reading.
|
|
3298
|
+
*/
|
|
3299
|
+
value: number;
|
|
3300
|
+
/**
|
|
3301
|
+
* Dimensions the value is broken down by (e.g. `{"method": "resolve"}`). Absent or empty when the metric carries none.
|
|
3302
|
+
*/
|
|
3303
|
+
labels?: {
|
|
3304
|
+
[k: string]: string | undefined;
|
|
3305
|
+
};
|
|
3306
|
+
}
|
|
3307
|
+
export interface MetricsSnapshot {
|
|
3308
|
+
/**
|
|
3309
|
+
* When the service read these values from its own instrumentation. Not the same as the envelope's issuedAt when a snapshot is cached briefly before answering.
|
|
3310
|
+
*/
|
|
3311
|
+
takenAt: string;
|
|
3312
|
+
/**
|
|
3313
|
+
* Monotonically increasing totals (e.g. requests served, errors raised). Empty when the service exposes none. Always present, so a collector can tell "no counters" from "the field was dropped".
|
|
3314
|
+
*/
|
|
3315
|
+
counters: Metric[];
|
|
3316
|
+
/**
|
|
3317
|
+
* Point-in-time values that can rise or fall (e.g. open connections, queue depth). Empty when the service exposes none. Always present, for the same reason as counters.
|
|
3318
|
+
*/
|
|
3319
|
+
gauges: Metric[];
|
|
3320
|
+
/**
|
|
3321
|
+
* Distributions of observed values (e.g. request latency). Empty when the service exposes none. Always present, for the same reason as counters.
|
|
3322
|
+
*/
|
|
3323
|
+
histograms: Histogram[];
|
|
3324
|
+
ext?: Ext;
|
|
3325
|
+
}
|
|
3227
3326
|
/**
|
|
3228
3327
|
* One observed step in the life of one message at the mediator. Carries metadata only — never a message body.
|
|
3229
3328
|
*/
|
|
@@ -4474,7 +4573,7 @@ export interface SealedRecord {
|
|
|
4474
4573
|
*/
|
|
4475
4574
|
epoch: number;
|
|
4476
4575
|
}
|
|
4477
|
-
export interface
|
|
4576
|
+
export interface ServiceInstance_DidManagementV0_1 {
|
|
4478
4577
|
/**
|
|
4479
4578
|
* Stable identifier the control plane uses for this instance. SHOULD be derived from the instance's DID (e.g. `did:web:host.example` → `did_web_host_example`) so it survives restarts.
|
|
4480
4579
|
*/
|
|
@@ -4492,6 +4591,62 @@ export interface ServiceInstance {
|
|
|
4492
4591
|
lastSeen?: string;
|
|
4493
4592
|
ext?: Ext;
|
|
4494
4593
|
}
|
|
4594
|
+
export interface ServiceInstance_DidManagementV0_2 {
|
|
4595
|
+
/**
|
|
4596
|
+
* Stable identifier the control plane uses for this instance. SHOULD be derived from the instance's DID so it survives restarts.
|
|
4597
|
+
*/
|
|
4598
|
+
instanceId: string;
|
|
4599
|
+
/**
|
|
4600
|
+
* The instance's own DID — the identity its signed documents are verified against and the one the control plane addresses.
|
|
4601
|
+
*/
|
|
4602
|
+
did: string;
|
|
4603
|
+
/**
|
|
4604
|
+
* `server` — a hosting server (edge) that resolves DIDs the control plane syncs to it. `witness` — a did:webvh witness. `watcher` — a did:webvh watcher that mirrors logs.
|
|
4605
|
+
*/
|
|
4606
|
+
serviceType: "server" | "witness" | "watcher";
|
|
4607
|
+
/**
|
|
4608
|
+
* Operator-chosen display label. Untrusted free text.
|
|
4609
|
+
*/
|
|
4610
|
+
label?: string;
|
|
4611
|
+
/**
|
|
4612
|
+
* The instance's public base URL, where it serves DID resolution. Absent when the instance registered without one.
|
|
4613
|
+
*/
|
|
4614
|
+
publicUrl?: string;
|
|
4615
|
+
/**
|
|
4616
|
+
* The control plane's current verdict, from the instance's last answered health probe. `degraded` — answered late; `unreachable` — has not answered within the control plane's configured window.
|
|
4617
|
+
*/
|
|
4618
|
+
status: "active" | "degraded" | "unreachable";
|
|
4619
|
+
/**
|
|
4620
|
+
* Hosting domains the instance has acknowledged serving. Always present — empty for an instance that serves none, which includes every `witness` and `watcher`.
|
|
4621
|
+
*/
|
|
4622
|
+
servedDomains: string[];
|
|
4623
|
+
/**
|
|
4624
|
+
* DID methods the instance can host (e.g. `webvh`, `web`, `webs`), as it declared at registration.
|
|
4625
|
+
*/
|
|
4626
|
+
enabledMethods?: string[];
|
|
4627
|
+
/**
|
|
4628
|
+
* `service[].type` values of the instance's DID document when the control plane last resolved it. Display only: nothing is routed on it. Absent when the document has not been resolved.
|
|
4629
|
+
*/
|
|
4630
|
+
advertisedServices?: string[];
|
|
4631
|
+
/**
|
|
4632
|
+
* When `advertisedServices` was last resolved. Absent with it.
|
|
4633
|
+
*/
|
|
4634
|
+
servicesCheckedAt?: string;
|
|
4635
|
+
/**
|
|
4636
|
+
* The last document the control plane received from this instance. Absent when it has received none.
|
|
4637
|
+
*/
|
|
4638
|
+
lastInbound?: TransportObservation;
|
|
4639
|
+
/**
|
|
4640
|
+
* The last document the control plane delivered to this instance. Absent when it has delivered none.
|
|
4641
|
+
*/
|
|
4642
|
+
lastOutbound?: TransportObservation;
|
|
4643
|
+
/**
|
|
4644
|
+
* When the instance last answered a health probe. Absent when it never has.
|
|
4645
|
+
*/
|
|
4646
|
+
lastHealthCheck?: string;
|
|
4647
|
+
registeredAt: string;
|
|
4648
|
+
ext?: Ext;
|
|
4649
|
+
}
|
|
4495
4650
|
/**
|
|
4496
4651
|
* The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.
|
|
4497
4652
|
*/
|
|
@@ -4729,6 +4884,33 @@ export interface Sync {
|
|
|
4729
4884
|
*/
|
|
4730
4885
|
drift: DriftItem[];
|
|
4731
4886
|
}
|
|
4887
|
+
export interface SyncUpdate {
|
|
4888
|
+
/**
|
|
4889
|
+
* The slot path on its hosting domain (e.g. `alice`, `people/alice`, or `.well-known` for a root DID).
|
|
4890
|
+
*/
|
|
4891
|
+
mnemonic: string;
|
|
4892
|
+
/**
|
|
4893
|
+
* The DID the log establishes. A replica MUST refuse a log that does not establish exactly this DID.
|
|
4894
|
+
*/
|
|
4895
|
+
didId: string;
|
|
4896
|
+
/**
|
|
4897
|
+
* The slot's complete did.jsonl — one log entry per line — not a delta.
|
|
4898
|
+
*/
|
|
4899
|
+
logContent: string;
|
|
4900
|
+
/**
|
|
4901
|
+
* The slot's did-witness.json. ABSENT means the slot holds no witness proofs: the replica MUST drop any witness proofs it holds for the slot. Absence never means "unchanged".
|
|
4902
|
+
*/
|
|
4903
|
+
witnessContent?: string;
|
|
4904
|
+
/**
|
|
4905
|
+
* Number of entries in `logContent`, as the source counts them. A replica MUST refuse an update whose `logContent` does not contain exactly this many entries.
|
|
4906
|
+
*/
|
|
4907
|
+
versionCount: number;
|
|
4908
|
+
/**
|
|
4909
|
+
* Whether the source has disabled the slot. A replica MUST stop serving a disabled slot and MUST resume only on an update carrying `false`.
|
|
4910
|
+
*/
|
|
4911
|
+
disabled: boolean;
|
|
4912
|
+
ext?: Ext;
|
|
4913
|
+
}
|
|
4732
4914
|
/**
|
|
4733
4915
|
* An access token (typically short-lived JWT) paired with an optional refresh token (typically long-lived opaque string). The shapes follow OAuth 2.0 (RFC 6749 §5.1) conventions but are not coupled to any particular OAuth profile.
|
|
4734
4916
|
*/
|
|
@@ -4775,6 +4957,13 @@ export interface TrafficOutcome {
|
|
|
4775
4957
|
*/
|
|
4776
4958
|
detail?: string;
|
|
4777
4959
|
}
|
|
4960
|
+
export interface TransportObservation {
|
|
4961
|
+
/**
|
|
4962
|
+
* The binding the document actually travelled on.
|
|
4963
|
+
*/
|
|
4964
|
+
transport: "tsp" | "didcomm" | "https";
|
|
4965
|
+
at: string;
|
|
4966
|
+
}
|
|
4778
4967
|
export interface TrustRecord {
|
|
4779
4968
|
entity_id: string;
|
|
4780
4969
|
authority_id: string;
|
|
@@ -5343,6 +5532,25 @@ export interface WebvhServerRecord {
|
|
|
5343
5532
|
updatedAt: string;
|
|
5344
5533
|
ext?: Ext;
|
|
5345
5534
|
}
|
|
5535
|
+
export interface WitnessKey {
|
|
5536
|
+
/**
|
|
5537
|
+
* The witness service's identifier for this identity. Opaque to the requester.
|
|
5538
|
+
*/
|
|
5539
|
+
witnessId: string;
|
|
5540
|
+
/**
|
|
5541
|
+
* The witness identity's DID (for example a `did:key`) — the value a did:webvh log names in its `witness` parameter, and the controller of the key that signs its proofs.
|
|
5542
|
+
*/
|
|
5543
|
+
did: string;
|
|
5544
|
+
/**
|
|
5545
|
+
* Operator-chosen display label. Untrusted free text. Absent when none was given.
|
|
5546
|
+
*/
|
|
5547
|
+
label?: string;
|
|
5548
|
+
createdAt: string;
|
|
5549
|
+
/**
|
|
5550
|
+
* How many witness proofs this identity has signed.
|
|
5551
|
+
*/
|
|
5552
|
+
proofsSigned: number;
|
|
5553
|
+
}
|
|
5346
5554
|
/**
|
|
5347
5555
|
* The outcome of one write within a `vta/app-state/put-many` batch. Per-record rather than per-batch, because the default batch mode applies each write on its own merits: a caller flushing ten unrelated edits needs to know which one conflicted, not merely that something did.
|
|
5348
5556
|
*/
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/auth/_shared/0.1/passkey-invite.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* What an administrator may read back about a passkey enrolment invite after issuing it. Deliberately omits the invite token, its URL and the claim code: an unredeemed token is a credential to bind a passkey to somebody else's VID, so it is disclosed once, at issuance, and never again.
|
|
8
|
+
*/
|
|
9
|
+
export interface AuthSharedPasskeyInviteSummary {
|
|
10
|
+
[k: string]: unknown | undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The definitions this shared schema publishes, hoisted to one declaration each.
|
|
15
|
+
* See "../../../_shared/components.js".
|
|
16
|
+
*/
|
|
17
|
+
export type { InviteSummary_AuthV0_1 as InviteSummary } from "../../../_shared/components.js";
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/auth/passkey/admin-list/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Ext } from "../../../../_shared/components.js";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An administrator lists one subject's passkeys of one purpose — for example a member's step-up passkeys — as non-secret metadata, so they can tell which to revoke. The owner's own listing is auth/passkey/list, which takes no subject; this task exists because a subject in that payload is refused by design.
|
|
11
|
+
*/
|
|
12
|
+
export interface AuthPasskeyAdminList {
|
|
13
|
+
/**
|
|
14
|
+
* The VID whose credentials are listed. A request, never a grant: the consumer authorises the producer over this subject from its own state.
|
|
15
|
+
*/
|
|
16
|
+
subject: string;
|
|
17
|
+
/**
|
|
18
|
+
* Which credentials to list: `session` (sign-in) or `stepUp` (the step-up-only passkeys of auth/passkey/enroll/invite 0.2). REQUIRED, with no default, so an administrator reads exactly the inventory they asked for and a consumer can refuse one it does not disclose to administrators.
|
|
19
|
+
*/
|
|
20
|
+
purpose: "session" | "stepUp";
|
|
21
|
+
/**
|
|
22
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1.
|
|
23
|
+
*/
|
|
24
|
+
ext?: Ext;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Carried in a Trust Task document whose type is https://trusttasks.org/spec/auth/passkey/admin-list/0.1#response.
|
|
28
|
+
*/
|
|
29
|
+
export interface AuthPasskeyAdminListResponsePayload {
|
|
30
|
+
/**
|
|
31
|
+
* Echo of payload.subject.
|
|
32
|
+
*/
|
|
33
|
+
subject: string;
|
|
34
|
+
/**
|
|
35
|
+
* Echo of payload.purpose.
|
|
36
|
+
*/
|
|
37
|
+
purpose: "session" | "stepUp";
|
|
38
|
+
/**
|
|
39
|
+
* Every credential of that purpose currently bound to the subject, newest registeredAt first. MAY be empty: a member holding none is not an error.
|
|
40
|
+
*/
|
|
41
|
+
credentials: ListedCredential[];
|
|
42
|
+
/**
|
|
43
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1.
|
|
44
|
+
*/
|
|
45
|
+
ext?: Ext;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The administrator's view of one credential: an identifier, a label, two instants and the signature counter. Never key material, never the credential public key, never attestation.
|
|
49
|
+
*/
|
|
50
|
+
export interface ListedCredential {
|
|
51
|
+
/**
|
|
52
|
+
* Durable identifier of the credential, as auth/passkey/revoke/start takes it. Opaque to the producer: echoed verbatim, never parsed.
|
|
53
|
+
*/
|
|
54
|
+
credentialId: string;
|
|
55
|
+
/**
|
|
56
|
+
* Label captured at enrolment. Untrusted free text; absent when none was given. Consumers MUST NOT synthesize one.
|
|
57
|
+
*/
|
|
58
|
+
deviceLabel?: string;
|
|
59
|
+
/**
|
|
60
|
+
* When the credential was bound to the subject.
|
|
61
|
+
*/
|
|
62
|
+
registeredAt: string;
|
|
63
|
+
/**
|
|
64
|
+
* When the credential last completed an assertion. Absent if it never has, or if the consumer does not track use.
|
|
65
|
+
*/
|
|
66
|
+
lastUsedAt?: string;
|
|
67
|
+
/**
|
|
68
|
+
* The WebAuthn signature counter the consumer last recorded for the credential. Absent when the consumer does not track it. Zero is a real value: many platform authenticators never increment the counter.
|
|
69
|
+
*/
|
|
70
|
+
signCount?: number;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
74
|
+
export type { Ext };
|
|
75
|
+
|
|
76
|
+
/** Trust Task type URI. */
|
|
77
|
+
export const TYPE_URI = "https://trusttasks.org/spec/auth/passkey/admin-list/0.1" as const;
|
|
78
|
+
|
|
79
|
+
/** Stable alias for this specification's request payload shape. */
|
|
80
|
+
export type Payload = AuthPasskeyAdminList;
|
|
81
|
+
|
|
82
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
83
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/auth/passkey/admin-list/0.1#response" as const;
|
|
84
|
+
|
|
85
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
86
|
+
export type Response = AuthPasskeyAdminListResponsePayload;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* This specification's payload schema, as a value.
|
|
90
|
+
*
|
|
91
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
92
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
93
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
94
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
95
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
96
|
+
*/
|
|
97
|
+
export const PAYLOAD_SCHEMA = {
|
|
98
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
99
|
+
"$id": "https://trusttasks.org/spec/auth/passkey/admin-list/0.1",
|
|
100
|
+
"title": "Auth — Passkey Admin List",
|
|
101
|
+
"description": "An administrator lists one subject's passkeys of one purpose — for example a member's step-up passkeys — as non-secret metadata, so they can tell which to revoke. The owner's own listing is auth/passkey/list, which takes no subject; this task exists because a subject in that payload is refused by design.",
|
|
102
|
+
"type": "object",
|
|
103
|
+
"additionalProperties": false,
|
|
104
|
+
"required": [
|
|
105
|
+
"subject",
|
|
106
|
+
"purpose"
|
|
107
|
+
],
|
|
108
|
+
"properties": {
|
|
109
|
+
"subject": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"minLength": 1,
|
|
112
|
+
"description": "The VID whose credentials are listed. A request, never a grant: the consumer authorises the producer over this subject from its own state."
|
|
113
|
+
},
|
|
114
|
+
"purpose": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"enum": [
|
|
117
|
+
"session",
|
|
118
|
+
"stepUp"
|
|
119
|
+
],
|
|
120
|
+
"description": "Which credentials to list: `session` (sign-in) or `stepUp` (the step-up-only passkeys of auth/passkey/enroll/invite 0.2). REQUIRED, with no default, so an administrator reads exactly the inventory they asked for and a consumer can refuse one it does not disclose to administrators."
|
|
121
|
+
},
|
|
122
|
+
"ext": {
|
|
123
|
+
"$ref": "#/$defs/Ext",
|
|
124
|
+
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"$defs": {
|
|
128
|
+
"ListedCredential": {
|
|
129
|
+
"$anchor": "listedCredential",
|
|
130
|
+
"title": "ListedCredential",
|
|
131
|
+
"description": "The administrator's view of one credential: an identifier, a label, two instants and the signature counter. Never key material, never the credential public key, never attestation.",
|
|
132
|
+
"type": "object",
|
|
133
|
+
"additionalProperties": false,
|
|
134
|
+
"required": [
|
|
135
|
+
"credentialId",
|
|
136
|
+
"registeredAt"
|
|
137
|
+
],
|
|
138
|
+
"properties": {
|
|
139
|
+
"credentialId": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"minLength": 1,
|
|
142
|
+
"description": "Durable identifier of the credential, as auth/passkey/revoke/start takes it. Opaque to the producer: echoed verbatim, never parsed."
|
|
143
|
+
},
|
|
144
|
+
"deviceLabel": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"maxLength": 256,
|
|
147
|
+
"description": "Label captured at enrolment. Untrusted free text; absent when none was given. Consumers MUST NOT synthesize one."
|
|
148
|
+
},
|
|
149
|
+
"registeredAt": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"format": "date-time",
|
|
152
|
+
"description": "When the credential was bound to the subject."
|
|
153
|
+
},
|
|
154
|
+
"lastUsedAt": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"format": "date-time",
|
|
157
|
+
"description": "When the credential last completed an assertion. Absent if it never has, or if the consumer does not track use."
|
|
158
|
+
},
|
|
159
|
+
"signCount": {
|
|
160
|
+
"type": "integer",
|
|
161
|
+
"minimum": 0,
|
|
162
|
+
"description": "The WebAuthn signature counter the consumer last recorded for the credential. Absent when the consumer does not track it. Zero is a real value: many platform authenticators never increment the counter."
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"Response": {
|
|
167
|
+
"$anchor": "response",
|
|
168
|
+
"title": "Auth Passkey Admin List — response payload",
|
|
169
|
+
"description": "Carried in a Trust Task document whose type is https://trusttasks.org/spec/auth/passkey/admin-list/0.1#response.",
|
|
170
|
+
"type": "object",
|
|
171
|
+
"additionalProperties": false,
|
|
172
|
+
"required": [
|
|
173
|
+
"subject",
|
|
174
|
+
"purpose",
|
|
175
|
+
"credentials"
|
|
176
|
+
],
|
|
177
|
+
"properties": {
|
|
178
|
+
"subject": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"minLength": 1,
|
|
181
|
+
"description": "Echo of payload.subject."
|
|
182
|
+
},
|
|
183
|
+
"purpose": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"enum": [
|
|
186
|
+
"session",
|
|
187
|
+
"stepUp"
|
|
188
|
+
],
|
|
189
|
+
"description": "Echo of payload.purpose."
|
|
190
|
+
},
|
|
191
|
+
"credentials": {
|
|
192
|
+
"type": "array",
|
|
193
|
+
"items": {
|
|
194
|
+
"$ref": "#/$defs/ListedCredential"
|
|
195
|
+
},
|
|
196
|
+
"description": "Every credential of that purpose currently bound to the subject, newest registeredAt first. MAY be empty: a member holding none is not an error."
|
|
197
|
+
},
|
|
198
|
+
"ext": {
|
|
199
|
+
"$ref": "#/$defs/Ext",
|
|
200
|
+
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"Ext": {
|
|
205
|
+
"title": "Ext",
|
|
206
|
+
"description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
|
|
207
|
+
"type": "object",
|
|
208
|
+
"minProperties": 1,
|
|
209
|
+
"additionalProperties": true,
|
|
210
|
+
"propertyNames": {
|
|
211
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
} as const;
|
|
216
|
+
|
|
217
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
218
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
219
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
220
|
+
"$ref": "#/$defs/Response",
|
|
221
|
+
"$defs": {
|
|
222
|
+
"ListedCredential": {
|
|
223
|
+
"$anchor": "listedCredential",
|
|
224
|
+
"title": "ListedCredential",
|
|
225
|
+
"description": "The administrator's view of one credential: an identifier, a label, two instants and the signature counter. Never key material, never the credential public key, never attestation.",
|
|
226
|
+
"type": "object",
|
|
227
|
+
"additionalProperties": false,
|
|
228
|
+
"required": [
|
|
229
|
+
"credentialId",
|
|
230
|
+
"registeredAt"
|
|
231
|
+
],
|
|
232
|
+
"properties": {
|
|
233
|
+
"credentialId": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"minLength": 1,
|
|
236
|
+
"description": "Durable identifier of the credential, as auth/passkey/revoke/start takes it. Opaque to the producer: echoed verbatim, never parsed."
|
|
237
|
+
},
|
|
238
|
+
"deviceLabel": {
|
|
239
|
+
"type": "string",
|
|
240
|
+
"maxLength": 256,
|
|
241
|
+
"description": "Label captured at enrolment. Untrusted free text; absent when none was given. Consumers MUST NOT synthesize one."
|
|
242
|
+
},
|
|
243
|
+
"registeredAt": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"format": "date-time",
|
|
246
|
+
"description": "When the credential was bound to the subject."
|
|
247
|
+
},
|
|
248
|
+
"lastUsedAt": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"format": "date-time",
|
|
251
|
+
"description": "When the credential last completed an assertion. Absent if it never has, or if the consumer does not track use."
|
|
252
|
+
},
|
|
253
|
+
"signCount": {
|
|
254
|
+
"type": "integer",
|
|
255
|
+
"minimum": 0,
|
|
256
|
+
"description": "The WebAuthn signature counter the consumer last recorded for the credential. Absent when the consumer does not track it. Zero is a real value: many platform authenticators never increment the counter."
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"Response": {
|
|
261
|
+
"$anchor": "response",
|
|
262
|
+
"title": "Auth Passkey Admin List — response payload",
|
|
263
|
+
"description": "Carried in a Trust Task document whose type is https://trusttasks.org/spec/auth/passkey/admin-list/0.1#response.",
|
|
264
|
+
"type": "object",
|
|
265
|
+
"additionalProperties": false,
|
|
266
|
+
"required": [
|
|
267
|
+
"subject",
|
|
268
|
+
"purpose",
|
|
269
|
+
"credentials"
|
|
270
|
+
],
|
|
271
|
+
"properties": {
|
|
272
|
+
"subject": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"minLength": 1,
|
|
275
|
+
"description": "Echo of payload.subject."
|
|
276
|
+
},
|
|
277
|
+
"purpose": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"enum": [
|
|
280
|
+
"session",
|
|
281
|
+
"stepUp"
|
|
282
|
+
],
|
|
283
|
+
"description": "Echo of payload.purpose."
|
|
284
|
+
},
|
|
285
|
+
"credentials": {
|
|
286
|
+
"type": "array",
|
|
287
|
+
"items": {
|
|
288
|
+
"$ref": "#/$defs/ListedCredential"
|
|
289
|
+
},
|
|
290
|
+
"description": "Every credential of that purpose currently bound to the subject, newest registeredAt first. MAY be empty: a member holding none is not an error."
|
|
291
|
+
},
|
|
292
|
+
"ext": {
|
|
293
|
+
"$ref": "#/$defs/Ext",
|
|
294
|
+
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
"Ext": {
|
|
299
|
+
"title": "Ext",
|
|
300
|
+
"description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
|
|
301
|
+
"type": "object",
|
|
302
|
+
"minProperties": 1,
|
|
303
|
+
"additionalProperties": true,
|
|
304
|
+
"propertyNames": {
|
|
305
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
} as const;
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
313
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
314
|
+
* per-specification and cannot be derived from the document alone, and
|
|
315
|
+
* item 2 needs the schema this carries.
|
|
316
|
+
*/
|
|
317
|
+
export const SPEC = {
|
|
318
|
+
typeUri: TYPE_URI,
|
|
319
|
+
isBearer: false,
|
|
320
|
+
isProofRequired: true,
|
|
321
|
+
isRecipientRequired: true,
|
|
322
|
+
isIssuedAtRequired: false,
|
|
323
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
324
|
+
} as const;
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
328
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
329
|
+
* parties (§7.3 item 5).
|
|
330
|
+
*/
|
|
331
|
+
export const RESPONSE_SPEC = {
|
|
332
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
333
|
+
isBearer: false,
|
|
334
|
+
isProofRequired: true,
|
|
335
|
+
isRecipientRequired: true,
|
|
336
|
+
isIssuedAtRequired: false,
|
|
337
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
338
|
+
} as const;
|