@openvtc/trust-tasks 0.28.18 → 0.28.19
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 +32 -0
- package/dist/_shared/components.d.ts +228 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -1
- package/dist/vtc/badges/_shared/0.1/badge.d.ts +22 -0
- package/dist/vtc/badges/_shared/0.1/badge.d.ts.map +1 -0
- package/dist/vtc/badges/_shared/0.1/badge.js +6 -0
- package/dist/vtc/badges/_shared/0.1/badge.js.map +1 -0
- package/dist/vtc/badges/awards/list/0.1/payload.d.ts +1228 -0
- package/dist/vtc/badges/awards/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/awards/list/0.1/payload.js +699 -0
- package/dist/vtc/badges/awards/list/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/awards/offer/0.1/payload.d.ts +793 -0
- package/dist/vtc/badges/awards/offer/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/awards/offer/0.1/payload.js +461 -0
- package/dist/vtc/badges/awards/offer/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/awards/revoke/0.1/payload.d.ts +605 -0
- package/dist/vtc/badges/awards/revoke/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/awards/revoke/0.1/payload.js +351 -0
- package/dist/vtc/badges/awards/revoke/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/awards/withdraw/0.1/payload.d.ts +605 -0
- package/dist/vtc/badges/awards/withdraw/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/awards/withdraw/0.1/payload.js +351 -0
- package/dist/vtc/badges/awards/withdraw/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/create/0.1/payload.d.ts +1829 -0
- package/dist/vtc/badges/create/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/create/0.1/payload.js +1051 -0
- package/dist/vtc/badges/create/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/holders/list/0.1/payload.d.ts +984 -0
- package/dist/vtc/badges/holders/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/holders/list/0.1/payload.js +555 -0
- package/dist/vtc/badges/holders/list/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/images/get/0.1/payload.d.ts +454 -0
- package/dist/vtc/badges/images/get/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/images/get/0.1/payload.js +266 -0
- package/dist/vtc/badges/images/get/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/images/upload/0.1/payload.d.ts +455 -0
- package/dist/vtc/badges/images/upload/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/images/upload/0.1/payload.js +276 -0
- package/dist/vtc/badges/images/upload/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/kudos/give/0.1/payload.d.ts +613 -0
- package/dist/vtc/badges/kudos/give/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/kudos/give/0.1/payload.js +353 -0
- package/dist/vtc/badges/kudos/give/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/kudos/list/0.1/payload.d.ts +1766 -0
- package/dist/vtc/badges/kudos/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/kudos/list/0.1/payload.js +995 -0
- package/dist/vtc/badges/kudos/list/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/list/0.1/payload.d.ts +1096 -0
- package/dist/vtc/badges/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/list/0.1/payload.js +617 -0
- package/dist/vtc/badges/list/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/mine/accept/0.1/payload.d.ts +1376 -0
- package/dist/vtc/badges/mine/accept/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/mine/accept/0.1/payload.js +799 -0
- package/dist/vtc/badges/mine/accept/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/mine/arrange/0.1/payload.d.ts +1217 -0
- package/dist/vtc/badges/mine/arrange/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/mine/arrange/0.1/payload.js +698 -0
- package/dist/vtc/badges/mine/arrange/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/mine/decline/0.1/payload.d.ts +589 -0
- package/dist/vtc/badges/mine/decline/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/mine/decline/0.1/payload.js +344 -0
- package/dist/vtc/badges/mine/decline/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/mine/hide/0.1/payload.d.ts +1093 -0
- package/dist/vtc/badges/mine/hide/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/mine/hide/0.1/payload.js +630 -0
- package/dist/vtc/badges/mine/hide/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/mine/list/0.1/payload.d.ts +1897 -0
- package/dist/vtc/badges/mine/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/mine/list/0.1/payload.js +1087 -0
- package/dist/vtc/badges/mine/list/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/mine/show/0.1/payload.d.ts +1093 -0
- package/dist/vtc/badges/mine/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/mine/show/0.1/payload.js +630 -0
- package/dist/vtc/badges/mine/show/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/promote/0.1/payload.d.ts +1757 -0
- package/dist/vtc/badges/promote/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/promote/0.1/payload.js +1018 -0
- package/dist/vtc/badges/promote/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/retire/0.1/payload.d.ts +904 -0
- package/dist/vtc/badges/retire/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/retire/0.1/payload.js +524 -0
- package/dist/vtc/badges/retire/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/settings/show/0.1/payload.d.ts +731 -0
- package/dist/vtc/badges/settings/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/settings/show/0.1/payload.js +421 -0
- package/dist/vtc/badges/settings/show/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/settings/update/0.1/payload.d.ts +775 -0
- package/dist/vtc/badges/settings/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/settings/update/0.1/payload.js +444 -0
- package/dist/vtc/badges/settings/update/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/show/0.1/payload.d.ts +1056 -0
- package/dist/vtc/badges/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/show/0.1/payload.js +613 -0
- package/dist/vtc/badges/show/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/update/0.1/payload.d.ts +1033 -0
- package/dist/vtc/badges/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/update/0.1/payload.js +588 -0
- package/dist/vtc/badges/update/0.1/payload.js.map +1 -0
- package/dist/vtc/badges/wall/show/0.1/payload.d.ts +1099 -0
- package/dist/vtc/badges/wall/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/badges/wall/show/0.1/payload.js +634 -0
- package/dist/vtc/badges/wall/show/0.1/payload.js.map +1 -0
- package/dist/vtc/groups/create/0.1/payload.d.ts +42 -2
- package/dist/vtc/groups/create/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/groups/create/0.1/payload.js +20 -0
- package/dist/vtc/groups/create/0.1/payload.js.map +1 -1
- package/dist/vtc/groups/list/0.1/payload.d.ts +42 -2
- package/dist/vtc/groups/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/groups/list/0.1/payload.js +20 -0
- package/dist/vtc/groups/list/0.1/payload.js.map +1 -1
- package/dist/vtc/groups/list/0.2/payload.d.ts +42 -2
- package/dist/vtc/groups/list/0.2/payload.d.ts.map +1 -1
- package/dist/vtc/groups/list/0.2/payload.js +20 -0
- package/dist/vtc/groups/list/0.2/payload.js.map +1 -1
- package/dist/vtc/groups/show/0.1/payload.d.ts +42 -2
- package/dist/vtc/groups/show/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/groups/show/0.1/payload.js +20 -0
- package/dist/vtc/groups/show/0.1/payload.js.map +1 -1
- package/dist/vtc/groups/update/0.1/payload.d.ts +42 -2
- package/dist/vtc/groups/update/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/groups/update/0.1/payload.js +20 -0
- package/dist/vtc/groups/update/0.1/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +228 -0
- package/src/index.ts +75 -0
- package/src/vtc/badges/_shared/0.1/badge.ts +23 -0
- package/src/vtc/badges/awards/list/0.1/payload.ts +768 -0
- package/src/vtc/badges/awards/offer/0.1/payload.ts +530 -0
- package/src/vtc/badges/awards/revoke/0.1/payload.ts +395 -0
- package/src/vtc/badges/awards/withdraw/0.1/payload.ts +395 -0
- package/src/vtc/badges/create/0.1/payload.ts +1137 -0
- package/src/vtc/badges/holders/list/0.1/payload.ts +628 -0
- package/src/vtc/badges/images/get/0.1/payload.ts +311 -0
- package/src/vtc/badges/images/upload/0.1/payload.ts +324 -0
- package/src/vtc/badges/kudos/give/0.1/payload.ts +401 -0
- package/src/vtc/badges/kudos/list/0.1/payload.ts +1080 -0
- package/src/vtc/badges/list/0.1/payload.ts +695 -0
- package/src/vtc/badges/mine/accept/0.1/payload.ts +840 -0
- package/src/vtc/badges/mine/arrange/0.1/payload.ts +768 -0
- package/src/vtc/badges/mine/decline/0.1/payload.ts +384 -0
- package/src/vtc/badges/mine/hide/0.1/payload.ts +670 -0
- package/src/vtc/badges/mine/list/0.1/payload.ts +1153 -0
- package/src/vtc/badges/mine/show/0.1/payload.ts +670 -0
- package/src/vtc/badges/promote/0.1/payload.ts +1088 -0
- package/src/vtc/badges/retire/0.1/payload.ts +565 -0
- package/src/vtc/badges/settings/show/0.1/payload.ts +457 -0
- package/src/vtc/badges/settings/update/0.1/payload.ts +490 -0
- package/src/vtc/badges/show/0.1/payload.ts +675 -0
- package/src/vtc/badges/update/0.1/payload.ts +656 -0
- package/src/vtc/badges/wall/show/0.1/payload.ts +684 -0
- package/src/vtc/groups/create/0.1/payload.ts +22 -2
- package/src/vtc/groups/list/0.1/payload.ts +22 -2
- package/src/vtc/groups/list/0.2/payload.ts +22 -2
- package/src/vtc/groups/show/0.1/payload.ts +22 -2
- package/src/vtc/groups/update/0.1/payload.ts +22 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,38 @@ 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.19 — 2026-11-06
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **vtc/badges**: Member badges — community badges backed by groups, awards accepted by the member, kudos, Open Badges credentials (vtc/badges/*/0.1) (#1052)
|
|
20
|
+
|
|
21
|
+
* feat(vtc/badges): member badges — community badges backed by groups, awards accepted by the member, kudos, Open Badges credentials (vtc/badges/*/0.1)
|
|
22
|
+
|
|
23
|
+
A new family for the VTI Community Badges chapter (VTI-BDG-001 – 095): pictures
|
|
24
|
+
with a name a member earns, holds and shows on their directory card.
|
|
25
|
+
|
|
26
|
+
- A community badge is backed by a community group: `create` creates the group
|
|
27
|
+
as vtc/groups/create does, its managers are the badge's owners, its members
|
|
28
|
+
the holders; requests reuse vtc/groups/join and requests/decide, owners reuse
|
|
29
|
+
managers/add and remove. The shared Group record gains an optional `badgeId`
|
|
30
|
+
(additive).
|
|
31
|
+
- An award is an offer until its recipient accepts (awards/offer → mine/accept
|
|
32
|
+
or mine/decline); mine/accept issues the badge credential as the group's DID
|
|
33
|
+
first and records the membership after. mine/accept states the credential
|
|
34
|
+
profile: an Open Badges 3.0 OpenBadgeCredential with the community as the
|
|
35
|
+
Achievement's creator and endorser, one evidence entry per award; short-lived
|
|
36
|
+
with no status inside the community, long-lived with a slot in the community's
|
|
37
|
+
own status set where holders may show it outside.
|
|
38
|
+
- Hidden is portal-only (mine/hide, mine/show): walls, holders/list and counts
|
|
39
|
+
leave a hidden holder out; awards/list shows owners the hidden mark.
|
|
40
|
+
- Kudos badges (kudos/give, kudos/list): given by any member to any other within
|
|
41
|
+
per-giver limits, each giving an award of its own; promote turns one into a
|
|
42
|
+
community badge.
|
|
43
|
+
- settings/show and settings/update hold the community's switches and limits.
|
|
44
|
+
- images/upload and images/get mirror the directory's picture pipeline.
|
|
45
|
+
|
|
14
46
|
## 0.28.18 — 2026-11-05
|
|
15
47
|
|
|
16
48
|
|
|
@@ -385,12 +385,48 @@ export type AuthModel = "aws-roles-anywhere" | "gcp-wif-pinned" | "azure-cert" |
|
|
|
385
385
|
* An explicit authority scope — used for both the act scope and the approve scope of an entry. Exactly one of three shapes, discriminated by `scope`: `all`, `none`, or `contexts` with a NON-EMPTY list. The empty list is not a fourth shape: it is invalid, so a serializer that drops or empties the list produces a document that fails validation rather than one that silently means something else.
|
|
386
386
|
*/
|
|
387
387
|
export type AuthorityScope = AuthorityScopeAll | AuthorityScopeNone | AuthorityScopeContexts;
|
|
388
|
+
/**
|
|
389
|
+
* Opaque identifier of one giving of a badge to one member: `awd_` followed by 16 to 64 base64url characters. Random and unique within the community.
|
|
390
|
+
*/
|
|
391
|
+
export type AwardId = string;
|
|
392
|
+
/**
|
|
393
|
+
* What the award is for, from the giver, shown to the recipient and written as the award's evidence narrative where the badge carries a credential. Plain text; erased with its author (VTI-BDG-090).
|
|
394
|
+
*/
|
|
395
|
+
export type AwardNote = string;
|
|
396
|
+
/**
|
|
397
|
+
* `offered`: waiting for the recipient. `accepted`: the recipient took it; for a community badge the credential was issued and the membership recorded. `declined`: the recipient declined; nothing was recorded in the group and nothing issued. `withdrawn`: the giver withdrew the offer before a decision. `expired`: the offer lapsed unanswered. `revoked`: taken back after acceptance (VTI-BDG-023).
|
|
398
|
+
*/
|
|
399
|
+
export type AwardState = "offered" | "accepted" | "declined" | "withdrawn" | "expired" | "revoked";
|
|
388
400
|
export type AwsArn = string;
|
|
389
401
|
export type AwsRegion = string;
|
|
390
402
|
/**
|
|
391
403
|
* The ARN of an AWS IAM role, in any AWS partition (`arn:aws:`, `arn:aws-cn:`, `arn:aws-us-gov:`). Validated here because the community passes it to STS AssumeRole and derives the partition of the session policy's resources from it; it must never carry anything but a role ARN.
|
|
392
404
|
*/
|
|
393
405
|
export type AwsRoleArn = string;
|
|
406
|
+
/**
|
|
407
|
+
* How the badge is earned, shown to members and written into the credential's Achievement as its criteria narrative. Plain text.
|
|
408
|
+
*/
|
|
409
|
+
export type BadgeCriteria = string;
|
|
410
|
+
/**
|
|
411
|
+
* What the badge is for. Plain text; a reader MUST NOT treat it as instructions.
|
|
412
|
+
*/
|
|
413
|
+
export type BadgeDescription = string;
|
|
414
|
+
/**
|
|
415
|
+
* Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).
|
|
416
|
+
*/
|
|
417
|
+
export type BadgeId = string;
|
|
418
|
+
/**
|
|
419
|
+
* `community`: defined by holders of `vtc.badges.admin`, given by its owners (its badge group's managers), may carry a credential. `kudos`: made by a member the community's badge settings admit, given by any active member to any other, never a credential. Fixed for the badge's life; a kudos badge becomes a community badge only by promotion (vtc/badges/promote).
|
|
420
|
+
*/
|
|
421
|
+
export type BadgeKind = "community" | "kudos";
|
|
422
|
+
/**
|
|
423
|
+
* The badge's name, shown on the wall and written into the credential's Achievement. Plain text; a reader MUST NOT treat it as instructions.
|
|
424
|
+
*/
|
|
425
|
+
export type BadgeName = string;
|
|
426
|
+
/**
|
|
427
|
+
* `active`: may be given and shown. `retired`: kept for its holders' own history, never given, never shown to members who do not hold it (VTI-BDG-005).
|
|
428
|
+
*/
|
|
429
|
+
export type BadgeState = "active" | "retired";
|
|
394
430
|
export type BindingId = string;
|
|
395
431
|
export type BindingSpec = RoomBindingSpec | GrantsBindingSpec | RoleBindingSpec;
|
|
396
432
|
/**
|
|
@@ -2201,6 +2237,10 @@ export type Vid = string;
|
|
|
2201
2237
|
* How much of a room its host can see, fixed at creation and immutable thereafter. `open`: records are cleartext, searchable and fully audited. `attributed`: record content is sealed, and the host still learns which member acted. `private`: content is sealed and membership is presented in zero knowledge, so the host verifies that a member acted without learning which. Immutable because a downgrade cannot un-see cleartext and an upgrade would protect only what came after while presenting as though it protected everything.
|
|
2202
2238
|
*/
|
|
2203
2239
|
export type Visibility = "open" | "attributed" | "private";
|
|
2240
|
+
/**
|
|
2241
|
+
* Who sees a member's badges, the member's own setting (VTI-BDG-031). `members`: every active member the directory shows their card to. `nobody`: no one but the member. Never wider than the directory shows the card.
|
|
2242
|
+
*/
|
|
2243
|
+
export type WallVisibility = "members" | "nobody";
|
|
2204
2244
|
/**
|
|
2205
2245
|
* A file's content hash: the lowercase hex SHA-256 of its bytes — the `etag` vtc/website/files/list reports, and the `ETag` a direct read of the path returns, without the HTTP quotes.
|
|
2206
2246
|
*/
|
|
@@ -5521,6 +5561,31 @@ export interface AutoGrantSweep {
|
|
|
5521
5561
|
*/
|
|
5522
5562
|
errors: number;
|
|
5523
5563
|
}
|
|
5564
|
+
/**
|
|
5565
|
+
* One giving of a badge to one member. `givenBy` is the giver's directory entry, absent for an award a dynamic badge group's rule made. `note` is shown to the recipient, the giver, the badge's owners and administrators, never to other members. `credentialId` is present on an accepted award of a community badge: the badge credential that evidences it, renewed or re-issued as the badge's regime requires.
|
|
5566
|
+
*/
|
|
5567
|
+
export interface Award {
|
|
5568
|
+
awardId: AwardId;
|
|
5569
|
+
badgeId: BadgeId;
|
|
5570
|
+
/**
|
|
5571
|
+
* The recipient.
|
|
5572
|
+
*/
|
|
5573
|
+
entryId: EntryId;
|
|
5574
|
+
givenBy?: EntryId;
|
|
5575
|
+
note?: AwardNote;
|
|
5576
|
+
state: AwardState;
|
|
5577
|
+
offeredAt: string;
|
|
5578
|
+
/**
|
|
5579
|
+
* When the recipient accepted or declined, the giver withdrew, the offer expired, or the award was revoked.
|
|
5580
|
+
*/
|
|
5581
|
+
decidedAt?: string;
|
|
5582
|
+
/**
|
|
5583
|
+
* When an unanswered offer lapses, where the community expires offers.
|
|
5584
|
+
*/
|
|
5585
|
+
expiresAt?: string;
|
|
5586
|
+
credentialId?: GroupCredentialId;
|
|
5587
|
+
ext?: Ext;
|
|
5588
|
+
}
|
|
5524
5589
|
/**
|
|
5525
5590
|
* Unencrypted metadata plus the encrypted payload. The KDF and cipher parameters travel in the clear so a reader can decrypt without knowing this specification's defaults.
|
|
5526
5591
|
*/
|
|
@@ -5556,6 +5621,108 @@ export interface BackupEnvelope {
|
|
|
5556
5621
|
*/
|
|
5557
5622
|
ciphertext: string;
|
|
5558
5623
|
}
|
|
5624
|
+
/**
|
|
5625
|
+
* A badge as a caller who may see it sees it. `groupId` is present exactly when `kind` is `community`. `holderCount` only to callers who may see the badge's holders, counted over holders who have not hidden it (VTI-BDG-030, VTI-BDG-033). `createdBy` is the directory entry of the administrator or member who made it, where they have one.
|
|
5626
|
+
*/
|
|
5627
|
+
export interface Badge {
|
|
5628
|
+
badgeId: BadgeId;
|
|
5629
|
+
kind: BadgeKind;
|
|
5630
|
+
name: BadgeName;
|
|
5631
|
+
description: BadgeDescription;
|
|
5632
|
+
criteria?: BadgeCriteria;
|
|
5633
|
+
/**
|
|
5634
|
+
* The badge's picture, re-encoded and stored by the community (vtc/badges/images/upload), read with vtc/badges/images/get. `url` and `urlExpiresAt` MAY appear in a projection as for a card picture; for a badge whose holders may show it outside, `url` MAY be the picture's stable public location.
|
|
5635
|
+
*/
|
|
5636
|
+
image: CardBlobRef;
|
|
5637
|
+
/**
|
|
5638
|
+
* Whether one member may hold the badge more than once, each giving an award of its own (VTI-BDG-022). Always true for a kudos badge.
|
|
5639
|
+
*/
|
|
5640
|
+
repeatable: boolean;
|
|
5641
|
+
/**
|
|
5642
|
+
* Community badges only. Whether a member may ask for it: a request to join its badge group, decided by its owners (VTI-BDG-014). Absent reads as false.
|
|
5643
|
+
*/
|
|
5644
|
+
requestable?: boolean;
|
|
5645
|
+
/**
|
|
5646
|
+
* Whether members who do not hold the badge see it in the community's badge list. An unlisted badge is seen by its holders, its owners and administrators.
|
|
5647
|
+
*/
|
|
5648
|
+
listed: boolean;
|
|
5649
|
+
/**
|
|
5650
|
+
* Community badges only. Whether its holders may show it outside the community, which decides the credential's regime: short-lived and renewed with no status when false, long-lived with a status in the community's own status set when true (VTI-BDG-061, VTI-BDG-062). Absent reads as false.
|
|
5651
|
+
*/
|
|
5652
|
+
shareableOutside?: boolean;
|
|
5653
|
+
/**
|
|
5654
|
+
* The badge group that backs a community badge: its managers are the badge's owners, its members the holders, its DID the credential's issuer.
|
|
5655
|
+
*/
|
|
5656
|
+
groupId?: GroupId;
|
|
5657
|
+
state: BadgeState;
|
|
5658
|
+
/**
|
|
5659
|
+
* Holders who show the badge. Only to callers who may see the holders.
|
|
5660
|
+
*/
|
|
5661
|
+
holderCount?: number;
|
|
5662
|
+
createdAt: string;
|
|
5663
|
+
createdBy?: EntryId;
|
|
5664
|
+
updatedAt?: string;
|
|
5665
|
+
retiredAt?: string;
|
|
5666
|
+
/**
|
|
5667
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1. An extension member MUST NOT carry authority.
|
|
5668
|
+
*/
|
|
5669
|
+
ext?: Ext;
|
|
5670
|
+
}
|
|
5671
|
+
/**
|
|
5672
|
+
* The community's bounds (VTI-BDG-032, VTI-BDG-040). Each has a default a community that states none applies.
|
|
5673
|
+
*/
|
|
5674
|
+
export interface BadgeLimits {
|
|
5675
|
+
/**
|
|
5676
|
+
* Kudos one member may give in a day. Default 10.
|
|
5677
|
+
*/
|
|
5678
|
+
kudosPerGiverPerDay?: number;
|
|
5679
|
+
/**
|
|
5680
|
+
* How often the same member may give a kudos badge to the same member: at most once a day, once a week, or without bound. Default `day`.
|
|
5681
|
+
*/
|
|
5682
|
+
sameGiverSameMember?: "day" | "week" | "unbounded";
|
|
5683
|
+
/**
|
|
5684
|
+
* Days of membership before a member may give kudos or make a kudos badge. Default 7.
|
|
5685
|
+
*/
|
|
5686
|
+
minTenureDays?: number;
|
|
5687
|
+
/**
|
|
5688
|
+
* Kudos badges one member may make in a calendar month. Default 5.
|
|
5689
|
+
*/
|
|
5690
|
+
kudosBadgesPerMakerPerMonth?: number;
|
|
5691
|
+
/**
|
|
5692
|
+
* Badges a member may pin beside their name. Default 2.
|
|
5693
|
+
*/
|
|
5694
|
+
maxPinned?: number;
|
|
5695
|
+
/**
|
|
5696
|
+
* Days an unanswered offer stands before it expires. Absent: offers do not expire.
|
|
5697
|
+
*/
|
|
5698
|
+
offerExpiresAfterDays?: number;
|
|
5699
|
+
}
|
|
5700
|
+
/**
|
|
5701
|
+
* The community's badge settings (VTI-BDG-004). `enabled` false hides every badge surface and keeps every record; nothing is given or issued while it is false.
|
|
5702
|
+
*/
|
|
5703
|
+
export interface BadgeSettings {
|
|
5704
|
+
enabled: boolean;
|
|
5705
|
+
kudosMakers: KudosMakers;
|
|
5706
|
+
limits?: BadgeLimits;
|
|
5707
|
+
/**
|
|
5708
|
+
* Whether a member's kudos total is shown on their card (VTI-BDG-043).
|
|
5709
|
+
*/
|
|
5710
|
+
showKudosTotals: boolean;
|
|
5711
|
+
/**
|
|
5712
|
+
* Whether dynamic badge groups are computed (VTI-BDG-013). False: a community badge may not be created on a dynamic group, and existing ones are not recomputed.
|
|
5713
|
+
*/
|
|
5714
|
+
automaticBadges: boolean;
|
|
5715
|
+
/**
|
|
5716
|
+
* Whether any community badge may be marked `requestable`. False: every badge group is closed.
|
|
5717
|
+
*/
|
|
5718
|
+
membersMayRequest: boolean;
|
|
5719
|
+
/**
|
|
5720
|
+
* Validity of a badge credential its holders may show outside (VTI-BDG-062). Default 730.
|
|
5721
|
+
*/
|
|
5722
|
+
credentialValidDays?: number;
|
|
5723
|
+
updatedAt?: string;
|
|
5724
|
+
ext?: Ext;
|
|
5725
|
+
}
|
|
5559
5726
|
/**
|
|
5560
5727
|
* An open ballot: one answer per question of the manifest, in any order. The bytes a cast's proof binds are the RFC 8785 (JCS) canonicalization of this object as received.
|
|
5561
5728
|
*/
|
|
@@ -9312,6 +9479,10 @@ export interface Group {
|
|
|
9312
9479
|
* `true` while the group has a `grants` or `role` binding. Such a group is `static` and `closed` for as long as it does.
|
|
9313
9480
|
*/
|
|
9314
9481
|
carriesAuthority: boolean;
|
|
9482
|
+
/**
|
|
9483
|
+
* Present exactly when the group backs a community badge (vtc/badges/*): its managers are the badge's owners, its members the badge's holders, and its DID issues the badge credential in place of a membership credential. A badge group never carries authority, is not counted among the groups two members share, and is listed among the community's groups only to a caller who asks for badge groups (VTI-BDG-010 – VTI-BDG-012).
|
|
9484
|
+
*/
|
|
9485
|
+
badgeId?: BadgeId;
|
|
9315
9486
|
/**
|
|
9316
9487
|
* Active members. Only to callers who may see the member list.
|
|
9317
9488
|
*/
|
|
@@ -10319,6 +10490,24 @@ export interface KeyScopeListed {
|
|
|
10319
10490
|
export interface KeyScopeNone {
|
|
10320
10491
|
scope: "none";
|
|
10321
10492
|
}
|
|
10493
|
+
/**
|
|
10494
|
+
* Who may make a kudos badge (VTI-BDG-004). `nobody`: no kudos badges. `roles`: holders of any of `roles`, or members of any of `groups`. `members`: every active member.
|
|
10495
|
+
*/
|
|
10496
|
+
export interface KudosMakers {
|
|
10497
|
+
policy: "nobody" | "roles" | "members";
|
|
10498
|
+
/**
|
|
10499
|
+
* Community role names. Read exactly when `policy` is `roles`.
|
|
10500
|
+
*
|
|
10501
|
+
* @maxItems 32
|
|
10502
|
+
*/
|
|
10503
|
+
roles?: string[];
|
|
10504
|
+
/**
|
|
10505
|
+
* Read exactly when `policy` is `roles`.
|
|
10506
|
+
*
|
|
10507
|
+
* @maxItems 32
|
|
10508
|
+
*/
|
|
10509
|
+
groups?: GroupId[];
|
|
10510
|
+
}
|
|
10322
10511
|
/**
|
|
10323
10512
|
* Which limits an override applies to. `room`: the room as a whole. `memberDefault`: every member of the room who has no override of their own. `member`: one named member — `member` is REQUIRED with this kind and forbidden with the others, a rule this schema does not express; a community refuses a violation with `malformedRequest`.
|
|
10324
10513
|
*/
|
|
@@ -10956,6 +11145,26 @@ export interface MonitorFilter {
|
|
|
10956
11145
|
*/
|
|
10957
11146
|
failuresOnly?: boolean;
|
|
10958
11147
|
}
|
|
11148
|
+
/**
|
|
11149
|
+
* A badge as its holder sees it in their own list: the wall entry plus what only the holder knows — whether they hid it, their position for it, and the credential that evidences it.
|
|
11150
|
+
*/
|
|
11151
|
+
export interface MyBadge {
|
|
11152
|
+
badge: Badge;
|
|
11153
|
+
count: number;
|
|
11154
|
+
since: string;
|
|
11155
|
+
latestAt?: string;
|
|
11156
|
+
pinned: boolean;
|
|
11157
|
+
/**
|
|
11158
|
+
* The holder hid it: off their wall, out of the badge's holder list for members, out of its count; the awards, the membership and the credential stand (VTI-BDG-030).
|
|
11159
|
+
*/
|
|
11160
|
+
hidden: boolean;
|
|
11161
|
+
/**
|
|
11162
|
+
* The holder's order on their wall, lowest first.
|
|
11163
|
+
*/
|
|
11164
|
+
position?: number;
|
|
11165
|
+
credentialId?: GroupCredentialId;
|
|
11166
|
+
credentialValidUntil?: string;
|
|
11167
|
+
}
|
|
10959
11168
|
export interface NetworkMembership {
|
|
10960
11169
|
/**
|
|
10961
11170
|
* The network's DID.
|
|
@@ -15852,6 +16061,25 @@ export interface WakeTriggerPolicy {
|
|
|
15852
16061
|
*/
|
|
15853
16062
|
allowedTriggers: string[];
|
|
15854
16063
|
}
|
|
16064
|
+
/**
|
|
16065
|
+
* One badge on a member's wall as a viewer sees it: the badge, how many times the member holds it, since when, and whether the member pinned it. Hidden badges are never wall entries (VTI-BDG-030).
|
|
16066
|
+
*/
|
|
16067
|
+
export interface WallEntry {
|
|
16068
|
+
badge: Badge;
|
|
16069
|
+
/**
|
|
16070
|
+
* Accepted awards of this badge the member holds.
|
|
16071
|
+
*/
|
|
16072
|
+
count: number;
|
|
16073
|
+
/**
|
|
16074
|
+
* When the member first accepted this badge.
|
|
16075
|
+
*/
|
|
16076
|
+
since: string;
|
|
16077
|
+
/**
|
|
16078
|
+
* When the member last accepted an award of this badge.
|
|
16079
|
+
*/
|
|
16080
|
+
latestAt?: string;
|
|
16081
|
+
pinned: boolean;
|
|
16082
|
+
}
|
|
15855
16083
|
export interface WalrusSettings {
|
|
15856
16084
|
kind: "walrus";
|
|
15857
16085
|
/**
|