@vorionsys/atsf-core 0.2.0 → 0.2.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 (215) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/LICENSE +190 -0
  3. package/README.md +305 -181
  4. package/dist/api/server.d.ts.map +1 -1
  5. package/dist/api/server.js +86 -4
  6. package/dist/api/server.js.map +1 -1
  7. package/dist/basis/parser.d.ts +210 -210
  8. package/dist/basis/parser.js.map +1 -1
  9. package/dist/chain/index.d.ts +147 -0
  10. package/dist/chain/index.d.ts.map +1 -0
  11. package/dist/chain/index.js +219 -0
  12. package/dist/chain/index.js.map +1 -0
  13. package/dist/common/adapters.d.ts +9 -9
  14. package/dist/common/adapters.d.ts.map +1 -1
  15. package/dist/common/adapters.js +6 -6
  16. package/dist/common/config.d.ts +152 -152
  17. package/dist/common/types.d.ts +35 -15
  18. package/dist/common/types.d.ts.map +1 -1
  19. package/dist/common/types.js.map +1 -1
  20. package/dist/enforce/index.d.ts +226 -16
  21. package/dist/enforce/index.d.ts.map +1 -1
  22. package/dist/enforce/index.js +196 -49
  23. package/dist/enforce/index.js.map +1 -1
  24. package/dist/governance/index.d.ts +2 -0
  25. package/dist/governance/index.d.ts.map +1 -1
  26. package/dist/governance/index.js +1 -0
  27. package/dist/governance/index.js.map +1 -1
  28. package/dist/governance/proof-bridge.d.ts +86 -0
  29. package/dist/governance/proof-bridge.d.ts.map +1 -0
  30. package/dist/governance/proof-bridge.js +139 -0
  31. package/dist/governance/proof-bridge.js.map +1 -0
  32. package/dist/index.d.ts +11 -4
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +17 -4
  35. package/dist/index.js.map +1 -1
  36. package/dist/intent/index.d.ts +127 -10
  37. package/dist/intent/index.d.ts.map +1 -1
  38. package/dist/intent/index.js +121 -16
  39. package/dist/intent/index.js.map +1 -1
  40. package/dist/langchain/executor.d.ts +19 -5
  41. package/dist/langchain/executor.d.ts.map +1 -1
  42. package/dist/langchain/executor.js +287 -36
  43. package/dist/langchain/executor.js.map +1 -1
  44. package/dist/langchain/index.d.ts +2 -1
  45. package/dist/langchain/index.d.ts.map +1 -1
  46. package/dist/langchain/index.js +3 -1
  47. package/dist/langchain/index.js.map +1 -1
  48. package/dist/langchain/tools.d.ts.map +1 -1
  49. package/dist/langchain/tools.js +2 -1
  50. package/dist/langchain/tools.js.map +1 -1
  51. package/dist/langchain/types.d.ts +41 -0
  52. package/dist/langchain/types.d.ts.map +1 -1
  53. package/dist/layers/index.d.ts +1 -1
  54. package/dist/layers/index.d.ts.map +1 -1
  55. package/dist/persistence/file.d.ts +35 -3
  56. package/dist/persistence/file.d.ts.map +1 -1
  57. package/dist/persistence/file.js +138 -11
  58. package/dist/persistence/file.js.map +1 -1
  59. package/dist/persistence/index.d.ts +10 -1
  60. package/dist/persistence/index.d.ts.map +1 -1
  61. package/dist/persistence/index.js +15 -1
  62. package/dist/persistence/index.js.map +1 -1
  63. package/dist/persistence/sqlite.d.ts +135 -0
  64. package/dist/persistence/sqlite.d.ts.map +1 -0
  65. package/dist/persistence/sqlite.js +372 -0
  66. package/dist/persistence/sqlite.js.map +1 -0
  67. package/dist/phase6/ceiling.d.ts +177 -0
  68. package/dist/phase6/ceiling.d.ts.map +1 -0
  69. package/dist/phase6/ceiling.js +463 -0
  70. package/dist/phase6/ceiling.js.map +1 -0
  71. package/dist/phase6/context.d.ts +207 -0
  72. package/dist/phase6/context.d.ts.map +1 -0
  73. package/dist/phase6/context.js +603 -0
  74. package/dist/phase6/context.js.map +1 -0
  75. package/dist/phase6/index.d.ts +79 -0
  76. package/dist/phase6/index.d.ts.map +1 -0
  77. package/dist/phase6/index.js +152 -0
  78. package/dist/phase6/index.js.map +1 -0
  79. package/dist/phase6/presets.d.ts +148 -0
  80. package/dist/phase6/presets.d.ts.map +1 -0
  81. package/dist/phase6/presets.js +467 -0
  82. package/dist/phase6/presets.js.map +1 -0
  83. package/dist/phase6/provenance.d.ts +148 -0
  84. package/dist/phase6/provenance.d.ts.map +1 -0
  85. package/dist/phase6/provenance.js +545 -0
  86. package/dist/phase6/provenance.js.map +1 -0
  87. package/dist/phase6/role-gates/index.d.ts +7 -0
  88. package/dist/phase6/role-gates/index.d.ts.map +1 -0
  89. package/dist/phase6/role-gates/index.js +7 -0
  90. package/dist/phase6/role-gates/index.js.map +1 -0
  91. package/dist/phase6/role-gates/kernel.d.ts +84 -0
  92. package/dist/phase6/role-gates/kernel.d.ts.map +1 -0
  93. package/dist/phase6/role-gates/kernel.js +258 -0
  94. package/dist/phase6/role-gates/kernel.js.map +1 -0
  95. package/dist/phase6/role-gates/policy.d.ts +110 -0
  96. package/dist/phase6/role-gates/policy.d.ts.map +1 -0
  97. package/dist/phase6/role-gates/policy.js +157 -0
  98. package/dist/phase6/role-gates/policy.js.map +1 -0
  99. package/dist/phase6/role-gates.d.ts +164 -0
  100. package/dist/phase6/role-gates.d.ts.map +1 -0
  101. package/dist/phase6/role-gates.js +536 -0
  102. package/dist/phase6/role-gates.js.map +1 -0
  103. package/dist/phase6/types.d.ts +1829 -0
  104. package/dist/phase6/types.d.ts.map +1 -0
  105. package/dist/phase6/types.js +452 -0
  106. package/dist/phase6/types.js.map +1 -0
  107. package/dist/phase6/weight-presets/canonical.d.ts +93 -0
  108. package/dist/phase6/weight-presets/canonical.d.ts.map +1 -0
  109. package/dist/phase6/weight-presets/canonical.js +122 -0
  110. package/dist/phase6/weight-presets/canonical.js.map +1 -0
  111. package/dist/phase6/weight-presets/deltas.d.ts +144 -0
  112. package/dist/phase6/weight-presets/deltas.d.ts.map +1 -0
  113. package/dist/phase6/weight-presets/deltas.js +184 -0
  114. package/dist/phase6/weight-presets/deltas.js.map +1 -0
  115. package/dist/phase6/weight-presets/index.d.ts +8 -0
  116. package/dist/phase6/weight-presets/index.d.ts.map +1 -0
  117. package/dist/phase6/weight-presets/index.js +8 -0
  118. package/dist/phase6/weight-presets/index.js.map +1 -0
  119. package/dist/phase6/weight-presets/merger.d.ts +79 -0
  120. package/dist/phase6/weight-presets/merger.d.ts.map +1 -0
  121. package/dist/phase6/weight-presets/merger.js +161 -0
  122. package/dist/phase6/weight-presets/merger.js.map +1 -0
  123. package/dist/proof/index.d.ts +6 -0
  124. package/dist/proof/index.d.ts.map +1 -1
  125. package/dist/proof/index.js +56 -6
  126. package/dist/proof/index.js.map +1 -1
  127. package/dist/proof/merkle.d.ts +195 -0
  128. package/dist/proof/merkle.d.ts.map +1 -0
  129. package/dist/proof/merkle.js +412 -0
  130. package/dist/proof/merkle.js.map +1 -0
  131. package/dist/proof/zk-proofs.d.ts +218 -0
  132. package/dist/proof/zk-proofs.d.ts.map +1 -0
  133. package/dist/proof/zk-proofs.js +531 -0
  134. package/dist/proof/zk-proofs.js.map +1 -0
  135. package/dist/sandbox-training/challenges.d.ts +16 -0
  136. package/dist/sandbox-training/challenges.d.ts.map +1 -0
  137. package/dist/sandbox-training/challenges.js +561 -0
  138. package/dist/sandbox-training/challenges.js.map +1 -0
  139. package/dist/sandbox-training/graduation.d.ts +25 -0
  140. package/dist/sandbox-training/graduation.d.ts.map +1 -0
  141. package/dist/sandbox-training/graduation.js +143 -0
  142. package/dist/sandbox-training/graduation.js.map +1 -0
  143. package/dist/sandbox-training/index.d.ts +19 -0
  144. package/dist/sandbox-training/index.d.ts.map +1 -0
  145. package/dist/sandbox-training/index.js +22 -0
  146. package/dist/sandbox-training/index.js.map +1 -0
  147. package/dist/sandbox-training/promotion-service.d.ts +76 -0
  148. package/dist/sandbox-training/promotion-service.d.ts.map +1 -0
  149. package/dist/sandbox-training/promotion-service.js +117 -0
  150. package/dist/sandbox-training/promotion-service.js.map +1 -0
  151. package/dist/sandbox-training/runner.d.ts +58 -0
  152. package/dist/sandbox-training/runner.d.ts.map +1 -0
  153. package/dist/sandbox-training/runner.js +388 -0
  154. package/dist/sandbox-training/runner.js.map +1 -0
  155. package/dist/sandbox-training/scorer.d.ts +40 -0
  156. package/dist/sandbox-training/scorer.d.ts.map +1 -0
  157. package/dist/sandbox-training/scorer.js +79 -0
  158. package/dist/sandbox-training/scorer.js.map +1 -0
  159. package/dist/sandbox-training/types.d.ts +162 -0
  160. package/dist/sandbox-training/types.d.ts.map +1 -0
  161. package/dist/sandbox-training/types.js +32 -0
  162. package/dist/sandbox-training/types.js.map +1 -0
  163. package/dist/trust-engine/ceiling-enforcement/audit.d.ts +98 -0
  164. package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -0
  165. package/dist/trust-engine/ceiling-enforcement/audit.js +160 -0
  166. package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -0
  167. package/dist/trust-engine/ceiling-enforcement/index.d.ts +6 -0
  168. package/dist/trust-engine/ceiling-enforcement/index.d.ts.map +1 -0
  169. package/dist/trust-engine/ceiling-enforcement/index.js +6 -0
  170. package/dist/trust-engine/ceiling-enforcement/index.js.map +1 -0
  171. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +112 -0
  172. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -0
  173. package/dist/trust-engine/ceiling-enforcement/kernel.js +158 -0
  174. package/dist/trust-engine/ceiling-enforcement/kernel.js.map +1 -0
  175. package/dist/trust-engine/context-policy/enforcement.d.ts +62 -0
  176. package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -0
  177. package/dist/trust-engine/context-policy/enforcement.js +104 -0
  178. package/dist/trust-engine/context-policy/enforcement.js.map +1 -0
  179. package/dist/trust-engine/context-policy/factory.d.ts +75 -0
  180. package/dist/trust-engine/context-policy/factory.d.ts.map +1 -0
  181. package/dist/trust-engine/context-policy/factory.js +130 -0
  182. package/dist/trust-engine/context-policy/factory.js.map +1 -0
  183. package/dist/trust-engine/context-policy/index.d.ts +6 -0
  184. package/dist/trust-engine/context-policy/index.d.ts.map +1 -0
  185. package/dist/trust-engine/context-policy/index.js +6 -0
  186. package/dist/trust-engine/context-policy/index.js.map +1 -0
  187. package/dist/trust-engine/creation-modifiers/index.d.ts +5 -0
  188. package/dist/trust-engine/creation-modifiers/index.d.ts.map +1 -0
  189. package/dist/trust-engine/creation-modifiers/index.js +5 -0
  190. package/dist/trust-engine/creation-modifiers/index.js.map +1 -0
  191. package/dist/trust-engine/creation-modifiers/types.d.ts +112 -0
  192. package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -0
  193. package/dist/trust-engine/creation-modifiers/types.js +166 -0
  194. package/dist/trust-engine/creation-modifiers/types.js.map +1 -0
  195. package/dist/trust-engine/index.d.ts +54 -1
  196. package/dist/trust-engine/index.d.ts.map +1 -1
  197. package/dist/trust-engine/index.js +118 -1
  198. package/dist/trust-engine/index.js.map +1 -1
  199. package/dist/trust-engine/phase6-types.d.ts +123 -0
  200. package/dist/trust-engine/phase6-types.d.ts.map +1 -0
  201. package/dist/trust-engine/phase6-types.js +88 -0
  202. package/dist/trust-engine/phase6-types.js.map +1 -0
  203. package/package.json +42 -12
  204. package/dist/audit/key-manager.d.ts +0 -118
  205. package/dist/audit/key-manager.d.ts.map +0 -1
  206. package/dist/audit/key-manager.js +0 -565
  207. package/dist/audit/key-manager.js.map +0 -1
  208. package/dist/carbon-aware/carbon-metrics.d.ts +0 -151
  209. package/dist/carbon-aware/carbon-metrics.d.ts.map +0 -1
  210. package/dist/carbon-aware/carbon-metrics.js +0 -370
  211. package/dist/carbon-aware/carbon-metrics.js.map +0 -1
  212. package/dist/carbon-aware/carbon-router.d.ts +0 -101
  213. package/dist/carbon-aware/carbon-router.d.ts.map +0 -1
  214. package/dist/carbon-aware/carbon-router.js +0 -400
  215. package/dist/carbon-aware/carbon-router.js.map +0 -1
