@openvtc/trust-tasks 0.27.9 → 0.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/dist/_runtime/codes.d.ts +1 -1
  3. package/dist/_runtime/codes.d.ts.map +1 -1
  4. package/dist/_runtime/codes.js +3 -0
  5. package/dist/_runtime/codes.js.map +1 -1
  6. package/dist/_runtime/document.d.ts +1 -1
  7. package/dist/_runtime/document.js +1 -1
  8. package/dist/_shared/components.d.ts +39 -0
  9. package/dist/_shared/components.d.ts.map +1 -1
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +10 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/policy/_shared/0.4/policy.d.ts +16 -0
  15. package/dist/policy/_shared/0.4/policy.d.ts.map +1 -0
  16. package/dist/policy/_shared/0.4/policy.js +6 -0
  17. package/dist/policy/_shared/0.4/policy.js.map +1 -0
  18. package/dist/policy/evaluate/0.1/payload.d.ts +4 -4
  19. package/dist/policy/evaluate/0.1/payload.js +1 -1
  20. package/dist/policy/evaluate/0.2/payload.d.ts +4 -4
  21. package/dist/policy/evaluate/0.2/payload.js +1 -1
  22. package/dist/policy/evaluate/0.3/payload.d.ts +13 -2
  23. package/dist/policy/evaluate/0.3/payload.d.ts.map +1 -1
  24. package/dist/policy/evaluate/0.3/payload.js +1 -1
  25. package/dist/policy/evaluate/0.3/payload.js.map +1 -1
  26. package/dist/policy/evaluate/0.4/payload.d.ts +1416 -0
  27. package/dist/policy/evaluate/0.4/payload.d.ts.map +1 -0
  28. package/dist/policy/evaluate/0.4/payload.js +899 -0
  29. package/dist/policy/evaluate/0.4/payload.js.map +1 -0
  30. package/dist/trust-task-error/0.1/payload.d.ts +2 -2
  31. package/dist/trust-task-error/0.1/payload.js +1 -1
  32. package/dist/trust-task-error/0.2/payload.d.ts +2 -2
  33. package/dist/trust-task-error/0.2/payload.js +1 -1
  34. package/dist/trust-task-error/0.3/payload.d.ts +2 -2
  35. package/dist/trust-task-error/0.3/payload.js +1 -1
  36. package/dist/trust-task-error/0.4/payload.d.ts +2 -2
  37. package/dist/trust-task-error/0.4/payload.js +1 -1
  38. package/dist/trust-task-error/0.5/payload.d.ts +7 -1
  39. package/dist/trust-task-error/0.5/payload.d.ts.map +1 -1
  40. package/dist/trust-task-error/0.5/payload.js +1 -1
  41. package/dist/trust-task-error/0.5/payload.js.map +1 -1
  42. package/dist/trust-task-error/0.6/payload.d.ts +199 -0
  43. package/dist/trust-task-error/0.6/payload.d.ts.map +1 -0
  44. package/dist/trust-task-error/0.6/payload.js +126 -0
  45. package/dist/trust-task-error/0.6/payload.js.map +1 -0
  46. package/dist/vta/contexts/delete/1.0/payload.d.ts +13 -2
  47. package/dist/vta/contexts/delete/1.0/payload.d.ts.map +1 -1
  48. package/dist/vta/contexts/delete/1.0/payload.js +1 -1
  49. package/dist/vta/contexts/delete/1.0/payload.js.map +1 -1
  50. package/dist/vta/contexts/delete/1.1/payload.d.ts +315 -0
  51. package/dist/vta/contexts/delete/1.1/payload.d.ts.map +1 -0
  52. package/dist/vta/contexts/delete/1.1/payload.js +178 -0
  53. package/dist/vta/contexts/delete/1.1/payload.js.map +1 -0
  54. package/package.json +1 -1
  55. package/src/_runtime/codes.ts +3 -0
  56. package/src/_runtime/document.ts +1 -1
  57. package/src/_shared/components.ts +39 -0
  58. package/src/index.ts +10 -0
  59. package/src/policy/_shared/0.4/policy.ts +17 -0
  60. package/src/policy/evaluate/0.1/payload.ts +5 -5
  61. package/src/policy/evaluate/0.2/payload.ts +5 -5
  62. package/src/policy/evaluate/0.3/payload.ts +14 -3
  63. package/src/policy/evaluate/0.4/payload.ts +944 -0
  64. package/src/trust-task-error/0.1/payload.ts +3 -3
  65. package/src/trust-task-error/0.2/payload.ts +3 -3
  66. package/src/trust-task-error/0.3/payload.ts +3 -3
  67. package/src/trust-task-error/0.4/payload.ts +3 -3
  68. package/src/trust-task-error/0.5/payload.ts +8 -2
  69. package/src/trust-task-error/0.6/payload.ts +195 -0
  70. package/src/vta/contexts/delete/1.0/payload.ts +14 -3
  71. package/src/vta/contexts/delete/1.1/payload.ts +228 -0
