@openvtc/trust-tasks 0.17.8 → 0.17.10

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.
Files changed (33) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/_shared/components.d.ts +4 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +3 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/persona/_shared/0.1/persona-record.d.ts +1 -1
  9. package/dist/persona/_shared/0.1/persona-record.d.ts.map +1 -1
  10. package/dist/persona/correlation/analyze/1.0/payload.d.ts +82 -0
  11. package/dist/persona/correlation/analyze/1.0/payload.d.ts.map +1 -1
  12. package/dist/persona/correlation/analyze/1.0/payload.js +34 -0
  13. package/dist/persona/correlation/analyze/1.0/payload.js.map +1 -1
  14. package/dist/persona/facet/delete/1.0/payload.d.ts +310 -0
  15. package/dist/persona/facet/delete/1.0/payload.d.ts.map +1 -0
  16. package/dist/persona/facet/delete/1.0/payload.js +169 -0
  17. package/dist/persona/facet/delete/1.0/payload.js.map +1 -0
  18. package/dist/persona/facet/list/1.0/payload.d.ts +599 -0
  19. package/dist/persona/facet/list/1.0/payload.d.ts.map +1 -0
  20. package/dist/persona/facet/list/1.0/payload.js +332 -0
  21. package/dist/persona/facet/list/1.0/payload.js.map +1 -0
  22. package/dist/persona/facet/put/1.0/payload.d.ts +490 -0
  23. package/dist/persona/facet/put/1.0/payload.d.ts.map +1 -0
  24. package/dist/persona/facet/put/1.0/payload.js +272 -0
  25. package/dist/persona/facet/put/1.0/payload.js.map +1 -0
  26. package/package.json +1 -1
  27. package/src/_shared/components.ts +4 -0
  28. package/src/index.ts +3 -0
  29. package/src/persona/_shared/0.1/persona-record.ts +1 -1
  30. package/src/persona/correlation/analyze/1.0/payload.ts +48 -0
  31. package/src/persona/facet/delete/1.0/payload.ts +212 -0
  32. package/src/persona/facet/list/1.0/payload.ts +402 -0
  33. package/src/persona/facet/put/1.0/payload.ts +339 -0
@@ -48,6 +48,10 @@ export interface PersonaCorrelationAnalyzeResponsePayload {
48
48
  * @maxItems 64
49
49
  */
50
50
  disclosedTo?: string[];
51
+ /**
52
+ * The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own.
53
+ */
54
+ facetId?: Ulid;
51
55
  }[];
52
56
  /**
53
57
  * Plain-language cause. A severity with no explanation is a warning a holder learns to dismiss.
@@ -101,6 +105,16 @@ export interface PersonaCorrelationAnalyzeResponsePayload {
101
105
  "useDifferentValue" | "reissueCredentialToThisDid" | "correlateDeliberately" | "proceedAndRecord",
102
106
  "useDifferentValue" | "reissueCredentialToThisDid" | "correlateDeliberately" | "proceedAndRecord"
103
107
  ];
108
+ /**
109
+ * Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets.
110
+ */
111
+ crossesFacets?: boolean;
112
+ /**
113
+ * The distinct facets this linkage touches, so a consumer can name them — "Work and Home share your mobile number" is a sentence a holder can act on, where "a value is shared" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct.
114
+ *
115
+ * @maxItems 64
116
+ */
117
+ facetIds?: Ulid[];
104
118
  }[];
105
119
  ext?: Ext;
106
120
  }
@@ -206,6 +220,10 @@ export declare const PAYLOAD_SCHEMA: {
206
220
  readonly type: "string";
207
221
  };
208
222
  };
223
+ readonly facetId: {
224
+ readonly $ref: "#/$defs/Ulid";
225
+ readonly description: "The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own.";
226
+ };
209
227
  };
210
228
  };
211
229
  };
@@ -223,6 +241,19 @@ export declare const PAYLOAD_SCHEMA: {
223
241
  };
224
242
  readonly description: "What the holder can actually do. Naming reissueCredentialToThisDid matters more than it looks: without it, a holder told 'this links your personas' has no action but to abandon the attribute, and the honest fix — a credential re-issued against the persona actually using it — stays invisible unless the analysis names it.";
