@fabricorg/platform 1.9.0 → 1.10.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 (209) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +48 -2
  3. package/dist/actions/index.cjs +45 -26
  4. package/dist/actions/index.cjs.map +1 -1
  5. package/dist/actions/index.d.cts +225 -226
  6. package/dist/actions/index.d.ts +225 -226
  7. package/dist/actions/index.js +41 -2
  8. package/dist/actions/index.js.map +1 -1
  9. package/dist/adapters/index.cjs +696 -66
  10. package/dist/adapters/index.cjs.map +1 -1
  11. package/dist/adapters/index.d.cts +367 -365
  12. package/dist/adapters/index.d.ts +367 -365
  13. package/dist/adapters/index.js +682 -2
  14. package/dist/adapters/index.js.map +1 -1
  15. package/dist/agent-hitl/index.cjs +21 -10
  16. package/dist/agent-hitl/index.cjs.map +1 -1
  17. package/dist/agent-hitl/index.d.cts +30 -30
  18. package/dist/agent-hitl/index.d.ts +30 -30
  19. package/dist/agent-hitl/index.js +21 -2
  20. package/dist/agent-hitl/index.js.map +1 -1
  21. package/dist/certification/index.cjs +109 -24
  22. package/dist/certification/index.cjs.map +1 -1
  23. package/dist/certification/index.d.cts +33 -39
  24. package/dist/certification/index.d.ts +33 -39
  25. package/dist/certification/index.js +107 -8
  26. package/dist/certification/index.js.map +1 -1
  27. package/dist/discovery/index.cjs +12 -10
  28. package/dist/discovery/index.cjs.map +1 -1
  29. package/dist/discovery/index.d.cts +2 -10
  30. package/dist/discovery/index.d.ts +2 -10
  31. package/dist/discovery/index.js +12 -2
  32. package/dist/discovery/index.js.map +1 -1
  33. package/dist/engine-B4csEOEc.js +223 -0
  34. package/dist/engine-B4csEOEc.js.map +1 -0
  35. package/dist/engine-BqScuhrT.cjs +246 -0
  36. package/dist/engine-BqScuhrT.cjs.map +1 -0
  37. package/dist/events/index.cjs +39 -10
  38. package/dist/events/index.cjs.map +1 -1
  39. package/dist/events/index.d.cts +43 -43
  40. package/dist/events/index.d.ts +43 -43
  41. package/dist/events/index.js +39 -2
  42. package/dist/events/index.js.map +1 -1
  43. package/dist/evidence/index.cjs +12 -50
  44. package/dist/evidence/index.d.cts +2 -229
  45. package/dist/evidence/index.d.ts +2 -229
  46. package/dist/evidence/index.js +1 -5
  47. package/dist/evidence-BuCICb0c.js +516 -0
  48. package/dist/evidence-BuCICb0c.js.map +1 -0
  49. package/dist/evidence-Cq48eDvA.cjs +575 -0
  50. package/dist/evidence-Cq48eDvA.cjs.map +1 -0
  51. package/dist/governance/index.cjs +24 -18
  52. package/dist/governance/index.cjs.map +1 -1
  53. package/dist/governance/index.d.cts +80 -83
  54. package/dist/governance/index.d.ts +80 -83
  55. package/dist/governance/index.js +22 -2
  56. package/dist/governance/index.js.map +1 -1
  57. package/dist/ids/index.cjs +52 -22
  58. package/dist/ids/index.cjs.map +1 -1
  59. package/dist/ids/index.d.cts +17 -17
  60. package/dist/ids/index.d.ts +17 -17
  61. package/dist/ids/index.js +49 -2
  62. package/dist/ids/index.js.map +1 -1
  63. package/dist/index-9jasmw76.d.cts +124 -0
  64. package/dist/index-BXpeFdk2.d.cts +190 -0
  65. package/dist/index-BXpeFdk2.d.ts +190 -0
  66. package/dist/index-BnbsKZsT.d.cts +231 -0
  67. package/dist/index-CIl1rYRv.d.cts +11 -0
  68. package/dist/index-CIl1rYRv.d.ts +11 -0
  69. package/dist/index-CVHA1ypT.d.cts +262 -0
  70. package/dist/index-DZ4mnNb7.d.cts +78 -0
  71. package/dist/index-DZ4mnNb7.d.ts +78 -0
  72. package/dist/index-IqcDvl69.d.ts +124 -0
  73. package/dist/index-fmUiRBXu.d.cts +57 -0
  74. package/dist/index-fmUiRBXu.d.ts +57 -0
  75. package/dist/index-sPUPs8pr.d.ts +262 -0
  76. package/dist/index-z9-CYOIo.d.ts +231 -0
  77. package/dist/index.cjs +111 -385
  78. package/dist/index.d.cts +18 -17
  79. package/dist/index.d.ts +18 -17
  80. package/dist/index.js +19 -20
  81. package/dist/manifest/index.cjs +224 -35
  82. package/dist/manifest/index.cjs.map +1 -1
  83. package/dist/manifest/index.d.cts +130 -131
  84. package/dist/manifest/index.d.ts +130 -131
  85. package/dist/manifest/index.js +219 -7
  86. package/dist/manifest/index.js.map +1 -1
  87. package/dist/modules/index.cjs +281 -42
  88. package/dist/modules/index.cjs.map +1 -1
  89. package/dist/modules/index.d.cts +157 -159
  90. package/dist/modules/index.d.ts +157 -159
  91. package/dist/modules/index.js +274 -6
  92. package/dist/modules/index.js.map +1 -1
  93. package/dist/objects/index.cjs +355 -22
  94. package/dist/objects/index.cjs.map +1 -1
  95. package/dist/objects/index.d.cts +2 -77
  96. package/dist/objects/index.d.ts +2 -77
  97. package/dist/objects/index.js +352 -2
  98. package/dist/objects/index.js.map +1 -1
  99. package/dist/policies/index.cjs +14 -48
  100. package/dist/policies/index.d.cts +2 -247
  101. package/dist/policies/index.d.ts +2 -247
  102. package/dist/policies/index.js +1 -3
  103. package/dist/policies-DH_GCXQ-.js +627 -0
  104. package/dist/policies-DH_GCXQ-.js.map +1 -0
  105. package/dist/policies-Nxbp1CH8.cjs +698 -0
  106. package/dist/policies-Nxbp1CH8.cjs.map +1 -0
  107. package/dist/privacy/index.cjs +26 -43
  108. package/dist/privacy/index.cjs.map +1 -1
  109. package/dist/privacy/index.d.cts +2 -189
  110. package/dist/privacy/index.d.ts +2 -189
  111. package/dist/privacy/index.js +18 -3
  112. package/dist/privacy/index.js.map +1 -1
  113. package/dist/projections/index.cjs +241 -23
  114. package/dist/projections/index.cjs.map +1 -1
  115. package/dist/projections/index.d.cts +2 -125
  116. package/dist/projections/index.d.ts +2 -125
  117. package/dist/projections/index.js +238 -3
  118. package/dist/projections/index.js.map +1 -1
  119. package/dist/state-machines/index.cjs +76 -18
  120. package/dist/state-machines/index.cjs.map +1 -1
  121. package/dist/state-machines/index.d.cts +2 -55
  122. package/dist/state-machines/index.d.ts +2 -55
  123. package/dist/state-machines/index.js +74 -2
  124. package/dist/state-machines/index.js.map +1 -1
  125. package/dist/testing/index.cjs +27 -19
  126. package/dist/testing/index.cjs.map +1 -1
  127. package/dist/testing/index.d.cts +17 -19
  128. package/dist/testing/index.d.ts +17 -19
  129. package/dist/testing/index.js +25 -3
  130. package/dist/testing/index.js.map +1 -1
  131. package/package.json +6 -5
  132. package/dist/chunk-2AE6TMAX.cjs +0 -44
  133. package/dist/chunk-2AE6TMAX.cjs.map +0 -1
  134. package/dist/chunk-6HY35TKB.cjs +0 -491
  135. package/dist/chunk-6HY35TKB.cjs.map +0 -1
  136. package/dist/chunk-6UGEIDLC.cjs +0 -26
  137. package/dist/chunk-6UGEIDLC.cjs.map +0 -1
  138. package/dist/chunk-7GAWSUOG.js +0 -64
  139. package/dist/chunk-7GAWSUOG.js.map +0 -1
  140. package/dist/chunk-AFXFAEWA.js +0 -673
  141. package/dist/chunk-AFXFAEWA.js.map +0 -1
  142. package/dist/chunk-AFXKSIVI.cjs +0 -540
  143. package/dist/chunk-AFXKSIVI.cjs.map +0 -1
  144. package/dist/chunk-B5DOGDPG.js +0 -42
  145. package/dist/chunk-B5DOGDPG.js.map +0 -1
  146. package/dist/chunk-BJGZE3GE.js +0 -20
  147. package/dist/chunk-BJGZE3GE.js.map +0 -1
  148. package/dist/chunk-CRZXTZ36.cjs +0 -258
  149. package/dist/chunk-CRZXTZ36.cjs.map +0 -1
  150. package/dist/chunk-D4SWRBUH.cjs +0 -22
  151. package/dist/chunk-D4SWRBUH.cjs.map +0 -1
  152. package/dist/chunk-DBTAUI6C.cjs +0 -395
  153. package/dist/chunk-DBTAUI6C.cjs.map +0 -1
  154. package/dist/chunk-EMSAFNPX.js +0 -98
  155. package/dist/chunk-EMSAFNPX.js.map +0 -1
  156. package/dist/chunk-F3E5SXPN.cjs +0 -28
  157. package/dist/chunk-F3E5SXPN.cjs.map +0 -1
  158. package/dist/chunk-HEYMMVDP.js +0 -480
  159. package/dist/chunk-HEYMMVDP.js.map +0 -1
  160. package/dist/chunk-IFW43ELT.cjs +0 -331
  161. package/dist/chunk-IFW43ELT.cjs.map +0 -1
  162. package/dist/chunk-LFE74IJX.js +0 -20
  163. package/dist/chunk-LFE74IJX.js.map +0 -1
  164. package/dist/chunk-LZSE6QGQ.cjs +0 -60
  165. package/dist/chunk-LZSE6QGQ.cjs.map +0 -1
  166. package/dist/chunk-MCWSUGB3.cjs +0 -102
  167. package/dist/chunk-MCWSUGB3.cjs.map +0 -1
  168. package/dist/chunk-MLBALEUR.js +0 -290
  169. package/dist/chunk-MLBALEUR.js.map +0 -1
  170. package/dist/chunk-NNXQZPB3.cjs +0 -31
  171. package/dist/chunk-NNXQZPB3.cjs.map +0 -1
  172. package/dist/chunk-OFCCZ27Z.js +0 -26
  173. package/dist/chunk-OFCCZ27Z.js.map +0 -1
  174. package/dist/chunk-PDN5DOLQ.js +0 -242
  175. package/dist/chunk-PDN5DOLQ.js.map +0 -1
  176. package/dist/chunk-PIDZQAEL.js +0 -50
  177. package/dist/chunk-PIDZQAEL.js.map +0 -1
  178. package/dist/chunk-Q4Q4JPR3.js +0 -524
  179. package/dist/chunk-Q4Q4JPR3.js.map +0 -1
  180. package/dist/chunk-RALMUSOX.js +0 -55
  181. package/dist/chunk-RALMUSOX.js.map +0 -1
  182. package/dist/chunk-SNTV45LH.cjs +0 -295
  183. package/dist/chunk-SNTV45LH.cjs.map +0 -1
  184. package/dist/chunk-TBS2S5AX.cjs +0 -40
  185. package/dist/chunk-TBS2S5AX.cjs.map +0 -1
  186. package/dist/chunk-TYNIFC7J.js +0 -253
  187. package/dist/chunk-TYNIFC7J.js.map +0 -1
  188. package/dist/chunk-UGWGHTNC.cjs +0 -56
  189. package/dist/chunk-UGWGHTNC.cjs.map +0 -1
  190. package/dist/chunk-WI7CWNYI.cjs +0 -68
  191. package/dist/chunk-WI7CWNYI.cjs.map +0 -1
  192. package/dist/chunk-WNZP53GI.js +0 -386
  193. package/dist/chunk-WNZP53GI.js.map +0 -1
  194. package/dist/chunk-WQ3BYI7T.cjs +0 -249
  195. package/dist/chunk-WQ3BYI7T.cjs.map +0 -1
  196. package/dist/chunk-Y2PJLRIY.js +0 -36
  197. package/dist/chunk-Y2PJLRIY.js.map +0 -1
  198. package/dist/chunk-YGIPN3TU.cjs +0 -684
  199. package/dist/chunk-YGIPN3TU.cjs.map +0 -1
  200. package/dist/chunk-ZAEVQSB5.js +0 -326
  201. package/dist/chunk-ZAEVQSB5.js.map +0 -1
  202. package/dist/chunk-ZMQTV5OJ.js +0 -27
  203. package/dist/chunk-ZMQTV5OJ.js.map +0 -1
  204. package/dist/evidence/index.cjs.map +0 -1
  205. package/dist/evidence/index.js.map +0 -1
  206. package/dist/index.cjs.map +0 -1
  207. package/dist/index.js.map +0 -1
  208. package/dist/policies/index.cjs.map +0 -1
  209. package/dist/policies/index.js.map +0 -1