package/CHANGELOG.md CHANGED
@@ -11,6 +11,125 @@ 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.1 — 2026-10-28
15
+
16
+
17
+ ### Added
18
+
19
+ - **vta/contexts/delete**: 1.1 — settle host copies first; abandonHostCopies (#967)
20
+
21
+ 1.0 removed every local record and reported a host copy it could not
22
+ remove in daemonCleanupErrors after the fact, so the caller learned that
23
+ DIDs were still resolving only once the records — and the keys that
24
+ could remove them — were gone. A DID whose hosting server was no longer
25
+ registered refused the whole deletion, with no way to complete it through
26
+ this task: a context whose host had gone for good could not be deleted.
27
+
28
+ 1.1 settles every host copy before anything local is removed. A copy
29
+ that cannot be confirmed removed (host down, refusing, unanswered, or no
30
+ longer known to the VTA) refuses with the new
31
+ vta/contexts/delete:hostCleanupFailed — retryable, details pinned by a
32
+ detailsSchema listing each DID, its server and why — and nothing local
33
+ is deleted. A producer shows those DIDs to a human and asks whether to
34
+ wait for the host or retry with the new abandonHostCopies, which
35
+ completes the deletion and reports the abandoned copies in
36
+ daemonCleanupErrors. A host answering that it no longer holds the log has
37
+ removed it, so a retry after a partial settle completes. The consumer
38
+ SHOULD bound the time spent on hosts, in total, to answer within the
39
+ requester's timeout.
40
+
41
+ abandonHostCopies is an explicitness flag like force, not a privilege,
42
+ and a producer MUST NOT set it on a first attempt without being told to.
43
+ A 1.1 consumer still accepts 1.0 and answers it as 1.0 specifies.
44
+
45
+ Regenerated the Rust, TypeScript, Go and Dart bindings; 1.0 is now
46
+ marked superseded. The stale-reference fixer moved create/1.0 and
47
+ preview-delete/1.0's links to 1.1.
48
+
49
+ ## 0.28.0 — 2026-10-27
50
+
51
+
52
+ ### Added
53
+
54
+ - **ts, go**: Trust-task-error/0.6 and the unsupportedExtension and indeterminate standard codes (#961)
55
+
56
+ * feat(ts)!: trust-task-error/0.6 and the unsupportedExtension and indeterminate standard codes
57
+
58
+ Framework 0.7.0 added unsupportedExtension to the standard codes, and the
59
+ indeterminate ruling (SPEC §8.3) adds indeterminate: the recipient could
60
+ not decide because something it needed and does not control could not
61
+ be obtained or checked, which is neither a refusal nor a failed
62
+ verification. Both live in the closed code list of the trust-task-error
63
+ payload schema, so they need a new version.
64
+
65
+ - specs/trust-task-error/0.6: both codes appended to the enum, and
66
+ extends: "0.5", which the build checks. References to 0.5 across the
67
+ registry therefore stay current, and no other spec changes.
68
+ - All four libraries recognize both codes and emit 0.6:
69
+ trust_task_error_type_uri(), TRUST_TASK_ERROR_TYPE_URI,
70
+ TrustTaskErrorTypeURI and trustTaskErrorTypeUri move together.
71
+ Rust's StandardCode is hand-written (trust-task-error is in
72
+ SKIP_SLUGS) and gains UnsupportedExtension and Indeterminate, with
73
+ indeterminate retryable by default as §8.3 gives it.
74
+ - The HTTPS binding's status table maps unsupportedExtension to 422 and
75
+ indeterminate to 503, in the binding prose, trust-tasks-https and
76
+ trust_tasks_https. The Dart package spells the new codes out so it
77
+ still builds against a core that predates them.
78
+
79
+ Breaking for @openvtc/trust-tasks only: StandardCode is a closed union
80
+ there, so an exhaustive switch over it stops compiling. Rust's
81
+ StandardCode is #[non_exhaustive] and Go's and Dart's are open string
82
+ types, so the change is additive for them.
83
+
84
+ Part of trustoverip/dtgwg-trust-tasks-spec#42.
85
+
86
+ - **registry**: Declare carried protocols in front matter (#959)
87
+
88
+ SPEC §9.4 Carried Protocols and §7.3 item 23 add a carries front-matter
89
+ object naming the external protocol, version, defining reference and
90
+ operation a specification carries.
91
+
92
+ - spec.meta.schema.json accepts carries (all four members required).
93
+ - The build records it in registry.json and checks §9.4 rule 1 across
94
+ the tree: a slug carries one operation in every live version, and no
95
+ two slugs carry the same operation of the same protocol version.
96
+ - The spec page shows a Carries row linking the protocol.
97
+ - registry/authorization/0.2 and registry/recognition/0.2 declare that
98
+ they carry TRQP 2.0's authorization and recognition operations; their
99
+ TRQP field-name sections now say so and name the party mapping.
100
+ - CONTRIBUTING-SPECS gains "Carrying another protocol".
101
+ - SPEC.md is regenerated from canonical main (bdf2cdd), which this
102
+ needs for the §9.4 anchor.
103
+
104
+ Part of trustoverip/dtgwg-trust-tasks-spec#43.
105
+
106
+
107
+
108
+ ### Specifications
109
+
110
+ - **policy**: A consent decision carries its quorum and self-approval rule (#960)
111
+
112
+ policy/_shared/0.3 gave requireConsent.minApprovals a default of 1 and
113
+ requireConsent.excludeRequester a default of false. JSON Schema defaults
114
+ are annotations, but generators apply them, so a decision that omitted
115
+ either sent a quorum of one, or let the requester approve itself, with
116
+ nothing on the wire to show that nobody had chosen it. SPEC §6.6 rule 5
117
+ now forbids a governance default in a shared schema component.
118
+
119
+ - policy/_shared/0.4: both members required, defaults removed.
120
+ task-consent/request/0.1 already requires both, so the policy decision
121
+ and the consent request now agree.
122
+ - policy/evaluate/0.4: policy/evaluate/0.3 re-pinned to the new
123
+ component, which is its only change; the Security & Privacy section
124
+ gains the four sub-headings a new version must carry.
125
+ - policy/get/0.1 and policy/active/0.1 stay on 0.3: they use only
126
+ PolicyModule, which is unchanged.
127
+ - Stale references in task-consent prose moved to policy/evaluate/0.4.
128
+ - Rust, TypeScript, Go and Dart regenerated. 0.1 to 0.3 of
129
+ policy/evaluate are now marked superseded by 0.4.
130
+
131
+ Part of trustoverip/dtgwg-trust-tasks-spec#39.
132
+
14
133
  ## 0.27.9 — 2026-10-27
15
134
 
16
135
 
@@ -7,7 +7,7 @@
7
7
  * 0.1 peer.
8
8
  */
9
9
  /** The framework-defined standard error codes (SPEC.md §8.3). */
10
- export declare const STANDARD_CODES: readonly ["malformedRequest", "unsupportedType", "unsupportedVersion", "expired", "proofRequired", "proofInvalid", "permissionDenied", "wrongRecipient", "identityMismatch", "idConflict", "cancelled", "taskFailed", "unavailable", "internalError"];
10
+ export declare const STANDARD_CODES: readonly ["malformedRequest", "unsupportedType", "unsupportedVersion", "expired", "proofRequired", "proofInvalid", "permissionDenied", "wrongRecipient", "identityMismatch", "idConflict", "cancelled", "taskFailed", "unavailable", "internalError", "unsupportedExtension", "indeterminate"];
11
11
  /**
12
12
  * The framework-defined standard error codes, as a **closed** union.
13
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,iEAAiE;AACjE,eAAO,MAAM,cAAc,uPAejB,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAuB3D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY,CAEjE;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAepF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,iEAAiE;AACjE,eAAO,MAAM,cAAc,gSAkBjB,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAuB3D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY,CAEjE;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAepF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -23,6 +23,9 @@ export const STANDARD_CODES = [
23
23
  "taskFailed",
24
24
  "unavailable",
25
25
  "internalError",
26
+ // New in trust-task-error/0.6 (SPEC.md §4.5.2, §8.3).
27
+ "unsupportedExtension",
28
+ "indeterminate",
26
29
  ];
27
30
  /**
28
31
  * Framework 0.1 snake_case spellings, mapped to their 0.2 lowerCamelCase form.
@@ -1 +1 @@
1
- {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,SAAS;IACT,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,eAAe;CACP,CAAC;AA0CX;;;GAGG;AACH,MAAM,eAAe,GAA2C;IAC9D,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,oBAAoB;IACzC,cAAc,EAAE,eAAe;IAC/B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,kBAAkB;IACrC,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,kBAAkB;IACrC,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,eAAe;CAChC,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AAExC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa;IACzD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,QAAQ,GAAG;YACzE,oEAAoE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,SAAiB,EAAE,KAAa;IAC1E,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB;YACvE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,+CAA+C;YACtE,cAAc,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/_runtime/codes.ts"],"names":[],"mappings":"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"}
@@ -214,7 +214,7 @@ export interface RejectReason {
214
214
  * SHOULD accept it. (This comment said `0.3` while the value said `0.5`: the
215
215
  * value moved and the prose did not.)
216
216
  */
217
- export declare const TRUST_TASK_ERROR_TYPE_URI = "https://trusttasks.org/spec/trust-task-error/0.5";
217
+ export declare const TRUST_TASK_ERROR_TYPE_URI = "https://trusttasks.org/spec/trust-task-error/0.6";
218
218
  /**
219
219
  * SPEC §7.2 items 4 and 5a — expiry and wrong-recipient.
220
220
  *
@@ -26,7 +26,7 @@ import { normalizeCode } from "./codes.js";
26
26
  * SHOULD accept it. (This comment said `0.3` while the value said `0.5`: the
27
27
  * value moved and the prose did not.)
28
28
  */
29
- export const TRUST_TASK_ERROR_TYPE_URI = "https://trusttasks.org/spec/trust-task-error/0.5";
29
+ export const TRUST_TASK_ERROR_TYPE_URI = "https://trusttasks.org/spec/trust-task-error/0.6";
30
30
  /**
31
31
  * SPEC §7.2 items 4 and 5a — expiry and wrong-recipient.
32
32
  *
@@ -9558,6 +9558,45 @@ export interface PolicyDecision_PolicyV0_3 {
9558
9558
  */
9559
9559
  explanation?: string;
9560
9560
  }
9561
+ export interface PolicyDecision_PolicyV0_4 {
9562
+ decision: "allow" | "deny" | "requireStepUp" | "requireConsent";
9563
+ /**
9564
+ * Vault-flow-specific. When decision == "allow" for a proxy-login/release request, whether the maintainer should proxy-login or release-for-fill. Default: proxy. Ignored for other task kinds.
9565
+ */
9566
+ mode?: "proxy" | "fill";
9567
+ /**
9568
+ * When decision == "requireStepUp", which method to demand.
9569
+ */
9570
+ stepUp?: {
9571
+ method: "webauthnUv" | "pushApproval" | "totp";
9572
+ ttlSeconds?: number;
9573
+ };
9574
+ /**
9575
+ * When decision == "requireConsent", the approver constraint the enforcement point MUST satisfy — a signed consent decision from the named set, bound to the request's payloadDigest — before executing.
9576
+ */
9577
+ requireConsent?: {
9578
+ /**
9579
+ * Named set of enrolled approver devices permitted to approve this task (resolved by the enforcement point against its device registry).
9580
+ */
9581
+ approverSet: string;
9582
+ /**
9583
+ * REQUIRED, with no default: whether the requester may approve its own request is the community's choice, not this schema's (SPEC §6.6 rule 5). When true, the device that issued the request MUST NOT be accepted as the approver — forcing cross-device approval so a compromised requesting device cannot self-approve.
9584
+ */
9585
+ excludeRequester: boolean;
9586
+ /**
9587
+ * REQUIRED, with no default: the quorum is the community's choice, not this schema's (SPEC §6.6 rule 5), and an omitted quorum is malformedRequest rather than one. Number of distinct approvers from the set required before the task may execute.
9588
+ */
9589
+ minApprovals: number;
9590
+ };
9591
+ /**
9592
+ * When decision == "allow", maximum lifetime of any issued session blob / released secret.
9593
+ */
9594
+ ttlSecondsCap?: number;
9595
+ /**
9596
+ * Human-readable explanation for diagnostic display.
9597
+ */
9598
+ explanation?: string;
9599
+ }
9561
9600
  /**
9562
9601
  * The structured input fed to a policy evaluator on every vault/proxy-login, vault/release, and policy/evaluate call.
9563
9602
  */