225
243
  };
244
+ readonly crossesFacets: {
245
+ readonly type: "boolean";
246
+ readonly description: "Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets.";
247
+ };
248
+ readonly facetIds: {
249
+ readonly type: "array";
250
+ readonly maxItems: 64;
251
+ readonly uniqueItems: true;
252
+ readonly items: {
253
+ readonly $ref: "#/$defs/Ulid";
254
+ };
255
+ readonly description: "The distinct facets this linkage touches, so a consumer can name them — \"Work and Home share your mobile number\" is a sentence a holder can act on, where \"a value is shared\" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct.";
256
+ };
226
257
  };
227
258
  };
228
259
  };
@@ -315,6 +346,10 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
315
346
  readonly type: "string";
316
347
  };
317
348
  };
349
+ readonly facetId: {
350
+ readonly $ref: "#/$defs/Ulid";
351
+ readonly description: "The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own.";
352
+ };
318
353
  };
319
354
  };
320
355
  };
@@ -332,6 +367,19 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
332
367
  };
333
368
  readonly description: "What the holder can actually do. Naming reissueCredentialToThisDid matters more than it looks: without it, a holder told 'this links your personas' has no action but to abandon the attribute, and the honest fix — a credential re-issued against the persona actually using it — stays invisible unless the analysis names it.";
334
369
  };
370
+ readonly crossesFacets: {
371
+ readonly type: "boolean";
372
+ readonly description: "Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets.";
373
+ };
374
+ readonly facetIds: {
375
+ readonly type: "array";
376
+ readonly maxItems: 64;
377
+ readonly uniqueItems: true;
378
+ readonly items: {
379
+ readonly $ref: "#/$defs/Ulid";
380
+ };
381
+ readonly description: "The distinct facets this linkage touches, so a consumer can name them — \"Work and Home share your mobile number\" is a sentence a holder can act on, where \"a value is shared\" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct.";
382
+ };
335
383
  };
336
384
  };
337
385
  };
@@ -467,6 +515,10 @@ export declare const SPEC: {
467
515
  readonly type: "string";
468
516
  };
469
517
  };
518
+ readonly facetId: {
519
+ readonly $ref: "#/$defs/Ulid";
520
+ readonly description: "The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own.";
521
+ };
470
522
  };
471
523
  };
472
524
  };
@@ -484,6 +536,19 @@ export declare const SPEC: {
484
536
  };
485
537
  readonly description: "What the holder can actually do. Naming reissueCredentialToThisDid matters more than it looks: without it, a holder told 'this links your personas' has no action but to abandon the attribute, and the honest fix — a credential re-issued against the persona actually using it — stays invisible unless the analysis names it.";
486
538
  };
539
+ readonly crossesFacets: {
540
+ readonly type: "boolean";
541
+ readonly description: "Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets.";
542
+ };
543
+ readonly facetIds: {
544
+ readonly type: "array";
545
+ readonly maxItems: 64;
546
+ readonly uniqueItems: true;
547
+ readonly items: {
548
+ readonly $ref: "#/$defs/Ulid";
549
+ };
550
+ readonly description: "The distinct facets this linkage touches, so a consumer can name them — \"Work and Home share your mobile number\" is a sentence a holder can act on, where \"a value is shared\" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct.";
551
+ };
487
552
  };
488
553
  };
489
554
  };
@@ -587,6 +652,10 @@ export declare const RESPONSE_SPEC: {
587
652
  readonly type: "string";
588
653
  };
589
654
  };
655
+ readonly facetId: {
656
+ readonly $ref: "#/$defs/Ulid";
657
+ readonly description: "The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own.";
658
+ };
590
659
  };
591
660
  };
592
661
  };
@@ -604,6 +673,19 @@ export declare const RESPONSE_SPEC: {
604
673
  };
605
674
  readonly description: "What the holder can actually do. Naming reissueCredentialToThisDid matters more than it looks: without it, a holder told 'this links your personas' has no action but to abandon the attribute, and the honest fix — a credential re-issued against the persona actually using it — stays invisible unless the analysis names it.";
606
675
  };
