@dsh-enhanced/assistant-work-items 0.0.0-stage → 0.1.66

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 (152) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +685 -2
  3. package/cordis.patch.yml +11 -0
  4. package/lib/acceptance-binding.d.ts +86 -0
  5. package/lib/acceptance-binding.d.ts.map +1 -0
  6. package/lib/acceptance-binding.js +250 -0
  7. package/lib/acceptance-binding.js.map +1 -0
  8. package/lib/admission.d.ts +95 -0
  9. package/lib/admission.d.ts.map +1 -0
  10. package/lib/admission.js +642 -0
  11. package/lib/admission.js.map +1 -0
  12. package/lib/authority.d.ts +92 -0
  13. package/lib/authority.d.ts.map +1 -0
  14. package/lib/authority.js +205 -0
  15. package/lib/authority.js.map +1 -0
  16. package/lib/config.d.ts +365 -0
  17. package/lib/config.d.ts.map +1 -0
  18. package/lib/config.js +672 -0
  19. package/lib/config.js.map +1 -0
  20. package/lib/continuation-contract.d.ts +126 -0
  21. package/lib/continuation-contract.d.ts.map +1 -0
  22. package/lib/continuation-contract.js +109 -0
  23. package/lib/continuation-contract.js.map +1 -0
  24. package/lib/continuation-record.d.ts +32 -0
  25. package/lib/continuation-record.d.ts.map +1 -0
  26. package/lib/continuation-record.js +57 -0
  27. package/lib/continuation-record.js.map +1 -0
  28. package/lib/continuation.d.ts +89 -0
  29. package/lib/continuation.d.ts.map +1 -0
  30. package/lib/continuation.js +607 -0
  31. package/lib/continuation.js.map +1 -0
  32. package/lib/diagnosis-contract.d.ts +95 -0
  33. package/lib/diagnosis-contract.d.ts.map +1 -0
  34. package/lib/diagnosis-contract.js +167 -0
  35. package/lib/diagnosis-contract.js.map +1 -0
  36. package/lib/diagnosis.d.ts +70 -0
  37. package/lib/diagnosis.d.ts.map +1 -0
  38. package/lib/diagnosis.js +466 -0
  39. package/lib/diagnosis.js.map +1 -0
  40. package/lib/dispatch.d.ts +100 -0
  41. package/lib/dispatch.d.ts.map +1 -0
  42. package/lib/dispatch.js +317 -0
  43. package/lib/dispatch.js.map +1 -0
  44. package/lib/engineering-context.d.ts +86 -0
  45. package/lib/engineering-context.d.ts.map +1 -0
  46. package/lib/engineering-context.js +263 -0
  47. package/lib/engineering-context.js.map +1 -0
  48. package/lib/evaluation.d.ts +125 -0
  49. package/lib/evaluation.d.ts.map +1 -0
  50. package/lib/evaluation.js +295 -0
  51. package/lib/evaluation.js.map +1 -0
  52. package/lib/event-follow.d.ts +93 -0
  53. package/lib/event-follow.d.ts.map +1 -0
  54. package/lib/event-follow.js +150 -0
  55. package/lib/event-follow.js.map +1 -0
  56. package/lib/feedback-targets.d.ts +91 -0
  57. package/lib/feedback-targets.d.ts.map +1 -0
  58. package/lib/feedback-targets.js +362 -0
  59. package/lib/feedback-targets.js.map +1 -0
  60. package/lib/index.d.ts +27 -0
  61. package/lib/index.d.ts.map +1 -0
  62. package/lib/index.js +25 -0
  63. package/lib/index.js.map +1 -0
  64. package/lib/intake-admission.d.ts +49 -0
  65. package/lib/intake-admission.d.ts.map +1 -0
  66. package/lib/intake-admission.js +100 -0
  67. package/lib/intake-admission.js.map +1 -0
  68. package/lib/intake-evaluation-runtime.d.ts +74 -0
  69. package/lib/intake-evaluation-runtime.d.ts.map +1 -0
  70. package/lib/intake-evaluation-runtime.js +343 -0
  71. package/lib/intake-evaluation-runtime.js.map +1 -0
  72. package/lib/intake-evaluation.d.ts +180 -0
  73. package/lib/intake-evaluation.d.ts.map +1 -0
  74. package/lib/intake-evaluation.js +440 -0
  75. package/lib/intake-evaluation.js.map +1 -0
  76. package/lib/intake.d.ts +118 -0
  77. package/lib/intake.d.ts.map +1 -0
  78. package/lib/intake.js +137 -0
  79. package/lib/intake.js.map +1 -0
  80. package/lib/ledger.d.ts +86 -0
  81. package/lib/ledger.d.ts.map +1 -0
  82. package/lib/ledger.js +145 -0
  83. package/lib/ledger.js.map +1 -0
  84. package/lib/mandate.d.ts +45 -0
  85. package/lib/mandate.d.ts.map +1 -0
  86. package/lib/mandate.js +168 -0
  87. package/lib/mandate.js.map +1 -0
  88. package/lib/outcome.d.ts +137 -0
  89. package/lib/outcome.d.ts.map +1 -0
  90. package/lib/outcome.js +303 -0
  91. package/lib/outcome.js.map +1 -0
  92. package/lib/owner-access.d.ts +35 -0
  93. package/lib/owner-access.d.ts.map +1 -0
  94. package/lib/owner-access.js +152 -0
  95. package/lib/owner-access.js.map +1 -0
  96. package/lib/owner-continuation.d.ts +27 -0
  97. package/lib/owner-continuation.d.ts.map +1 -0
  98. package/lib/owner-continuation.js +131 -0
  99. package/lib/owner-continuation.js.map +1 -0
  100. package/lib/owner-recall.d.ts +85 -0
  101. package/lib/owner-recall.d.ts.map +1 -0
  102. package/lib/owner-recall.js +134 -0
  103. package/lib/owner-recall.js.map +1 -0
  104. package/lib/owner-replies.d.ts +44 -0
  105. package/lib/owner-replies.d.ts.map +1 -0
  106. package/lib/owner-replies.js +232 -0
  107. package/lib/owner-replies.js.map +1 -0
  108. package/lib/peers.d.ts +622 -0
  109. package/lib/peers.d.ts.map +1 -0
  110. package/lib/peers.js +10 -0
  111. package/lib/peers.js.map +1 -0
  112. package/lib/policy-notice.d.ts +31 -0
  113. package/lib/policy-notice.d.ts.map +1 -0
  114. package/lib/policy-notice.js +137 -0
  115. package/lib/policy-notice.js.map +1 -0
  116. package/lib/reply-contract.d.ts +67 -0
  117. package/lib/reply-contract.d.ts.map +1 -0
  118. package/lib/reply-contract.js +58 -0
  119. package/lib/reply-contract.js.map +1 -0
  120. package/lib/service.d.ts +625 -0
  121. package/lib/service.d.ts.map +1 -0
  122. package/lib/service.js +2388 -0
  123. package/lib/service.js.map +1 -0
  124. package/lib/settlement.d.ts +74 -0
  125. package/lib/settlement.d.ts.map +1 -0
  126. package/lib/settlement.js +233 -0
  127. package/lib/settlement.js.map +1 -0
  128. package/lib/signals.d.ts +176 -0
  129. package/lib/signals.d.ts.map +1 -0
  130. package/lib/signals.js +497 -0
  131. package/lib/signals.js.map +1 -0
  132. package/lib/store.d.ts +789 -0
  133. package/lib/store.d.ts.map +1 -0
  134. package/lib/store.js +3266 -0
  135. package/lib/store.js.map +1 -0
  136. package/lib/tools.d.ts +7 -0
  137. package/lib/tools.d.ts.map +1 -0
  138. package/lib/tools.js +443 -0
  139. package/lib/tools.js.map +1 -0
  140. package/lib/types.d.ts +831 -0
  141. package/lib/types.d.ts.map +1 -0
  142. package/lib/types.js +29 -0
  143. package/lib/types.js.map +1 -0
  144. package/lib/version.d.ts +2 -0
  145. package/lib/version.d.ts.map +1 -0
  146. package/lib/version.js +2 -0
  147. package/lib/version.js.map +1 -0
  148. package/lib/workspace.d.ts +43 -0
  149. package/lib/workspace.d.ts.map +1 -0
  150. package/lib/workspace.js +137 -0
  151. package/lib/workspace.js.map +1 -0
  152. package/package.json +101 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admission.js","sourceRoot":"","sources":["../src/admission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import type { PeerPolicyDecision, PeerPolicyRequest, PeerPolicyService } from './peers.ts';
