@openvtc/trust-tasks 0.12.8 → 0.12.9
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/vtc/community/profile/show/0.1/payload.d.ts +154 -0
- package/dist/vtc/community/profile/show/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/community/profile/show/0.1/payload.js +72 -0
- package/dist/vtc/community/profile/show/0.1/payload.js.map +1 -1
- package/dist/vtc/community/profile/update/0.1/payload.d.ts +184 -0
- package/dist/vtc/community/profile/update/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/community/profile/update/0.1/payload.js +76 -0
- package/dist/vtc/community/profile/update/0.1/payload.js.map +1 -1
- package/dist/vtc/config/export/0.1/payload.d.ts +154 -0
- package/dist/vtc/config/export/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/config/export/0.1/payload.js +72 -0
- package/dist/vtc/config/export/0.1/payload.js.map +1 -1
- package/dist/vtc/config/import/0.1/payload.d.ts +154 -0
- package/dist/vtc/config/import/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/config/import/0.1/payload.js +72 -0
- package/dist/vtc/config/import/0.1/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/vtc/community/profile/show/0.1/payload.ts +94 -0
- package/src/vtc/community/profile/update/0.1/payload.ts +120 -0
- package/src/vtc/config/export/0.1/payload.ts +94 -0
- package/src/vtc/config/import/0.1/payload.ts +94 -0
|
@@ -55,6 +55,7 @@ export interface CommunityProfileSnapshot {
|
|
|
55
55
|
* The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default.
|
|
56
56
|
*/
|
|
57
57
|
relationshipIdentifierDefault?: "attributed" | "pairwise";
|
|
58
|
+
personhood?: PersonhoodGovernance;
|
|
58
59
|
/**
|
|
59
60
|
* Opaque community-defined extension bag.
|
|
60
61
|
*/
|
|
@@ -64,6 +65,27 @@ export interface CommunityProfileSnapshot {
|
|
|
64
65
|
*/
|
|
65
66
|
createdAt?: string;
|
|
66
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state.
|
|
70
|
+
*/
|
|
71
|
+
export interface PersonhoodGovernance {
|
|
72
|
+
/**
|
|
73
|
+
* Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on.
|
|
74
|
+
*/
|
|
75
|
+
realHuman?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says "exactly one membership in that VTC" — so a single community can satisfy it without any network above it.
|
|
78
|
+
*/
|
|
79
|
+
singleMembership?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted.
|
|
82
|
+
*/
|
|
83
|
+
acceptedIdvps?: string[];
|
|
84
|
+
/**
|
|
85
|
+
* Where the governance framework these assertions refer to can be read.
|
|
86
|
+
*/
|
|
87
|
+
governanceFrameworkUrl?: string | null;
|
|
88
|
+
}
|
|
67
89
|
/**
|
|
68
90
|
* 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.
|
|
69
91
|
*/
|
|
@@ -334,6 +356,10 @@ export declare const PAYLOAD_SCHEMA: {
|
|
|
334
356
|
readonly enum: readonly ["attributed", "pairwise"];
|
|
335
357
|
readonly description: "The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default.";
|
|
336
358
|
};
|
|
359
|
+
readonly personhood: {
|
|
360
|
+
readonly $ref: "#/$defs/PersonhoodGovernance";
|
|
361
|
+
readonly description: "The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state.";
|
|
362
|
+
};
|
|
337
363
|
readonly extensions: {
|
|
338
364
|
readonly type: "object";
|
|
339
365
|
readonly description: "Opaque community-defined extension bag.";
|
|
@@ -345,6 +371,35 @@ export declare const PAYLOAD_SCHEMA: {
|
|
|
345
371
|
};
|
|
346
372
|
};
|
|
347
373
|
};
|
|
374
|
+
readonly PersonhoodGovernance: {
|
|
375
|
+
readonly $anchor: "personhoodGovernance";
|
|
376
|
+
readonly title: "PersonhoodGovernance";
|
|
377
|
+
readonly type: "object";
|
|
378
|
+
readonly additionalProperties: false;
|
|
379
|
+
readonly description: "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.";
|
|
380
|
+
readonly properties: {
|
|
381
|
+
readonly realHuman: {
|
|
382
|
+
readonly type: "boolean";
|
|
383
|
+
readonly description: "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on.";
|
|
384
|
+
};
|
|
385
|
+
readonly singleMembership: {
|
|
386
|
+
readonly type: "boolean";
|
|
387
|
+
readonly description: "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it.";
|
|
388
|
+
};
|
|
389
|
+
readonly acceptedIdvps: {
|
|
390
|
+
readonly type: "array";
|
|
391
|
+
readonly items: {
|
|
392
|
+
readonly type: "string";
|
|
393
|
+
readonly minLength: 1;
|
|
394
|
+
};
|
|
395
|
+
readonly description: "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted.";
|
|
396
|
+
};
|
|
397
|
+
readonly governanceFrameworkUrl: {
|
|
398
|
+
readonly type: readonly ["string", "null"];
|
|
399
|
+
readonly description: "Where the governance framework these assertions refer to can be read.";
|
|
400
|
+
};
|
|
401
|
+
};
|
|
402
|
+
};
|
|
348
403
|
};
|
|
349
404
|
};
|
|
350
405
|
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
@@ -520,6 +575,10 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
|
520
575
|
readonly enum: readonly ["attributed", "pairwise"];
|
|
521
576
|
readonly description: "The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default.";
|
|
522
577
|
};
|
|
578
|
+
readonly personhood: {
|
|
579
|
+
readonly $ref: "#/$defs/PersonhoodGovernance";
|
|
580
|
+
readonly description: "The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state.";
|
|
581
|
+
};
|
|
523
582
|
readonly extensions: {
|
|
524
583
|
readonly type: "object";
|
|
525
584
|
readonly description: "Opaque community-defined extension bag.";
|
|
@@ -531,6 +590,35 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
|
531
590
|
};
|
|
532
591
|
};
|
|
533
592
|
};
|
|
593
|
+
readonly PersonhoodGovernance: {
|
|
594
|
+
readonly $anchor: "personhoodGovernance";
|
|
595
|
+
readonly title: "PersonhoodGovernance";
|
|
596
|
+
readonly type: "object";
|
|
597
|
+
readonly additionalProperties: false;
|
|
598
|
+
readonly description: "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.";
|
|
599
|
+
readonly properties: {
|
|
600
|
+
readonly realHuman: {
|
|
601
|
+
readonly type: "boolean";
|
|
602
|
+
readonly description: "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on.";
|
|
603
|
+
};
|
|
604
|
+
readonly singleMembership: {
|
|
605
|
+
readonly type: "boolean";
|
|
606
|
+
readonly description: "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it.";
|
|
607
|
+
};
|
|
608
|
+
readonly acceptedIdvps: {
|
|
609
|
+
readonly type: "array";
|
|
610
|
+
readonly items: {
|
|
611
|
+
readonly type: "string";
|
|
612
|
+
readonly minLength: 1;
|
|
613
|
+
};
|
|
614
|
+
readonly description: "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted.";
|
|
615
|
+
};
|
|
616
|
+
readonly governanceFrameworkUrl: {
|
|
617
|
+
readonly type: readonly ["string", "null"];
|
|
618
|
+
readonly description: "Where the governance framework these assertions refer to can be read.";
|
|
619
|
+
};
|
|
620
|
+
};
|
|
621
|
+
};
|
|
534
622
|
};
|
|
535
623
|
};
|
|
536
624
|
/**
|
|
@@ -735,6 +823,10 @@ export declare const SPEC: {
|
|
|
735
823
|
readonly enum: readonly ["attributed", "pairwise"];
|
|
736
824
|
readonly description: "The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default.";
|
|
737
825
|
};
|
|
826
|
+
readonly personhood: {
|
|
827
|
+
readonly $ref: "#/$defs/PersonhoodGovernance";
|
|
828
|
+
readonly description: "The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state.";
|
|
829
|
+
};
|
|
738
830
|
readonly extensions: {
|
|
739
831
|
readonly type: "object";
|
|
740
832
|
readonly description: "Opaque community-defined extension bag.";
|
|
@@ -746,6 +838,35 @@ export declare const SPEC: {
|
|
|
746
838
|
};
|
|
747
839
|
};
|
|
748
840
|
};
|
|
841
|
+
readonly PersonhoodGovernance: {
|
|
842
|
+
readonly $anchor: "personhoodGovernance";
|
|
843
|
+
readonly title: "PersonhoodGovernance";
|
|
844
|
+
readonly type: "object";
|
|
845
|
+
readonly additionalProperties: false;
|
|
846
|
+
readonly description: "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.";
|
|
847
|
+
readonly properties: {
|
|
848
|
+
readonly realHuman: {
|
|
849
|
+
readonly type: "boolean";
|
|
850
|
+
readonly description: "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on.";
|
|
851
|
+
};
|
|
852
|
+
readonly singleMembership: {
|
|
853
|
+
readonly type: "boolean";
|
|
854
|
+
readonly description: "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it.";
|
|
855
|
+
};
|
|
856
|
+
readonly acceptedIdvps: {
|
|
857
|
+
readonly type: "array";
|
|
858
|
+
readonly items: {
|
|
859
|
+
readonly type: "string";
|
|
860
|
+
readonly minLength: 1;
|
|
861
|
+
};
|
|
862
|
+
readonly description: "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted.";
|
|
863
|
+
};
|
|
864
|
+
readonly governanceFrameworkUrl: {
|
|
865
|
+
readonly type: readonly ["string", "null"];
|
|
866
|
+
readonly description: "Where the governance framework these assertions refer to can be read.";
|
|
867
|
+
};
|
|
868
|
+
};
|
|
869
|
+
};
|
|
749
870
|
};
|
|
750
871
|
};
|
|
751
872
|
};
|
|
@@ -931,6 +1052,10 @@ export declare const RESPONSE_SPEC: {
|
|
|
931
1052
|
readonly enum: readonly ["attributed", "pairwise"];
|
|
932
1053
|
readonly description: "The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default.";
|
|
933
1054
|
};
|
|
1055
|
+
readonly personhood: {
|
|
1056
|
+
readonly $ref: "#/$defs/PersonhoodGovernance";
|
|
1057
|
+
readonly description: "The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state.";
|
|
1058
|
+
};
|
|
934
1059
|
readonly extensions: {
|
|
935
1060
|
readonly type: "object";
|
|
936
1061
|
readonly description: "Opaque community-defined extension bag.";
|
|
@@ -942,6 +1067,35 @@ export declare const RESPONSE_SPEC: {
|
|
|
942
1067
|
};
|
|
943
1068
|
};
|
|
944
1069
|
};
|
|
1070
|
+
readonly PersonhoodGovernance: {
|
|
1071
|
+
readonly $anchor: "personhoodGovernance";
|
|
1072
|
+
readonly title: "PersonhoodGovernance";
|
|
1073
|
+
readonly type: "object";
|
|
1074
|
+
readonly additionalProperties: false;
|
|
1075
|
+
readonly description: "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.";
|
|
1076
|
+
readonly properties: {
|
|
1077
|
+
readonly realHuman: {
|
|
1078
|
+
readonly type: "boolean";
|
|
1079
|
+
readonly description: "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on.";
|
|
1080
|
+
};
|
|
1081
|
+
readonly singleMembership: {
|
|
1082
|
+
readonly type: "boolean";
|
|
1083
|
+
readonly description: "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it.";
|
|
1084
|
+
};
|
|
1085
|
+
readonly acceptedIdvps: {
|
|
1086
|
+
readonly type: "array";
|
|
1087
|
+
readonly items: {
|
|
1088
|
+
readonly type: "string";
|
|
1089
|
+
readonly minLength: 1;
|
|
1090
|
+
};
|
|
1091
|
+
readonly description: "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted.";
|
|
1092
|
+
};
|
|
1093
|
+
readonly governanceFrameworkUrl: {
|
|
1094
|
+
readonly type: readonly ["string", "null"];
|
|
1095
|
+
readonly description: "Where the governance framework these assertions refer to can be read.";
|
|
1096
|
+
};
|
|
1097
|
+
};
|
|
1098
|
+
};
|
|
945
1099
|
};
|
|
946
1100
|
};
|
|
947
1101
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vtc/config/import/0.1/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C;;OAEG;IACH,eAAe,EAAE;QACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,6BAA6B,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC1D;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC;AACD,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC;;OAEG;IACH,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;KAClC,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;KAClC,CAAC;CACH;AACD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,mDAA4D,CAAC;AAErF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAE7C,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,4DAAqE,CAAC;AAEvG,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,8BAA8B,CAAC;AAEtD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vtc/config/import/0.1/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -241,6 +241,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
241
241
|
],
|
|
242
242
|
"description": "The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default."
|
|
243
243
|
},
|
|
244
|
+
"personhood": {
|
|
245
|
+
"$ref": "#/$defs/PersonhoodGovernance",
|
|
246
|
+
"description": "The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state."
|
|
247
|
+
},
|
|
244
248
|
"extensions": {
|
|
245
249
|
"type": "object",
|
|
246
250
|
"description": "Opaque community-defined extension bag."
|
|
@@ -251,6 +255,38 @@ export const PAYLOAD_SCHEMA = {
|
|
|
251
255
|
"description": "When the community was created. Provenance only — an import never writes it."
|
|
252
256
|
}
|
|
253
257
|
}
|
|
258
|
+
},
|
|
259
|
+
"PersonhoodGovernance": {
|
|
260
|
+
"$anchor": "personhoodGovernance",
|
|
261
|
+
"title": "PersonhoodGovernance",
|
|
262
|
+
"type": "object",
|
|
263
|
+
"additionalProperties": false,
|
|
264
|
+
"description": "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.",
|
|
265
|
+
"properties": {
|
|
266
|
+
"realHuman": {
|
|
267
|
+
"type": "boolean",
|
|
268
|
+
"description": "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on."
|
|
269
|
+
},
|
|
270
|
+
"singleMembership": {
|
|
271
|
+
"type": "boolean",
|
|
272
|
+
"description": "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it."
|
|
273
|
+
},
|
|
274
|
+
"acceptedIdvps": {
|
|
275
|
+
"type": "array",
|
|
276
|
+
"items": {
|
|
277
|
+
"type": "string",
|
|
278
|
+
"minLength": 1
|
|
279
|
+
},
|
|
280
|
+
"description": "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted."
|
|
281
|
+
},
|
|
282
|
+
"governanceFrameworkUrl": {
|
|
283
|
+
"type": [
|
|
284
|
+
"string",
|
|
285
|
+
"null"
|
|
286
|
+
],
|
|
287
|
+
"description": "Where the governance framework these assertions refer to can be read."
|
|
288
|
+
}
|
|
289
|
+
}
|
|
254
290
|
}
|
|
255
291
|
}
|
|
256
292
|
};
|
|
@@ -460,6 +496,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
460
496
|
],
|
|
461
497
|
"description": "The community's declared relationship-identifier default, as defined on `CommunityProfile` in the `vtc/_shared/0.1/community` schema. Carried in a config export so a restore reproduces the declaration rather than silently reverting it to the implementation default."
|
|
462
498
|
},
|
|
499
|
+
"personhood": {
|
|
500
|
+
"$ref": "#/$defs/PersonhoodGovernance",
|
|
501
|
+
"description": "The community's published personhood position, carried so an export restores it. Governance state, not runtime state — unlike `registryStatus`, which is deliberately absent here because reachability belongs to a running maintainer rather than to exported state."
|
|
502
|
+
},
|
|
463
503
|
"extensions": {
|
|
464
504
|
"type": "object",
|
|
465
505
|
"description": "Opaque community-defined extension bag."
|
|
@@ -470,6 +510,38 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
470
510
|
"description": "When the community was created. Provenance only — an import never writes it."
|
|
471
511
|
}
|
|
472
512
|
}
|
|
513
|
+
},
|
|
514
|
+
"PersonhoodGovernance": {
|
|
515
|
+
"$anchor": "personhoodGovernance",
|
|
516
|
+
"title": "PersonhoodGovernance",
|
|
517
|
+
"type": "object",
|
|
518
|
+
"additionalProperties": false,
|
|
519
|
+
"description": "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.",
|
|
520
|
+
"properties": {
|
|
521
|
+
"realHuman": {
|
|
522
|
+
"type": "boolean",
|
|
523
|
+
"description": "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on."
|
|
524
|
+
},
|
|
525
|
+
"singleMembership": {
|
|
526
|
+
"type": "boolean",
|
|
527
|
+
"description": "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it."
|
|
528
|
+
},
|
|
529
|
+
"acceptedIdvps": {
|
|
530
|
+
"type": "array",
|
|
531
|
+
"items": {
|
|
532
|
+
"type": "string",
|
|
533
|
+
"minLength": 1
|
|
534
|
+
},
|
|
535
|
+
"description": "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted."
|
|
536
|
+
},
|
|
537
|
+
"governanceFrameworkUrl": {
|
|
538
|
+
"type": [
|
|
539
|
+
"string",
|
|
540
|
+
"null"
|
|
541
|
+
],
|
|
542
|
+
"description": "Where the governance framework these assertions refer to can be read."
|
|
543
|
+
}
|
|
544
|
+
}
|
|
473
545
|
}
|
|
474
546
|
}
|
|
475
547
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vtc/config/import/0.1/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vtc/config/import/0.1/payload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -35,6 +35,28 @@ export interface CommunityProfile {
|
|
|
35
35
|
* Trust-registry reachability. Populated on reads; not settable.
|
|
36
36
|
*/
|
|
37
37
|
registryStatus?: "active" | "degraded";
|
|
38
|
+
personhood?: PersonhoodGovernance;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* What this community's governance asserts about the personhood of its members.
|
|
42
|
+
*/
|
|
43
|
+
export interface PersonhoodGovernance {
|
|
44
|
+
/**
|
|
45
|
+
* Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on.
|
|
46
|
+
*/
|
|
47
|
+
realHuman?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says "exactly one membership in that VTC" — so a single community can satisfy it without any network above it.
|
|
50
|
+
*/
|
|
51
|
+
singleMembership?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted.
|
|
54
|
+
*/
|
|
55
|
+
acceptedIdvps?: string[];
|
|
56
|
+
/**
|
|
57
|
+
* Where the governance framework these assertions refer to can be read.
|
|
58
|
+
*/
|
|
59
|
+
governanceFrameworkUrl?: string | null;
|
|
38
60
|
}
|
|
39
61
|
|
|
40
62
|
/** Trust Task type URI. */
|
|
@@ -155,6 +177,42 @@ export const PAYLOAD_SCHEMA = {
|
|
|
155
177
|
"degraded"
|
|
156
178
|
],
|
|
157
179
|
"description": "Trust-registry reachability. Populated on reads; not settable."
|
|
180
|
+
},
|
|
181
|
+
"personhood": {
|
|
182
|
+
"$ref": "#/$defs/PersonhoodGovernance",
|
|
183
|
+
"description": "What this community's governance asserts about the personhood of its members."
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"PersonhoodGovernance": {
|
|
188
|
+
"$anchor": "personhoodGovernance",
|
|
189
|
+
"title": "PersonhoodGovernance",
|
|
190
|
+
"type": "object",
|
|
191
|
+
"additionalProperties": false,
|
|
192
|
+
"description": "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.",
|
|
193
|
+
"properties": {
|
|
194
|
+
"realHuman": {
|
|
195
|
+
"type": "boolean",
|
|
196
|
+
"description": "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on."
|
|
197
|
+
},
|
|
198
|
+
"singleMembership": {
|
|
199
|
+
"type": "boolean",
|
|
200
|
+
"description": "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it."
|
|
201
|
+
},
|
|
202
|
+
"acceptedIdvps": {
|
|
203
|
+
"type": "array",
|
|
204
|
+
"items": {
|
|
205
|
+
"type": "string",
|
|
206
|
+
"minLength": 1
|
|
207
|
+
},
|
|
208
|
+
"description": "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted."
|
|
209
|
+
},
|
|
210
|
+
"governanceFrameworkUrl": {
|
|
211
|
+
"type": [
|
|
212
|
+
"string",
|
|
213
|
+
"null"
|
|
214
|
+
],
|
|
215
|
+
"description": "Where the governance framework these assertions refer to can be read."
|
|
158
216
|
}
|
|
159
217
|
}
|
|
160
218
|
}
|
|
@@ -251,6 +309,42 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
251
309
|
"degraded"
|
|
252
310
|
],
|
|
253
311
|
"description": "Trust-registry reachability. Populated on reads; not settable."
|
|
312
|
+
},
|
|
313
|
+
"personhood": {
|
|
314
|
+
"$ref": "#/$defs/PersonhoodGovernance",
|
|
315
|
+
"description": "What this community's governance asserts about the personhood of its members."
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
"PersonhoodGovernance": {
|
|
320
|
+
"$anchor": "personhoodGovernance",
|
|
321
|
+
"title": "PersonhoodGovernance",
|
|
322
|
+
"type": "object",
|
|
323
|
+
"additionalProperties": false,
|
|
324
|
+
"description": "A community's published position on personhood.\n\nDTG Credentials §Personhood Credentials places PHC status here rather than in the credential — \"PHC status is determined by governance and trust registries, not by credential structure\" — so a verifier deciding whether a VMC carries personhood weight reads this, not the credential's type array. §Governance Considerations item 1 makes the acceptable-IDVP list the community's to define and publish.\n\nEvery member is a declaration, not an enforcement: what a community actually accepts is decided by its own policy. Absent means the community has not published a position, which is not the same as asserting the negative.",
|
|
325
|
+
"properties": {
|
|
326
|
+
"realHuman": {
|
|
327
|
+
"type": "boolean",
|
|
328
|
+
"description": "Governance requires that members are real humans. Defaults to `false` when absent: a community that has not considered the question asserts nothing, which is the only safe default for a claim a verifier may rely on."
|
|
329
|
+
},
|
|
330
|
+
"singleMembership": {
|
|
331
|
+
"type": "boolean",
|
|
332
|
+
"description": "Governance requires that each person holds at most one membership in **this** community. Per-community by definition — the glossary says \"exactly one membership in that VTC\" — so a single community can satisfy it without any network above it."
|
|
333
|
+
},
|
|
334
|
+
"acceptedIdvps": {
|
|
335
|
+
"type": "array",
|
|
336
|
+
"items": {
|
|
337
|
+
"type": "string",
|
|
338
|
+
"minLength": 1
|
|
339
|
+
},
|
|
340
|
+
"description": "DIDs of the identity-verification providers whose credentials this community accepts as personhood evidence. A community that vets its own members in person lists its own community DID here — it is acting as its own IDVP, which §IDVC permits. An empty list means no list has been published, not that everything is accepted."
|
|
341
|
+
},
|
|
342
|
+
"governanceFrameworkUrl": {
|
|
343
|
+
"type": [
|
|
344
|
+
"string",
|
|
345
|
+
"null"
|
|
346
|
+
],
|
|
347
|
+
"description": "Where the governance framework these assertions refer to can be read."
|
|
254
348
|
}
|
|
255
349
|
}
|
|
256
350
|
}
|