676
+ readonly crossesFacets: {
677
+ readonly type: "boolean";
678
+ readonly description: "Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets.";
679
+ };
680
+ readonly facetIds: {
681
+ readonly type: "array";
682
+ readonly maxItems: 64;
683
+ readonly uniqueItems: true;
684
+ readonly items: {
685
+ readonly $ref: "#/$defs/Ulid";
686
+ };
687
+ readonly description: "The distinct facets this linkage touches, so a consumer can name them — \"Work and Home share your mobile number\" is a sentence a holder can act on, where \"a value is shared\" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct.";
688
+ };
607
689
  };
608
690
  };
609
691
  };
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/correlation/analyze/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAGzF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACvD;;OAEG;IACH,QAAQ,EAAE;QACR,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC;QACzB;;;;WAIG;QACH,UAAU,CAAC,EAAE;YACX,SAAS,CAAC,EAAE,IAAI,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;SACxB,EAAE,CAAC;QACJ;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;WAIG;QACH,QAAQ,EACJ,EAAE,GACF,CAAC,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB,CAAC,GACnG;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,CAAC;KACP,EAAE,CAAC;IACJ,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,kHAAkH;AAClH,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAEhD,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,6DAAsE,CAAC;AAE/F,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,gCAAgC,CAAC;AAEvD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,sEAA+E,CAAC;AAEjH,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmKjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+H1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAC"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/correlation/analyze/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAGzF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACvD;;OAEG;IACH,QAAQ,EAAE;QACR,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC;QACzB;;;;WAIG;QACH,UAAU,CAAC,EAAE;YACX,SAAS,CAAC,EAAE,IAAI,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;YACvB;;eAEG;YACH,OAAO,CAAC,EAAE,IAAI,CAAC;SAChB,EAAE,CAAC;QACJ;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;;;WAIG;QACH,QAAQ,EACJ,EAAE,GACF,CAAC,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB,CAAC,GACnG;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,GACD;YACE,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;YACjG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,kBAAkB;SAClG,CAAC;QACN;;WAEG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB;;;;WAIG;QACH,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;KACnB,EAAE,CAAC;IACJ,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,kHAAkH;AAClH,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAEhD,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,6DAAsE,CAAC;AAE/F,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,gCAAgC,CAAC;AAEvD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,sEAA+E,CAAC;AAEjH,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoLjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJ1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAC"}
@@ -110,6 +110,10 @@ export const PAYLOAD_SCHEMA = {
110
110
  "items": {
111
111
  "type": "string"
112
112
  }
113
+ },
114
+ "facetId": {
115
+ "$ref": "#/$defs/Ulid",
116
+ "description": "The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own."
113
117
  }
114
118
  }
115
119
  }
@@ -132,6 +136,19 @@ export const PAYLOAD_SCHEMA = {
132
136
  ]
133
137
  },
134
138
  "description": "What the holder can actually do. Naming reissueCredentialToThisDid matters more than it looks: without it, a holder told 'this links your personas' has no action but to abandon the attribute, and the honest fix — a credential re-issued against the persona actually using it — stays invisible unless the analysis names it."
139
+ },
140
+ "crossesFacets": {
141
+ "type": "boolean",
142
+ "description": "Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets."
143
+ },
144
+ "facetIds": {
145
+ "type": "array",
146
+ "maxItems": 64,
147
+ "uniqueItems": true,
148
+ "items": {
149
+ "$ref": "#/$defs/Ulid"
150
+ },
151
+ "description": "The distinct facets this linkage touches, so a consumer can name them — \"Work and Home share your mobile number\" is a sentence a holder can act on, where \"a value is shared\" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct."
135
152
  }
136
153
  }
137
154
  }
@@ -239,6 +256,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
239
256
  "items": {
240
257
  "type": "string"
241
258
  }
259
+ },
260
+ "facetId": {
261
+ "$ref": "#/$defs/Ulid",
262
+ "description": "The facet the profile at this location belongs to. Absent where it belongs to none, which is a real and common state rather than a gap — most profiles are unarranged until someone arranges them, and a consumer MUST NOT read absence as a facet of its own."
242
263
  }
243
264
  }
244
265
  }
@@ -261,6 +282,19 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
261
282
  ]
