@fabricorg/platform 1.10.0 → 1.10.2

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