@vorionsys/atsf-core 0.1.0

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 (150) hide show
  1. package/README.md +308 -0
  2. package/dist/api/index.d.ts +5 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +5 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/server.d.ts +17 -0
  7. package/dist/api/server.d.ts.map +1 -0
  8. package/dist/api/server.js +124 -0
  9. package/dist/api/server.js.map +1 -0
  10. package/dist/arbitration/index.d.ts +124 -0
  11. package/dist/arbitration/index.d.ts.map +1 -0
  12. package/dist/arbitration/index.js +696 -0
  13. package/dist/arbitration/index.js.map +1 -0
  14. package/dist/arbitration/types.d.ts +260 -0
  15. package/dist/arbitration/types.d.ts.map +1 -0
  16. package/dist/arbitration/types.js +10 -0
  17. package/dist/arbitration/types.js.map +1 -0
  18. package/dist/basis/evaluator.d.ts +57 -0
  19. package/dist/basis/evaluator.d.ts.map +1 -0
  20. package/dist/basis/evaluator.js +244 -0
  21. package/dist/basis/evaluator.js.map +1 -0
  22. package/dist/basis/index.d.ts +12 -0
  23. package/dist/basis/index.d.ts.map +1 -0
  24. package/dist/basis/index.js +12 -0
  25. package/dist/basis/index.js.map +1 -0
  26. package/dist/basis/parser.d.ts +376 -0
  27. package/dist/basis/parser.d.ts.map +1 -0
  28. package/dist/basis/parser.js +150 -0
  29. package/dist/basis/parser.js.map +1 -0
  30. package/dist/basis/types.d.ts +115 -0
  31. package/dist/basis/types.d.ts.map +1 -0
  32. package/dist/basis/types.js +5 -0
  33. package/dist/basis/types.js.map +1 -0
  34. package/dist/cognigate/index.d.ts +85 -0
  35. package/dist/cognigate/index.d.ts.map +1 -0
  36. package/dist/cognigate/index.js +139 -0
  37. package/dist/cognigate/index.js.map +1 -0
  38. package/dist/common/config.d.ts +252 -0
  39. package/dist/common/config.d.ts.map +1 -0
  40. package/dist/common/config.js +128 -0
  41. package/dist/common/config.js.map +1 -0
  42. package/dist/common/index.d.ts +7 -0
  43. package/dist/common/index.d.ts.map +1 -0
  44. package/dist/common/index.js +7 -0
  45. package/dist/common/index.js.map +1 -0
  46. package/dist/common/logger.d.ts +11 -0
  47. package/dist/common/logger.d.ts.map +1 -0
  48. package/dist/common/logger.js +29 -0
  49. package/dist/common/logger.js.map +1 -0
  50. package/dist/common/types.d.ts +196 -0
  51. package/dist/common/types.d.ts.map +1 -0
  52. package/dist/common/types.js +41 -0
  53. package/dist/common/types.js.map +1 -0
  54. package/dist/containment/index.d.ts +120 -0
  55. package/dist/containment/index.d.ts.map +1 -0
  56. package/dist/containment/index.js +717 -0
  57. package/dist/containment/index.js.map +1 -0
  58. package/dist/containment/types.d.ts +260 -0
  59. package/dist/containment/types.d.ts.map +1 -0
  60. package/dist/containment/types.js +21 -0
  61. package/dist/containment/types.js.map +1 -0
  62. package/dist/contracts/index.d.ts +237 -0
  63. package/dist/contracts/index.d.ts.map +1 -0
  64. package/dist/contracts/index.js +594 -0
  65. package/dist/contracts/index.js.map +1 -0
  66. package/dist/contracts/types.d.ts +374 -0
  67. package/dist/contracts/types.d.ts.map +1 -0
  68. package/dist/contracts/types.js +10 -0
  69. package/dist/contracts/types.js.map +1 -0
  70. package/dist/enforce/index.d.ts +58 -0
  71. package/dist/enforce/index.d.ts.map +1 -0
  72. package/dist/enforce/index.js +77 -0
  73. package/dist/enforce/index.js.map +1 -0
  74. package/dist/governance/index.d.ts +133 -0
  75. package/dist/governance/index.d.ts.map +1 -0
  76. package/dist/governance/index.js +630 -0
  77. package/dist/governance/index.js.map +1 -0
  78. package/dist/governance/types.d.ts +362 -0
  79. package/dist/governance/types.d.ts.map +1 -0
  80. package/dist/governance/types.js +21 -0
  81. package/dist/governance/types.js.map +1 -0
  82. package/dist/index.d.ts +27 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +43 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/intent/index.d.ts +44 -0
  87. package/dist/intent/index.d.ts.map +1 -0
  88. package/dist/intent/index.js +64 -0
  89. package/dist/intent/index.js.map +1 -0
  90. package/dist/langchain/callback.d.ts +115 -0
  91. package/dist/langchain/callback.d.ts.map +1 -0
  92. package/dist/langchain/callback.js +264 -0
  93. package/dist/langchain/callback.js.map +1 -0
  94. package/dist/langchain/executor.d.ts +63 -0
  95. package/dist/langchain/executor.d.ts.map +1 -0
  96. package/dist/langchain/executor.js +169 -0
  97. package/dist/langchain/executor.js.map +1 -0
  98. package/dist/langchain/index.d.ts +12 -0
  99. package/dist/langchain/index.d.ts.map +1 -0
  100. package/dist/langchain/index.js +12 -0
  101. package/dist/langchain/index.js.map +1 -0
  102. package/dist/langchain/tools.d.ts +25 -0
  103. package/dist/langchain/tools.d.ts.map +1 -0
  104. package/dist/langchain/tools.js +167 -0
  105. package/dist/langchain/tools.js.map +1 -0
  106. package/dist/langchain/types.d.ts +72 -0
  107. package/dist/langchain/types.d.ts.map +1 -0
  108. package/dist/langchain/types.js +9 -0
  109. package/dist/langchain/types.js.map +1 -0
  110. package/dist/layers/index.d.ts +147 -0
  111. package/dist/layers/index.d.ts.map +1 -0
  112. package/dist/layers/index.js +565 -0
  113. package/dist/layers/index.js.map +1 -0
  114. package/dist/layers/types.d.ts +336 -0
  115. package/dist/layers/types.d.ts.map +1 -0
  116. package/dist/layers/types.js +10 -0
  117. package/dist/layers/types.js.map +1 -0
  118. package/dist/persistence/file.d.ts +55 -0
  119. package/dist/persistence/file.d.ts.map +1 -0
  120. package/dist/persistence/file.js +176 -0
  121. package/dist/persistence/file.js.map +1 -0
  122. package/dist/persistence/index.d.ts +16 -0
  123. package/dist/persistence/index.d.ts.map +1 -0
  124. package/dist/persistence/index.js +34 -0
  125. package/dist/persistence/index.js.map +1 -0
  126. package/dist/persistence/memory.d.ts +32 -0
  127. package/dist/persistence/memory.d.ts.map +1 -0
  128. package/dist/persistence/memory.js +91 -0
  129. package/dist/persistence/memory.js.map +1 -0
  130. package/dist/persistence/types.d.ts +89 -0
  131. package/dist/persistence/types.d.ts.map +1 -0
  132. package/dist/persistence/types.js +9 -0
  133. package/dist/persistence/types.js.map +1 -0
  134. package/dist/proof/index.d.ts +87 -0
  135. package/dist/proof/index.d.ts.map +1 -0
  136. package/dist/proof/index.js +179 -0
  137. package/dist/proof/index.js.map +1 -0
  138. package/dist/provenance/index.d.ts +135 -0
  139. package/dist/provenance/index.d.ts.map +1 -0
  140. package/dist/provenance/index.js +356 -0
  141. package/dist/provenance/index.js.map +1 -0
  142. package/dist/provenance/types.d.ts +217 -0
  143. package/dist/provenance/types.d.ts.map +1 -0
  144. package/dist/provenance/types.js +10 -0
  145. package/dist/provenance/types.js.map +1 -0
  146. package/dist/trust-engine/index.d.ts +273 -0
  147. package/dist/trust-engine/index.d.ts.map +1 -0
  148. package/dist/trust-engine/index.js +515 -0
  149. package/dist/trust-engine/index.js.map +1 -0
  150. package/package.json +100 -0