262
283
  },
263
284
  "description": "What the holder can actually do. Naming reissueCredentialToThisDid matters more than it looks: without it, a holder told 'this links your personas' has no action but to abandon the attribute, and the honest fix — a credential re-issued against the persona actually using it — stays invisible unless the analysis names it."
285
+ },
286
+ "crossesFacets": {
287
+ "type": "boolean",
288
+ "description": "Whether this linkage spans two or more of the holder's facets — parts of their life they have said belong apart. **A second axis, not a restatement of `severity`.** `severity` says how strongly a disclosure would link the holder, which is a fact about provenance and proof rung and is true whatever the holder intended; this says whether the holder would mind. A value shared between two profiles in the SAME facet is linkage the holder arranged on purpose — a work email in every work profile — and a consumer that alarmed on it teaches people to dismiss the alarm. A value shared ACROSS facets is the finding worth raising. True only when two or more DISTINCT facets appear among `sharedWith`: a profile belonging to no facet is unarranged, not a second facet, and contributes nothing here. Absent when the maintainer does not implement facets."
289
+ },
290
+ "facetIds": {
291
+ "type": "array",
292
+ "maxItems": 64,
293
+ "uniqueItems": true,
294
+ "items": {
295
+ "$ref": "#/$defs/Ulid"
296
+ },
297
+ "description": "The distinct facets this linkage touches, so a consumer can name them — \"Work and Home share your mobile number\" is a sentence a holder can act on, where \"a value is shared\" is not. Identifiers rather than names, on the same reasoning as every other member here: the caller already holds the facet records and a name repeated on the wire is a second copy to keep correct."
264
298
  }
265
299
  }