@@ -1,12 +1,166 @@
1
1
  /**
2
- * ENFORCE - Policy Decision Point
2
+ * ENFORCE - Policy Decision Point with Fluid Governance (SDK Package)
3
3
  *
4
4
  * Makes enforcement decisions based on rule evaluations and trust levels.
5
+ * Supports three-tier fluid governance (GREEN/YELLOW/RED) with refinement
6
+ * options for agents to modify requests.
7
+ *
8
+ * For production use with persistence, use the full implementation from the
9
+ * vorion core package. This SDK package provides:
10
+ * - Type definitions aligned with @vorion/contracts
11
+ * - In-memory mock for testing
12
+ * - Interface definitions for custom implementations
5
13
  *
6
14
  * @packageDocumentation
7
15
  */
8
- import type { Intent, Decision, ControlAction, TrustLevel, TrustScore } from '../common/types.js';
16
+ import type { Intent, ControlAction, TrustLevel, TrustScore, ID, Timestamp } from '../common/types.js';
9
17
  import type { EvaluationResult } from '../basis/types.js';
18
+ /**
19
+ * Decision tier for three-tier fluid governance
20
+ *
21
+ * - GREEN: Approved with constraints - proceed immediately
22
+ * - YELLOW: Requires refinement or review - can be upgraded
23
+ * - RED: Denied - hard policy violation
24
+ */
25
+ export type DecisionTier = 'GREEN' | 'YELLOW' | 'RED';
26
+ /**
27
+ * Rate limit constraint
28
+ */
29
+ export interface RateLimit {
30
+ resource: string;
31
+ limit: number;
32
+ windowSeconds: number;
33
+ }
34
+ /**
35
+ * Approval requirement
36
+ */
37
+ export interface ApprovalRequirement {
38
+ type: 'none' | 'human_review' | 'automated_check' | 'multi_party';
39
+ approver: string;
40
+ timeoutMs?: number;
41
+ reason: string;
42
+ }
43
+ /**
44
+ * Constraints applied to permitted decisions
45
+ */
46
+ export interface DecisionConstraints {
47
+ /** Tools/capabilities the agent can use */
48
+ allowedTools: string[];
49
+ /** Data scopes the agent can access */
50
+ dataScopes: string[];
51
+ /** Rate limits to enforce */
52
+ rateLimits: RateLimit[];
53
+ /** Required approvals before execution */
54
+ requiredApprovals: ApprovalRequirement[];
55
+ /** Must action be reversible? */
56
+ reversibilityRequired: boolean;
57
+ /** Maximum execution time in ms */
58
+ maxExecutionTimeMs?: number;
59
+ /** Maximum retry attempts */
60
+ maxRetries?: number;
61
+ /** Resource quotas */
62
+ resourceQuotas?: Record<string, number>;
63
+ }
64
+ /**
65
+ * Refinement action types for YELLOW decisions
66
+ */
67
+ export type RefinementAction = 'REDUCE_SCOPE' | 'ADD_CONSTRAINTS' | 'REQUEST_APPROVAL' | 'PROVIDE_CONTEXT' | 'DECOMPOSE' | 'WAIT_FOR_TRUST';
68
+ /**
69
+ * Refinement option for YELLOW decisions
70
+ */
71
+ export interface RefinementOption {
72
+ id: ID;
73
+ action: RefinementAction;
74
+ description: string;
75
+ successProbability: number;
76
+ effort: 'low' | 'medium' | 'high';
77
+ parameters?: Record<string, unknown>;
78
+ resultingConstraints?: Partial<DecisionConstraints>;
79
+ }
80
+ /**
81
+ * Fluid decision with three-tier governance
82
+ */
83
+ export interface FluidDecision {
84
+ /** Unique decision identifier */
85
+ id: ID;
86
+ /** Tenant identifier */
87
+ tenantId: ID;
88
+ /** Intent this decision is for */
89
+ intentId: ID;
90
+ /** Agent who made the request */
91
+ agentId: ID;
92
+ /** Correlation ID for tracing */
93
+ correlationId: ID;
94
+ /** Decision tier (GREEN/YELLOW/RED) */
95
+ tier: DecisionTier;
96
+ /** Whether the intent is permitted (GREEN=true, others=false) */
97
+ permitted: boolean;
98
+ /** Trust band at decision time (T0-T7) */
99
+ trustBand: string;
100
+ /** Trust score at decision time */
101
+ trustScore: number;
102
+ /** Human-readable reasoning */
103
+ reasoning: string[];
104
+ /** Constraints for GREEN decisions */
105
+ constraints?: DecisionConstraints;
106
+ /** Refinement options for YELLOW decisions */
107
+ refinementOptions?: RefinementOption[];
108
+ /** Deadline to submit refinement */
109
+ refinementDeadline?: Timestamp;
110
+ /** Maximum refinement attempts */
111
+ maxRefinementAttempts?: number;
112
+ /** Current refinement attempt */
113
+ refinementAttempt: number;
114
+ /** For RED: denial reason */
115
+ denialReason?: string;
116
+ /** For RED: is this a hard denial? */
117
+ hardDenial?: boolean;
118
+ /** For RED: violated policies */
119
+ violatedPolicies?: Array<{
120
+ policyId: string;
121
+ policyName: string;
122
+ severity: 'warning' | 'error' | 'critical';
123
+ }>;
124
+ /** When decision was made */
125
+ decidedAt: Timestamp;
126
+ /** When decision expires */
127
+ expiresAt: Timestamp;
128
+ /** Decision latency in ms */
129
+ latencyMs: number;
130
+ }
131
+ /**
132
+ * Workflow state for intent lifecycle
133
+ */
134
+ export type WorkflowState = 'SUBMITTED' | 'EVALUATING' | 'APPROVED' | 'PENDING_REFINEMENT' | 'PENDING_REVIEW' | 'DENIED' | 'EXECUTING' | 'COMPLETED' | 'FAILED' | 'CANCELLED' | 'EXPIRED';
135
+ /**
136
+ * Workflow instance tracking intent lifecycle
137
+ */
138
+ export interface WorkflowInstance {
139
+ id: ID;
140
+ tenantId: ID;
141
+ intentId: ID;
142
+ agentId: ID;
143
+ correlationId: ID;
144
+ state: WorkflowState;
145
+ currentDecisionId?: ID;
146
+ stateHistory: Array<{
147
+ from: WorkflowState;
148
+ to: WorkflowState;
149
+ reason: string;
150
+ timestamp: Timestamp;
151
+ }>;
152
+ execution?: {
153
+ executionId: string;
154
+ startedAt: Timestamp;
155
+ completedAt?: Timestamp;
156
+ status: 'running' | 'completed' | 'failed';
157
+ result?: unknown;
158
+ error?: string;
159
+ };
160
+ createdAt: Timestamp;
161
+ updatedAt: Timestamp;
162
+ expiresAt: Timestamp;
163
+ }
10
164
  /**
11
165
  * Enforcement context combining intent and evaluation results
12
166
  */