@@ -0,0 +1,374 @@
1
+ /**
2
+ * Output Contract Types (VorionResponse)
3
+ *
4
+ * Machine-readable, auditable, replayable output contracts
5
+ * with confidence scores, assumptions, and invalidity conditions.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { ID, Timestamp, ControlAction, TrustLevel } from '../common/types.js';
10
+ /**
11
+ * Standard Vorion response contract
12
+ */
13
+ export interface VorionResponse<T = unknown> {
14
+ /** Response identifier */
15
+ responseId: ID;
16
+ /** Request that generated this response */
17
+ requestId: ID;
18
+ /** Whether the operation succeeded */
19
+ success: boolean;
20
+ /** The actual response payload */
21
+ payload: T;
22
+ /** Confidence in this response (0-1) */
23
+ confidence: ResponseConfidence;
24
+ /** Assumptions made to generate this response */
25
+ assumptions: Assumption[];
26
+ /** Conditions that would invalidate this response */
27
+ invalidityConditions: InvalidityCondition[];
28
+ /** Governance decision applied */
29
+ governance: GovernanceDecision;
30
+ /** Provenance tracking */
31
+ provenance: ResponseProvenance;
32
+ /** Timing information */
33
+ timing: ResponseTiming;
34
+ /** Replay information for reproducibility */
35
+ replay: ReplayInfo;
36
+ /** Response metadata */
37
+ metadata: ResponseMetadata;
38
+ }
39
+ /**
40
+ * Vorion error response
41
+ */
42
+ export interface VorionErrorResponse {
43
+ /** Response identifier */
44
+ responseId: ID;
45
+ /** Request that generated this error */
46
+ requestId: ID;
47
+ /** Always false for errors */
48
+ success: false;
49
+ /** Error details */
50
+ error: ContractError;
51
+ /** Governance decision that led to error (if applicable) */
52
+ governance?: GovernanceDecision;
53
+ /** What was attempted before failure */
54
+ attempted: AttemptedAction[];
55
+ /** Suggested remediation steps */
56
+ remediation: RemediationStep[];
57
+ /** Timing information */
58
+ timing: ResponseTiming;
59
+ /** Response metadata */
60
+ metadata: ResponseMetadata;
61
+ }
62
+ /**
63
+ * Confidence information for a response
64
+ */
65
+ export interface ResponseConfidence {
66
+ /** Overall confidence score (0-1) */
67
+ overall: number;
68
+ /** Confidence breakdown by component */
69
+ breakdown: ConfidenceComponent[];
70
+ /** Factors that reduced confidence */
71
+ reducingFactors: ConfidenceFactor[];
72
+ /** Factors that increased confidence */
73
+ boostingFactors: ConfidenceFactor[];
74
+ /** Confidence calibration source */
75
+ calibration: 'historical' | 'model' | 'heuristic' | 'expert';
76
+ }
77
+ /**
78
+ * Component contributing to confidence
79
+ */
80
+ export interface ConfidenceComponent {
81
+ component: string;
82
+ confidence: number;
83
+ weight: number;
84
+ explanation: string;
85
+ }
86
+ /**
87
+ * Factor affecting confidence
88
+ */
89
+ export interface ConfidenceFactor {
90
+ factor: string;
91
+ impact: number;
92
+ explanation: string;
93
+ }
94
+ /**
95
+ * An assumption made during processing
96
+ */
97
+ export interface Assumption {
98
+ /** Assumption identifier */
99
+ id: string;
100
+ /** What was assumed */
101
+ assumption: string;
102
+ /** Category of assumption */
103
+ category: AssumptionCategory;
104
+ /** How critical is this assumption */
105
+ criticality: 'low' | 'medium' | 'high' | 'critical';
106
+ /** Confidence that assumption holds (0-1) */
107
+ confidence: number;
108
+ /** What happens if assumption is wrong */
109
+ fallbackBehavior: string;
110
+ /** Evidence supporting the assumption */
111
+ supportingEvidence: string[];
112
+ /** How to verify the assumption */
113
+ verification?: string;
114
+ }
115
+ /**
116
+ * Categories of assumptions
117
+ */
118
+ export type AssumptionCategory = 'input_validity' | 'context_stability' | 'resource_availability' | 'permission_granted' | 'data_freshness' | 'model_accuracy' | 'external_service' | 'user_intent';
119
+ /**
120
+ * A condition that would invalidate the response
121
+ */
122
+ export interface InvalidityCondition {
123
+ /** Condition identifier */
124
+ id: string;
125
+ /** What would make response invalid */
126
+ condition: string;
127
+ /** Category of invalidation */
128
+ category: InvalidityCategory;
129
+ /** Severity if condition occurs */
130
+ severity: 'minor' | 'moderate' | 'major' | 'complete';
131
+ /** How to detect if condition occurs */
132
+ detection: string;
133
+ /** Recommended action if condition occurs */
134
+ recommendedAction: string;
135
+ /** Time sensitivity (if applicable) */
136
+ timeLimit?: number;
137
+ }
138
+ /**
139
+ * Categories of invalidity
140
+ */
141
+ export type InvalidityCategory = 'temporal' | 'state_change' | 'data_update' | 'permission_revoked' | 'context_shift' | 'external_factor' | 'security_event';
142
+ /**
143
+ * Governance decision applied to request
144
+ */
145
+ export interface GovernanceDecision {
146
+ /** Decision identifier */
147
+ decisionId: ID;
148
+ /** Action taken */
149
+ action: ControlAction;
150
+ /** Trust level of requester */
151
+ trustLevel: TrustLevel;
152
+ /** Rules that were applied */
153
+ rulesApplied: AppliedRule[];
154
+ /** Any modifications made to the request */
155
+ modifications: RequestModification[];
156
+ /** Constraints applied to the response */
157
+ constraints: ResponseConstraint[];
158
+ /** Human approvals obtained (if any) */
159
+ approvals: Approval[];
160
+ }
161
+ /**
162
+ * A rule that was applied
163
+ */
164
+ export interface AppliedRule {
165
+ ruleId: ID;
166
+ ruleName: string;
167
+ effect: string;
168
+ reason: string;
169
+ }
170
+ /**
171
+ * Modification made to original request
172
+ */
173
+ export interface RequestModification {
174
+ field: string;
175
+ originalValue: unknown;
176
+ modifiedValue: unknown;
177
+ reason: string;
178
+ }
179
+ /**
180
+ * Constraint applied to response
181
+ */
182
+ export interface ResponseConstraint {
183
+ type: 'scope_limit' | 'rate_limit' | 'data_filter' | 'output_redact' | 'capability_restrict';
184
+ target: string;
185
+ constraint: string;
186
+ reason: string;
187
+ }
188
+ /**
189
+ * Human approval obtained
190
+ */
191
+ export interface Approval {
192
+ approver: string;
193
+ role: string;
194
+ timestamp: Timestamp;
195
+ scope: string;
196
+ expiresAt?: Timestamp;
197
+ }
198
+ /**
199
+ * Provenance information for the response
200
+ */
201
+ export interface ResponseProvenance {
202
+ /** Chain of processing steps */
203
+ processingChain: ProcessingStep[];
204
+ /** Data sources used */
205
+ dataSources: DataSource[];
206
+ /** Models/algorithms used */
207
+ modelsUsed: ModelReference[];
208
+ /** Hash of inputs for verification */
209
+ inputHash: string;
210
+ /** Hash of outputs for verification */
211
+ outputHash: string;
212
+ /** Full provenance record ID */
213
+ provenanceRecordId?: ID;
214
+ }
215
+ /**
216
+ * A step in the processing chain
217
+ */
218
+ export interface ProcessingStep {
219
+ stepNumber: number;
220
+ component: string;
221
+ action: string;
222
+ input: string;
223
+ output: string;
224
+ durationMs: number;
225
+ }
226
+ /**
227
+ * A data source used
228
+ */
229
+ export interface DataSource {
230
+ sourceId: string;
231
+ sourceName: string;
232
+ sourceType: 'database' | 'api' | 'cache' | 'model' | 'user_input' | 'system';
233
+ dataTimestamp: Timestamp;
234
+ confidence: number;
235
+ }
236
+ /**
237
+ * Reference to a model/algorithm used
238
+ */
239
+ export interface ModelReference {
240
+ modelId: string;
241
+ modelName: string;
242
+ version: string;
243
+ purpose: string;
244
+ }
245
+ /**
246
+ * Timing information
247
+ */
248
+ export interface ResponseTiming {
249
+ /** When request was received */
250
+ requestedAt: Timestamp;
251
+ /** When processing started */
252
+ processingStartedAt: Timestamp;
253
+ /** When response was generated */
254
+ respondedAt: Timestamp;
255
+ /** Total duration in ms */
256
+ totalDurationMs: number;
257
+ /** Time spent in each phase */
258
+ phases: {
259
+ parsing: number;
260
+ governance: number;
261
+ processing: number;
262
+ validation: number;
263
+ serialization: number;
264
+ };
265
+ }
266
+ /**
267
+ * Information for replaying the request
268
+ */
269
+ export interface ReplayInfo {
270
+ /** Whether this response can be replayed */
271
+ replayable: boolean;
272
+ /** Deterministic seed (if applicable) */
273
+ seed?: string;
274
+ /** Snapshot of relevant state */
275
+ stateSnapshot: Record<string, unknown>;
276
+ /** External dependencies that must match */
277
+ externalDependencies: ExternalDependency[];
278
+ /** Instructions for replay */
279
+ replayInstructions: string;
280
+ }
281
+ /**
282
+ * External dependency for replay
283
+ */
284
+ export interface ExternalDependency {
285
+ name: string;
286
+ type: 'api' | 'database' | 'service' | 'model';
287
+ version: string;
288
+ stateAtRequest: Record<string, unknown>;
289
+ }
290
+ /**
291
+ * Response metadata
292
+ */
293
+ export interface ResponseMetadata {
294
+ /** API version */
295
+ apiVersion: string;
296
+ /** Engine version */
297
+ engineVersion: string;
298
+ /** Request correlation ID */
299
+ correlationId: ID;
300
+ /** Session ID (if applicable) */
301
+ sessionId?: ID;
302
+ /** Tags for categorization */
303
+ tags: string[];
304
+ /** Custom metadata */
305
+ custom: Record<string, unknown>;
306
+ }
307
+ /**
308
+ * Vorion error details
309
+ */
310
+ export interface ContractError {
311
+ /** Error code */
312
+ code: string;
313
+ /** Error message */
314
+ message: string;
315
+ /** Error category */
316
+ category: ErrorCategory;
317
+ /** Is this error retryable */
318
+ retryable: boolean;
319
+ /** Retry delay suggestion (ms) */
320
+ retryAfterMs?: number;
321
+ /** Detailed error context */
322
+ context: Record<string, unknown>;
323
+ /** Stack trace (only in development) */
324
+ stack?: string;
325
+ /** Nested errors */
326
+ causes?: ContractError[];
327
+ }
328
+ /**
329
+ * Error categories
330
+ */
331
+ export type ErrorCategory = 'validation' | 'authorization' | 'governance' | 'resource' | 'external' | 'internal' | 'timeout' | 'rate_limit' | 'containment';
332
+ /**
333
+ * Action that was attempted before failure
334
+ */
335
+ export interface AttemptedAction {
336
+ action: string;
337
+ result: 'success' | 'partial' | 'failed';
338
+ details: string;
339
+ }
340
+ /**
341
+ * Step for remediation
342
+ */
343
+ export interface RemediationStep {
344
+ step: number;
345
+ action: string;
346
+ description: string;
347
+ automated: boolean;
348
+ }
349
+ /**
350
+ * Request to create a VorionResponse
351
+ */
352
+ export interface CreateResponseRequest<T = unknown> {
353
+ requestId: ID;
354
+ payload: T;
355
+ confidence?: Partial<ResponseConfidence>;
356
+ assumptions?: Assumption[];
357
+ invalidityConditions?: InvalidityCondition[];
358
+ governance?: GovernanceDecision;
359
+ metadata?: Partial<ResponseMetadata>;
360
+ }
361
+ /**
362
+ * Request to create a VorionErrorResponse
363
+ */
364
+ export interface CreateErrorRequest {
365
+ requestId: ID;
366
+ error: Omit<ContractError, 'retryAfterMs'> & {
367
+ retryAfterMs?: number;
368
+ };
369
+ governance?: GovernanceDecision;
370
+ attempted?: AttemptedAction[];
371
+ remediation?: RemediationStep[];
372
+ metadata?: Partial<ResponseMetadata>;
373
+ }
374
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contracts/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Output Contract Types (VorionResponse)
3
+ *
4
+ * Machine-readable, auditable, replayable output contracts
5
+ * with confidence scores, assumptions, and invalidity conditions.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contracts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * ENFORCE - Policy Decision Point
3
+ *
4
+ * Makes enforcement decisions based on rule evaluations and trust levels.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { Intent, Decision, ControlAction, TrustLevel, TrustScore } from '../common/types.js';
9
+ import type { EvaluationResult } from '../basis/types.js';
10
+ /**
11
+ * Enforcement context combining intent and evaluation results
12
+ */
13
+ export interface EnforcementContext {
14
+ intent: Intent;
15
+ evaluation: EvaluationResult;
16
+ trustScore: TrustScore;
17
+ trustLevel: TrustLevel;
18
+ }
19
+ /**
20
+ * Enforcement policy configuration
21
+ */
22
+ export interface EnforcementPolicy {
23
+ defaultAction: ControlAction;
24
+ requireMinTrustLevel?: TrustLevel;
25
+ escalationRules?: EscalationRule[];
26
+ }
27
+ /**
28
+ * Escalation rule definition
29
+ */
30
+ export interface EscalationRule {
31
+ condition: string;
32
+ escalateTo: string;
33
+ timeout: string;
34
+ }
35
+ /**
36
+ * Policy enforcement service
37
+ */
38
+ export declare class EnforcementService {
39
+ private policy;
40
+ 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
+ */
52
+ setPolicy(policy: EnforcementPolicy): void;
53
+ }
54
+ /**
55
+ * Create a new enforcement service instance
56
+ */
57
+ export declare function createEnforcementService(policy?: EnforcementPolicy): EnforcementService;
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * ENFORCE - Policy Decision Point
3
+ *
4
+ * Makes enforcement decisions based on rule evaluations and trust levels.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import { createLogger } from '../common/logger.js';
9
+ const logger = createLogger({ component: 'enforce' });
10
+ /**
11
+ * Policy enforcement service
12
+ */
13
+ export class EnforcementService {
14
+ policy;
15
+ constructor(policy) {
16
+ this.policy = policy ?? { defaultAction: 'deny' };
17
+ }
18
+ /**
19
+ * Make an enforcement decision
20
+ */
21
+ 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);
32
+ }
33
+ // Use evaluation result action
34
+ const action = evaluation.passed ? 'allow' : evaluation.finalAction;
35
+ logger.info({
36
+ 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);
41
+ }
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(),
61
+ };
62
+ }
63
+ /**
64
+ * Update enforcement policy
65
+ */
66
+ setPolicy(policy) {
67
+ this.policy = policy;
68
+ logger.info({ policy }, 'Enforcement policy updated');
69
+ }
70
+ }
71
+ /**
72
+ * Create a new enforcement service instance
73
+ */
74
+ export function createEnforcementService(policy) {
75
+ return new EnforcementService(policy);
76
+ }
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Governance & Authority Engine
3
+ *
4
+ * Implements rule hierarchy with hard disqualifiers, soft constraints,
5
+ * mandatory clarification triggers, and authority management.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { ID, ControlAction } from '../common/types.js';
10
+ import type { GovernanceRule, RuleCategory, RuleCondition, RuleEffect, ConditionOperator, Authority, GovernanceRequest, GovernanceResult, GovernanceConfig, RuleQuery } from './types.js';
11
+ export * from './types.js';
12
+ /**
13
+ * Governance Engine - manages and evaluates governance rules
14
+ */
15
+ export declare class GovernanceEngine {
16
+ private config;
17
+ private rules;
18
+ private rulesByNamespace;
19
+ private authorities;
20
+ private evaluationCache;
21
+ constructor(config?: Partial<GovernanceConfig>);
22
+ /**
23
+ * Register a governance rule
24
+ */
25
+ registerRule(rule: GovernanceRule): void;
26
+ /**
27
+ * Unregister a rule
28
+ */
29
+ unregisterRule(ruleId: ID): void;
30
+ /**
31
+ * Register an authority
32
+ */
33
+ registerAuthority(authority: Authority): void;
34
+ /**
35
+ * Evaluate governance rules for a request
36
+ */
37
+ evaluate(request: GovernanceRequest): Promise<GovernanceResult>;
38
+ /**
39
+ * Validate a rule
40
+ */
41
+ private validateRule;
42
+ /**
43
+ * Get cache key for a request
44
+ */
45
+ private getCacheKey;
46
+ /**
47
+ * Check if an authority is valid for a request
48
+ */
49
+ private checkAuthority;
50
+ /**
51
+ * Get numeric value for trust level
52
+ */
53
+ private getTrustLevelValue;
54
+ /**
55
+ * Check if request is within authority scope
56
+ */
57
+ private isInScope;
58
+ /**
59
+ * Get applicable rules for a request
60
+ */
61
+ private getApplicableRules;
62
+ /**
63
+ * Check if current time is within schedule
64
+ */
65
+ private isInSchedule;
66
+ /**
67
+ * Evaluate a condition against a request
68
+ */
69
+ private evaluateCondition;
70
+ /**
71
+ * Evaluate a composite condition
72
+ */
73
+ private evaluateCompositeCondition;
74
+ /**
75
+ * Get field value from request
76
+ */
77
+ private getFieldValue;
78
+ /**
79
+ * Compare values using operator
80
+ */
81
+ private compareValues;
82
+ /**
83
+ * Calculate confidence in decision
84
+ */
85
+ private calculateConfidence;
86
+ /**
87
+ * Generate explanation for decision
88
+ */
89
+ private generateExplanation;
90
+ /**
91
+ * Create a denial result
92
+ */
93
+ private createDenialResult;
94
+ /**
95
+ * Query rules
96
+ */
97
+ queryRules(query: RuleQuery): Promise<GovernanceRule[]>;
98
+ /**
99
+ * Get statistics
100
+ */
101
+ getStats(): {
102
+ totalRules: number;
103
+ byCategory: Record<RuleCategory, number>;
104
+ byNamespace: Record<string, number>;
105
+ totalAuthorities: number;
106
+ cacheSize: number;
107
+ };
108
+ /**
109
+ * Clear evaluation cache
110
+ */
111
+ clearCache(): void;
112
+ }
113
+ /**
114
+ * Create a new governance engine
115
+ */
116
+ export declare function createGovernanceEngine(config?: Partial<GovernanceConfig>): GovernanceEngine;
117
+ /**
118
+ * Helper to create a governance rule
119
+ */
120
+ export declare function createGovernanceRule(name: string, category: RuleCategory, condition: RuleCondition, effect: RuleEffect, options?: Partial<GovernanceRule>): GovernanceRule;
121
+ /**
122
+ * Helper to create a simple field condition
123
+ */
124
+ export declare function createFieldCondition(field: string, operator: ConditionOperator, value: unknown): RuleCondition;
125
+ /**
126
+ * Helper to create a composite condition
127
+ */
128
+ export declare function createCompositeCondition(logicalOperator: 'AND' | 'OR' | 'NOT', children: RuleCondition[]): RuleCondition;
129
+ /**
130
+ * Helper to create a rule effect
131
+ */
132
+ export declare function createRuleEffect(action: ControlAction, reason: string, options?: Partial<RuleEffect>): RuleEffect;
133
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"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"}