2
+ import type { WorkItemAuthorityBasis, WorkItemMandateBasis, WorkItemRecord } from './types.ts';
3
+ /** Synthetic reason for a stored basis this host cannot trust structurally. */
4
+ export declare const MALFORMED_AUTHORITY_REASON = "malformed-basis";
5
+ /** A decision-admitted item whose named Policy rule no longer is the one allowing it. */
6
+ export declare const MANDATE_RULE_CHANGED_REASON = "mandate-rule-changed";
7
+ /**
8
+ * Outcome of re-validating one item's admission decision.
9
+ *
10
+ * `legacy` is an item admitted before schema v7: it has no persisted basis, so
11
+ * the gate must not invent one. `allow` and `legacy` may proceed; `revoked` and
12
+ * `unavailable` must park the item without dispatching it.
13
+ */
14
+ export type AuthorityCheck = Readonly<{
15
+ kind: 'allow';
16
+ }> | Readonly<{
17
+ kind: 'legacy';
18
+ }> | Readonly<{
19
+ kind: 'revoked';
20
+ reasonCode: string;
21
+ }> | Readonly<{
22
+ kind: 'unavailable';
23
+ detail: string;
24
+ }>;
25
+ /**
26
+ * Freeze one allow decision as the item's audit-only admission basis.
27
+ *
28
+ * The request, not the live configuration, is the source of the frozen
29
+ * subject/resource identifiers: the basis must replay exactly what admission
30
+ * asked, even if `intakeSourceId` changes afterwards.
31
+ */
32
+ export declare function buildAuthorityBasis(input: {
33
+ readonly request: PeerPolicyRequest;
34
+ readonly decision: PeerPolicyDecision;
35
+ readonly sourceId: string;
36
+ readonly automationId: string;
37
+ readonly idempotencyKey: string;
38
+ readonly checkedAt: number;
39
+ readonly mandate?: WorkItemMandateBasis;
40
+ }): WorkItemAuthorityBasis;
41
+ /** Outcome of the side-effect-free {@link WorkItemAuthority.assess}. */
42
+ export type AuthorityAssessment = Readonly<{
43
+ kind: 'allow';
44
+ }> | Readonly<{
45
+ kind: 'legacy';
46
+ }> | Readonly<{
47
+ kind: 'affected';
48
+ reasonCode: string;
49
+ currentRuleId: string | null;
50
+ }> | Readonly<{
51
+ kind: 'unavailable';
52
+ detail: string;
53
+ }>;
54
+ /**
55
+ * Local, side-effect-free integrity of an item's own stored basis: present,
56
+ * well-formed, and (for a mandate) naming this exact item. Unlike
57
+ * `WorkItemAuthority.check` it never calls Policy, so it writes no audit.
58
+ */
59
+ export declare function storedBasisHolds(item: WorkItemRecord): boolean;
60
+ /**
61
+ * Re-run the admission decision before an item is ever claimed or woken.
62
+ *
63
+ * Policy stays the only authority: an `allow` here means the same request with
64
+ * the same idempotency key still allows, not that this record grants anything.
65
+ * Every failure mode is fail-closed but *not* terminal: a deny, a missing peer,
66
+ * a thrown peer error or an unreadable stored basis is reported so the caller
67
+ * can park the item in `waiting` and leave it resumable under the same mandate.
68
+ */
69
+ export declare class WorkItemAuthority {
70
+ #private;
71
+ constructor(options: {
72
+ policy: () => PeerPolicyService | undefined;
73
+ });
74
+ check(item: WorkItemRecord): AuthorityCheck;
75
+ /**
76
+ * Side-effect-free counterpart of {@link check} for Policy-change notices.
77
+ *
78
+ * Uses `evaluate` (no audit row, no budget reservation) so computing which
79
+ * live items a new Policy version affects never consumes or records
80
+ * anything at the Policy peer. Same rule comparison as dispatch
81
+ * re-verification; only a budget charge that `authorize` would add at claim
82
+ * time is outside what a notice can predict.
83
+ */
84
+ /**
85
+ * Whether {@link assess} can consult Policy at all; `null` when it can.
86
+ * Checked before any notice is written so a peer that cannot evaluate
87
+ * leaves the ledger untouched even for locally-judged malformed bases.
88
+ */
89
+ assessUnavailable(): 'missing-policy' | 'missing-evaluate' | null;
90
+ assess(item: WorkItemRecord): AuthorityAssessment;
91
+ }
92
+ //# sourceMappingURL=authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAK9F,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,yFAAyF;AACzF,eAAO,MAAM,2BAA2B,yBAAyB,CAAA;AAEjE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAC3B,QAAQ,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5B,QAAQ,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,QAAQ,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAqDrD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CACxC,GAAG,sBAAsB,CAkBzB;AAED,wEAAwE;AACxE,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAC3B,QAAQ,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5B,QAAQ,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAChF,QAAQ,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AA8CrD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE9D;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;;gBAGhB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAA;KAAE;IAIpE,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc;IAc3C;;;;;;;;OAQG;IACH;;;;OAIG;IACH,iBAAiB,IAAI,gBAAgB,GAAG,kBAAkB,GAAG,IAAI;IAMjE,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB;CAkBlD"}
@@ -0,0 +1,205 @@
1
+ import { decisionExternalId, mandateIsUsable } from "./mandate.js";
2
+ /** Literal marker for the persisted basis; anything else is malformed. */
3
+ const AUTHORITY_PROTOCOL = 'work-items/authority/v1';
4
+ /** Synthetic reason for a stored basis this host cannot trust structurally. */
5
+ export const MALFORMED_AUTHORITY_REASON = 'malformed-basis';
6
+ /** A decision-admitted item whose named Policy rule no longer is the one allowing it. */
7
+ export const MANDATE_RULE_CHANGED_REASON = 'mandate-rule-changed';
8
+ /** One peer failure rendered as a bounded, path-free detail string. */
9
+ function describe(error) {
10
+ if (error !== null && typeof error === 'object') {
11
+ if ('code' in error && typeof error.code === 'string') {
12
+ return String(error.code).slice(0, 128);
13
+ }
14
+ if ('message' in error && typeof error.message === 'string') {
15
+ return String(error.message).slice(0, 128);
16
+ }
17
+ }
18
+ return 'unknown';
19
+ }
20
+ /** Rebuild the exact admission request the decision was made for. */
21
+ function requestOf(basis) {
22
+ return Object.freeze({
23
+ subject: Object.freeze({
24
+ kind: 'background',
25
+ id: basis.sourceId,
26
+ workspace: basis.workspace,
27
+ principal: basis.principal,
28
+ }),
29
+ action: 'admit',
30
+ resource: Object.freeze({ kind: 'automation', id: basis.automationId }),
31
+ context: Object.freeze({ initiator: 'background' }),
32
+ });
33
+ }
34
+ /** A structurally usable basis: every frozen field present and bounded. */
35
+ function basisIsUsable(basis) {
36
+ const text = (value) => typeof value === 'string' && value.length > 0 && value.length <= 512;
37
+ return basis.protocol === AUTHORITY_PROTOCOL
38
+ && basis.action === 'admit'
39
+ && basis.subjectKind === 'background'
40
+ && basis.resourceKind === 'automation'
41
+ && basis.effect === 'allow'
42
+ && text(basis.sourceId)
43
+ && text(basis.automationId)
44
+ && text(basis.workspace)
45
+ && text(basis.principal)
46
+ && text(basis.reasonCode)
47
+ && text(basis.idempotencyKey)
48
+ && typeof basis.checkedAt === 'number'
49
+ && Number.isSafeInteger(basis.checkedAt)
50
+ && basis.checkedAt > 0
51
+ && (basis.ruleId === undefined || text(basis.ruleId))
52
+ && (basis.mandate === undefined || mandateIsUsable(basis.mandate)
53
+ // A decision that named a rule is only valid under the exact rule Policy allowed it by.
54
+ && (basis.mandate.ruleId === undefined || basis.mandate.ruleId === basis.ruleId));
55
+ }
56
+ /**
57
+ * Freeze one allow decision as the item's audit-only admission basis.
58
+ *
59
+ * The request, not the live configuration, is the source of the frozen
60
+ * subject/resource identifiers: the basis must replay exactly what admission
61
+ * asked, even if `intakeSourceId` changes afterwards.
62
+ */
63
+ export function buildAuthorityBasis(input) {
64
+ const ruleId = input.decision.ruleId;
65
+ return Object.freeze({
66
+ protocol: AUTHORITY_PROTOCOL,
67
+ action: 'admit',
68
+ subjectKind: 'background',
69
+ sourceId: input.sourceId,
70
+ automationId: input.automationId,
71
+ workspace: input.request.subject.workspace ?? '',
72
+ principal: input.request.subject.principal ?? '',
73
+ resourceKind: 'automation',
74
+ effect: 'allow',
75
+ reasonCode: input.decision.reasonCode,
76
+ ...(ruleId === undefined ? {} : { ruleId }),
77
+ idempotencyKey: input.idempotencyKey,
78
+ checkedAt: input.checkedAt,
79
+ ...(input.mandate === undefined ? {} : { mandate: input.mandate }),
80
+ });
81
+ }
82
+ /** Run one Policy call; a thrown or malformed answer proves nothing about the mandate. */
83
+ function decide(call) {
84
+ let decision;
85
+ try {
86
+ decision = call();
87
+ }
88
+ catch (error) {
89
+ // A thrown peer call (including an idempotency conflict with another
90
+ // caller) proves nothing about the mandate, so it cannot revoke it.
91
+ return Object.freeze({ kind: 'unavailable', detail: describe(error) });
92
+ }
93
+ if (decision === null || typeof decision !== 'object'
94
+ || (decision.effect !== 'allow' && decision.effect !== 'deny')
95
+ || typeof decision.reasonCode !== 'string') {
96
+ return Object.freeze({ kind: 'unavailable', detail: 'malformed-decision' });
97
+ }
98
+ return Object.freeze({ kind: 'decided', decision });
99
+ }
100
+ /** Compare a well-formed decision with the frozen basis it re-verifies. */
101
+ function compare(basis, decision) {
102
+ const currentRuleId = typeof decision.ruleId === 'string' ? decision.ruleId : null;
103
+ if (decision.effect !== 'allow') {
104
+ const reasonCode = decision.reasonCode.length === 0 ? 'default-deny' : decision.reasonCode;
105
+ return Object.freeze({ kind: 'revoked', reasonCode, currentRuleId: null });
106
+ }
107
+ // A mandate admitted under a named rule (always so for inferred work) is
108
+ // re-verified against that rule, not against whatever now allows: a broader
109
+ // rule added later must not silently widen what the decision relied on.
110
+ const ruleId = basis.mandate?.ruleId;
111
+ if (ruleId !== undefined && decision.ruleId !== ruleId) {
112
+ return Object.freeze({ kind: 'revoked', reasonCode: MANDATE_RULE_CHANGED_REASON, currentRuleId });
113
+ }
114
+ return Object.freeze({ kind: 'allow' });
115
+ }
116
+ /** Locally checkable integrity of a stored basis for this exact item. */
117
+ function basisHolds(item, basis) {
118
+ // A mandate belongs to exactly the item its decision id names.
119
+ return basisIsUsable(basis)
120
+ && (basis.mandate === undefined || item.externalId === decisionExternalId(basis.mandate.decisionId));
121
+ }
122
+ /**
123
+ * Local, side-effect-free integrity of an item's own stored basis: present,
124
+ * well-formed, and (for a mandate) naming this exact item. Unlike
125
+ * `WorkItemAuthority.check` it never calls Policy, so it writes no audit.
126
+ */
127
+ export function storedBasisHolds(item) {
128
+ return item.authority !== null && item.authority !== undefined && basisHolds(item, item.authority);
129
+ }
130
+ /**
131
+ * Re-run the admission decision before an item is ever claimed or woken.
132
+ *
133
+ * Policy stays the only authority: an `allow` here means the same request with
134
+ * the same idempotency key still allows, not that this record grants anything.
135
+ * Every failure mode is fail-closed but *not* terminal: a deny, a missing peer,
136
+ * a thrown peer error or an unreadable stored basis is reported so the caller
137
+ * can park the item in `waiting` and leave it resumable under the same mandate.
138
+ */
139
+ export class WorkItemAuthority {
140
+ #policy;
141
+ constructor(options) {
142
+ this.#policy = options.policy;
143
+ }
144
+ check(item) {
145
+ const basis = item.authority;
146
+ if (basis === null)
147
+ return Object.freeze({ kind: 'legacy' });
148
+ if (!basisHolds(item, basis))
149
+ return Object.freeze({ kind: 'revoked', reasonCode: MALFORMED_AUTHORITY_REASON });
150
+ const policy = this.#policy();
151
+ if (policy === undefined)
152
+ return Object.freeze({ kind: 'unavailable', detail: 'missing-policy' });
153
+ const decided = decide(() => policy.authorize(requestOf(basis), { idempotencyKey: basis.idempotencyKey }));
154
+ if (decided.kind === 'unavailable')
155
+ return decided;
156
+ const verdict = compare(basis, decided.decision);
157
+ return verdict.kind === 'allow'
158
+ ? Object.freeze({ kind: 'allow' })
159
+ : Object.freeze({ kind: 'revoked', reasonCode: verdict.reasonCode });
160
+ }
161
+ /**
162
+ * Side-effect-free counterpart of {@link check} for Policy-change notices.
163
+ *
164
+ * Uses `evaluate` (no audit row, no budget reservation) so computing which
165
+ * live items a new Policy version affects never consumes or records
166
+ * anything at the Policy peer. Same rule comparison as dispatch
167
+ * re-verification; only a budget charge that `authorize` would add at claim
168
+ * time is outside what a notice can predict.
169
+ */
170
+ /**
171
+ * Whether {@link assess} can consult Policy at all; `null` when it can.
172
+ * Checked before any notice is written so a peer that cannot evaluate
173
+ * leaves the ledger untouched even for locally-judged malformed bases.
174
+ */
175
+ assessUnavailable() {
176
+ const policy = this.#policy();
177
+ if (policy === undefined)
178
+ return 'missing-policy';
179
+ return typeof policy.evaluate === 'function' ? null : 'missing-evaluate';
180
+ }
181
+ assess(item) {
182
+ const basis = item.authority;
183
+ if (basis === null)
184
+ return Object.freeze({ kind: 'legacy' });
185
+ // Same local judgment as dispatch re-verification, so a notice never
186
+ // reports as intact a basis that `check` would park as malformed.
187
+ if (!basisHolds(item, basis)) {
188
+ return Object.freeze({ kind: 'affected', reasonCode: MALFORMED_AUTHORITY_REASON, currentRuleId: null });
189
+ }
190
+ const policy = this.#policy();
191
+ if (policy === undefined)
192
+ return Object.freeze({ kind: 'unavailable', detail: 'missing-policy' });
193
+ const evaluate = policy.evaluate;
194
+ if (typeof evaluate !== 'function')
195
+ return Object.freeze({ kind: 'unavailable', detail: 'missing-evaluate' });
196
+ const decided = decide(() => evaluate.call(policy, requestOf(basis)));
197
+ if (decided.kind === 'unavailable')
198
+ return decided;
199
+ const verdict = compare(basis, decided.decision);
200
+ if (verdict.kind === 'allow')
201
+ return Object.freeze({ kind: 'allow' });
202
+ return Object.freeze({ kind: 'affected', reasonCode: verdict.reasonCode, currentRuleId: verdict.currentRuleId });
203
+ }
204
+ }
205
+ //# sourceMappingURL=authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.js","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"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"}