@@ -15,14 +169,33 @@ export interface EnforcementContext {
15
169
  evaluation: EvaluationResult;
16
170
  trustScore: TrustScore;
17
171
  trustLevel: TrustLevel;
172
+ tenantId: ID;
173
+ correlationId?: ID;
18
174
  }
19
175
  /**
20
176
  * Enforcement policy configuration
21
177
  */
22
178
  export interface EnforcementPolicy {
179
+ /** Default action when no rules match */
23
180
  defaultAction: ControlAction;
181
+ /** Minimum trust level required */
24
182
  requireMinTrustLevel?: TrustLevel;
183
+ /** Trust level thresholds for automatic decisions */
184
+ trustThresholds?: {
185
+ autoApproveLevel: TrustLevel;
186
+ requireRefinementLevel: TrustLevel;
187
+ autoDenyLevel: TrustLevel;
188
+ };
189
+ /** Escalation rules */
25
190
  escalationRules?: EscalationRule[];
191
+ /** Default constraints for GREEN decisions */
192
+ defaultConstraints?: Partial<DecisionConstraints>;
193
+ /** Decision expiration time in milliseconds */
194
+ decisionExpirationMs?: number;
195
+ /** Refinement deadline in milliseconds */
196
+ refinementDeadlineMs?: number;
197
+ /** Maximum refinement attempts */
198
+ maxRefinementAttempts?: number;
26
199
  }