@@ -1,247 +1,2 @@
1
- import { ActorType, FabricRuntimeServices, ActionId } from '../actions/index.cjs';
2
- import '../discovery/index.cjs';
3
-
4
- /** A transient execution dependency failure; the host decides whether retry is safe. */
5
- declare class RetryableExecutionError extends Error {
6
- readonly name = "RetryableExecutionError";
7
- readonly code: "EXECUTION_RETRYABLE";
8
- constructor(message: string, options?: {
9
- cause?: unknown;
10
- });
11
- }
12
- /**
13
- * Recognise a RetryableExecutionError, including one constructed by a second
14
- * package copy (for example ESM and CommonJS builds loaded side by side).
15
- */
16
- declare function isRetryableExecutionError(error: unknown): error is RetryableExecutionError;
17
-
18
- type PolicyEvaluationResult = "pass" | "warn" | "block";
19
- type PolicyKind = "code" | "data" | "hybrid";
20
- type PolicyId = `${string}.v${number}`;
21
- type PolicyEvaluationMode = "preview" | "execute";
22
- declare function assertPolicyId(policyId: string): asserts policyId is PolicyId;
23
- interface PolicyContext<TDb = unknown> {
24
- tenantId: string;
25
- spaceId: string;
26
- actionInvocationId: string;
27
- actionId: string;
28
- /** Authenticated actor identity supplied by the host. Omitted only by legacy hosts and previews. */
29
- actorId?: string;
30
- actorType?: ActorType;
31
- parameters: unknown;
32
- db: TDb;
33
- now?: Date;
34
- mode?: PolicyEvaluationMode;
35
- /**
36
- * Optional runtime services bag, mirroring {@link FabricRuntimeServices} on
37
- * `ActionContext`. Lets the host inject dependencies (HTTP clients, secret
38
- * managers, external policy engines such as OPA, feature flags, etc.) that
39
- * a code policy evaluator may need without resorting to module-level
40
- * globals. The shape is opaque to the platform — adapters narrow it.
41
- */
42
- services?: FabricRuntimeServices;
43
- /** Explicit code-policy catalog for this runtime; absence fails closed. */
44
- resolveCodePolicy?: (policyId: PolicyId) => PolicyEvaluator | undefined;
45
- }
46
- interface PolicyFact {
47
- name: string;
48
- value: unknown;
49
- label?: string;
50
- }
51
- type PolicyCorrectiveActionKind = "invoke_action" | "navigate" | "manual";
52
- interface PolicyCorrectiveActionBase {
53
- kind: PolicyCorrectiveActionKind;
54
- label: string;
55
- description?: string;
56
- requiresRole?: string[];
57
- requiresConfirmation?: boolean;
58
- }
59
- interface PolicyInvokeActionCorrectiveAction extends PolicyCorrectiveActionBase {
60
- kind: "invoke_action";
61
- actionId: ActionId;
62
- parameters?: Record<string, unknown>;
63
- }
64
- interface PolicyNavigateCorrectiveAction extends PolicyCorrectiveActionBase {
65
- kind: "navigate";
66
- route?: string;
67
- target?: {
68
- surface?: string;
69
- tab?: string;
70
- field?: string;
71
- };
72
- }
73
- interface PolicyManualCorrectiveAction extends PolicyCorrectiveActionBase {
74
- kind: "manual";
75
- }
76
- type PolicyCorrectiveAction = PolicyInvokeActionCorrectiveAction | PolicyNavigateCorrectiveAction | PolicyManualCorrectiveAction;
77
- interface PolicyGuidance {
78
- summary?: string;
79
- factsUsed: PolicyFact[];
80
- correctiveActions: PolicyCorrectiveAction[];
81
- }
82
- interface PolicyGuidanceValidationResult {
83
- valid: boolean;
84
- errors: string[];
85
- }
86
- declare function validatePolicyGuidance(guidance: unknown): PolicyGuidanceValidationResult;
87
- interface PolicyOutcome {
88
- policyId: PolicyId;
89
- policyVersion: number;
90
- policyKind?: PolicyKind;
91
- result: PolicyEvaluationResult;
92
- reason?: string;
93
- guidance?: PolicyGuidance;
94
- metadata?: Record<string, unknown>;
95
- dispatchEvidence?: PolicyDispatchEvidence;
96
- }
97
- interface PolicyEvaluator<TDb = unknown> {
98
- policyId: PolicyId;
99
- version: number;
100
- kind?: Extract<PolicyKind, "code">;
101
- previewSafe?: boolean;
102
- evaluate: (ctx: PolicyContext<TDb>) => Promise<PolicyOutcome>;
103
- }
104
- type DataPolicySource = "parameters" | "context";
105
- type DataPolicyLiteral = string | number | boolean | null;
106
- type DataPolicyComparisonOperator = "exists" | "equals" | "notEquals" | "gt" | "gte" | "lt" | "lte";
107
- interface DataPolicySourceReference {
108
- source: DataPolicySource;
109
- path: string;
110
- }
111
- type DataPolicyCondition = {
112
- conditionId: string;
113
- type: "always";
114
- result: PolicyEvaluationResult;
115
- reason?: string;
116
- } | {
117
- conditionId: string;
118
- type: "parameter";
119
- path: string;
120
- operator: DataPolicyComparisonOperator;
121
- value?: DataPolicyLiteral;
122
- onPass?: PolicyEvaluationResult;
123
- onFail?: PolicyEvaluationResult;
124
- reason?: string;
125
- } | {
126
- conditionId: string;
127
- type: "comparison";
128
- left: DataPolicySourceReference;
129
- operator: DataPolicyComparisonOperator;
130
- value?: DataPolicyLiteral;
131
- onPass?: PolicyEvaluationResult;
132
- onFail?: PolicyEvaluationResult;
133
- reason?: string;
134
- } | {
135
- conditionId: string;
136
- type: "all" | "any";
137
- conditions: DataPolicyCondition[];
138
- onPass?: PolicyEvaluationResult;
139
- onFail?: PolicyEvaluationResult;
140
- reason?: string;
141
- } | {
142
- conditionId: string;
143
- type: "not";
144
- condition: DataPolicyCondition;
145
- onPass?: PolicyEvaluationResult;
146
- onFail?: PolicyEvaluationResult;
147
- reason?: string;
148
- };
149
- interface DataPolicyDefinition {
150
- conditions: DataPolicyCondition[];
151
- defaultResult?: PolicyEvaluationResult;
152
- reason?: string;
153
- }
154
- interface DataPolicyValidationResult {
155
- valid: boolean;
156
- errors: string[];
157
- }
158
- interface PolicyFallbackDefinition {
159
- codeEvaluatorPolicyId: PolicyId;
160
- onResults?: PolicyEvaluationResult[];
161
- triggers?: PolicyFallbackTrigger[];
162
- reason?: string;
163
- }
164
- type PolicyFallbackTrigger = "data_result" | "missing_data_definition" | "invalid_data_definition";
165
- interface DataPolicyConditionResult {
166
- conditionId: string;
167
- passed: boolean;
168
- result: PolicyEvaluationResult;
169
- reason?: string;
170
- }
171
- /**
172
- * Opaque, consumer-defined reference to the immutable policy authority or
173
- * snapshot a runtime policy definition was resolved from. Platform records it
174
- * in dispatch evidence and does not interpret it.
175
- */
176
- interface PolicyAuthorityReference {
177
- snapshotId: string;
178
- contentHash?: string;
179
- }
180
- interface RuntimePolicyDefinition {
181
- policyId: PolicyId;
182
- policyVersion: number;
183
- kind: PolicyKind;
184
- /** Snapshot/authority this definition came from; copied into dispatch evidence. */
185
- authority?: PolicyAuthorityReference;
186
- dataDefinition?: DataPolicyDefinition;
187
- codeEvaluatorPolicyId?: PolicyId;
188
- fallback?: PolicyFallbackDefinition;
189
- }
190
- interface PolicyDispatchEvidence {
191
- policyKind: PolicyKind;
192
- policyId?: PolicyId;
193
- policyVersion?: number;
194
- /** Snapshot/authority the evaluated definition was resolved from, when supplied. */
195
- authority?: PolicyAuthorityReference;
196
- dispatchPath: Array<"data" | "code" | "fallback">;
197
- data?: {
198
- definitionVersion: number;
199
- definitionStatus: "evaluated" | "missing" | "invalid";
200
- conditionResults: DataPolicyConditionResult[];
201
- validationErrors?: string[];
202
- };
203
- code?: {
204
- requestedPolicyId?: PolicyId;
205
- policyId: PolicyId;
206
- version?: number;
207
- registered: boolean;
208
- skipped?: boolean;
209
- skipReason?: string;
210
- };
211
- fallback?: {
212
- used: boolean;
213
- trigger: PolicyFallbackTrigger | "not_triggered";
214
- reason: string;
215
- fromResult?: PolicyEvaluationResult;
216
- definitionVersion: number;
217
- codeEvaluatorPolicyId: PolicyId;
218
- };
219
- /**
220
- * Provenance for the engine that produced this decision when a code
221
- * evaluator delegates to an external policy engine (OPA, Cedar, Cerbos,
222
- * Topaz, etc.). Fabric's `policyId` / `policyVersion` remain canonical for
223
- * audit; this block carries deployment provenance (decision path, bundle
224
- * revision, decision ID, input hash). Adapters populate it; the platform
225
- * keeps `metadata` open-ended so engine-specific typing can live in the
226
- * adapter package.
227
- */
228
- engine?: {
229
- name: string;
230
- version?: string;
231
- metadata?: Record<string, unknown>;
232
- };
233
- }
234
- interface PolicyRegistry {
235
- register(evaluator: PolicyEvaluator): void;
236
- registerIfMissing(evaluator: PolicyEvaluator): void;
237
- resolve(policyId: PolicyId): PolicyEvaluator | undefined;
238
- ids(): PolicyId[];
239
- }
240
- declare function createPolicyRegistry(evaluators?: readonly PolicyEvaluator[]): PolicyRegistry;
241
- declare function evaluateRegisteredPolicies(policyIds: PolicyId[], ctx: PolicyContext): Promise<PolicyOutcome[]>;
242
- declare function evaluatePolicyDefinitions(policies: RuntimePolicyDefinition[], ctx: PolicyContext): Promise<PolicyOutcome[]>;
243
- declare function evaluatePolicyDefinition(policy: RuntimePolicyDefinition, ctx: PolicyContext): Promise<PolicyOutcome>;
244
- declare function validateDataPolicyDefinition(definition: DataPolicyDefinition): DataPolicyValidationResult;
245
- declare function aggregatePolicyOutcomes(outcomes: PolicyOutcome[]): PolicyOutcome | undefined;
246
-
247
- export { type DataPolicyComparisonOperator, type DataPolicyCondition, type DataPolicyConditionResult, type DataPolicyDefinition, type DataPolicyLiteral, type DataPolicySource, type DataPolicySourceReference, type DataPolicyValidationResult, type PolicyAuthorityReference, type PolicyContext, type PolicyCorrectiveAction, type PolicyCorrectiveActionBase, type PolicyCorrectiveActionKind, type PolicyDispatchEvidence, type PolicyEvaluationMode, type PolicyEvaluationResult, type PolicyEvaluator, type PolicyFact, type PolicyFallbackDefinition, type PolicyFallbackTrigger, type PolicyGuidance, type PolicyGuidanceValidationResult, type PolicyId, type PolicyInvokeActionCorrectiveAction, type PolicyKind, type PolicyManualCorrectiveAction, type PolicyNavigateCorrectiveAction, type PolicyOutcome, type PolicyRegistry, RetryableExecutionError, type RuntimePolicyDefinition, aggregatePolicyOutcomes, assertPolicyId, createPolicyRegistry, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, isRetryableExecutionError, validateDataPolicyDefinition, validatePolicyGuidance };
1
+ import { A as RuntimePolicyDefinition, B as isRetryableExecutionError, C as PolicyId, D as PolicyNavigateCorrectiveAction, E as PolicyManualCorrectiveAction, F as evaluatePolicyDefinitions, H as isReconciliationRequiredError, I as evaluateRegisteredPolicies, L as validateDataPolicyDefinition, M as assertPolicyId, N as createPolicyRegistry, O as PolicyOutcome, P as evaluatePolicyDefinition, R as validatePolicyGuidance, S as PolicyGuidanceValidationResult, T as PolicyKind, V as ReconciliationRequiredError, _ as PolicyEvaluator, a as DataPolicyLiteral, b as PolicyFallbackTrigger, c as DataPolicyValidationResult, d as PolicyCorrectiveAction, f as PolicyCorrectiveActionBase, g as PolicyEvaluationResult, h as PolicyEvaluationMode, i as DataPolicyDefinition, j as aggregatePolicyOutcomes, k as PolicyRegistry, l as PolicyAuthorityReference, m as PolicyDispatchEvidence, n as DataPolicyCondition, o as DataPolicySource, p as PolicyCorrectiveActionKind, r as DataPolicyConditionResult, s as DataPolicySourceReference, t as DataPolicyComparisonOperator, u as PolicyContext, v as PolicyFact, w as PolicyInvokeActionCorrectiveAction, x as PolicyGuidance, y as PolicyFallbackDefinition, z as RetryableExecutionError } from "../index-CVHA1ypT.cjs";
2
+ export { DataPolicyComparisonOperator, DataPolicyCondition, DataPolicyConditionResult, DataPolicyDefinition, DataPolicyLiteral, DataPolicySource, DataPolicySourceReference, DataPolicyValidationResult, PolicyAuthorityReference, PolicyContext, PolicyCorrectiveAction, PolicyCorrectiveActionBase, PolicyCorrectiveActionKind, PolicyDispatchEvidence, PolicyEvaluationMode, PolicyEvaluationResult, PolicyEvaluator, PolicyFact, PolicyFallbackDefinition, PolicyFallbackTrigger, PolicyGuidance, PolicyGuidanceValidationResult, PolicyId, PolicyInvokeActionCorrectiveAction, PolicyKind, PolicyManualCorrectiveAction, PolicyNavigateCorrectiveAction, PolicyOutcome, PolicyRegistry, ReconciliationRequiredError, RetryableExecutionError, RuntimePolicyDefinition, aggregatePolicyOutcomes, assertPolicyId, createPolicyRegistry, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, isReconciliationRequiredError, isRetryableExecutionError, validateDataPolicyDefinition, validatePolicyGuidance };
@@ -1,247 +1,2 @@
1
- import { ActorType, FabricRuntimeServices, ActionId } from '../actions/index.js';
2
- import '../discovery/index.js';
3
-
4
- /** A transient execution dependency failure; the host decides whether retry is safe. */
5
- declare class RetryableExecutionError extends Error {
6
- readonly name = "RetryableExecutionError";
7
- readonly code: "EXECUTION_RETRYABLE";
8
- constructor(message: string, options?: {
9
- cause?: unknown;
10
- });
11
- }
12
- /**
13
- * Recognise a RetryableExecutionError, including one constructed by a second
14
- * package copy (for example ESM and CommonJS builds loaded side by side).
15
- */
16
- declare function isRetryableExecutionError(error: unknown): error is RetryableExecutionError;
17
-
18
- type PolicyEvaluationResult = "pass" | "warn" | "block";
19
- type PolicyKind = "code" | "data" | "hybrid";
20
- type PolicyId = `${string}.v${number}`;
21
- type PolicyEvaluationMode = "preview" | "execute";
22
- declare function assertPolicyId(policyId: string): asserts policyId is PolicyId;
23
- interface PolicyContext<TDb = unknown> {
24
- tenantId: string;
25
- spaceId: string;
26
- actionInvocationId: string;
27
- actionId: string;
28
- /** Authenticated actor identity supplied by the host. Omitted only by legacy hosts and previews. */
29
- actorId?: string;
30
- actorType?: ActorType;
31
- parameters: unknown;
32
- db: TDb;
33
- now?: Date;
34
- mode?: PolicyEvaluationMode;
35
- /**
36
- * Optional runtime services bag, mirroring {@link FabricRuntimeServices} on
37
- * `ActionContext`. Lets the host inject dependencies (HTTP clients, secret
38
- * managers, external policy engines such as OPA, feature flags, etc.) that
39
- * a code policy evaluator may need without resorting to module-level
40
- * globals. The shape is opaque to the platform — adapters narrow it.
41
- */
42
- services?: FabricRuntimeServices;
43
- /** Explicit code-policy catalog for this runtime; absence fails closed. */
44
- resolveCodePolicy?: (policyId: PolicyId) => PolicyEvaluator | undefined;
45
- }
46
- interface PolicyFact {
47
- name: string;
48
- value: unknown;
49
- label?: string;
50
- }
51
- type PolicyCorrectiveActionKind = "invoke_action" | "navigate" | "manual";
52
- interface PolicyCorrectiveActionBase {
53
- kind: PolicyCorrectiveActionKind;
54
- label: string;
55
- description?: string;
56
- requiresRole?: string[];
57
- requiresConfirmation?: boolean;
58
- }
59
- interface PolicyInvokeActionCorrectiveAction extends PolicyCorrectiveActionBase {
60
- kind: "invoke_action";
61
- actionId: ActionId;
62
- parameters?: Record<string, unknown>;
63
- }
64
- interface PolicyNavigateCorrectiveAction extends PolicyCorrectiveActionBase {
65
- kind: "navigate";
66
- route?: string;
67
- target?: {
68
- surface?: string;
69
- tab?: string;
70
- field?: string;
71
- };
72
- }
73
- interface PolicyManualCorrectiveAction extends PolicyCorrectiveActionBase {
74
- kind: "manual";
75
- }
76
- type PolicyCorrectiveAction = PolicyInvokeActionCorrectiveAction | PolicyNavigateCorrectiveAction | PolicyManualCorrectiveAction;
77
- interface PolicyGuidance {
78
- summary?: string;
79
- factsUsed: PolicyFact[];
80
- correctiveActions: PolicyCorrectiveAction[];
81
- }
82
- interface PolicyGuidanceValidationResult {
83
- valid: boolean;
84
- errors: string[];
85
- }
86
- declare function validatePolicyGuidance(guidance: unknown): PolicyGuidanceValidationResult;
87
- interface PolicyOutcome {
88
- policyId: PolicyId;
89
- policyVersion: number;
90
- policyKind?: PolicyKind;
91
- result: PolicyEvaluationResult;
92
- reason?: string;
93
- guidance?: PolicyGuidance;
94
- metadata?: Record<string, unknown>;
95
- dispatchEvidence?: PolicyDispatchEvidence;
96
- }
97
- interface PolicyEvaluator<TDb = unknown> {
98
- policyId: PolicyId;
99
- version: number;
100
- kind?: Extract<PolicyKind, "code">;
101
- previewSafe?: boolean;
102
- evaluate: (ctx: PolicyContext<TDb>) => Promise<PolicyOutcome>;
103
- }
104
- type DataPolicySource = "parameters" | "context";
105
- type DataPolicyLiteral = string | number | boolean | null;
106
- type DataPolicyComparisonOperator = "exists" | "equals" | "notEquals" | "gt" | "gte" | "lt" | "lte";
107
- interface DataPolicySourceReference {
108
- source: DataPolicySource;
109
- path: string;
110
- }
111
- type DataPolicyCondition = {
112
- conditionId: string;
113
- type: "always";
114
- result: PolicyEvaluationResult;
115
- reason?: string;
116
- } | {
117
- conditionId: string;
118
- type: "parameter";
119
- path: string;
120
- operator: DataPolicyComparisonOperator;
121
- value?: DataPolicyLiteral;
122
- onPass?: PolicyEvaluationResult;
123
- onFail?: PolicyEvaluationResult;
124
- reason?: string;
125
- } | {
126
- conditionId: string;
127
- type: "comparison";
128
- left: DataPolicySourceReference;
129
- operator: DataPolicyComparisonOperator;
130
- value?: DataPolicyLiteral;
131
- onPass?: PolicyEvaluationResult;
132
- onFail?: PolicyEvaluationResult;
133
- reason?: string;
134
- } | {
135
- conditionId: string;
136
- type: "all" | "any";
137
- conditions: DataPolicyCondition[];
138
- onPass?: PolicyEvaluationResult;
139
- onFail?: PolicyEvaluationResult;
140
- reason?: string;
141
- } | {
142
- conditionId: string;
143
- type: "not";
144
- condition: DataPolicyCondition;
145
- onPass?: PolicyEvaluationResult;
146
- onFail?: PolicyEvaluationResult;
147
- reason?: string;
148
- };
149
- interface DataPolicyDefinition {
150
- conditions: DataPolicyCondition[];
151
- defaultResult?: PolicyEvaluationResult;
152
- reason?: string;
153
- }
154
- interface DataPolicyValidationResult {
155
- valid: boolean;
156
- errors: string[];
157
- }
158
- interface PolicyFallbackDefinition {
159
- codeEvaluatorPolicyId: PolicyId;
160
- onResults?: PolicyEvaluationResult[];
161
- triggers?: PolicyFallbackTrigger[];
162
- reason?: string;
163
- }
164
- type PolicyFallbackTrigger = "data_result" | "missing_data_definition" | "invalid_data_definition";
165
- interface DataPolicyConditionResult {
166
- conditionId: string;
167
- passed: boolean;
168
- result: PolicyEvaluationResult;
169
- reason?: string;
170
- }
171
- /**
172
- * Opaque, consumer-defined reference to the immutable policy authority or
173
- * snapshot a runtime policy definition was resolved from. Platform records it
174
- * in dispatch evidence and does not interpret it.
175
- */
176
- interface PolicyAuthorityReference {
177
- snapshotId: string;
178
- contentHash?: string;
179
- }
180
- interface RuntimePolicyDefinition {
181
- policyId: PolicyId;
182
- policyVersion: number;
183
- kind: PolicyKind;
184
- /** Snapshot/authority this definition came from; copied into dispatch evidence. */
185
- authority?: PolicyAuthorityReference;
186
- dataDefinition?: DataPolicyDefinition;
187
- codeEvaluatorPolicyId?: PolicyId;
188
- fallback?: PolicyFallbackDefinition;
189
- }
190
- interface PolicyDispatchEvidence {
191
- policyKind: PolicyKind;
192
- policyId?: PolicyId;
193
- policyVersion?: number;
194
- /** Snapshot/authority the evaluated definition was resolved from, when supplied. */
195
- authority?: PolicyAuthorityReference;
196
- dispatchPath: Array<"data" | "code" | "fallback">;
197
- data?: {
198
- definitionVersion: number;
199
- definitionStatus: "evaluated" | "missing" | "invalid";
200
- conditionResults: DataPolicyConditionResult[];
201
- validationErrors?: string[];
202
- };
203
- code?: {
204
- requestedPolicyId?: PolicyId;
205
- policyId: PolicyId;
206
- version?: number;
207
- registered: boolean;
208
- skipped?: boolean;
209
- skipReason?: string;
210
- };
211
- fallback?: {
212
- used: boolean;
213
- trigger: PolicyFallbackTrigger | "not_triggered";
214
- reason: string;
215
- fromResult?: PolicyEvaluationResult;
216
- definitionVersion: number;
217
- codeEvaluatorPolicyId: PolicyId;
218
- };
219
- /**
220
- * Provenance for the engine that produced this decision when a code
221
- * evaluator delegates to an external policy engine (OPA, Cedar, Cerbos,
222
- * Topaz, etc.). Fabric's `policyId` / `policyVersion` remain canonical for
223
- * audit; this block carries deployment provenance (decision path, bundle
224
- * revision, decision ID, input hash). Adapters populate it; the platform
225
- * keeps `metadata` open-ended so engine-specific typing can live in the
226
- * adapter package.
227
- */
228
- engine?: {
229
- name: string;
230
- version?: string;
231
- metadata?: Record<string, unknown>;
232
- };
233
- }
234
- interface PolicyRegistry {
235
- register(evaluator: PolicyEvaluator): void;
236
- registerIfMissing(evaluator: PolicyEvaluator): void;
237
- resolve(policyId: PolicyId): PolicyEvaluator | undefined;
238
- ids(): PolicyId[];
239
- }
240
- declare function createPolicyRegistry(evaluators?: readonly PolicyEvaluator[]): PolicyRegistry;
241
- declare function evaluateRegisteredPolicies(policyIds: PolicyId[], ctx: PolicyContext): Promise<PolicyOutcome[]>;
242
- declare function evaluatePolicyDefinitions(policies: RuntimePolicyDefinition[], ctx: PolicyContext): Promise<PolicyOutcome[]>;
243
- declare function evaluatePolicyDefinition(policy: RuntimePolicyDefinition, ctx: PolicyContext): Promise<PolicyOutcome>;
244
- declare function validateDataPolicyDefinition(definition: DataPolicyDefinition): DataPolicyValidationResult;
245
- declare function aggregatePolicyOutcomes(outcomes: PolicyOutcome[]): PolicyOutcome | undefined;
246
-
247
- export { type DataPolicyComparisonOperator, type DataPolicyCondition, type DataPolicyConditionResult, type DataPolicyDefinition, type DataPolicyLiteral, type DataPolicySource, type DataPolicySourceReference, type DataPolicyValidationResult, type PolicyAuthorityReference, type PolicyContext, type PolicyCorrectiveAction, type PolicyCorrectiveActionBase, type PolicyCorrectiveActionKind, type PolicyDispatchEvidence, type PolicyEvaluationMode, type PolicyEvaluationResult, type PolicyEvaluator, type PolicyFact, type PolicyFallbackDefinition, type PolicyFallbackTrigger, type PolicyGuidance, type PolicyGuidanceValidationResult, type PolicyId, type PolicyInvokeActionCorrectiveAction, type PolicyKind, type PolicyManualCorrectiveAction, type PolicyNavigateCorrectiveAction, type PolicyOutcome, type PolicyRegistry, RetryableExecutionError, type RuntimePolicyDefinition, aggregatePolicyOutcomes, assertPolicyId, createPolicyRegistry, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, isRetryableExecutionError, validateDataPolicyDefinition, validatePolicyGuidance };
1
+ import { A as RuntimePolicyDefinition, B as isRetryableExecutionError, C as PolicyId, D as PolicyNavigateCorrectiveAction, E as PolicyManualCorrectiveAction, F as evaluatePolicyDefinitions, H as isReconciliationRequiredError, I as evaluateRegisteredPolicies, L as validateDataPolicyDefinition, M as assertPolicyId, N as createPolicyRegistry, O as PolicyOutcome, P as evaluatePolicyDefinition, R as validatePolicyGuidance, S as PolicyGuidanceValidationResult, T as PolicyKind, V as ReconciliationRequiredError, _ as PolicyEvaluator, a as DataPolicyLiteral, b as PolicyFallbackTrigger, c as DataPolicyValidationResult, d as PolicyCorrectiveAction, f as PolicyCorrectiveActionBase, g as PolicyEvaluationResult, h as PolicyEvaluationMode, i as DataPolicyDefinition, j as aggregatePolicyOutcomes, k as PolicyRegistry, l as PolicyAuthorityReference, m as PolicyDispatchEvidence, n as DataPolicyCondition, o as DataPolicySource, p as PolicyCorrectiveActionKind, r as DataPolicyConditionResult, s as DataPolicySourceReference, t as DataPolicyComparisonOperator, u as PolicyContext, v as PolicyFact, w as PolicyInvokeActionCorrectiveAction, x as PolicyGuidance, y as PolicyFallbackDefinition, z as RetryableExecutionError } from "../index-sPUPs8pr.js";
2
+ export { DataPolicyComparisonOperator, DataPolicyCondition, DataPolicyConditionResult, DataPolicyDefinition, DataPolicyLiteral, DataPolicySource, DataPolicySourceReference, DataPolicyValidationResult, PolicyAuthorityReference, PolicyContext, PolicyCorrectiveAction, PolicyCorrectiveActionBase, PolicyCorrectiveActionKind, PolicyDispatchEvidence, PolicyEvaluationMode, PolicyEvaluationResult, PolicyEvaluator, PolicyFact, PolicyFallbackDefinition, PolicyFallbackTrigger, PolicyGuidance, PolicyGuidanceValidationResult, PolicyId, PolicyInvokeActionCorrectiveAction, PolicyKind, PolicyManualCorrectiveAction, PolicyNavigateCorrectiveAction, PolicyOutcome, PolicyRegistry, ReconciliationRequiredError, RetryableExecutionError, RuntimePolicyDefinition, aggregatePolicyOutcomes, assertPolicyId, createPolicyRegistry, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, isReconciliationRequiredError, isRetryableExecutionError, validateDataPolicyDefinition, validatePolicyGuidance };
@@ -1,3 +1 @@
1
- export { RetryableExecutionError, aggregatePolicyOutcomes, assertPolicyId, createPolicyRegistry, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, isRetryableExecutionError, validateDataPolicyDefinition, validatePolicyGuidance } from '../chunk-AFXFAEWA.js';
2
- //# sourceMappingURL=index.js.map
3
- //# sourceMappingURL=index.js.map
1
+ export { d as ReconciliationRequiredError, l as RetryableExecutionError, t as aggregatePolicyOutcomes, n as assertPolicyId, r as createPolicyRegistry, i as evaluatePolicyDefinition, a as evaluatePolicyDefinitions, o as evaluateRegisteredPolicies, f as isReconciliationRequiredError, u as isRetryableExecutionError, s as validateDataPolicyDefinition, c as validatePolicyGuidance } from "../policies-DH_GCXQ-.js";