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

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 +99 -0
  13. package/lib/authority.d.ts.map +1 -0
  14. package/lib/authority.js +233 -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 +268 -0
  107. package/lib/owner-replies.js.map +1 -0
  108. package/lib/peers.d.ts +624 -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 +632 -0
  121. package/lib/service.d.ts.map +1 -0
  122. package/lib/service.js +2447 -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 +791 -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,99 @@
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
+ /**
91
+ * Deterministic digest of the current Policy host configuration, or `null`
92
+ * when this peer cannot expose one. WorkItems uses it only to decide whether
93
+ * to recompute durable Policy-change notices; it grants no authority and is
94
+ * never stored as a Policy decision.
95
+ */
96
+ policyVersion(): string | null;
97
+ assess(item: WorkItemRecord): AuthorityAssessment;
98
+ }
99
+ //# sourceMappingURL=authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AACA,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;AA6DrD;;;;;;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;;;;;OAKG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAS9B,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB;CAkBlD"}
@@ -0,0 +1,233 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { decisionExternalId, mandateIsUsable } from "./mandate.js";
3
+ /** Literal marker for the persisted basis; anything else is malformed. */
4
+ const AUTHORITY_PROTOCOL = 'work-items/authority/v1';
5
+ /** Synthetic reason for a stored basis this host cannot trust structurally. */
6
+ export const MALFORMED_AUTHORITY_REASON = 'malformed-basis';
7
+ /** A decision-admitted item whose named Policy rule no longer is the one allowing it. */
8
+ export const MANDATE_RULE_CHANGED_REASON = 'mandate-rule-changed';
9
+ /** Deterministic JSON for a detached Policy snapshot (object keys sorted). */
10
+ function canonicalJson(value) {
11
+ if (value === null || typeof value !== 'object')
12
+ return JSON.stringify(value);
13
+ if (Array.isArray(value))
14
+ return `[${value.map(canonicalJson).join(',')}]`;
15
+ const record = value;
16
+ return `{${Object.keys(record).sort().map(key => `${JSON.stringify(key)}:${canonicalJson(record[key])}`).join(',')}}`;
17
+ }
18
+ /** One peer failure rendered as a bounded, path-free detail string. */
19
+ function describe(error) {
20
+ if (error !== null && typeof error === 'object') {
21
+ if ('code' in error && typeof error.code === 'string') {
22
+ return String(error.code).slice(0, 128);
23
+ }
24
+ if ('message' in error && typeof error.message === 'string') {
25
+ return String(error.message).slice(0, 128);
26
+ }
27
+ }
28
+ return 'unknown';
29
+ }
30
+ /** Rebuild the exact admission request the decision was made for. */
31
+ function requestOf(basis) {
32
+ return Object.freeze({
33
+ subject: Object.freeze({
34
+ kind: 'background',
35
+ id: basis.sourceId,
36
+ workspace: basis.workspace,
37
+ principal: basis.principal,
38
+ }),
39
+ action: 'admit',
40
+ resource: Object.freeze({ kind: 'automation', id: basis.automationId }),
41
+ context: Object.freeze({ initiator: 'background' }),
42
+ });
43
+ }
44
+ /** A structurally usable basis: every frozen field present and bounded. */
45
+ function basisIsUsable(basis) {
46
+ const text = (value) => typeof value === 'string' && value.length > 0 && value.length <= 512;
47
+ return basis.protocol === AUTHORITY_PROTOCOL
48
+ && basis.action === 'admit'
49
+ && basis.subjectKind === 'background'
50
+ && basis.resourceKind === 'automation'
51
+ && basis.effect === 'allow'
52
+ && text(basis.sourceId)
53
+ && text(basis.automationId)
54
+ && text(basis.workspace)
55
+ && text(basis.principal)
56
+ && text(basis.reasonCode)
57
+ && text(basis.idempotencyKey)
58
+ && typeof basis.checkedAt === 'number'
59
+ && Number.isSafeInteger(basis.checkedAt)
60
+ && basis.checkedAt > 0
61
+ && (basis.ruleId === undefined || text(basis.ruleId))
62
+ && (basis.mandate === undefined || mandateIsUsable(basis.mandate)
63
+ // A decision that named a rule is only valid under the exact rule Policy allowed it by.
64
+ && (basis.mandate.ruleId === undefined || basis.mandate.ruleId === basis.ruleId));
65
+ }
66
+ /**
67
+ * Freeze one allow decision as the item's audit-only admission basis.
68
+ *
69
+ * The request, not the live configuration, is the source of the frozen
70
+ * subject/resource identifiers: the basis must replay exactly what admission
71
+ * asked, even if `intakeSourceId` changes afterwards.
72
+ */
73
+ export function buildAuthorityBasis(input) {
74
+ const ruleId = input.decision.ruleId;
75
+ return Object.freeze({
76
+ protocol: AUTHORITY_PROTOCOL,
77
+ action: 'admit',
78
+ subjectKind: 'background',
79
+ sourceId: input.sourceId,
80
+ automationId: input.automationId,
81
+ workspace: input.request.subject.workspace ?? '',
82
+ principal: input.request.subject.principal ?? '',
83
+ resourceKind: 'automation',
84
+ effect: 'allow',
85
+ reasonCode: input.decision.reasonCode,
86
+ ...(ruleId === undefined ? {} : { ruleId }),
87
+ idempotencyKey: input.idempotencyKey,
88
+ checkedAt: input.checkedAt,
89
+ ...(input.mandate === undefined ? {} : { mandate: input.mandate }),
90
+ });
91
+ }
92
+ /** Run one Policy call; a thrown or malformed answer proves nothing about the mandate. */
93
+ function decide(call) {
94
+ let decision;
95
+ try {
96
+ decision = call();
97
+ }
98
+ catch (error) {
99
+ // A thrown peer call (including an idempotency conflict with another
100
+ // caller) proves nothing about the mandate, so it cannot revoke it.
101
+ return Object.freeze({ kind: 'unavailable', detail: describe(error) });
102
+ }
103
+ if (decision === null || typeof decision !== 'object'
104
+ || (decision.effect !== 'allow' && decision.effect !== 'deny')
105
+ || typeof decision.reasonCode !== 'string') {
106
+ return Object.freeze({ kind: 'unavailable', detail: 'malformed-decision' });
107
+ }
108
+ return Object.freeze({ kind: 'decided', decision });
109
+ }
110
+ /** Compare a well-formed decision with the frozen basis it re-verifies. */
111
+ function compare(basis, decision) {
112
+ const currentRuleId = typeof decision.ruleId === 'string' ? decision.ruleId : null;
113
+ if (decision.effect !== 'allow') {
114
+ const reasonCode = decision.reasonCode.length === 0 ? 'default-deny' : decision.reasonCode;
115
+ return Object.freeze({ kind: 'revoked', reasonCode, currentRuleId: null });
116
+ }
117
+ // A mandate admitted under a named rule (always so for inferred work) is
118
+ // re-verified against that rule, not against whatever now allows: a broader
119
+ // rule added later must not silently widen what the decision relied on.
120
+ const ruleId = basis.mandate?.ruleId;
121
+ if (ruleId !== undefined && decision.ruleId !== ruleId) {
122
+ return Object.freeze({ kind: 'revoked', reasonCode: MANDATE_RULE_CHANGED_REASON, currentRuleId });
123
+ }
124
+ return Object.freeze({ kind: 'allow' });
125
+ }
126
+ /** Locally checkable integrity of a stored basis for this exact item. */
127
+ function basisHolds(item, basis) {
128
+ // A mandate belongs to exactly the item its decision id names.
129
+ return basisIsUsable(basis)
130
+ && (basis.mandate === undefined || item.externalId === decisionExternalId(basis.mandate.decisionId));
131
+ }
132
+ /**
133
+ * Local, side-effect-free integrity of an item's own stored basis: present,
134
+ * well-formed, and (for a mandate) naming this exact item. Unlike
135
+ * `WorkItemAuthority.check` it never calls Policy, so it writes no audit.
136
+ */
137
+ export function storedBasisHolds(item) {
138
+ return item.authority !== null && item.authority !== undefined && basisHolds(item, item.authority);
139
+ }
140
+ /**
141
+ * Re-run the admission decision before an item is ever claimed or woken.
142
+ *
143
+ * Policy stays the only authority: an `allow` here means the same request with
144
+ * the same idempotency key still allows, not that this record grants anything.
145
+ * Every failure mode is fail-closed but *not* terminal: a deny, a missing peer,
146
+ * a thrown peer error or an unreadable stored basis is reported so the caller
147
+ * can park the item in `waiting` and leave it resumable under the same mandate.
148
+ */
149
+ export class WorkItemAuthority {
150
+ #policy;
151
+ constructor(options) {
152
+ this.#policy = options.policy;
153
+ }
154
+ check(item) {
155
+ const basis = item.authority;
156
+ if (basis === null)
157
+ return Object.freeze({ kind: 'legacy' });
158
+ if (!basisHolds(item, basis))
159
+ return Object.freeze({ kind: 'revoked', reasonCode: MALFORMED_AUTHORITY_REASON });
160
+ const policy = this.#policy();
161
+ if (policy === undefined)
162
+ return Object.freeze({ kind: 'unavailable', detail: 'missing-policy' });
163
+ const decided = decide(() => policy.authorize(requestOf(basis), { idempotencyKey: basis.idempotencyKey }));
164
+ if (decided.kind === 'unavailable')
165
+ return decided;
166
+ const verdict = compare(basis, decided.decision);
167
+ return verdict.kind === 'allow'
168
+ ? Object.freeze({ kind: 'allow' })
169
+ : Object.freeze({ kind: 'revoked', reasonCode: verdict.reasonCode });
170
+ }
171
+ /**
172
+ * Side-effect-free counterpart of {@link check} for Policy-change notices.
173
+ *
174
+ * Uses `evaluate` (no audit row, no budget reservation) so computing which
175
+ * live items a new Policy version affects never consumes or records
176
+ * anything at the Policy peer. Same rule comparison as dispatch
177
+ * re-verification; only a budget charge that `authorize` would add at claim
178
+ * time is outside what a notice can predict.
179
+ */
180
+ /**
181
+ * Whether {@link assess} can consult Policy at all; `null` when it can.
182
+ * Checked before any notice is written so a peer that cannot evaluate
183
+ * leaves the ledger untouched even for locally-judged malformed bases.
184
+ */
185
+ assessUnavailable() {
186
+ const policy = this.#policy();
187
+ if (policy === undefined)
188
+ return 'missing-policy';
189
+ return typeof policy.evaluate === 'function' ? null : 'missing-evaluate';
190
+ }
191
+ /**
192
+ * Deterministic digest of the current Policy host configuration, or `null`
193
+ * when this peer cannot expose one. WorkItems uses it only to decide whether
194
+ * to recompute durable Policy-change notices; it grants no authority and is
195
+ * never stored as a Policy decision.
196
+ */
197
+ policyVersion() {
198
+ const policy = this.#policy();
199
+ if (policy === undefined || typeof policy.inspectHostConfiguration !== 'function')
200
+ return null;
201
+ try {
202
+ const snapshot = policy.inspectHostConfiguration();
203
+ return createHash('sha256').update(canonicalJson(snapshot)).digest('hex');
204
+ }
205
+ catch {
206
+ return null;
207
+ }
208
+ }
209
+ assess(item) {
210
+ const basis = item.authority;
211
+ if (basis === null)
212
+ return Object.freeze({ kind: 'legacy' });
213
+ // Same local judgment as dispatch re-verification, so a notice never
214
+ // reports as intact a basis that `check` would park as malformed.
215
+ if (!basisHolds(item, basis)) {
216
+ return Object.freeze({ kind: 'affected', reasonCode: MALFORMED_AUTHORITY_REASON, currentRuleId: null });
217
+ }
218
+ const policy = this.#policy();
219
+ if (policy === undefined)
220
+ return Object.freeze({ kind: 'unavailable', detail: 'missing-policy' });
221
+ const evaluate = policy.evaluate;
222
+ if (typeof evaluate !== 'function')
223
+ return Object.freeze({ kind: 'unavailable', detail: 'missing-evaluate' });
224
+ const decided = decide(() => evaluate.call(policy, requestOf(basis)));
225
+ if (decided.kind === 'unavailable')
226
+ return decided;
227
+ const verdict = compare(basis, decided.decision);
228
+ if (verdict.kind === 'allow')
229
+ return Object.freeze({ kind: 'allow' });
230
+ return Object.freeze({ kind: 'affected', reasonCode: verdict.reasonCode, currentRuleId: verdict.currentRuleId });
231
+ }
232
+ }
233
+ //# sourceMappingURL=authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.js","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"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"}