27
200
  /**
28
201
  * Escalation rule definition
@@ -31,28 +204,65 @@ export interface EscalationRule {
31
204
  condition: string;
32
205
  escalateTo: string;
33
206
  timeout: string;
207
+ reasonCategory?: 'trust_insufficient' | 'high_risk' | 'policy_violation' | 'manual_review';
208
+ }
209
+ /**
210
+ * Fluid decision result
211
+ */
212
+ export interface FluidDecisionResult {
213
+ decision: FluidDecision;
214
+ workflow: WorkflowInstance;
215
+ tier: DecisionTier;
216
+ refinementOptions?: RefinementOption[];
217
+ }
218
+ /**
219
+ * Refinement request
220
+ */
221
+ export interface RefinementRequest {
222
+ decisionId: ID;
223
+ selectedRefinements: ID[];
224
+ refinementContext?: Record<string, unknown>;
225
+ }
226
+ /**
227
+ * Interface for enforcement service implementations
228
+ */
229
+ export interface IEnforcementService {
230
+ decide(context: EnforcementContext): Promise<FluidDecisionResult>;
231
+ refine(request: RefinementRequest, tenantId: ID): Promise<FluidDecisionResult | null>;
232
+ getDecision(id: ID, tenantId: ID): Promise<FluidDecision | null>;
233
+ getWorkflow(intentId: ID, tenantId: ID): Promise<WorkflowInstance | null>;
234
+ setPolicy(policy: EnforcementPolicy): void;
34
235
  }
