monora-ai 2.0.0 → 2.1.3
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/README.md +441 -150
- package/dist/aims_governance.d.ts +238 -0
- package/dist/aims_governance.d.ts.map +1 -0
- package/dist/aims_governance.js +922 -0
- package/dist/alerts.d.ts +16 -0
- package/dist/alerts.d.ts.map +1 -1
- package/dist/alerts.js +16 -0
- package/dist/api.d.ts +6 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +6 -0
- package/dist/assessment.d.ts +269 -0
- package/dist/assessment.d.ts.map +1 -0
- package/dist/assessment.js +1232 -0
- package/dist/attestation.js +23 -1
- package/dist/attribution.d.ts +349 -0
- package/dist/attribution.d.ts.map +1 -0
- package/dist/attribution.js +987 -0
- package/dist/autodetect.d.ts +69 -1
- package/dist/autodetect.d.ts.map +1 -1
- package/dist/autodetect.js +644 -1
- package/dist/bias.d.ts +130 -0
- package/dist/bias.d.ts.map +1 -0
- package/dist/bias.js +223 -0
- package/dist/circuit_breaker.js +3 -3
- package/dist/cli/diagnostics.d.ts +5 -1
- package/dist/cli/diagnostics.d.ts.map +1 -1
- package/dist/cli/diagnostics.js +31 -8
- package/dist/cli/doctor.d.ts +25 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +381 -0
- package/dist/cli/fix.d.ts +16 -0
- package/dist/cli/fix.d.ts.map +1 -0
- package/dist/cli/fix.js +284 -0
- package/dist/cli/init.d.ts +57 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +205 -0
- package/dist/cli.js +1611 -126
- package/dist/complianceTargets.d.ts +111 -0
- package/dist/complianceTargets.d.ts.map +1 -0
- package/dist/complianceTargets.js +521 -0
- package/dist/config.d.ts +301 -17
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +428 -36
- package/dist/config_migrations.d.ts +41 -0
- package/dist/config_migrations.d.ts.map +1 -1
- package/dist/config_migrations.js +205 -0
- package/dist/config_schema.d.ts +2900 -731
- package/dist/config_schema.d.ts.map +1 -1
- package/dist/config_schema.js +257 -55
- package/dist/context.d.ts +34 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +118 -7
- package/dist/control_backbone.d.ts +122 -0
- package/dist/control_backbone.d.ts.map +1 -0
- package/dist/control_backbone.js +698 -0
- package/dist/data-governance.d.ts +187 -0
- package/dist/data-governance.d.ts.map +1 -0
- package/dist/data-governance.js +424 -0
- package/dist/dataResidency.d.ts +44 -0
- package/dist/dataResidency.d.ts.map +1 -0
- package/dist/dataResidency.js +203 -0
- package/dist/dispatcher.d.ts +32 -0
- package/dist/dispatcher.d.ts.map +1 -1
- package/dist/dispatcher.js +91 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +38 -0
- package/dist/evidence_store.d.ts +103 -0
- package/dist/evidence_store.d.ts.map +1 -0
- package/dist/evidence_store.js +459 -0
- package/dist/executiveSummary.d.ts +65 -8
- package/dist/executiveSummary.d.ts.map +1 -1
- package/dist/executiveSummary.js +289 -26
- package/dist/identity.d.ts +143 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +231 -0
- package/dist/impact-assessment.d.ts +350 -0
- package/dist/impact-assessment.d.ts.map +1 -0
- package/dist/impact-assessment.js +580 -0
- package/dist/index.d.ts +25 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +300 -4
- package/dist/instrumentation.d.ts +1 -1
- package/dist/instrumentation.d.ts.map +1 -1
- package/dist/instrumentation.js +243 -27
- package/dist/integrations/anthropic.d.ts +3 -0
- package/dist/integrations/anthropic.d.ts.map +1 -1
- package/dist/integrations/anthropic.js +284 -79
- package/dist/integrations/governance.d.ts +33 -0
- package/dist/integrations/governance.d.ts.map +1 -0
- package/dist/integrations/governance.js +208 -0
- package/dist/integrations/langchain.d.ts +7 -0
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +387 -143
- package/dist/integrations/openai.d.ts +9 -0
- package/dist/integrations/openai.d.ts.map +1 -1
- package/dist/integrations/openai.js +673 -73
- package/dist/iso42001_consolidation.d.ts +16 -0
- package/dist/iso42001_consolidation.d.ts.map +1 -0
- package/dist/iso42001_consolidation.js +413 -0
- package/dist/iso42001_workflows.d.ts +263 -0
- package/dist/iso42001_workflows.d.ts.map +1 -0
- package/dist/iso42001_workflows.js +781 -0
- package/dist/lifecycle.d.ts +299 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +624 -0
- package/dist/lineage.d.ts +2 -2
- package/dist/lineage.d.ts.map +1 -1
- package/dist/lineage.js +12 -17
- package/dist/middleware/express.d.ts.map +1 -1
- package/dist/middleware/express.js +33 -3
- package/dist/middleware/nextjs.d.ts.map +1 -1
- package/dist/middleware/nextjs.js +42 -68
- package/dist/model.d.ts +143 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +371 -0
- package/dist/onboarding.d.ts +42 -0
- package/dist/onboarding.d.ts.map +1 -0
- package/dist/onboarding.js +1022 -0
- package/dist/oversight.d.ts +264 -0
- package/dist/oversight.d.ts.map +1 -0
- package/dist/oversight.js +497 -0
- package/dist/pdf_report.d.ts.map +1 -1
- package/dist/pdf_report.js +42 -21
- package/dist/presets.d.ts +88 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +520 -0
- package/dist/propagation.d.ts.map +1 -1
- package/dist/propagation.js +34 -2
- package/dist/quotas.d.ts +171 -0
- package/dist/quotas.d.ts.map +1 -0
- package/dist/quotas.js +259 -0
- package/dist/register.d.ts +13 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +99 -0
- package/dist/registry.d.ts +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7 -0
- package/dist/registryData.json +43 -6
- package/dist/report.d.ts +2 -1
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +189 -2
- package/dist/reporting.d.ts +125 -0
- package/dist/reporting.d.ts.map +1 -1
- package/dist/reporting.js +196 -5
- package/dist/resources.d.ts +285 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +643 -0
- package/dist/risk.d.ts +120 -0
- package/dist/risk.d.ts.map +1 -0
- package/dist/risk.js +220 -0
- package/dist/runtime.d.ts +74 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +598 -22
- package/dist/schemaInference.d.ts +92 -0
- package/dist/schemaInference.d.ts.map +1 -0
- package/dist/schemaInference.js +466 -0
- package/dist/schema_validation.js +2 -2
- package/dist/schemas/config.schema.json +169 -6
- package/dist/schemas/event.schema.json +4 -0
- package/dist/security_report.js +4 -4
- package/dist/signing.d.ts +1 -1
- package/dist/signing.d.ts.map +1 -1
- package/dist/signing.js +4 -0
- package/dist/sinks/file.d.ts +19 -1
- package/dist/sinks/file.d.ts.map +1 -1
- package/dist/sinks/file.js +82 -13
- package/dist/sinks/https.d.ts +10 -0
- package/dist/sinks/https.d.ts.map +1 -1
- package/dist/sinks/https.js +76 -16
- package/dist/sinks/stdout.d.ts +1 -0
- package/dist/sinks/stdout.d.ts.map +1 -1
- package/dist/sinks/stdout.js +12 -1
- package/dist/spec.d.ts +159 -0
- package/dist/spec.d.ts.map +1 -0
- package/dist/spec.js +391 -0
- package/dist/stakeholders.d.ts +199 -0
- package/dist/stakeholders.d.ts.map +1 -0
- package/dist/stakeholders.js +398 -0
- package/dist/standards.d.ts.map +1 -1
- package/dist/standards.js +160 -2
- package/dist/standards_ingest.d.ts +2 -2
- package/dist/standards_ingest.d.ts.map +1 -1
- package/dist/standards_ingest.js +105 -23
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +7 -2
- package/dist/telemetry.d.ts +16 -2
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +79 -14
- package/dist/templates/controls/iso42001_control_catalog.json +1443 -0
- package/dist/traced_emitter.d.ts +3 -0
- package/dist/traced_emitter.d.ts.map +1 -1
- package/dist/traced_emitter.js +142 -25
- package/dist/trust_package.d.ts +21 -1
- package/dist/trust_package.d.ts.map +1 -1
- package/dist/trust_package.js +101 -4
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +9 -2
- package/dist/wal.d.ts.map +1 -1
- package/dist/wal.js +2 -1
- package/package.json +14 -1
- package/scripts/postinstall.js +119 -97
- package/templates/controls/iso42001_control_catalog.json +1443 -0
package/dist/reporting.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.TraceReportManager = exports.TRUST_SUMMARY_EVENT_TYPE = void 0;
|
|
39
|
+
exports.TraceReportManager = exports.ComplianceMonitor = exports.COMPLIANCE_DRIFT_EVENT_TYPE = exports.TRUST_SUMMARY_EVENT_TYPE = void 0;
|
|
40
40
|
const crypto = __importStar(require("crypto"));
|
|
41
41
|
const fs = __importStar(require("fs"));
|
|
42
42
|
const path = __importStar(require("path"));
|
|
@@ -47,6 +47,196 @@ const report_1 = require("./report");
|
|
|
47
47
|
const security_report_1 = require("./security_report");
|
|
48
48
|
const verify_1 = require("./verify");
|
|
49
49
|
exports.TRUST_SUMMARY_EVENT_TYPE = 'trust_summary';
|
|
50
|
+
exports.COMPLIANCE_DRIFT_EVENT_TYPE = 'compliance_drift';
|
|
51
|
+
/**
|
|
52
|
+
* Continuous compliance monitoring for tracking score changes.
|
|
53
|
+
*
|
|
54
|
+
* Monitors compliance scores across traces and emits drift events
|
|
55
|
+
* when scores change significantly.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const monitor = new ComplianceMonitor({
|
|
60
|
+
* driftThreshold: 5,
|
|
61
|
+
* onDrift: (event) => {
|
|
62
|
+
* if (event.driftDirection === 'degraded') {
|
|
63
|
+
* console.warn(`Compliance degraded: ${event.scoreDelta} points`);
|
|
64
|
+
* }
|
|
65
|
+
* },
|
|
66
|
+
* });
|
|
67
|
+
*
|
|
68
|
+
* // Record score after each trace
|
|
69
|
+
* monitor.recordScore('trace_1', 85, 'B');
|
|
70
|
+
* monitor.recordScore('trace_2', 78, 'C'); // Triggers drift event
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
class ComplianceMonitor {
|
|
74
|
+
constructor(options = {}) {
|
|
75
|
+
this.snapshots = [];
|
|
76
|
+
this.driftCallbacks = [];
|
|
77
|
+
this.driftThreshold = options.driftThreshold ?? 5;
|
|
78
|
+
this.maxSnapshots = options.maxSnapshots ?? 100;
|
|
79
|
+
this.framework = options.framework;
|
|
80
|
+
this.onDrift = options.onDrift;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Record a compliance score snapshot.
|
|
84
|
+
*
|
|
85
|
+
* @param traceId - Trace identifier
|
|
86
|
+
* @param score - Compliance score (0-100)
|
|
87
|
+
* @param grade - Grade letter (A-F)
|
|
88
|
+
* @param framework - Optional framework name
|
|
89
|
+
* @returns Drift event if threshold exceeded, null otherwise
|
|
90
|
+
*/
|
|
91
|
+
recordScore(traceId, score, grade, framework) {
|
|
92
|
+
const snapshot = {
|
|
93
|
+
traceId,
|
|
94
|
+
score,
|
|
95
|
+
grade,
|
|
96
|
+
timestamp: new Date().toISOString(),
|
|
97
|
+
framework,
|
|
98
|
+
};
|
|
99
|
+
const previousSnapshot = this.getLatestSnapshot();
|
|
100
|
+
this.snapshots.push(snapshot);
|
|
101
|
+
// Trim old snapshots
|
|
102
|
+
if (this.snapshots.length > this.maxSnapshots) {
|
|
103
|
+
this.snapshots = this.snapshots.slice(-this.maxSnapshots);
|
|
104
|
+
}
|
|
105
|
+
// Check for drift
|
|
106
|
+
if (previousSnapshot) {
|
|
107
|
+
const scoreDelta = score - previousSnapshot.score;
|
|
108
|
+
const absDelta = Math.abs(scoreDelta);
|
|
109
|
+
if (absDelta >= this.driftThreshold) {
|
|
110
|
+
const driftEvent = {
|
|
111
|
+
eventType: exports.COMPLIANCE_DRIFT_EVENT_TYPE,
|
|
112
|
+
previousScore: previousSnapshot.score,
|
|
113
|
+
currentScore: score,
|
|
114
|
+
scoreDelta,
|
|
115
|
+
previousGrade: previousSnapshot.grade,
|
|
116
|
+
currentGrade: grade,
|
|
117
|
+
traceId,
|
|
118
|
+
previousTraceId: previousSnapshot.traceId,
|
|
119
|
+
timestamp: snapshot.timestamp,
|
|
120
|
+
driftDirection: scoreDelta > 0 ? 'improved' : scoreDelta < 0 ? 'degraded' : 'stable',
|
|
121
|
+
threshold: this.driftThreshold,
|
|
122
|
+
};
|
|
123
|
+
// Notify callbacks
|
|
124
|
+
this.notifyDrift(driftEvent);
|
|
125
|
+
return driftEvent;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get the latest score snapshot.
|
|
132
|
+
*/
|
|
133
|
+
getLatestSnapshot() {
|
|
134
|
+
return this.snapshots.length > 0 ? this.snapshots[this.snapshots.length - 1] : null;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get all score snapshots.
|
|
138
|
+
*/
|
|
139
|
+
getSnapshots() {
|
|
140
|
+
return [...this.snapshots];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get score trend (average change over recent snapshots).
|
|
144
|
+
*
|
|
145
|
+
* @param windowSize - Number of recent snapshots to consider (default: 5)
|
|
146
|
+
*/
|
|
147
|
+
getScoreTrend(windowSize = 5) {
|
|
148
|
+
if (this.snapshots.length < 2) {
|
|
149
|
+
return { trend: 'stable', avgChange: 0 };
|
|
150
|
+
}
|
|
151
|
+
const recentSnapshots = this.snapshots.slice(-windowSize);
|
|
152
|
+
if (recentSnapshots.length < 2) {
|
|
153
|
+
return { trend: 'stable', avgChange: 0 };
|
|
154
|
+
}
|
|
155
|
+
let totalChange = 0;
|
|
156
|
+
for (let i = 1; i < recentSnapshots.length; i++) {
|
|
157
|
+
totalChange += recentSnapshots[i].score - recentSnapshots[i - 1].score;
|
|
158
|
+
}
|
|
159
|
+
const avgChange = totalChange / (recentSnapshots.length - 1);
|
|
160
|
+
let trend;
|
|
161
|
+
if (avgChange > 1) {
|
|
162
|
+
trend = 'improving';
|
|
163
|
+
}
|
|
164
|
+
else if (avgChange < -1) {
|
|
165
|
+
trend = 'degrading';
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
trend = 'stable';
|
|
169
|
+
}
|
|
170
|
+
return { trend, avgChange: Number(avgChange.toFixed(2)) };
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get compliance statistics.
|
|
174
|
+
*/
|
|
175
|
+
getStatistics() {
|
|
176
|
+
if (this.snapshots.length === 0) {
|
|
177
|
+
return {
|
|
178
|
+
currentScore: null,
|
|
179
|
+
averageScore: 0,
|
|
180
|
+
minScore: 0,
|
|
181
|
+
maxScore: 0,
|
|
182
|
+
snapshotCount: 0,
|
|
183
|
+
trend: 'stable',
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
const scores = this.snapshots.map((s) => s.score);
|
|
187
|
+
const sum = scores.reduce((a, b) => a + b, 0);
|
|
188
|
+
return {
|
|
189
|
+
currentScore: scores[scores.length - 1],
|
|
190
|
+
averageScore: Number((sum / scores.length).toFixed(2)),
|
|
191
|
+
minScore: Math.min(...scores),
|
|
192
|
+
maxScore: Math.max(...scores),
|
|
193
|
+
snapshotCount: this.snapshots.length,
|
|
194
|
+
trend: this.getScoreTrend().trend,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Register a callback for drift events.
|
|
199
|
+
*
|
|
200
|
+
* @param callback - Function to call on drift
|
|
201
|
+
* @returns Unsubscribe function
|
|
202
|
+
*/
|
|
203
|
+
onDriftEvent(callback) {
|
|
204
|
+
this.driftCallbacks.push(callback);
|
|
205
|
+
return () => {
|
|
206
|
+
const index = this.driftCallbacks.indexOf(callback);
|
|
207
|
+
if (index !== -1) {
|
|
208
|
+
this.driftCallbacks.splice(index, 1);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Clear all snapshots.
|
|
214
|
+
*/
|
|
215
|
+
reset() {
|
|
216
|
+
this.snapshots = [];
|
|
217
|
+
}
|
|
218
|
+
notifyDrift(event) {
|
|
219
|
+
// Call constructor callback
|
|
220
|
+
if (this.onDrift) {
|
|
221
|
+
try {
|
|
222
|
+
this.onDrift(event);
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
// Ignore callback errors
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Call registered callbacks
|
|
229
|
+
for (const callback of this.driftCallbacks) {
|
|
230
|
+
try {
|
|
231
|
+
callback(event);
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
// Ignore callback errors
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.ComplianceMonitor = ComplianceMonitor;
|
|
50
240
|
class TraceReportManager {
|
|
51
241
|
constructor(config) {
|
|
52
242
|
this.eventsByTrace = new Map();
|
|
@@ -113,7 +303,7 @@ class TraceReportManager {
|
|
|
113
303
|
this.eventsByTrace.delete(traceId);
|
|
114
304
|
const dropped = this.droppedByTrace.get(traceId) || 0;
|
|
115
305
|
this.droppedByTrace.delete(traceId);
|
|
116
|
-
const report = (0, report_1.buildReport)(events, this.config.policies || {});
|
|
306
|
+
const report = (0, report_1.buildReport)(events, this.config.policies || {}, this.config.registry);
|
|
117
307
|
const artifacts = [];
|
|
118
308
|
const reportPaths = {};
|
|
119
309
|
let reportDir = resolveReportDir(this.outputDir, traceId);
|
|
@@ -460,6 +650,7 @@ function buildTrustProofBundle(traceId, report, events, chainProof, artifacts, c
|
|
|
460
650
|
const sanitizedEvents = redactHosts
|
|
461
651
|
? redactEventHosts(normalizedEvents, redactionPrefix)
|
|
462
652
|
: normalizedEvents;
|
|
653
|
+
const includeEvents = config.reporting?.trust_bundle_include_events !== false;
|
|
463
654
|
// Compute events digest
|
|
464
655
|
const eventsDigestHash = (0, verify_1.computeEventsDigest)(sanitizedEvents);
|
|
465
656
|
// Build artifact list for bundle
|
|
@@ -483,10 +674,10 @@ function buildTrustProofBundle(traceId, report, events, chainProof, artifacts, c
|
|
|
483
674
|
eventsDigest: {
|
|
484
675
|
total_events: sanitizedEvents.length,
|
|
485
676
|
events_sha256: eventsDigestHash,
|
|
486
|
-
events_included:
|
|
677
|
+
events_included: includeEvents,
|
|
487
678
|
events_url: null,
|
|
488
679
|
},
|
|
489
|
-
events:
|
|
680
|
+
events: includeEvents ? sanitizedEvents : undefined,
|
|
490
681
|
traceInfo: {
|
|
491
682
|
trace_id: traceId,
|
|
492
683
|
project_name: projectName,
|
|
@@ -517,7 +708,7 @@ function buildTrustProofBundle(traceId, report, events, chainProof, artifacts, c
|
|
|
517
708
|
bundle = (0, attestation_1.buildAttestationBundle)(report, reportBytes, sigResult, {
|
|
518
709
|
chainProof,
|
|
519
710
|
eventsDigest: bundle.events_digest,
|
|
520
|
-
events: sanitizedEvents,
|
|
711
|
+
events: includeEvents ? sanitizedEvents : undefined,
|
|
521
712
|
traceInfo: bundle.trace_info,
|
|
522
713
|
});
|
|
523
714
|
bundle.report_artifacts = artifactList;
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ISO 42001 Resource Inventory Management Module (A.4.2, A.4.4, A.4.5, A.2.4)
|
|
3
|
+
*
|
|
4
|
+
* Provides comprehensive resource tracking for AI systems including:
|
|
5
|
+
* - A.4.2: Resource determination
|
|
6
|
+
* - A.4.4: Tooling resources (algorithms, frameworks, libraries, models, tools)
|
|
7
|
+
* - A.4.5: Computing resources (cloud, on-premise, edge, hybrid)
|
|
8
|
+
* - A.4.6: Human resources (roles, competencies, certifications)
|
|
9
|
+
* - A.2.4: AI policy review scheduling and tracking
|
|
10
|
+
*
|
|
11
|
+
* This module enables organizations to maintain complete visibility
|
|
12
|
+
* into the resources supporting their AI systems.
|
|
13
|
+
*/
|
|
14
|
+
export type ToolingResourceType = "algorithm" | "framework" | "library" | "model" | "tool";
|
|
15
|
+
export type ComputeResourceType = "cloud" | "on_premise" | "edge" | "hybrid";
|
|
16
|
+
export type PolicyType = "ai_policy" | "data_policy" | "security_policy" | "ethics_policy" | "privacy_policy" | "risk_policy" | "other";
|
|
17
|
+
export type ReviewStatus = "scheduled" | "in_progress" | "completed" | "overdue" | "cancelled";
|
|
18
|
+
export type PolicyStatus = "current" | "needs_update" | "deprecated";
|
|
19
|
+
/**
|
|
20
|
+
* Represents a tooling resource used in AI system development/operation.
|
|
21
|
+
* Covers algorithms, frameworks, libraries, models, and tools per ISO 42001 A.4.4.
|
|
22
|
+
*/
|
|
23
|
+
export interface ToolingResource {
|
|
24
|
+
resourceId: string;
|
|
25
|
+
type: ToolingResourceType;
|
|
26
|
+
name: string;
|
|
27
|
+
version: string;
|
|
28
|
+
purpose: string;
|
|
29
|
+
license: string;
|
|
30
|
+
riskAssessment?: string;
|
|
31
|
+
approved: boolean;
|
|
32
|
+
approvedBy?: string;
|
|
33
|
+
approvedAt?: string;
|
|
34
|
+
addedAt: string;
|
|
35
|
+
metadata: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Represents a computing resource used by an AI system.
|
|
39
|
+
* Tracks infrastructure per ISO 42001 A.4.5.
|
|
40
|
+
*/
|
|
41
|
+
export interface ComputeResource {
|
|
42
|
+
resourceId: string;
|
|
43
|
+
type: ComputeResourceType;
|
|
44
|
+
provider: string;
|
|
45
|
+
description: string;
|
|
46
|
+
capacity: Record<string, unknown>;
|
|
47
|
+
purpose: string;
|
|
48
|
+
costTier: string;
|
|
49
|
+
location?: string;
|
|
50
|
+
complianceCertifications: string[];
|
|
51
|
+
addedAt: string;
|
|
52
|
+
metadata: Record<string, unknown>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Represents human resources involved in AI system development/operation.
|
|
56
|
+
* Tracks roles, competencies, and training per ISO 42001 A.4.6.
|
|
57
|
+
*/
|
|
58
|
+
export interface HumanResource {
|
|
59
|
+
resourceId: string;
|
|
60
|
+
role: string;
|
|
61
|
+
name?: string;
|
|
62
|
+
competencies: string[];
|
|
63
|
+
certifications: string[];
|
|
64
|
+
trainingCompleted: string[];
|
|
65
|
+
trainingRequired: string[];
|
|
66
|
+
assignedSystems: string[];
|
|
67
|
+
department?: string;
|
|
68
|
+
addedAt: string;
|
|
69
|
+
updatedAt: string;
|
|
70
|
+
metadata: Record<string, unknown>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Complete resource inventory for an AI system.
|
|
74
|
+
* Aggregates all resource types per ISO 42001 A.4.
|
|
75
|
+
*/
|
|
76
|
+
export interface ResourceInventory {
|
|
77
|
+
inventoryId: string;
|
|
78
|
+
systemId: string;
|
|
79
|
+
name: string;
|
|
80
|
+
description: string;
|
|
81
|
+
dataResources: string[];
|
|
82
|
+
toolingResources: ToolingResource[];
|
|
83
|
+
computeResources: ComputeResource[];
|
|
84
|
+
humanResources: HumanResource[];
|
|
85
|
+
createdAt: string;
|
|
86
|
+
updatedAt: string;
|
|
87
|
+
metadata: Record<string, unknown>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Tracks AI policy review scheduling and completion per ISO 42001 A.2.4.
|
|
91
|
+
*/
|
|
92
|
+
export interface PolicyReview {
|
|
93
|
+
reviewId: string;
|
|
94
|
+
policyId: string;
|
|
95
|
+
policyName: string;
|
|
96
|
+
policyType: PolicyType;
|
|
97
|
+
policyVersion: string;
|
|
98
|
+
scheduledDate: string;
|
|
99
|
+
status: ReviewStatus;
|
|
100
|
+
reviewer?: string;
|
|
101
|
+
reviewDate?: string;
|
|
102
|
+
findings: string[];
|
|
103
|
+
recommendations: string[];
|
|
104
|
+
actionItems: string[];
|
|
105
|
+
policyStatus: PolicyStatus;
|
|
106
|
+
nextReviewDate?: string;
|
|
107
|
+
createdAt: string;
|
|
108
|
+
updatedAt: string;
|
|
109
|
+
metadata: Record<string, unknown>;
|
|
110
|
+
}
|
|
111
|
+
declare function toolingResourceToDict(resource: ToolingResource): Record<string, unknown>;
|
|
112
|
+
declare function computeResourceToDict(resource: ComputeResource): Record<string, unknown>;
|
|
113
|
+
declare function humanResourceToDict(resource: HumanResource): Record<string, unknown>;
|
|
114
|
+
declare function inventoryToDict(inventory: ResourceInventory): Record<string, unknown>;
|
|
115
|
+
declare function policyReviewToDict(review: PolicyReview): Record<string, unknown>;
|
|
116
|
+
declare class ResourceRegistry {
|
|
117
|
+
private inventories;
|
|
118
|
+
private policyReviews;
|
|
119
|
+
addInventory(inventory: ResourceInventory): void;
|
|
120
|
+
getInventory(inventoryId: string): ResourceInventory | undefined;
|
|
121
|
+
getInventoryBySystem(systemId: string): ResourceInventory | undefined;
|
|
122
|
+
listInventories(): ResourceInventory[];
|
|
123
|
+
addPolicyReview(review: PolicyReview): void;
|
|
124
|
+
getPolicyReview(reviewId: string): PolicyReview | undefined;
|
|
125
|
+
listPolicyReviews(status?: ReviewStatus, policyType?: PolicyType): PolicyReview[];
|
|
126
|
+
clear(): void;
|
|
127
|
+
}
|
|
128
|
+
export declare function getRegistry(): ResourceRegistry;
|
|
129
|
+
export interface CreateInventoryOptions {
|
|
130
|
+
systemId: string;
|
|
131
|
+
name?: string;
|
|
132
|
+
description?: string;
|
|
133
|
+
metadata?: Record<string, unknown>;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Create a new resource inventory for an AI system.
|
|
137
|
+
*/
|
|
138
|
+
export declare function createResourceInventory(options: CreateInventoryOptions): ResourceInventory;
|
|
139
|
+
/**
|
|
140
|
+
* Get a resource inventory by ID.
|
|
141
|
+
*/
|
|
142
|
+
export declare function getResourceInventory(inventoryId: string): ResourceInventory | undefined;
|
|
143
|
+
/**
|
|
144
|
+
* Get the resource inventory for a system.
|
|
145
|
+
*/
|
|
146
|
+
export declare function getInventoryForSystem(systemId: string): ResourceInventory | undefined;
|
|
147
|
+
export interface AddToolingResourceOptions {
|
|
148
|
+
inventoryId: string;
|
|
149
|
+
type: ToolingResourceType;
|
|
150
|
+
name: string;
|
|
151
|
+
version: string;
|
|
152
|
+
purpose: string;
|
|
153
|
+
license: string;
|
|
154
|
+
riskAssessment?: string;
|
|
155
|
+
approved?: boolean;
|
|
156
|
+
approvedBy?: string;
|
|
157
|
+
metadata?: Record<string, unknown>;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Add a tooling resource to an inventory.
|
|
161
|
+
*/
|
|
162
|
+
export declare function addToolingResource(options: AddToolingResourceOptions): ToolingResource | undefined;
|
|
163
|
+
export interface AddComputeResourceOptions {
|
|
164
|
+
inventoryId: string;
|
|
165
|
+
type: ComputeResourceType;
|
|
166
|
+
provider: string;
|
|
167
|
+
description: string;
|
|
168
|
+
capacity?: Record<string, unknown>;
|
|
169
|
+
purpose?: string;
|
|
170
|
+
costTier?: string;
|
|
171
|
+
location?: string;
|
|
172
|
+
complianceCertifications?: string[];
|
|
173
|
+
metadata?: Record<string, unknown>;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Add a computing resource to an inventory.
|
|
177
|
+
*/
|
|
178
|
+
export declare function addComputeResource(options: AddComputeResourceOptions): ComputeResource | undefined;
|
|
179
|
+
export interface AddHumanResourceOptions {
|
|
180
|
+
inventoryId: string;
|
|
181
|
+
role: string;
|
|
182
|
+
name?: string;
|
|
183
|
+
competencies?: string[];
|
|
184
|
+
certifications?: string[];
|
|
185
|
+
trainingCompleted?: string[];
|
|
186
|
+
trainingRequired?: string[];
|
|
187
|
+
assignedSystems?: string[];
|
|
188
|
+
department?: string;
|
|
189
|
+
metadata?: Record<string, unknown>;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Add a human resource to an inventory.
|
|
193
|
+
*/
|
|
194
|
+
export declare function addHumanResource(options: AddHumanResourceOptions): HumanResource | undefined;
|
|
195
|
+
/**
|
|
196
|
+
* Add a data resource reference to an inventory.
|
|
197
|
+
*/
|
|
198
|
+
export declare function addDataResource(inventoryId: string, datasetId: string): boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Approve a tooling resource for use.
|
|
201
|
+
*/
|
|
202
|
+
export declare function approveToolingResource(inventoryId: string, resourceId: string, approver: string, riskAssessment?: string): boolean;
|
|
203
|
+
export interface InventorySummary {
|
|
204
|
+
inventoryId: string;
|
|
205
|
+
systemId: string;
|
|
206
|
+
name: string;
|
|
207
|
+
summary: {
|
|
208
|
+
dataResources: number;
|
|
209
|
+
toolingResources: {
|
|
210
|
+
total: number;
|
|
211
|
+
approved: number;
|
|
212
|
+
byType: Record<string, number>;
|
|
213
|
+
};
|
|
214
|
+
computeResources: {
|
|
215
|
+
total: number;
|
|
216
|
+
byType: Record<string, number>;
|
|
217
|
+
};
|
|
218
|
+
humanResources: {
|
|
219
|
+
total: number;
|
|
220
|
+
trainingGaps: number;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
updatedAt: string;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Generate a summary of a resource inventory.
|
|
227
|
+
*/
|
|
228
|
+
export declare function getInventorySummary(inventoryId: string): InventorySummary | undefined;
|
|
229
|
+
export interface SchedulePolicyReviewOptions {
|
|
230
|
+
policyId: string;
|
|
231
|
+
policyName: string;
|
|
232
|
+
policyType: PolicyType;
|
|
233
|
+
policyVersion: string;
|
|
234
|
+
scheduledDate: string;
|
|
235
|
+
metadata?: Record<string, unknown>;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Schedule a policy review.
|
|
239
|
+
*/
|
|
240
|
+
export declare function schedulePolicyReview(options: SchedulePolicyReviewOptions): PolicyReview;
|
|
241
|
+
/**
|
|
242
|
+
* Start a policy review.
|
|
243
|
+
*/
|
|
244
|
+
export declare function startPolicyReview(reviewId: string, reviewer: string): PolicyReview | undefined;
|
|
245
|
+
export interface CompletePolicyReviewOptions {
|
|
246
|
+
reviewId: string;
|
|
247
|
+
findings: string[];
|
|
248
|
+
recommendations: string[];
|
|
249
|
+
actionItems?: string[];
|
|
250
|
+
policyStatus?: PolicyStatus;
|
|
251
|
+
nextReviewDate?: string;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Complete a policy review with findings.
|
|
255
|
+
*/
|
|
256
|
+
export declare function completePolicyReview(options: CompletePolicyReviewOptions): PolicyReview | undefined;
|
|
257
|
+
/**
|
|
258
|
+
* Cancel a scheduled policy review.
|
|
259
|
+
*/
|
|
260
|
+
export declare function cancelPolicyReview(reviewId: string, reason: string): PolicyReview | undefined;
|
|
261
|
+
/**
|
|
262
|
+
* Find and mark overdue policy reviews.
|
|
263
|
+
*/
|
|
264
|
+
export declare function checkOverdueReviews(): PolicyReview[];
|
|
265
|
+
export interface PolicyReviewSummary {
|
|
266
|
+
totalReviews: number;
|
|
267
|
+
byStatus: Record<string, number>;
|
|
268
|
+
byType: Record<string, number>;
|
|
269
|
+
upcoming: Array<{
|
|
270
|
+
reviewId: string;
|
|
271
|
+
policyName: string;
|
|
272
|
+
scheduledDate: string;
|
|
273
|
+
}>;
|
|
274
|
+
overdue: Array<Record<string, unknown>>;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Generate a summary of all policy reviews.
|
|
278
|
+
*/
|
|
279
|
+
export declare function getPolicyReviewSummary(): PolicyReviewSummary;
|
|
280
|
+
/**
|
|
281
|
+
* Emit a custom resource event.
|
|
282
|
+
*/
|
|
283
|
+
export declare function emitCustomResourceEvent(eventType: string, inventoryId?: string, data?: Record<string, unknown>): void;
|
|
284
|
+
export { ResourceRegistry, inventoryToDict, policyReviewToDict, toolingResourceToDict, computeResourceToDict, humanResourceToDict, };
|
|
285
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
|