266
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/persona/correlation/analyze/1.0/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/persona/correlation/analyze/1.0/payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/persona/facet/delete/1.0/payload.schema.json
4
+ */
5
+ import type { ExpectedVersion_PersonaV0_1 as ExpectedVersion, Ext, Ulid } from "../../../../_shared/components.js";
6
+ /**
7
+ * Delete one facet. The faces and attributes that belonged to it are untouched — a facet is a way of arranging what the holder keeps, never a container for it.
8
+ */
9
+ export interface PersonaFacetDeletePayload {
10
+ facetId: Ulid;
11
+ /**
12
+ * Optional precondition. Supply the version a prior read returned to refuse a delete against a facet that has changed since it was looked at.
13
+ */
14
+ expectedVersion?: ExpectedVersion;
15
+ ext?: Ext;
16
+ }
17
+ /**
18
+ * Success response to persona/facet/delete. Type https://trusttasks.org/spec/persona/facet/delete/1.0#response.
19
+ */
20
+ export interface PersonaFacetDeleteResponsePayload {
21
+ /**
22
+ * False when there was nothing to delete. A successful no-op rather than an error: a producer retrying after a lost response must be able to reach the state it wanted without having to tell a second delete apart from a first.
23
+ */
24
+ existed: boolean;
25
+ /**
26
+ * How many profiles no longer belong to any facet as a result. Nothing was deleted and nothing changed about them — this is the count a consumer needs to say what the screen will look like afterwards, which is the honest end of a sentence that would otherwise read only 'deleted'.
27
+ */
28
+ releasedFaces?: number;
29
+ ext?: Ext;
30
+ }
31
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
32
+ export type { ExpectedVersion, Ext, Ulid };
33
+ /** Trust Task type URI. */
34
+ export declare const TYPE_URI: "https://trusttasks.org/spec/persona/facet/delete/1.0";
35
+ /** Stable alias for this specification's request payload shape. */
36
+ export type Payload = PersonaFacetDeletePayload;
37
+ /** Trust Task response type URI (request type URI + "#response"). */
38
+ export declare const RESPONSE_TYPE_URI: "https://trusttasks.org/spec/persona/facet/delete/1.0#response";
39
+ /** Stable alias for this specification's success-response payload shape. */
40
+ export type Response = PersonaFacetDeleteResponsePayload;
41
+ /**
42
+ * This specification's payload schema, as a value.
43
+ *
44
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
45
+ * rather than only as a `.json` file because TypeScript types are erased
46
+ * at runtime: without a schema a consumer has nothing to validate, and
47
+ * every REQUIRED payload member is optional in practice. Cross-file
48
+ * `$ref`s are already inlined, so it needs no resolver.
49
+ */
50
+ export declare const PAYLOAD_SCHEMA: {
51
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
52
+ readonly $id: "https://trusttasks.org/spec/persona/facet/delete/1.0";
53
+ readonly title: "Persona — Facet Delete — payload";
54
+ readonly description: "Delete one facet. The faces and attributes that belonged to it are untouched — a facet is a way of arranging what the holder keeps, never a container for it.";
55
+ readonly type: "object";
56
+ readonly additionalProperties: false;
57
+ readonly required: readonly ["facetId"];
58
+ readonly properties: {
59
+ readonly facetId: {
60
+ readonly $ref: "#/$defs/Ulid";
61
+ };
62
+ readonly expectedVersion: {
63
+ readonly $ref: "#/$defs/ExpectedVersion";
64
+ readonly description: "Optional precondition. Supply the version a prior read returned to refuse a delete against a facet that has changed since it was looked at.";
65
+ };
66
+ readonly ext: {
67
+ readonly $ref: "#/$defs/Ext";
68
+ };
69
+ };
70
+ readonly $defs: {
71
+ readonly Response: {
72
+ readonly $anchor: "response";
73
+ readonly title: "Persona Facet Delete — response payload";
74
+ readonly description: "Success response to persona/facet/delete. Type https://trusttasks.org/spec/persona/facet/delete/1.0#response.";
75
+ readonly type: "object";
76
+ readonly additionalProperties: false;
77
+ readonly required: readonly ["existed"];
78
+ readonly properties: {
79
+ readonly existed: {
80
+ readonly type: "boolean";
81
+ readonly description: "False when there was nothing to delete. A successful no-op rather than an error: a producer retrying after a lost response must be able to reach the state it wanted without having to tell a second delete apart from a first.";
82
+ };
83
+ readonly releasedFaces: {
84
+ readonly type: "integer";
85
+ readonly minimum: 0;
86
+ readonly description: "How many profiles no longer belong to any facet as a result. Nothing was deleted and nothing changed about them — this is the count a consumer needs to say what the screen will look like afterwards, which is the honest end of a sentence that would otherwise read only 'deleted'.";
87
+ };
88
+ readonly ext: {
89
+ readonly $ref: "#/$defs/Ext";
90
+ };
91
+ };
92
+ };
93
+ readonly Ext: {
94
+ readonly title: "Ext";
95
+ readonly 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.";
96
+ readonly type: "object";
97
+ readonly minProperties: 1;
98
+ readonly additionalProperties: true;
99
+ readonly propertyNames: {
100
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
101
+ };
102
+ };
103
+ readonly ExpectedVersion: {
104
+ readonly title: "ExpectedVersion";
105
+ readonly description: "Optimistic-concurrency precondition. A positive value requires the record's current `version` to equal it exactly; zero means create-only and applies only when no live record exists at the address.";
106
+ readonly type: "integer";
107
+ readonly minimum: 0;
108
+ };
109
+ readonly Ulid: {
110
+ readonly title: "Ulid";
111
+ readonly description: "A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.";
112
+ readonly type: "string";
113
+ readonly pattern: "^[0-9A-HJKMNP-TV-Z]{26}$";
114
+ };
115
+ };
116
+ };
117
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
118
+ export declare const RESPONSE_PAYLOAD_SCHEMA: {
119
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
120
+ readonly $ref: "#/$defs/Response";
121
+ readonly $defs: {
122
+ readonly Response: {
123
+ readonly $anchor: "response";
124
+ readonly title: "Persona Facet Delete — response payload";
125
+ readonly description: "Success response to persona/facet/delete. Type https://trusttasks.org/spec/persona/facet/delete/1.0#response.";
126
+ readonly type: "object";
127
+ readonly additionalProperties: false;
128
+ readonly required: readonly ["existed"];
129
+ readonly properties: {
130
+ readonly existed: {
131
+ readonly type: "boolean";
132
+ readonly description: "False when there was nothing to delete. A successful no-op rather than an error: a producer retrying after a lost response must be able to reach the state it wanted without having to tell a second delete apart from a first.";
133
+ };
134
+ readonly releasedFaces: {
135
+ readonly type: "integer";
136
+ readonly minimum: 0;
137
+ readonly description: "How many profiles no longer belong to any facet as a result. Nothing was deleted and nothing changed about them — this is the count a consumer needs to say what the screen will look like afterwards, which is the honest end of a sentence that would otherwise read only 'deleted'.";
138
+ };
139
+ readonly ext: {
140
+ readonly $ref: "#/$defs/Ext";
141
+ };
142
+ };
143
+ };
144
+ readonly Ext: {
145
+ readonly title: "Ext";
146
+ readonly 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.";
147
+ readonly type: "object";
148
+ readonly minProperties: 1;
149
+ readonly additionalProperties: true;
150
+ readonly propertyNames: {
151
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
152
+ };
153
+ };
154
+ readonly ExpectedVersion: {
155
+ readonly title: "ExpectedVersion";
156
+ readonly description: "Optimistic-concurrency precondition. A positive value requires the record's current `version` to equal it exactly; zero means create-only and applies only when no live record exists at the address.";
157
+ readonly type: "integer";
158
+ readonly minimum: 0;
159
+ };
160
+ readonly Ulid: {
161
+ readonly title: "Ulid";
162
+ readonly description: "A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.";
163
+ readonly type: "string";
164
+ readonly pattern: "^[0-9A-HJKMNP-TV-Z]{26}$";
165
+ };
166
+ };
167
+ };
168
+ /**
169
+ * SPEC.md §7.2 policy for the request variant, from this specification's
170
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
171
+ * per-specification and cannot be derived from the document alone, and
172
+ * item 2 needs the schema this carries.
173
+ */
174
+ export declare const SPEC: {
175
+ readonly typeUri: "https://trusttasks.org/spec/persona/facet/delete/1.0";
176
+ readonly isBearer: false;
177
+ readonly isProofRequired: true;
178
+ readonly isRecipientRequired: true;
179
+ readonly isIssuedAtRequired: true;
180
+ readonly payloadSchema: {
181
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
182
+ readonly $id: "https://trusttasks.org/spec/persona/facet/delete/1.0";
183
+ readonly title: "Persona — Facet Delete — payload";
184
+ readonly description: "Delete one facet. The faces and attributes that belonged to it are untouched — a facet is a way of arranging what the holder keeps, never a container for it.";
185
+ readonly type: "object";
186
+ readonly additionalProperties: false;
187
+ readonly required: readonly ["facetId"];
188
+ readonly properties: {
189
+ readonly facetId: {
190
+ readonly $ref: "#/$defs/Ulid";
191
+ };
192
+ readonly expectedVersion: {
193
+ readonly $ref: "#/$defs/ExpectedVersion";
194
+ readonly description: "Optional precondition. Supply the version a prior read returned to refuse a delete against a facet that has changed since it was looked at.";
195
+ };
196
+ readonly ext: {
197
+ readonly $ref: "#/$defs/Ext";
198
+ };
199
+ };
200
+ readonly $defs: {
201
+ readonly Response: {
202
+ readonly $anchor: "response";
203
+ readonly title: "Persona Facet Delete — response payload";
204
+ readonly description: "Success response to persona/facet/delete. Type https://trusttasks.org/spec/persona/facet/delete/1.0#response.";
205
+ readonly type: "object";
206
+ readonly additionalProperties: false;
207
+ readonly required: readonly ["existed"];
208
+ readonly properties: {
209
+ readonly existed: {
210
+ readonly type: "boolean";
211
+ readonly description: "False when there was nothing to delete. A successful no-op rather than an error: a producer retrying after a lost response must be able to reach the state it wanted without having to tell a second delete apart from a first.";
212
+ };
213
+ readonly releasedFaces: {
214
+ readonly type: "integer";
215
+ readonly minimum: 0;
216
+ readonly description: "How many profiles no longer belong to any facet as a result. Nothing was deleted and nothing changed about them — this is the count a consumer needs to say what the screen will look like afterwards, which is the honest end of a sentence that would otherwise read only 'deleted'.";
217
+ };
218
+ readonly ext: {
219
+ readonly $ref: "#/$defs/Ext";
220
+ };
221
+ };
222
+ };
223
+ readonly Ext: {
224
+ readonly title: "Ext";
225
+ readonly 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.";
226
+ readonly type: "object";
227
+ readonly minProperties: 1;
228
+ readonly additionalProperties: true;
229
+ readonly propertyNames: {
230
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
231
+ };
232
+ };
233
+ readonly ExpectedVersion: {
234
+ readonly title: "ExpectedVersion";
235
+ readonly description: "Optimistic-concurrency precondition. A positive value requires the record's current `version` to equal it exactly; zero means create-only and applies only when no live record exists at the address.";
236
+ readonly type: "integer";
237
+ readonly minimum: 0;
238
+ };
239
+ readonly Ulid: {
240
+ readonly title: "Ulid";
241
+ readonly description: "A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.";
242
+ readonly type: "string";
243
+ readonly pattern: "^[0-9A-HJKMNP-TV-Z]{26}$";
244
+ };
245
+ };
246
+ };
247
+ };
248
+ /**
249
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
250
+ * tracks the *issuer* party's requirement because a response swaps the
251
+ * parties (§7.3 item 5).
252
+ */
253
+ export declare const RESPONSE_SPEC: {
254
+ readonly typeUri: "https://trusttasks.org/spec/persona/facet/delete/1.0#response";
255
+ readonly isBearer: false;
256
+ readonly isProofRequired: true;
257
+ readonly isRecipientRequired: true;
258
+ readonly isIssuedAtRequired: true;
259
+ readonly payloadSchema: {
260
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
261
+ readonly $ref: "#/$defs/Response";
262
+ readonly $defs: {
263
+ readonly Response: {
264
+ readonly $anchor: "response";
265
+ readonly title: "Persona Facet Delete — response payload";
266
+ readonly description: "Success response to persona/facet/delete. Type https://trusttasks.org/spec/persona/facet/delete/1.0#response.";
267
+ readonly type: "object";
268
+ readonly additionalProperties: false;
269
+ readonly required: readonly ["existed"];
270
+ readonly properties: {
271
+ readonly existed: {
272
+ readonly type: "boolean";
273
+ readonly description: "False when there was nothing to delete. A successful no-op rather than an error: a producer retrying after a lost response must be able to reach the state it wanted without having to tell a second delete apart from a first.";
274
+ };
275
+ readonly releasedFaces: {
276
+ readonly type: "integer";
277
+ readonly minimum: 0;
278
+ readonly description: "How many profiles no longer belong to any facet as a result. Nothing was deleted and nothing changed about them — this is the count a consumer needs to say what the screen will look like afterwards, which is the honest end of a sentence that would otherwise read only 'deleted'.";
279
+ };
280
+ readonly ext: {
281
+ readonly $ref: "#/$defs/Ext";
282
+ };
283
+ };
284
+ };
285
+ readonly Ext: {
286
+ readonly title: "Ext";
287
+ readonly 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.";
288
+ readonly type: "object";
289
+ readonly minProperties: 1;
290
+ readonly additionalProperties: true;
291
+ readonly propertyNames: {
292
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
293
+ };
294
+ };
295
+ readonly ExpectedVersion: {
296
+ readonly title: "ExpectedVersion";
297
+ readonly description: "Optimistic-concurrency precondition. A positive value requires the record's current `version` to equal it exactly; zero means create-only and applies only when no live record exists at the address.";
298
+ readonly type: "integer";
299
+ readonly minimum: 0;
300
+ };
301
+ readonly Ulid: {
302
+ readonly title: "Ulid";
303
+ readonly description: "A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.";
304
+ readonly type: "string";
305
+ readonly pattern: "^[0-9A-HJKMNP-TV-Z]{26}$";
306
+ };
307
+ };
308
+ };
309
+ };
310
+ //# sourceMappingURL=payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/facet/delete/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,2BAA2B,IAAI,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAGnH;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,IAAI,CAAC;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,kHAAkH;AAClH,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAE3C,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,sDAA+D,CAAC;AAExF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,+DAAwE,CAAC;AAE1G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAC"}