35
236
  /**
36
- * Policy enforcement service
237
+ * In-memory enforcement service for testing
238
+ *
239
+ * WARNING: This is NOT suitable for production use.
240
+ * For production, connect to the Vorion API or use the full
241
+ * implementation from the vorion core package.
37
242
  */
38
- export declare class EnforcementService {
243
+ export declare class MockEnforcementService implements IEnforcementService {
39
244
  private policy;
245
+ private decisions;
246
+ private workflows;
40
247
  constructor(policy?: EnforcementPolicy);
41
- /**
42
- * Make an enforcement decision
43
- */
44
- decide(context: EnforcementContext): Promise<Decision>;
45
- /**
46
- * Create a decision record
47
- */
48
- private createDecision;
49
- /**
50
- * Update enforcement policy
51
- */
248
+ decide(context: EnforcementContext): Promise<FluidDecisionResult>;
249
+ refine(request: RefinementRequest, tenantId: ID): Promise<FluidDecisionResult | null>;
250
+ getDecision(id: ID, tenantId: ID): Promise<FluidDecision | null>;
251
+ getWorkflow(intentId: ID, tenantId: ID): Promise<WorkflowInstance | null>;
52
252
  setPolicy(policy: EnforcementPolicy): void;
253
+ private determineTier;
254
+ private buildReasoning;
255
+ private tierToState;
256
+ private getTrustBandName;
257
+ clear(): void;
258
+ }
259
+ /**
260
+ * @deprecated Use MockEnforcementService for testing or implement IEnforcementService
261
+ */
262
+ export declare class EnforcementService extends MockEnforcementService {
53
263
  }
54
264
  /**
55
- * Create a new enforcement service instance
265
+ * @deprecated Use new MockEnforcementService() for testing
56
266
  */
57
267
  export declare function createEnforcementService(policy?: EnforcementPolicy): EnforcementService;
58
268
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enforce/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,MAAM,EACN,QAAQ,EACR,aAAa,EACb,UAAU,EACV,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,mBAAmB,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,CAAC,EAAE,iBAAiB;IAItC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+C5D;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;CAI3C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,CAAC,EAAE,iBAAiB,GACzB,kBAAkB,CAEpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enforce/index.ts"],"names":[],"mappings":"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"}
@@ -1,77 +1,224 @@
1
1
  /**
2
- * ENFORCE - Policy Decision Point
2
+ * ENFORCE - Policy Decision Point with Fluid Governance (SDK Package)
3
3
  *
4
4
  * Makes enforcement decisions based on rule evaluations and trust levels.
5
+ * Supports three-tier fluid governance (GREEN/YELLOW/RED) with refinement
6
+ * options for agents to modify requests.
7
+ *
8
+ * For production use with persistence, use the full implementation from the
9
+ * vorion core package. This SDK package provides:
10
+ * - Type definitions aligned with @vorion/contracts
11
+ * - In-memory mock for testing
12
+ * - Interface definitions for custom implementations
5
13
  *
6
14
  * @packageDocumentation
7
15
  */
8
16
  import { createLogger } from '../common/logger.js';
9
17
  const logger = createLogger({ component: 'enforce' });
18
+ // =============================================================================
19
+ // MOCK IMPLEMENTATION
20
+ // =============================================================================
21
+ const DEFAULT_POLICY = {
22
+ defaultAction: 'deny',
23
+ trustThresholds: {
24
+ autoApproveLevel: 4,
25
+ requireRefinementLevel: 2,
26
+ autoDenyLevel: 0,
27
+ },
28
+ decisionExpirationMs: 3600000,
29
+ refinementDeadlineMs: 900000,
30
+ maxRefinementAttempts: 3,
31
+ };
10
32
  /**
11
- * Policy enforcement service
33
+ * In-memory enforcement service for testing
34
+ *
35
+ * WARNING: This is NOT suitable for production use.
36
+ * For production, connect to the Vorion API or use the full
37
+ * implementation from the vorion core package.
12
38
  */
13
- export class EnforcementService {
39
+ export class MockEnforcementService {
14
40
  policy;
41
+ decisions = new Map();
42
+ workflows = new Map();
15
43
  constructor(policy) {
16
- this.policy = policy ?? { defaultAction: 'deny' };
44
+ this.policy = { ...DEFAULT_POLICY, ...policy };
17
45
  }
18
- /**
19
- * Make an enforcement decision
20
- */
21
46
  async decide(context) {
22
- const { intent, evaluation, trustScore, trustLevel } = context;
23
- // Check minimum trust level
24
- if (this.policy.requireMinTrustLevel !== undefined &&
25
- trustLevel < this.policy.requireMinTrustLevel) {
26
- logger.info({
27
- intentId: intent.id,
28
- required: this.policy.requireMinTrustLevel,
29
- actual: trustLevel,
30
- }, 'Trust level insufficient');
31
- return this.createDecision(intent.id, 'deny', evaluation.rulesEvaluated, trustScore, trustLevel);
47
+ const { intent, evaluation, trustScore, trustLevel, tenantId } = context;
48
+ const correlationId = context.correlationId ?? crypto.randomUUID();
49
+ const now = new Date().toISOString();
50
+ // Determine tier
51
+ const tier = this.determineTier(evaluation, trustLevel);
52
+ // Create decision
53
+ const decision = {
54
+ id: crypto.randomUUID(),
55
+ tenantId,
56
+ intentId: intent.id,
57
+ agentId: intent.entityId,
58
+ correlationId,
59
+ tier,
60
+ permitted: tier === 'GREEN',
61
+ trustBand: `T${trustLevel}_${this.getTrustBandName(trustLevel)}`,
62
+ trustScore,
63
+ reasoning: this.buildReasoning(tier, evaluation, trustLevel),
64
+ refinementAttempt: 0,
65
+ decidedAt: now,
66
+ expiresAt: new Date(Date.now() + (this.policy.decisionExpirationMs ?? 3600000)).toISOString(),
67
+ latencyMs: 1,
68
+ };
69
+ // Add constraints for GREEN
70
+ if (tier === 'GREEN') {
71
+ decision.constraints = {
72
+ allowedTools: ['*'],
73
+ dataScopes: ['*'],
74
+ rateLimits: [],
75
+ requiredApprovals: [],
76
+ reversibilityRequired: false,
77
+ maxRetries: 3,
78
+ };
79
+ }
80
+ // Add refinement options for YELLOW
81
+ if (tier === 'YELLOW') {
82
+ decision.refinementDeadline = new Date(Date.now() + (this.policy.refinementDeadlineMs ?? 900000)).toISOString();
83
+ decision.maxRefinementAttempts = this.policy.maxRefinementAttempts ?? 3;
84
+ decision.refinementOptions = [
85
+ {
86
+ id: crypto.randomUUID(),
87
+ action: 'ADD_CONSTRAINTS',
88
+ description: 'Accept additional constraints',
89
+ successProbability: 0.9,
90
+ effort: 'low',
91
+ },
92
+ {
93
+ id: crypto.randomUUID(),
94
+ action: 'REQUEST_APPROVAL',
95
+ description: 'Request human approval',
96
+ successProbability: 0.7,
97
+ effort: 'medium',
98
+ },
99
+ ];
32
100
  }
33
- // Use evaluation result action
34
- const action = evaluation.passed ? 'allow' : evaluation.finalAction;
35
- logger.info({
101
+ // Add denial details for RED
102
+ if (tier === 'RED') {
103
+ decision.denialReason = 'policy_violation';
104
+ decision.hardDenial = true;
105
+ }
106
+ this.decisions.set(decision.id, decision);
107
+ // Create workflow
108
+ const workflow = {
109
+ id: crypto.randomUUID(),
110
+ tenantId,
36
111
  intentId: intent.id,
37
- action,
38
- rulesEvaluated: evaluation.rulesEvaluated.length,
39
- }, 'Enforcement decision made');
40
- return this.createDecision(intent.id, action, evaluation.rulesEvaluated, trustScore, trustLevel);
112
+ agentId: intent.entityId,
113
+ correlationId,
114
+ state: this.tierToState(tier),
115
+ currentDecisionId: decision.id,
116
+ stateHistory: [
117
+ { from: 'SUBMITTED', to: this.tierToState(tier), reason: `Decision: ${tier}`, timestamp: now },
118
+ ],
119
+ createdAt: now,
120
+ updatedAt: now,
121
+ expiresAt: decision.expiresAt,
122
+ };
123
+ this.workflows.set(intent.id, workflow);
124
+ logger.info({ decisionId: decision.id, intentId: intent.id, tier }, 'Enforcement decision made (mock)');
125
+ return { decision, workflow, tier, refinementOptions: decision.refinementOptions };
41
126
  }
42
- /**
43
- * Create a decision record
44
- */
45
- createDecision(intentId, action, constraintsEvaluated, trustScore, trustLevel) {
46
- return {
47
- intentId,
48
- action,
49
- constraintsEvaluated: constraintsEvaluated.map((r) => ({
50
- constraintId: r.ruleId,
51
- passed: r.matched,
52
- action: r.action,
53
- reason: r.reason,
54
- details: r.details,
55
- durationMs: r.durationMs,
56
- evaluatedAt: new Date().toISOString(),
57
- })),
58
- trustScore,
59
- trustLevel,
60
- decidedAt: new Date().toISOString(),
127
+ async refine(request, tenantId) {
128
+ const original = this.decisions.get(request.decisionId);
129
+ if (!original || original.tier !== 'YELLOW')
130
+ return null;
131
+ const now = new Date().toISOString();
132
+ // Create refined decision (simple: just upgrade to GREEN)
133
+ const refined = {
134
+ ...original,
135
+ id: crypto.randomUUID(),
136
+ tier: 'GREEN',
137
+ permitted: true,
138
+ refinementAttempt: original.refinementAttempt + 1,
139
+ reasoning: ['Refined to GREEN after applying constraints'],
140
+ constraints: {
141
+ allowedTools: ['*'],
142
+ dataScopes: ['*'],
143
+ rateLimits: [],
144
+ requiredApprovals: [],
145
+ reversibilityRequired: true,
146
+ maxRetries: 3,
147
+ },
148
+ decidedAt: now,
61
149
  };
150
+ this.decisions.set(refined.id, refined);
151
+ // Update workflow
152
+ const workflow = this.workflows.get(original.intentId);
153
+ if (workflow) {
154
+ workflow.state = 'APPROVED';
155
+ workflow.currentDecisionId = refined.id;
156
+ workflow.updatedAt = now;
157
+ workflow.stateHistory.push({
158
+ from: 'PENDING_REFINEMENT',
159
+ to: 'APPROVED',
160
+ reason: 'Refined to GREEN',
161
+ timestamp: now,
162
+ });
163
+ }
164
+ return { decision: refined, workflow: workflow, tier: 'GREEN' };
165
+ }
166
+ async getDecision(id, tenantId) {
167
+ const decision = this.decisions.get(id);
168
+ return decision?.tenantId === tenantId ? decision : null;
169
+ }
170
+ async getWorkflow(intentId, tenantId) {
171
+ const workflow = this.workflows.get(intentId);
172
+ return workflow?.tenantId === tenantId ? workflow : null;
62
173
  }
63
- /**
64
- * Update enforcement policy
65
- */
66
174
  setPolicy(policy) {
67
- this.policy = policy;
68
- logger.info({ policy }, 'Enforcement policy updated');
175
+ this.policy = { ...DEFAULT_POLICY, ...policy };
176
+ }
177
+ determineTier(evaluation, trustLevel) {
178
+ const thresholds = this.policy.trustThresholds;
179
+ if (evaluation.violatedRules.some((r) => r.action === 'deny' || r.action === 'terminate')) {
180
+ return 'RED';
181
+ }
182
+ if (trustLevel < thresholds.autoDenyLevel)
183
+ return 'RED';
184
+ if (trustLevel < thresholds.requireRefinementLevel)
185
+ return 'YELLOW';
186
+ if (trustLevel >= thresholds.autoApproveLevel && evaluation.passed)
187
+ return 'GREEN';
188
+ return 'YELLOW';
189
+ }
190
+ buildReasoning(tier, evaluation, trustLevel) {
191
+ if (tier === 'GREEN')
192
+ return ['All checks passed', `Trust T${trustLevel} meets requirements`];
193
+ if (tier === 'YELLOW')
194
+ return ['Refinement options available'];
195
+ return ['Policy violation', 'Request cannot proceed'];
196
+ }
197
+ tierToState(tier) {
198
+ return tier === 'GREEN' ? 'APPROVED' : tier === 'YELLOW' ? 'PENDING_REFINEMENT' : 'DENIED';
69
199
  }
200
+ getTrustBandName(level) {
201
+ const names = ['SANDBOX', 'OBSERVED', 'PROVISIONAL', 'MONITORED', 'STANDARD', 'TRUSTED', 'CERTIFIED', 'AUTONOMOUS'];
202
+ return names[level] ?? 'SANDBOX';
203
+ }
204
+ clear() {
205
+ this.decisions.clear();
206
+ this.workflows.clear();
207
+ }
208
+ }
209
+ // =============================================================================
210
+ // BACKWARDS COMPATIBLE EXPORTS
211
+ // =============================================================================
212
+ /**
213
+ * @deprecated Use MockEnforcementService for testing or implement IEnforcementService
214
+ */
215
+ export class EnforcementService extends MockEnforcementService {
70
216
  }
71
217
  /**
72
- * Create a new enforcement service instance
218
+ * @deprecated Use new MockEnforcementService() for testing
73
219
  */
74
220
  export function createEnforcementService(policy) {
221
+ logger.warn('createEnforcementService() creates an in-memory mock. For production, connect to the Vorion API.');
75
222
  return new EnforcementService(policy);
76
223
  }
77
224
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enforce/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWnD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AA8BtD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,MAAM,CAAoB;IAElC,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAE/D,4BAA4B;QAC5B,IACE,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;YAC9C,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CACT;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;gBAC1C,MAAM,EAAE,UAAU;aACnB,EACD,0BAA0B,CAC3B,CAAC;YAEF,OAAO,IAAI,CAAC,cAAc,CACxB,MAAM,CAAC,EAAE,EACT,MAAM,EACN,UAAU,CAAC,cAAc,EACzB,UAAU,EACV,UAAU,CACX,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;QAEpE,MAAM,CAAC,IAAI,CACT;YACE,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,MAAM;YACN,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM;SACjD,EACD,2BAA2B,CAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,cAAc,CACxB,MAAM,CAAC,EAAE,EACT,MAAM,EACN,UAAU,CAAC,cAAc,EACzB,UAAU,EACV,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,QAAY,EACZ,MAAqB,EACrB,oBAAkC,EAClC,UAAsB,EACtB,UAAsB;QAEtB,OAAO;YACL,QAAQ;YACR,MAAM;YACN,oBAAoB,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;gBACjE,YAAY,EAAE,CAAC,CAAC,MAAM;gBACtB,MAAM,EAAE,CAAC,CAAC,OAAO;gBACjB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YACH,UAAU;YACV,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAyB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA0B;IAE1B,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enforce/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWnD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AA+RtD,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,cAAc,GAAsB;IACxC,aAAa,EAAE,MAAM;IACrB,eAAe,EAAE;QACf,gBAAgB,EAAE,CAAC;QACnB,sBAAsB,EAAE,CAAC;QACzB,aAAa,EAAE,CAAC;KACjB;IACD,oBAAoB,EAAE,OAAO;IAC7B,oBAAoB,EAAE,MAAM;IAC5B,qBAAqB,EAAE,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAoB;IAC1B,SAAS,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC9C,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IAEzD,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACzE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,iBAAiB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAExD,kBAAkB;QAClB,MAAM,QAAQ,GAAkB;YAC9B,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,MAAM,CAAC,QAAQ;YACxB,aAAa;YACb,IAAI;YACJ,SAAS,EAAE,IAAI,KAAK,OAAO;YAC3B,SAAS,EAAE,IAAI,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;YAChE,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;YAC5D,iBAAiB,EAAE,CAAC;YACpB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE;YAC7F,SAAS,EAAE,CAAC;SACb,CAAC;QAEF,4BAA4B;QAC5B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,QAAQ,CAAC,WAAW,GAAG;gBACrB,YAAY,EAAE,CAAC,GAAG,CAAC;gBACnB,UAAU,EAAE,CAAC,GAAG,CAAC;gBACjB,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,qBAAqB,EAAE,KAAK;gBAC5B,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAChH,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAC;YACxE,QAAQ,CAAC,iBAAiB,GAAG;gBAC3B;oBACE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;oBACvB,MAAM,EAAE,iBAAiB;oBACzB,WAAW,EAAE,+BAA+B;oBAC5C,kBAAkB,EAAE,GAAG;oBACvB,MAAM,EAAE,KAAK;iBACd;gBACD;oBACE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;oBACvB,MAAM,EAAE,kBAAkB;oBAC1B,WAAW,EAAE,wBAAwB;oBACrC,kBAAkB,EAAE,GAAG;oBACvB,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,QAAQ,CAAC,YAAY,GAAG,kBAAkB,CAAC;YAC3C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE1C,kBAAkB;QAClB,MAAM,QAAQ,GAAqB;YACjC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,MAAM,CAAC,QAAQ;YACxB,aAAa;YACb,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7B,iBAAiB,EAAE,QAAQ,CAAC,EAAE;YAC9B,YAAY,EAAE;gBACZ,EAAE,IAAI,EAAE,WAA4B,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;aAChH;YACD,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EACtD,kCAAkC,CACnC,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B,EAAE,QAAY;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,0DAA0D;QAC1D,MAAM,OAAO,GAAkB;YAC7B,GAAG,QAAQ;YACX,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,GAAG,CAAC;YACjD,SAAS,EAAE,CAAC,6CAA6C,CAAC;YAC1D,WAAW,EAAE;gBACX,YAAY,EAAE,CAAC,GAAG,CAAC;gBACnB,UAAU,EAAE,CAAC,GAAG,CAAC;gBACjB,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,qBAAqB,EAAE,IAAI;gBAC3B,UAAU,EAAE,CAAC;aACd;YACD,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAExC,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC5B,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;YACzB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;gBACzB,IAAI,EAAE,oBAAoB;gBAC1B,EAAE,EAAE,UAAU;gBACd,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAM,EAAE,QAAY;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAY,EAAE,QAAY;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,MAAyB;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,CAAC;IAEO,aAAa,CAAC,UAA4B,EAAE,UAAsB;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAgB,CAAC;QAEhD,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,CAAC;YAC1F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,UAAU,GAAG,UAAU,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACxD,IAAI,UAAU,GAAG,UAAU,CAAC,sBAAsB;YAAE,OAAO,QAAQ,CAAC;QACpE,IAAI,UAAU,IAAI,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC;QACnF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,IAAkB,EAAE,UAA4B,EAAE,UAAsB;QAC7F,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,mBAAmB,EAAE,UAAU,UAAU,qBAAqB,CAAC,CAAC;QAC9F,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC/D,OAAO,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;IACxD,CAAC;IAEO,WAAW,CAAC,IAAkB;QACpC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7F,CAAC;IAEO,gBAAgB,CAAC,KAAiB;QACxC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACpH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;CAAG;AAEjE;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,MAAM,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;IAChH,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -10,6 +10,8 @@ import type { ID, ControlAction } from '../common/types.js';
10
10
  import type { GovernanceRule, RuleCategory, RuleCondition, RuleEffect, ConditionOperator, Authority, GovernanceRequest, GovernanceResult, GovernanceConfig, RuleQuery } from './types.js';
11
11
  export * from './types.js';
12
12
  export * from './fluid-workflow.js';
13
+ export { GovernanceProofBridge } from './proof-bridge.js';
14
+ export type { ProofCreateFn, ProofBridgeProofRequest, ProofBridgeConfig, GovernanceProofResult, } from './proof-bridge.js';
13
15
  /**
14
16
  * Governance Engine - manages and evaluates governance rules
15
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAIhB,gBAAgB,EAChB,SAAS,EAEV,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AA8BpC;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,eAAe,CAA2E;gBAEtF,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAIlD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAsBxC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI;IAehC;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAY7C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4JrE;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,cAAc;IA+BtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,SAAS;IAyBjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;YACW,iBAAiB;IAY/B;;OAEG;YACW,0BAA0B;IAuBxC;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2CrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA8B7D;;OAEG;IACH,QAAQ,IAAI;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB;IA2BD;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAE3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,cAAc,CAwBhB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,OAAO,GACb,aAAa,CAOf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,EACrC,QAAQ,EAAE,aAAa,EAAE,GACxB,aAAa,CASf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAChC,UAAU,CASZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  import { createLogger } from '../common/logger.js';
10
10
  export * from './types.js';
11
11
  export * from './fluid-workflow.js';
12
+ export { GovernanceProofBridge } from './proof-bridge.js';
12
13
  const logger = createLogger({ component: 'governance' });
13
14
  /**
14
15
  * Default governance configuration