@ai-pip/core 0.2.0 → 0.4.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.
- package/CHANGELOG.md +106 -3
- package/README.md +52 -951
- package/dist/AAL/constants.d.ts +15 -0
- package/dist/AAL/constants.d.ts.map +1 -0
- package/dist/AAL/constants.js +20 -0
- package/dist/AAL/constants.js.map +1 -0
- package/dist/AAL/index.d.ts +5 -4
- package/dist/AAL/index.d.ts.map +1 -1
- package/dist/AAL/index.js +4 -2
- package/dist/AAL/index.js.map +1 -1
- package/dist/AAL/process/applyRemovalPlan.d.ts +23 -0
- package/dist/AAL/process/applyRemovalPlan.d.ts.map +1 -0
- package/dist/AAL/process/applyRemovalPlan.js +157 -0
- package/dist/AAL/process/applyRemovalPlan.js.map +1 -0
- package/dist/AAL/process/buildDecisionReason.d.ts.map +1 -1
- package/dist/AAL/process/buildDecisionReason.js +24 -4
- package/dist/AAL/process/buildDecisionReason.js.map +1 -1
- package/dist/AAL/process/buildRemediationPlan.d.ts +22 -0
- package/dist/AAL/process/buildRemediationPlan.d.ts.map +1 -0
- package/dist/AAL/process/buildRemediationPlan.js +81 -0
- package/dist/AAL/process/buildRemediationPlan.js.map +1 -0
- package/dist/AAL/process/buildRemovalPlan.d.ts +27 -9
- package/dist/AAL/process/buildRemovalPlan.d.ts.map +1 -1
- package/dist/AAL/process/buildRemovalPlan.js +95 -29
- package/dist/AAL/process/buildRemovalPlan.js.map +1 -1
- package/dist/AAL/process/index.d.ts +2 -2
- package/dist/AAL/process/index.d.ts.map +1 -1
- package/dist/AAL/process/index.js +2 -1
- package/dist/AAL/process/index.js.map +1 -1
- package/dist/AAL/process/resolveAgentAction.d.ts.map +1 -1
- package/dist/AAL/process/resolveAgentAction.js +13 -0
- package/dist/AAL/process/resolveAgentAction.js.map +1 -1
- package/dist/AAL/process/validatePolicy.d.ts +20 -0
- package/dist/AAL/process/validatePolicy.d.ts.map +1 -0
- package/dist/AAL/process/validatePolicy.js +40 -0
- package/dist/AAL/process/validatePolicy.js.map +1 -0
- package/dist/AAL/types.d.ts +18 -31
- package/dist/AAL/types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/isl/detect/detect.d.ts +39 -0
- package/dist/isl/detect/detect.d.ts.map +1 -0
- package/dist/isl/detect/detect.js +369 -0
- package/dist/isl/detect/detect.js.map +1 -0
- package/dist/isl/detect/index.d.ts +6 -0
- package/dist/isl/detect/index.d.ts.map +1 -0
- package/dist/isl/detect/index.js +5 -0
- package/dist/isl/detect/index.js.map +1 -0
- package/dist/isl/index.d.ts +8 -1
- package/dist/isl/index.d.ts.map +1 -1
- package/dist/isl/index.js +5 -0
- package/dist/isl/index.js.map +1 -1
- package/dist/isl/process/emitSignal.d.ts +19 -10
- package/dist/isl/process/emitSignal.d.ts.map +1 -1
- package/dist/isl/process/emitSignal.js +25 -23
- package/dist/isl/process/emitSignal.js.map +1 -1
- package/dist/isl/process/index.d.ts +1 -0
- package/dist/isl/process/index.d.ts.map +1 -1
- package/dist/isl/riskScore/calculators.d.ts +19 -0
- package/dist/isl/riskScore/calculators.d.ts.map +1 -0
- package/dist/isl/riskScore/calculators.js +50 -0
- package/dist/isl/riskScore/calculators.js.map +1 -0
- package/dist/isl/riskScore/index.d.ts +14 -0
- package/dist/isl/riskScore/index.d.ts.map +1 -0
- package/dist/isl/riskScore/index.js +26 -0
- package/dist/isl/riskScore/index.js.map +1 -0
- package/dist/isl/riskScore/types.d.ts +20 -0
- package/dist/isl/riskScore/types.d.ts.map +1 -0
- package/dist/isl/riskScore/types.js +12 -0
- package/dist/isl/riskScore/types.js.map +1 -0
- package/dist/isl/sanitize.d.ts +8 -1
- package/dist/isl/sanitize.d.ts.map +1 -1
- package/dist/isl/sanitize.js +13 -5
- package/dist/isl/sanitize.js.map +1 -1
- package/dist/isl/signals.d.ts +16 -1
- package/dist/isl/signals.d.ts.map +1 -1
- package/dist/isl/signals.js +4 -2
- package/dist/isl/signals.js.map +1 -1
- package/dist/isl/value-objects/Pattern.d.ts +21 -0
- package/dist/isl/value-objects/Pattern.d.ts.map +1 -1
- package/dist/isl/value-objects/Pattern.js +36 -0
- package/dist/isl/value-objects/Pattern.js.map +1 -1
- package/dist/isl/value-objects/index.d.ts +2 -2
- package/dist/isl/value-objects/index.d.ts.map +1 -1
- package/dist/isl/value-objects/index.js +1 -1
- package/dist/isl/value-objects/index.js.map +1 -1
- package/dist/shared/audit.d.ts +126 -28
- package/dist/shared/audit.d.ts.map +1 -1
- package/dist/shared/audit.js +322 -44
- package/dist/shared/audit.js.map +1 -1
- package/dist/shared/envelope/envelope.d.ts +23 -0
- package/dist/shared/envelope/envelope.d.ts.map +1 -0
- package/dist/shared/envelope/envelope.js +58 -0
- package/dist/shared/envelope/envelope.js.map +1 -0
- package/dist/shared/envelope/exceptions/EnvelopeError.d.ts +8 -0
- package/dist/shared/envelope/exceptions/EnvelopeError.d.ts.map +1 -0
- package/dist/shared/envelope/exceptions/EnvelopeError.js +13 -0
- package/dist/shared/envelope/exceptions/EnvelopeError.js.map +1 -0
- package/dist/shared/envelope/exceptions/index.d.ts +2 -0
- package/dist/shared/envelope/exceptions/index.d.ts.map +1 -0
- package/dist/shared/envelope/exceptions/index.js +2 -0
- package/dist/shared/envelope/exceptions/index.js.map +1 -0
- package/dist/shared/envelope/index.d.ts +18 -0
- package/dist/shared/envelope/index.d.ts.map +1 -0
- package/dist/shared/envelope/index.js +15 -0
- package/dist/shared/envelope/index.js.map +1 -0
- package/dist/shared/envelope/types.d.ts +45 -0
- package/dist/shared/envelope/types.d.ts.map +1 -0
- package/dist/shared/envelope/types.js +10 -0
- package/dist/shared/envelope/types.js.map +1 -0
- package/dist/shared/envelope/value-objects/Metadata.d.ts +27 -0
- package/dist/shared/envelope/value-objects/Metadata.d.ts.map +1 -0
- package/dist/shared/envelope/value-objects/Metadata.js +57 -0
- package/dist/shared/envelope/value-objects/Metadata.js.map +1 -0
- package/dist/shared/envelope/value-objects/Nonce.d.ts +26 -0
- package/dist/shared/envelope/value-objects/Nonce.d.ts.map +1 -0
- package/dist/shared/envelope/value-objects/Nonce.js +38 -0
- package/dist/shared/envelope/value-objects/Nonce.js.map +1 -0
- package/dist/shared/envelope/value-objects/Signature.d.ts +28 -0
- package/dist/shared/envelope/value-objects/Signature.d.ts.map +1 -0
- package/dist/shared/envelope/value-objects/Signature.js +50 -0
- package/dist/shared/envelope/value-objects/Signature.js.map +1 -0
- package/dist/shared/envelope/value-objects/index.d.ts +9 -0
- package/dist/shared/envelope/value-objects/index.d.ts.map +1 -0
- package/dist/shared/envelope/value-objects/index.js +7 -0
- package/dist/shared/envelope/value-objects/index.js.map +1 -0
- package/dist/shared/index.d.ts +2 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/package.json +11 -6
package/dist/shared/audit.d.ts
CHANGED
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
* AI-PIP Audit utilities - Pure functions for ordered, human-readable audit output
|
|
3
3
|
*
|
|
4
4
|
* @remarks
|
|
5
|
-
* These functions format layer results and signals
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* These functions format layer results and signals so that the **data** exposed
|
|
6
|
+
* is self-explanatory for an external auditor: each block includes a short
|
|
7
|
+
* explanation of what it represents, human-readable labels (e.g. TC/STC/UC,
|
|
8
|
+
* ALLOW/WARN/BLOCK), and origin/traceability. Visual styling is not part of core;
|
|
9
|
+
* scripts or SDK can consume this text for richer presentation.
|
|
10
|
+
*
|
|
11
|
+
* Supports:
|
|
12
|
+
* - Text report (formatPipelineAudit, formatPipelineAuditFull)
|
|
13
|
+
* - JSON report for logs/machine consumption (buildFullAuditPayload, formatPipelineAuditAsJson)
|
|
14
|
+
* - Run identifier (createAuditRunId) and generatedAt for correlation
|
|
15
|
+
* - Compact log entry (buildAuditLogEntry) for one-line logging
|
|
8
16
|
*/
|
|
9
17
|
/** Lineage entry shape used across layers */
|
|
10
18
|
export interface LineageEntryLike {
|
|
@@ -24,6 +32,10 @@ export interface CSLResultLike {
|
|
|
24
32
|
readonly lineage: readonly LineageEntryLike[];
|
|
25
33
|
readonly processingTimeMs?: number;
|
|
26
34
|
}
|
|
35
|
+
/** Detection-like shape for audit (pattern_type for grouping) */
|
|
36
|
+
export interface DetectionLike {
|
|
37
|
+
readonly pattern_type?: string;
|
|
38
|
+
}
|
|
27
39
|
/** ISL result shape for audit formatting */
|
|
28
40
|
export interface ISLResultLike {
|
|
29
41
|
readonly segments: ReadonlyArray<{
|
|
@@ -35,6 +47,11 @@ export interface ISLResultLike {
|
|
|
35
47
|
};
|
|
36
48
|
readonly sanitizationLevel: string;
|
|
37
49
|
readonly lineage?: readonly LineageEntryLike[];
|
|
50
|
+
/** Optional: per-segment detections (enables "detections: N" and types in audit) */
|
|
51
|
+
readonly piDetection?: {
|
|
52
|
+
readonly detections: ReadonlyArray<DetectionLike>;
|
|
53
|
+
readonly detected?: boolean;
|
|
54
|
+
};
|
|
38
55
|
}>;
|
|
39
56
|
readonly lineage: readonly LineageEntryLike[];
|
|
40
57
|
readonly metadata: {
|
|
@@ -51,9 +68,13 @@ export interface ISLSignalLike {
|
|
|
51
68
|
readonly piDetection: {
|
|
52
69
|
readonly detected: boolean;
|
|
53
70
|
readonly score: number;
|
|
54
|
-
readonly detections: ReadonlyArray<
|
|
71
|
+
readonly detections: ReadonlyArray<DetectionLike>;
|
|
55
72
|
readonly patterns?: readonly string[];
|
|
56
73
|
};
|
|
74
|
+
/** Optional: strategy used (e.g. MAX_CONFIDENCE) for reproducibility */
|
|
75
|
+
readonly metadata?: {
|
|
76
|
+
readonly strategy?: string;
|
|
77
|
+
};
|
|
57
78
|
}
|
|
58
79
|
/** AAL decision reason shape for audit formatting */
|
|
59
80
|
export interface DecisionReasonLike {
|
|
@@ -64,15 +85,13 @@ export interface DecisionReasonLike {
|
|
|
64
85
|
readonly hasThreats: boolean;
|
|
65
86
|
readonly detectionCount: number;
|
|
66
87
|
}
|
|
67
|
-
/** AAL
|
|
68
|
-
export interface
|
|
69
|
-
readonly
|
|
70
|
-
readonly
|
|
71
|
-
readonly
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
readonly description?: string;
|
|
75
|
-
}>;
|
|
88
|
+
/** AAL remediation plan shape for audit formatting */
|
|
89
|
+
export interface RemediationPlanLike {
|
|
90
|
+
readonly strategy: string;
|
|
91
|
+
readonly goals: readonly string[];
|
|
92
|
+
readonly constraints: readonly string[];
|
|
93
|
+
readonly targetSegments: readonly string[];
|
|
94
|
+
readonly needsRemediation: boolean;
|
|
76
95
|
}
|
|
77
96
|
/** CPE result shape for audit formatting */
|
|
78
97
|
export interface CPEResultLike {
|
|
@@ -90,61 +109,140 @@ export interface CPEResultLike {
|
|
|
90
109
|
};
|
|
91
110
|
readonly processingTimeMs?: number;
|
|
92
111
|
}
|
|
112
|
+
/** Run identifier and timestamp for audit correlation */
|
|
113
|
+
export interface AuditRunInfo {
|
|
114
|
+
readonly runId: string;
|
|
115
|
+
readonly generatedAt: number;
|
|
116
|
+
readonly generatedAtIso: string;
|
|
117
|
+
}
|
|
118
|
+
/** Compact summary for one-line logs (action, risk, detection count) */
|
|
119
|
+
export interface AuditLogSummary {
|
|
120
|
+
readonly runId: string;
|
|
121
|
+
readonly generatedAt: number;
|
|
122
|
+
readonly generatedAtIso: string;
|
|
123
|
+
readonly action: string;
|
|
124
|
+
readonly riskScore: number;
|
|
125
|
+
readonly hasThreats: boolean;
|
|
126
|
+
readonly detectionCount: number;
|
|
127
|
+
}
|
|
128
|
+
/** Options for full pipeline audit (text or JSON) */
|
|
129
|
+
export interface FullPipelineAuditOptions {
|
|
130
|
+
readonly runId?: string;
|
|
131
|
+
readonly generatedAt?: number;
|
|
132
|
+
readonly includeCpe?: boolean;
|
|
133
|
+
readonly title?: string;
|
|
134
|
+
readonly sectionSeparator?: string;
|
|
135
|
+
}
|
|
136
|
+
/** Options for JSON audit output */
|
|
137
|
+
export interface PipelineAuditJsonOptions extends FullPipelineAuditOptions {
|
|
138
|
+
readonly compact?: boolean;
|
|
139
|
+
}
|
|
93
140
|
/**
|
|
94
|
-
*
|
|
141
|
+
* Creates a unique run identifier for audit correlation (e.g. logs, multiple reports).
|
|
142
|
+
* Uses crypto.randomUUID() when available, otherwise a time-based id.
|
|
143
|
+
*/
|
|
144
|
+
export declare function createAuditRunId(): string;
|
|
145
|
+
/**
|
|
146
|
+
* Builds a compact audit entry for one-line logging (e.g. logger.info(JSON.stringify(entry))).
|
|
147
|
+
* Lineage is not included; use buildFullAuditPayload for full traceability.
|
|
148
|
+
*/
|
|
149
|
+
export declare function buildAuditLogEntry(signal: ISLSignalLike, reason: DecisionReasonLike, options?: {
|
|
150
|
+
runId?: string;
|
|
151
|
+
generatedAt?: number;
|
|
152
|
+
}): AuditLogSummary;
|
|
153
|
+
/**
|
|
154
|
+
* Builds the full pipeline audit payload (JSON-serializable) with run id, timestamp, summary for logs, and section data.
|
|
155
|
+
* Preserves lineage in each section for traceability. Use formatPipelineAuditAsJson to get a JSON string.
|
|
156
|
+
*/
|
|
157
|
+
export declare function buildFullAuditPayload(csl: CSLResultLike, isl: ISLResultLike, signal: ISLSignalLike, reason: DecisionReasonLike, options?: FullPipelineAuditOptions & {
|
|
158
|
+
remediationPlan?: RemediationPlanLike | null;
|
|
159
|
+
cpe?: CPEResultLike | null;
|
|
160
|
+
}): Record<string, unknown>;
|
|
161
|
+
/**
|
|
162
|
+
* Formats lineage entries for audit - chronological traceability
|
|
95
163
|
*
|
|
96
164
|
* @param lineage - Array of lineage entries (any layer)
|
|
97
|
-
* @returns Formatted string
|
|
165
|
+
* @returns Formatted string with short legend and chronological steps
|
|
98
166
|
*/
|
|
99
167
|
export declare function formatLineageForAudit(lineage: readonly LineageEntryLike[]): string;
|
|
100
168
|
/**
|
|
101
|
-
* Formats CSL result for audit -
|
|
169
|
+
* Formats CSL result for audit - data self-explanatory for external auditor
|
|
102
170
|
*
|
|
103
171
|
* @param result - CSL result (or compatible shape)
|
|
104
|
-
* @returns Formatted string
|
|
172
|
+
* @returns Formatted string: what this block is, data origin, trust legend, per-segment data
|
|
105
173
|
*/
|
|
106
174
|
export declare function formatCSLForAudit(result: CSLResultLike): string;
|
|
107
175
|
/**
|
|
108
|
-
* Formats ISL result for audit -
|
|
176
|
+
* Formats ISL result for audit - data self-explanatory; per-segment detections when present
|
|
109
177
|
*
|
|
110
178
|
* @param result - ISL result (or compatible shape)
|
|
111
|
-
* @returns Formatted string
|
|
179
|
+
* @returns Formatted string: what this block is, data origin, per-segment trust/level/length/detections
|
|
112
180
|
*/
|
|
113
181
|
export declare function formatISLForAudit(result: ISLResultLike): string;
|
|
114
182
|
/**
|
|
115
|
-
* Formats ISL signal for audit -
|
|
183
|
+
* Formats ISL signal for audit - data self-explanatory; risk score and detection types
|
|
116
184
|
*
|
|
117
185
|
* @param signal - ISL signal (or compatible shape)
|
|
118
|
-
* @returns Formatted string
|
|
186
|
+
* @returns Formatted string: what this block is, data origin, risk score (0-1), hasThreats, detection types
|
|
119
187
|
*/
|
|
120
188
|
export declare function formatISLSignalForAudit(signal: ISLSignalLike): string;
|
|
121
189
|
/**
|
|
122
|
-
* Formats AAL decision reason and optional
|
|
190
|
+
* Formats AAL decision reason and optional remediation plan for audit
|
|
123
191
|
*
|
|
124
192
|
* @param reason - Decision reason (or compatible shape)
|
|
125
|
-
* @param
|
|
126
|
-
* @returns Formatted string
|
|
193
|
+
* @param remediationPlan - Optional remediation plan (or compatible shape)
|
|
194
|
+
* @returns Formatted string: action (ALLOW/WARN/BLOCK), reason, thresholds, remediation plan
|
|
127
195
|
*/
|
|
128
|
-
export declare function formatAALForAudit(reason: DecisionReasonLike,
|
|
196
|
+
export declare function formatAALForAudit(reason: DecisionReasonLike, remediationPlan?: RemediationPlanLike | null): string;
|
|
129
197
|
/**
|
|
130
|
-
* Formats CPE result for audit -
|
|
198
|
+
* Formats CPE result for audit - data self-explanatory
|
|
131
199
|
*
|
|
132
200
|
* @param result - CPE result (or compatible shape)
|
|
133
|
-
* @returns Formatted string
|
|
201
|
+
* @returns Formatted string: what this block is, data origin, nonce, timestamp, signature
|
|
134
202
|
*/
|
|
135
203
|
export declare function formatCPEForAudit(result: CPEResultLike): string;
|
|
136
204
|
/**
|
|
137
205
|
* Builds a full pipeline audit report (CSL → ISL → CPE) from layer results.
|
|
138
206
|
* Accepts minimal shapes for flexibility.
|
|
207
|
+
* Use formatPipelineAuditFull when you need ISL Signal and AAL included.
|
|
139
208
|
*
|
|
140
209
|
* @param csl - CSL result (or compatible shape)
|
|
141
210
|
* @param isl - ISL result (or compatible shape)
|
|
142
211
|
* @param cpe - CPE result (or compatible shape)
|
|
143
|
-
* @param options - Optional title and separator
|
|
212
|
+
* @param options - Optional title and separator; use includeSignalAndAAL to add Signal + AAL sections
|
|
144
213
|
* @returns Single formatted string for full audit
|
|
145
214
|
*/
|
|
146
215
|
export declare function formatPipelineAudit(csl: CSLResultLike, isl: ISLResultLike, cpe: CPEResultLike, options?: {
|
|
147
216
|
title?: string;
|
|
148
217
|
sectionSeparator?: string;
|
|
218
|
+
includeSignalAndAAL?: boolean;
|
|
219
|
+
signal?: ISLSignalLike;
|
|
220
|
+
aalReason?: DecisionReasonLike;
|
|
221
|
+
remediationPlan?: RemediationPlanLike | null;
|
|
222
|
+
}): string;
|
|
223
|
+
/**
|
|
224
|
+
* Full pipeline audit report (CSL → ISL → ISL Signal → AAL → optional CPE) with run id and timestamp.
|
|
225
|
+
* Unites all layers for a single audit view. Lineage is included in each section.
|
|
226
|
+
*
|
|
227
|
+
* @param csl - CSL result
|
|
228
|
+
* @param isl - ISL result
|
|
229
|
+
* @param signal - ISL signal (for AAL)
|
|
230
|
+
* @param aalReason - AAL decision reason
|
|
231
|
+
* @param remediationPlan - Optional remediation plan
|
|
232
|
+
* @param cpe - Optional CPE result (included when includeCpe is true)
|
|
233
|
+
* @param options - runId, generatedAt, includeCpe, title, sectionSeparator
|
|
234
|
+
* @returns Formatted string with header (runId, generatedAt) and all sections
|
|
235
|
+
*/
|
|
236
|
+
export declare function formatPipelineAuditFull(csl: CSLResultLike, isl: ISLResultLike, signal: ISLSignalLike, aalReason: DecisionReasonLike, remediationPlan?: RemediationPlanLike | null, cpe?: CPEResultLike | null, options?: FullPipelineAuditOptions): string;
|
|
237
|
+
/**
|
|
238
|
+
* Full pipeline audit as JSON string (for logs, SIEM, machine consumption).
|
|
239
|
+
* Preserves lineage in each section. Use buildFullAuditPayload for the raw object.
|
|
240
|
+
*
|
|
241
|
+
* @param options.compact - If true, single-line JSON; otherwise pretty-printed
|
|
242
|
+
* @returns JSON string of the full audit payload
|
|
243
|
+
*/
|
|
244
|
+
export declare function formatPipelineAuditAsJson(csl: CSLResultLike, isl: ISLResultLike, signal: ISLSignalLike, reason: DecisionReasonLike, options?: PipelineAuditJsonOptions & {
|
|
245
|
+
remediationPlan?: RemediationPlanLike | null;
|
|
246
|
+
cpe?: CPEResultLike | null;
|
|
149
247
|
}): string;
|
|
150
248
|
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/shared/audit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/shared/audit.ts"],"names":[],"mappings":"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"}
|